|
|
před 1 týdnem | |
|---|---|---|
| config | před 1 týdnem | |
| local_server | před 1 týdnem | |
| public | před 1 týdnem | |
| scripts | před 1 týdnem | |
| src | před 1 týdnem | |
| .eslintrc.js | před 1 týdnem | |
| .gitignore | před 1 týdnem | |
| LICENSE | před 1 týdnem | |
| README.md | před 1 týdnem | |
| manifest.json | před 1 týdnem | |
| package-lock.json | před 1 týdnem | |
| package.json | před 1 týdnem | |
| tsconfig.json | před 1 týdnem |
一个功能完整的【DingTalk AI表格】插件示例,展示如何构建具有实时数据同步、完整CRUD操作和多语言支持的插件。
---------------------前端示例------------------------
├── src/
│ ├── components/ # React组件
│ │ ├── App.tsx # 主应用组件,包含configPermission初始化逻辑
│ │ ├── locales.ts # 国际化配置
│ │ └── style.css # 样式文件
│ ├── entries/ # 入口文件
│ │ ├── script.tsx # 脚本入口
│ │ └── ui.tsx # UI入口
│ └── script/ # Service Worker (后台服务)
│ └── service.ts # 核心业务逻辑
---------------------服务端示例------------------------
└── local_server/
├── server.ts # 服务端核心逻辑,处理DingTalk API请求和签名计算
└── .env.server # 服务端环境变量文件,存储钉钉应用凭证
pnpm install
pnpm start
应用将在 http://localhost:3000 启动(如端口被占用会自动选择下一个可用端口)
插件公开发布场景下需要额外启动服务端
pnpm start:server服务端将在 http://localhost:3001 启动
pnpm run build
| 命令 | 描述 |
|---|---|
pnpm start |
启动开发服务器 |
pnpm run build |
构建生产版本 |
pnpm test |
运行测试 |
支持以下语言:
语言会根据DingTalk环境自动切换。
src/script/service.ts 中添加业务逻辑src/components/App.tsx 中添加UI组件src/components/locales.ts 添加国际化文本A: 检查Node.js版本是否>=16,或者检查是否有端口冲突。默认使用3000端口,如被占用会自动选择其他可用端口。
A: 确保manifest.json配置正确,检查构建输出目录。
A: 确认DingTalk环境支持相应的事件API。
Do not have permission to access this document.
Using "Dingdocs.base.host.configPermission(agentId, corpId, timeStamp, nonceStr, signature, ['DingdocsScript.base.readWriteAll'])." to verify permission configuration information.
A: 当发布企业内插件或第三方企业插件时,需要使用 configPermission 进行额外鉴权,以允许插件读写AI表格数据。
本地服务端配置要求:
.env.server 文件用于存储插件所属钉钉应用的身份信息(AppKey、AppSecret、AgentId、corpId)pnpm start:server 启动本地服务端来处理鉴权请求服务端(server.ts)功能:
/api/configPermission 端点供前端调用鉴权流程:
initView 的 ready 回调中自动发起鉴权请求/api/configPermission 请求,服务端生成所需的鉴权参数(timeStamp、nonceStr、signature等)Dingdocs.base.host.configPermission 完成鉴权本项目基于 MIT License 开源协议。
更多DingTalk插件开发文档,请参考 官方文档。