# message_plus **Repository Path**: KangSpace/message_plus ## Basic Information - **Project Name**: message_plus - **Description**: 消息Plus , 钉钉富文本消息发送APP, 钉钉企业自建小程序。 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2022-08-11 - **Last Updated**: 2024-02-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 消息Plus App项目 ## 为什么创建这个项目 最初接触钉钉API发送消息的是使用[自定义机器人](https://developers.dingtalk.com/document/app/custom-robot-access)功能,自定义机器人中可以发链接消息,Markdown消息(可图文组合),还有卡片消息等内容丰富类型的消息。 但在钉钉会话中我们基本只能发送文本,图片这些消息,然后从[钉钉开放平台API](https://developers.dingtalk.com/document/app/)了解到[消息通知](https://developers.dingtalk.com/document/app/message-notification-overview)中的[普通消息](https://developers.dingtalk.com/document/app/send-normal-messages) API可以发送Markdown,卡片等类型的消息。 由此引出了创建消息Plus项目的想法。 ## 项目类型 消息Plus(MessagePlus) 项目为钉钉小程序项目,目前用于企业内部应用。 ## 项目说明 消息Plus项目通过集成钉钉小程序[普通消息](https://developers.dingtalk.com/document/app/send-normal-messages)API,扩展个人的会话消息发送类型。 支持的5种[消息类型](https://developers.dingtalk.com/document/app/message-types-and-data-format): * 文本消息 * 图片消息 * OA消息 * Markdown消息 * 卡片消息(2种类型,3种展现方式) * ~~语音消息(未实现)~~ * ~~文件消息(未实现)~~ * ~~链接消息(未实现)~~ ## 消息Plus实现方案 > 实现方案的核心流程:通过钉钉小程序[普通消息](https://developers.dingtalk.com/document/app/send-normal-messages)API,从前端或后端发送消息给会话。 ### 1. 纯前端实现(local) 纯前端实现又称为local模式, ### 2. 前端+后端实现(remote) 前端+后端实现又称为remote模式, ### 项目模块 略 ### 用到的API列表 小程序API: | 小程序API | | :-----| | [更新管理小程序](https://developers.dingtalk.com/document/app/UpdateManager) | | [发网络请求](https://developers.dingtalk.com/document/app/send-network-requests) | | [上传文件](https://developers.dingtalk.com/document/app/upload-objects) | | [缓存](https://developers.dingtalk.com/document/app/cache-overview) | | [web-view](https://developers.dingtalk.com/document/app/web-view) | | [剪切板](https://developers.dingtalk.com/document/app/dd-setclipboard) | | [企业内部应用免登陆](https://developers.dingtalk.com/document/app/enterprise-internal-application-logon-free) | 服务端API: | 服务端API | 备注 | | :-----| :-----| | [企业应用获取access_token]()| -- | | [通过免登码获取用户信息](https://developers.dingtalk.com/document/app/get-user-userid-through-login-free-code#topic-1936806)| [企业内部应用免登](https://developers.dingtalk.com/document/app/enterprise-internal-application-logon-free?#topic-2021731) | --| | [上传媒体文件](https://developers.dingtalk.com/document/app/upload-media-files?#topic-1936786)| -- | ### 配置 1. [utils/constances.js](utils/constances.js)下constants.appDefaultInfo配置默认信息 默认AppType: hosted 2. 小程序配置 登录[钉钉开放平台-开发者后台](https://open-dev.dingtalk.com/#/index) a. 创建小程序 选择菜单「应用开发」-「企业内部开发」-「小程序」-「创建应用」。 输入“应用名称”,“应用描述”,选择“企业自主开发”的开发方式,「确认创建」即可。 b. 管理配置 选择创建好的小程序:「应用开发」-「企业内部开发」-「小程序」-「消息Plus」。 * 「开发管理」-「服务器出口IP」配置当前调用钉钉API接口机器的外网IP(可配置多个,支持带一个*号通配符的IP格式) * 「人员管理」-「开发人员」 添加使用[IDE](https://developers.dingtalk.com/document/resourcedownload/miniapp-tool?pnamespace=app)开发的成员 * 「权限管理」添加接口权限和权限范围 * 「安全中心」-「HTTP安全域名」/「Webview安全域名」为小程序中使用[网络请求](https://developers.dingtalk.com/document/app/send-network-requests) 和[web-view](https://developers.dingtalk.com/document/app/web-view) 组件可访问的域名列表。 ## 主程序入口 > /pages/index/index 应用主入口 ## 基本功能测试入口 > /pages/test/index 用于简单测试钉钉普通消息发送API相关接口。 # 截图 * Markdown 消息 * OA消息 * 卡片消息(整体跳转) * 卡片消息(独立跳转) * 图片消息 * 文本消息 # 消息形式预览 * Markdown 消息 输入: 消息显示: * OA消息 输入: 消息显示: * 卡片消息(整体跳转) 输入: 消息显示: * 卡片消息(独立跳转) 输入: 消息显示: # 如何使用 通过2个简单步骤即可快速使用「消息Plus」小程序: 1. 加入「消息Plus」钉钉组织 使用钉钉扫描二维码加入。 2. 选择「工作台」-「全员」-「消息Plus」 消息Plus首页: 这样即可使用「消息Plus」小程序发送多媒体消息了。 ## Version History | Version | 更新时间 | 更新内容 | | :-----| ----: | :----: | | 1.0 | 2021-04-18 | 自建APP本地请求模式(custom_local)和托管模式上线 |