Use Y2T service by DingTalk robot
将Y2T服务接入DingTalk Robot,提升了使用体验。
在config.json配置好所需的内容,这边将YApi项目的配置文件通过CryptoJS.AES.encrypt(<TOKEN>, <SECRET>)
进行加密后存储在配置中心。
// YApi项目的配置
interface ProjectConfig {
pid: string
desc: string
token: string
name: string
}
type ProjectConfigs = ProjectConfig[]
// config.json中需要配置的内容
{
"username": "<YOUR_GIT_USERNAME>",
"password": "<YOUR_GIT_PASSWORD>",
"email": "<YOUR_GIT_EMAIL>",
"registry": "<YOUR_GIT_REPOSITORY_REGISTRY>",
"protocol": "<YOUR_YAPI_SERVICE_PROTOCOL>",
"hostname": "<YOUR_YAPI_SERVICE_HOSTNAME>",
"projectUrl": "<YOUR_PROJECT_URL_IN_YAPI_SERVICE>",
"accessToken": "<YOUR_DING_DING_ACCESS_TOKEN>",
"appSecret": "<YOUR_DING_DING_APP_SECRET>",
"projectsConfigsUrl": "<THE_URL_WHERE_YOU_STORE_THE_YAPI_PROJECT_CONFIGURATION>",
"secret": "<YOUR_PROJECT_TOKEN_ENCRYPTED_KEY>"
}
- @小西 list 查询已配置的项目
- @小西
<Project ID>
- 等待服务返回npm包名,
npm i <response> --save-dev
- 直接在项目中
import
使用
@小西bb 帮助模式
钉钉机器人需要通过公网访问应用,开发阶段可以使用钉钉提供的内网穿透。
由于服务架设到公网,所以需要考虑安全问题,这里对所有进来请求都会进行签名校验,只允许来自钉钉机器人的请求,可以参考文档机器人安全设置,JavaScript
版本签名校验实现在utils中的verifySign
方法。