前言部分

最近要开发一个企业内部应用系统

无纸化办公使用钉钉,领导想在钉钉的基础上加入我们自己的应用

引入Activiti工作流引擎开发审批立项等等业务活动,做一个大一统的系统

然后让我负责开发钉钉应用(完全懵逼),后台系统是另外一个人来写

表结构和整个系统架构由领导亲自操刀决定,包括相关文档的编写

开放平台上的说明是【H5微应用】结合

仓库代码拉下来,工程分为三个 web,server,ding-web

前后端分离,但是不使用微服务的方式(经理怕后需要拆分,还是在工程里面分包管理模块及服务)

web是后台,和钉钉应用各自一个

技术栈是MySQL,Springboot + Mybatis,Vue2 (ElementUI库,框架是Vue-Element-Admin)

然后领导前阵子自己折腾了这个钉钉应用的开发,移动端的UI库用的Vant,跟ElementUI类似,开会上演示了下画的界面

就直接拍板这套技术栈了

我的理解

然后看了钉钉应用说明介绍及应用配置

发现跟web应用开发方式差别不大

呈现的效果是手机端的,开发时要自己设置浏览器成各个手机型号的进行查看效果

强调是H5,而非Web,因为有些调用手机硬件功能的,需要使用钉钉提供的接口

然后我看接口相关的文档内容,Web工程需要加入钉钉的一个npm支持包,后台Server工程是需要加入一个SDK包

再加上应用令牌,可以实现和钉钉平台的一个交互

部署方式,就是配置一个服务IP地址和应用首页地址,然后就没了

但是要求服务地址必须是暴露在公网的,内网则是没有办法访问(待解决的部分)

首先项目能跑起来,然后要内网穿透,再到后台这里发布应用,我看到钉钉有自己做的一个内网穿透工具,要看看怎么使用

一、钉钉应用创建

需要注册钉钉账号,一般入职公司会要求下载钉钉APP,并绑定所属单位

钉钉开放平台官网

https://open.dingtalk.com/

选择【开发者后台】登录:

这里存在多个单位,【xx开发平台】是另外创建的一个测试单位,这个是找项目负责人申请加入的

进入后台面板之后,悬浮【应用开发】,点击【企业内部开发】

创建H5微应用

之后这里可以看到创建的应用

二、发布应用

在本地跑一个Vue项目

选这里配置【出口IP】和【首页地址】,这里我填的内网,试了之后是没法访问的...

再到下面【部署和发布】,只分配允许谁能访问,就没了

点击保存之后回到钉钉APP或者PC客户端

手机APP在【工作台】——【未分组的应用】里面找到刚刚发布的应用

PC客户端的不赘述了

本地的服务关了就直接访问不到了,然后还没有配置穿透,也可能是因为没穿透内网的原因

笔记暂时先写到这里

2022年09年22日更新:

bug改完了,然后折腾内网穿透的事情

内网穿透是说到钉钉提供了一个工具,然后发现配置了无法穿透

因为Ngrok通道连接始终连不上

是说工具已经失效弃用了

https://blog.csdn.net/hahahalu/article/details/126305684

在官网这里也说明了弃用。。。 

https://open.dingtalk.com/document/resourcedownload/http-intranet-penetration

然后查看了这个FRP内网穿透的文档,都看不懂在干嘛

于是改用花生壳客户端来配置

本地先随便搭建了个web能跑起来

web端口是3000

在花生壳的网页面板做一些基本配置就能建立穿透

检查是否正常访问

检查使用域名访问是否正常:

https://2c7544653v.oicp.vip/

  

然后回到钉钉管理平台,重新配置应用

部署之后再次从手机上的钉钉APP访问,访问正常

三、开发应用

官方文档地址:

https://open.dingtalk.com/document/org/develop-org-h5-micro-applications

这里官方提供了完整的示例代码

git clone https://github.com/open-dingtalk/h5app-corp-quickstart.git

  

后台配置四个关键值:

dingtalk.app_key=应用key
dingtalk.app_secret=应用密钥
dingtalk.agent_id=应用代理ID
dingtalk.corp_id=企业ID标识

  

【DingTalk】钉钉应用开发的更多相关文章

  1. 钉钉如何进行PC端开发

    前段时间,用钉钉进行了服务器端的开发,对照着官方文档,感觉还是比较顺利的.后续想有时间研究一下PC端客户端的开发,看着官方文档,说的确实是比较简练,但也确实没看太明白,废了半天劲也没成功.后来经过无数 ...

  2. C#如何在钉钉开发平台中创建部门

    钉钉是阿里巴巴专为中小企业和团队打造的沟通.协同的多端平台,钉钉开放平台旨在为企业提供更为丰富的办公协同解决方案.通过钉钉开放平台,企业或第三方合作伙伴可以帮助企业快速.低成本的实现高质量的移动微应用 ...

  3. C#如何在钉钉开发平台

    C#如何在钉钉开发平台中创建部门   钉钉是阿里巴巴专为中小企业和团队打造的沟通.协同的多端平台,钉钉开放平台旨在为企业提供更为丰富的办公协同解决方案.通过钉钉开放平台,企业或第三方合作伙伴可以帮助企 ...

  4. 钉钉企业应用C#开发笔记之一(免登)

    关于钉钉 钉钉是阿里推出的企业移动OA平台,本身提供了丰富的通用应用,同时其强大的后台API接入能力让企业接入自主开发的应用成为可能,可以让开发者实现几乎任何需要的功能. 近期因为工作需要研究了一下钉 ...

  5. 钉钉开发获取APPKEY, APPSECRET, CorpId和SSOSecret

    首先用自己的钉钉账号注册一个企业: https://oa.dingtalk.com/index.htm 一.获取应用APPKEY及APPSECRET方法: 1.登录钉钉开放平台创建应用: https: ...

  6. Asp.Net Core&钉钉开发系列

    阿里钉钉在商业领域的规模越来越大,基于钉钉办公的企业越来越多,将一个企业内现有用到的工具(如钉钉)能够更融入到他们的工作中,提高工作效率,那便需要开发者不断的学习.应用了,同时,个人也有一个预感,未来 ...

  7. 基于C#的钉钉SDK开发(1)--对官方SDK的重构优化

    在前段时间,接触一个很喜欢钉钉并且已在内部场景广泛使用钉钉进行工厂内部管理的客户,如钉钉考勤.日常审批.钉钉投影.钉钉门禁等等方面,才体会到原来钉钉已经已经在企业上可以用的很广泛的,因此回过头来学习研 ...

  8. 钉钉开发入门,微应用识别用户身份,获取用户免登授权码code,获取用户userid,获取用户详细信息

    最近有个需求,在钉钉内,点击微应用,获取用户身份,根据获取到的用户身份去企业内部的用户中心做校验,校验通过,相关子系统直接登陆; 就是在获取这个用户身份的时候,网上的资料七零八落的,找的人烦躁的很,所 ...

  9. 【JavaWeb开发】初步实现网站应用钉钉扫码登录

    http://blog.csdn.net/baofeidyz/article/details/59059379 版权声明:转载请注明我的个人微信平台 暴沸 目录(?)[+] 写在前面:如果你还不知道钉 ...

  10. Java钉钉开发_00_资源帖

    1.源码 本系列教程的源码已上传至GitHub:  https://github.com/shirayner/DingTalk_Demo 2.官方 官方源码:https://github.com/op ...

随机推荐

  1. NumPy 通用函数(ufunc):高性能数组运算的利器

    NumPy 通用函数(ufunc) 简介 NumPy 通用函数(ufunc),代表"通用函数",是一类用于对 ndarray 对象进行逐元素运算的高性能函数.ufunc 使 Num ...

  2. vue-cli 单文件组件 工具安装

    https://cli.vuejs.org/zh/ 在很多 Vue 项目中,我们使用 Vue.component 来定义全局组件,紧接着用 new Vue({ el: '#container '}) ...

  3. web服务器 传统开发和前后端分离开发 服务器相关概念

    web服务器 Web服务器一般指的是网站服务器,是指驻留因特网上某一台或N台计算机的程序,可以处理浏览器等Web客户端的请求并返回相应响应,目前最主流的三个Web服务器是Apache. Nginx . ...

  4. SELinux策略语法以及示例策略

    首发公号:Rand_cs SELinux策略语法以及示例策略 本文来讲述 SELinux 策略常用的语法,然后解读一下 SELinux 这个项目中给出的示例策略 安全上下文 首先来看一下安全上下文的格 ...

  5. 程序员面试金典-面试题 16.25. LRU缓存

    题目: 设计和构建一个"最近最少使用"缓存,该缓存会删除最近最少使用的项目.缓存应该从键映射到值(允许你插入和检索特定键对应的值),并在初始化时指定最大容量.当缓存被填满时,它应该 ...

  6. JavaScript实现防抖节流函数

    review 防抖函数 防抖函数一般是短时间内多次触发,但是只有最后一次触发结束后的delay秒内会去执行相对应的处理函数. 相当于一个赛道里面一次只能跑一辆赛车,如果此时已经有一辆赛车在跑道里面跑, ...

  7. #PowerBi Superchange PowerBi 开篇(1)

    本书由B站京西漫步老师推荐,并提供了相应的学习资源,有同感兴趣的朋友,可以加我好友免费分享资源. 本书主要以总结笔记,原文+译文+部分案例实操为主. 预计更新时间为23年6月-23年7月. 本系列笔记 ...

  8. 搭建第一个web项目

    实现使用: 1.创建一个普通java文件 2.Java文件的类名实现HttpServlet 3.重写service方法 4.在WEB-INF下的web.xml中添加请求与servlet类的映射关系 定 ...

  9. iOS11之后刷新tableview会出现漂移的现象解决办法

    首先要注意这只是在iOS11下会出现的bug,如果iOS10以及以下也有问题的情况不属于此列 问题的动图如下所示,如果要做每隔一段短时间就刷新一个section甚至整个tableview的操作的时候会 ...

  10. Linux 内核:RCU机制与使用

    Linux 内核:RCU机制与使用 背景 学习Linux源码的时候,发现很多熟悉的数据结构多了__rcu后缀,因此了解了一下这些内容. 介绍 RCU(Read-Copy Update)是数据同步的一种 ...