关于
API文档请参见:https://cathayjs.github.io/egg-dd-sdk/
由于钉钉未提供nodejs sdk,初次用nodejs对应相应接口时比较费时费力,所以将项目中的钉钉对接接口整理出来,以egg插件
的方式提供呈现。
本sdk的主要达到三个目的:
- config: 钉钉相关配置的约定
- utils: 将钉钉加解密之类的复杂方法抽象为工具类
- service: 将与钉钉相关的API接口进行封装,以service方式提供,方便调用
另外,关于为什么基于egg插件
,说明一下原因:
egg
框架本身在企业级应用框架中的分层非常清晰,扩展机制极其灵活,配套完整,极力推荐- 通过
egg插件
的组织,能够非常方便的组织钉钉的配置文件管理、工具使用及service使用 - 提供了统一的配置管理
- 提供统一的工具调用方式
- 提供统一的service调用方式
- 提供统一的日志服务
自己参与的项目非ISV类型,未针对ISV做设计,有需求的同学可以一起参与完善。
API文档请参见:https://cathayjs.github.io/egg-dd-sdk/
egg 配置说明
package.json
config/config.default.js
moduleexportsDD_CONFIG = corpId: "dingdcf94075751f540635c2f4657eb6378f" secret: "C-uQKbuaA1zrne3ni2fwBfifMir9h4MEQTIrRi2LoQiE68LdxIWhBqnFxKLYABWT" token: '123456' // 加解密时有用到 aesKey: "1234567890123456789012345678901234567890123" // 加解密时有用到 agentId: 'default': '116146340' nonceStr: "123456" sso: appId: 'dingoa9l870sdqembng3je' appSecret: 'h0Y1uH4w4nkToIvzJzd6VKRNbJsqevOi791B0eeOVM87GrumW4xLEGOQqjzmo9eK' ;
config/plugin.js
exportsdd = enable: true package: 'egg-dd-sdk';
NEXT
此目录为所有钉钉官方服务端开发文档的目录结构,打钩的是实现的:
- 建立连接
- 免登授权
- 企业应用中调用免登
- 普通钉钉用户账号开放及免登
- 网站应用钉钉扫码登录开发指南
- 微应用后台管理员免登
- ISV应用中调用免登
- 通讯录管理
- 人员管理
- 部门管理
- 权限管理
- 角色管理
- 微应用管理
- 消息会话管理
- 普通会话消息
- 群会话消息
- 文件管理
- 多媒体文件管理
- 钉盘
- 单步文件上传
- 发送文件给指定用户
- 文件事务
- 其他
- 智能办公
- 审批
- 考勤
- 签到
- 外部联系人管理
- 群机器人
- 服务端加密、解密
- js接口API
关于单测
egg-dd-sdk
虽然是egg插件,但有完善的单测机制,且与egg框架目录结构使用方式一致:
- cnpm install
- npm run dev
目前以公共19个用例,覆盖了大部分接口