Skip to content

sivanzheng/Y2T-Robot

Repository files navigation

Y2T-ROBOT

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方法。