前言部分

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

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

引入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. this的二种使用方式

    package com.ht.TestThis; public class TestThisKey { public static void main(String[] args) { // TODO ...

  2. C#.NET 4.8 WEBP 转 GIF

    C#.NET 4.8 WEBP 转 GIF 项目是.NET 4.8. nuget 引用 Magick.NET-Q16-AnyCPU ,版本:7.14.5.高版本,如:12.2 已经不支持.NET FR ...

  3. C#中路径说明

    路径中一个点和两个点的区别 ./    表示当前目录,如"./jquery-1.3.2.min.js",也可以去掉"./",如"jquery-1.3. ...

  4. Puremvc

    Puremvc 框架unitypuremvc PureMVC健壮.易扩展.易维护 Many so-called Model-View-Controller frameworks today seem ...

  5. WebUI自动化测试-监听元素有无变化

    from datetime import datetime,timedelta from selenium.webdriver.common.by import By def get_inocSum( ...

  6. Wireshark找不到接口

    在管理员权限下的命令行窗口输入net start npf即可. 注意是管理员权限下的,否则会拒绝访问.

  7. android系统中log机制

    android系统中log机制 背景 习惯了Linux开发的我,转到安卓以后,对于安卓开发的很多问题没有经验.看到同事解决问题都会看logcat,因此有必要了解一下这些东西. 介绍 Android提供 ...

  8. ZYNQ uboot 网络调试

    背景 使用 Vivado配置好网络,并在PetaLinux中构建了完整的uboot.kernel.rootfs以后,发现网络有问题. > ping 192.168.168.1 ethernet@ ...

  9. redis 乱码:\xac\xed\x00\x05t\x00\x02

    前言 学习 spring-boot 的 redis 相关部分,测试时,发现 使用redisTemplate.opsForValue().set("name","tst&q ...

  10. Python2 SyntaxError: Non-ASCII character '\xc3' in file...

    使用pip安装完需要的python库,运行脚本时报错:Syntax Error: Non-ASCII character '\xc3' in file /usr/local/lib/python2.7 ...