自动回复
这篇解决什么
关注、收到消息、关键词三条规则存在哪、如何互斥。读完能对上 mp_auto_reply.type 和匹配方式,不要和菜单点击回复当成一张表。
默认端口 48080。先接入账号见 公众号接入。素材、图文给回复载荷用。
示意图:关注走订阅处理器。其它消息先关键词再按消息类型。
从哪改
| 名称 | 说明 | 仓库路径 |
|---|---|---|
| 规则 | @RequestMapping("/mp/auto-reply") | ruoyi-office/yudao-module-mp/yudao-module-mp-server/.../controller/admin/message/MpAutoReplyController.java |
| 规则表 | mp_auto_reply | MpAutoReplyDO |
| 类型 | 1 关注 / 2 消息 / 3 关键词 | MpAutoReplyTypeEnum |
| 匹配 | 1 完全 / 2 半匹配 | MpAutoReplyMatchEnum |
| 管理端 | 列表 + 回复组件 | ruoyi-office-vben/apps/web-antd/src/views/mp/autoReply/ |
官方菜单:自动回复 2120。权限 mp:auto-reply:create / update / delete。
关注无配置时,内存默认回「感谢关注」,不写库。文本消息先按关键词全匹配,再半匹配,再按 requestMessageType。出站仍走 MpMessageService.sendOutMessage。
字段
validateAutoReplyConflict:关注每账号一条;消息类型每账号每种一条;关键词每账号每个词一条。
| 名称 | 说明 | 仓库路径 |
|---|---|---|
type | 关注 / 消息 / 关键词 | MpAutoReplyDO |
requestKeyword / requestMatch | 仅关键词 | 同上 |
requestMessageType | 仅收到消息:text / image / voice 等 | 同上 |
responseMessageType | 回复形态,含 news、music | 同上 |
responseContent | 文本 | 同上 |
responseMediaId | 图片、语音、视频 | 同上 |
responseArticles | 图文 JSON | 同上 |
requestMessageType 允许集:text、image、voice、video、shortvideo、location、link。图文条目字段是 title、description、picUrl、url,嵌在消息 DO 里,不是独立表。
菜单点击回复写在 mp_menu 的 reply* 字段,见 公众号菜单。两边载荷形态接近,表不同。
关注规则不能两条
同一账号再插一条 type=1 会冲突。改文案用更新,不要再新建关注行。
选素材和菜单共用组件
wx-reply 各 Tab 调临时上传或素材/草稿选择器。mediaId 必须属于当前 accountId。
按本仓库 DO 生成的 ER。规则按账号隔离。
配置与操作
走 自动回复(2120,/mp/auto-reply,页在 views/mp/autoReply/)。先选账号,再按 Tab 配三类:关注 1、收到消息 2、关键词 3。权限 mp:auto-reply:create / update / delete。
关注每账号只能一条;没有行时内存默认回「感谢关注」,不写库。关键词先全匹配再半匹配,再按 requestMessageType。菜单点击回复写在 mp_menu,不是这张表。mediaId 必须属于当前账号。开启见 公众号功能设计。

本系统截图:公众号管理 → 自动回复。先选账号,再切关注 / 消息 / 关键词。
