• 首页
  • 产品与方案
  • 众成服务
  • 走进众成
  • 新闻中心
  • 企业文化
  • 联系我们
  • 解决方案
  • 众成软件
  • 维护支持
  • 运维服务
  • 技术交流
  • 公司介绍
  • 荣誉资质
  • 合作伙伴
  • 招贤纳士
  • 公司新闻
  • 业界动态
  • 文化建设
  • 企业文化
  • 荣誉榜

首页 > 产品与方案 > 众成软件

众成软件

钉钉开放平台-企业内部应用开发简易流程整理

 作者:众成   文章来源:软件二部    点击数:  更新时间:2018-09-20 15:28:12

 

 

 

 

 

 

 

 

 

钉钉开放平台

 

企业内部应用开发简易流程整理

 

目录

一、钉钉开放平台概述

二、企业内部应用概述

2.1、内部应用开发方式

2.2、开发方式对比

三、企业内部应用开发

3.1、前端开发

3.1.1、引入JS文件

3.1.2、JSAPI权限验证配置

3.1.3、调用JSAPI组件

3.2、后端开发

四、企业内部应用部署

 


一、钉钉开放平台概述

当前,钉钉开放平台的开发类型有三类:第三方企业应用,第三方个人应用,企业内部应用。

1、第三方企业应用:主要开放给企业使用。ISV(独立软件服务商)以钉钉、企业之外的第三方身份,基于钉钉的开放能力开发应用,并上架至钉钉应用市场,供钉钉上的企业/组织使用。该类应用需要经过钉钉团队的审核,审核通过后,方可上架至钉钉应用市场。适用于服务商研发通用的产品应用。例如:CRM应用、人事管理应用、财务管理应用和企业差旅应用等。

2、第三方个人应用:主要开放给个人使用。ISV(独立软件服务商)以钉钉、企业之外的第三方身份,基于钉钉的开放能力开发应用,提供给钉钉个人用户使用。此种类型应用不感知企业信息。应用可以通过群转发、应用市场、群应用使用历史、个人应用使用历史等钉钉客户端入口传播和分发。该类应用需要经过钉钉团队的审核,审核通过后,方可被钉钉用户使用和搜索。

3、企业内部开发:钉钉上的企业或组织可以基于钉钉的开放能力,自主开发,供企业或组织内部使用,以满足办公场景中的个性化需求。该类应用无需钉钉团队审核,企业内部自行开发并使用即可。

 

二、企业内部应用概述

2.1、内部应用开发方式

内部应用也存在两种方式:

1、E应用:由钉钉团队提供的一种简洁的开发模式,支持IOS、Android部署(PC端暂不支持)。

2、传统H5开放模式:传统普遍可控的H5开发模式。

2.2、开发方式对比

 

E应用

H5技术

加载性能

首次使用略慢,后续加载快

受到很多因素影响,优化不够好,容易慢

使用体验

非常顺滑,接近 Native

容易卡顿

页面跳转,返回

和 Native 的效果一样

做不到和 Native 一样的体验

开发环境搭建

提供 IDE,快速创建项目

成本高

调试

提供 IDE,可以在电脑上调试大部分功能

在电脑上只能调 UI,涉及到钉钉的 jsapi,必须真机调试

使用开源 UI 组件

目前不支持

支持

模块化组织代码

支持 E应用 特有的模块化

使用 vue, React 等框架可以轻松获得模块化支持

灰度发布

钉钉提供

需要自己实现

CDN

E应用包默认在 CDN

需要开发者自己购买相关服务

开发个人应用

支持

不支持

应用离线化

支持

不支持

 

E应用有专门的开发工具(https://open-doc.dingtalk.com/microapp/debug/ide),如图2.2.1所示,为开发界面。

其实这个工具不仅仅是钉钉应用开发用,还包含了支付宝的小程序,mPaaS的小程序。该工具也会简化部署,但是不兼容网络上下载到的绝大多数js,开发的局限性很大,提供的都是标准化的UI控件。并且开发的代码仅包含前端,依然要搭建服务器与之进行数据交互,总的来说是弊大于利。等待后续的更新,毕竟只是测试版的。

 

图2.2.1 钉钉小程序开发者工具 Beta

 

三、企业内部应用开发

3.1、前端开发

前端的大部分开发,基于H5的开发规范即可。

但当需要使用钉钉的一些功能时,就需要调用JSAPI。而使用流程如下:

引入JS文件 → JSAPI权限验证配置 → 调用JSAPI组件

3.1.1、引入JS文件

在页面引入js文件:https://g.alicdn.com/dingding/dingtalk-jsapi/2.0.72/dingtalk.open.js

3.1.2、JSAPI权限验证配置

权限验证配置流程:获取access_token → 获取jsticket → 获取签名参数 → 计算签名信息。如图3.1.1所示。参考网站:

https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.7c854a97IpubxB&treeId=168&articleId=107551&docType=1#

IMG_256

图3.1.1 JSAPI鉴权流程

在此建议下载官方mode代码,直接导入到自己项目里,留意引入必要的包,做好maven配置。

3.1.3、调用JSAPI组件

在dd.ready中调用需要的组件即可。

JSAPI总览:

https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.261a4a97IPDis3&treeId=171&articleId=106834&docType=1

个人心得:

(1)按钮的onclick如果要用到组件的话,建议采用$("#id").on("click",function(){});的方式。

(2)用到的组件,要记得在config的jsApiList中注册。

(3)组件中包括了许多弹窗,时间选择器等,同时兼容IOS与Android。

 

3.2、后端开发

如果前段JSAPI导入了工程项目,导入了必要的包,后端开发就会变得简单。

服务端API列表:

https://open-doc.dingtalk.com/microapp/serverapi2

值得注意的是,服务端API中,许多比较重要的功能还在开发中,要使用的话需要申请加入“钉钉ISV沟通组”,在里面的审批项目中申请权限。(不管是申请加组,还是申请权限都非常慢,笔者等了两星期以上,才加入了组)

 

四、企业内部应用部署

参考地址:

https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.51a94a97nj754G&treeId=367&articleId=107520&docType=1

进入开发之前,请确保你在钉钉上是某个组织的管理员,拥有管理权限,才可以为该组织开发微应用,供内部员工使用。

(1)登录钉钉管理后台(https://oa.dingtalk.com/)进入「工作台」,点击最下方的「自建应用」,并填写信息,确认后即可创建一个新的微应用。

注意:后台地址,首页地址,PC版首页地址都以http://或者https://开头的URL,三种地址必须保持域名的统一。

(2)创建微应用时,就会有AgentID,在前后端权限认证时会用到。如图4.1.1所示

(3)钉钉开发者平台中https://open-dev.dingtalk.com,可以得到CorpId和CorpSecret,两者也是前后端权限认证时会用到。如图4.1.2所示。

607679414616893731

图4.1.1 AgentID获取方式

910033344082706334

图4.1.2 CorpId与CorpSecret获取方式

下载此文档:钉钉开放平台-企业内部应用开发简易流程整理(杨宇)   类型:doc,   大小:305 KB
  • 地址:温州市车站大道大诚商厦E幢四楼 | 电话:0577-88891333 | 技术服务电话:4008515159 | 传真:0577-88363999
  • 邮箱:jucher@jucher.com | 浙ICP备05000620号-1
  • Copyright © 2009-2019 JUCHER CORPORATION CO., LTD All Rights Reserve