【DingTalk】钉钉应用开发
前言部分
最近要开发一个企业内部应用系统
无纸化办公使用钉钉,领导想在钉钉的基础上加入我们自己的应用
引入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】钉钉应用开发的更多相关文章
- 钉钉如何进行PC端开发
前段时间,用钉钉进行了服务器端的开发,对照着官方文档,感觉还是比较顺利的.后续想有时间研究一下PC端客户端的开发,看着官方文档,说的确实是比较简练,但也确实没看太明白,废了半天劲也没成功.后来经过无数 ...
- C#如何在钉钉开发平台中创建部门
钉钉是阿里巴巴专为中小企业和团队打造的沟通.协同的多端平台,钉钉开放平台旨在为企业提供更为丰富的办公协同解决方案.通过钉钉开放平台,企业或第三方合作伙伴可以帮助企业快速.低成本的实现高质量的移动微应用 ...
- C#如何在钉钉开发平台
C#如何在钉钉开发平台中创建部门 钉钉是阿里巴巴专为中小企业和团队打造的沟通.协同的多端平台,钉钉开放平台旨在为企业提供更为丰富的办公协同解决方案.通过钉钉开放平台,企业或第三方合作伙伴可以帮助企 ...
- 钉钉企业应用C#开发笔记之一(免登)
关于钉钉 钉钉是阿里推出的企业移动OA平台,本身提供了丰富的通用应用,同时其强大的后台API接入能力让企业接入自主开发的应用成为可能,可以让开发者实现几乎任何需要的功能. 近期因为工作需要研究了一下钉 ...
- 钉钉开发获取APPKEY, APPSECRET, CorpId和SSOSecret
首先用自己的钉钉账号注册一个企业: https://oa.dingtalk.com/index.htm 一.获取应用APPKEY及APPSECRET方法: 1.登录钉钉开放平台创建应用: https: ...
- Asp.Net Core&钉钉开发系列
阿里钉钉在商业领域的规模越来越大,基于钉钉办公的企业越来越多,将一个企业内现有用到的工具(如钉钉)能够更融入到他们的工作中,提高工作效率,那便需要开发者不断的学习.应用了,同时,个人也有一个预感,未来 ...
- 基于C#的钉钉SDK开发(1)--对官方SDK的重构优化
在前段时间,接触一个很喜欢钉钉并且已在内部场景广泛使用钉钉进行工厂内部管理的客户,如钉钉考勤.日常审批.钉钉投影.钉钉门禁等等方面,才体会到原来钉钉已经已经在企业上可以用的很广泛的,因此回过头来学习研 ...
- 钉钉开发入门,微应用识别用户身份,获取用户免登授权码code,获取用户userid,获取用户详细信息
最近有个需求,在钉钉内,点击微应用,获取用户身份,根据获取到的用户身份去企业内部的用户中心做校验,校验通过,相关子系统直接登陆; 就是在获取这个用户身份的时候,网上的资料七零八落的,找的人烦躁的很,所 ...
- 【JavaWeb开发】初步实现网站应用钉钉扫码登录
http://blog.csdn.net/baofeidyz/article/details/59059379 版权声明:转载请注明我的个人微信平台 暴沸 目录(?)[+] 写在前面:如果你还不知道钉 ...
- Java钉钉开发_00_资源帖
1.源码 本系列教程的源码已上传至GitHub: https://github.com/shirayner/DingTalk_Demo 2.官方 官方源码:https://github.com/op ...
随机推荐
- kettle从入门到精通 第三十八课 kettle 分页全量同步(数据量大)
1.上一课我们学习了在数据量小的情况下的全量同步示例,本次我们一起学习下kettle 分页全量同步. 2.kettle分页全量同步示例依然基于test数据库,从t1表全量同步数据到t2表,由于t1表的 ...
- Mysql性能优化(详解)
引言 今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情.当我们去设计数据库表结构,对操 ...
- 判断日期是否为周六周日,BigDecimal比较大小
判断日期是否为周六周日,BigDecimal比较大小 package com.example.core.mydemo.date; import java.math.BigDecimal; import ...
- uniapp 使用z-paging 分页组件 写在头部插槽内的单选按钮无法点击
这个问题是因为组件层级太低 <z-paging ref="paging" v-model="dataList" @query="queryLis ...
- Bike Sharing Analysis(一)- 探索数据
1. Bike Sharing Analysis 在这章主要介绍如何分析共享单车服务数据,以及如何基于时间.天气状态特征来识别单车的使用模式.除此之外,我们还会引入可视化分析,假设检验.以及时间序列分 ...
- 配置 Nginx + PHP(FastCGI/FPM)
有关概念 Nginx是什么 Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器. Php-fpm是什么 1.c ...
- Chrome插件:Postman Interceptor 调试的终极利器
今天给大家介绍一款非常实用的工具--Postman Interceptor. 这个工具可以捕捉任何网站的请求,并将其发送到Postman客户端. 对于经常和API打交道的程序员来说,Postman I ...
- mac环境搭建
brew 参考:https://zhuanlan.zhihu.com/p/111014448 ## 更新 homebrew-cask cd "$(brew --repo)"/Lib ...
- Linux内存不够了?看看如何开启虚拟内存增加内存使用量
1.为什么要使用虚拟内存 当我们没有多余的钱去购买大内存的云服务器时,但是当前服务器里面的软件和程序运行的比较多导致内存不够用了.这个时候可以通过增加虚拟内存来扩大内存容量.但是在启用虚拟内存时,需要 ...
- 【ClickHouse】1:clickhouse安装 (CentOS7)
一:安装clickhouse 官网地址:https://clickhouse.tech/#quick-start 按照官网提供的方法快速安装:(依次执行) sudo yum install yum-u ...