公众号功能启用
公众号 MP 模块用于接入微信公众号账号,统一管理粉丝、标签、菜单、素材、图文、自动回复、消息模板和统计数据。RuoYi Office 当前后端位于 yudao-module-mp-server,前端位于 apps/web-antd/src/views/mp,底层使用微信公众平台 SDK 与微信服务器交互。
建设顺序
核心接口与页面
| 能力 | 管理端页面 | 后端接口 | 说明 |
|---|---|---|---|
| 公众号账号 | views/mp/account | /mp/account/* | 创建账号、生成二维码、清空 API 配额 |
| 微信回调 | 微信服务器调用 | /mp/open/{appId} | GET 校验签名,POST 接收消息推送 |
| 粉丝管理 | views/mp/user | /mp/user/* | 粉丝分页、编辑备注、同步粉丝 |
| 菜单管理 | views/mp/menu | /mp/menu/* | 保存发布菜单、清空菜单、查询菜单 |
| 素材/图文/回复 | views/mp/material 等 | /mp/material/* 等 | 留存内容运营资产 |
回调配置要点
微信公众平台的服务器地址建议按后端实际域名配置为:
text
https://你的域名/admin-api/mp/open/{appId}其中 {appId} 必须与后台公众号账号中的 AppID 一致。MpOpenController 会根据 AppID 查找账号和租户,然后校验 signature、解析明文或 AES 加密消息,再交给消息路由处理。
账号维护建议
- 先保存账号再配置微信平台:后台需要 AppID、AppSecret、Token、EncodingAESKey 等信息,微信平台回调也依赖这些配置。
- 多租户场景注意归属:回调接口会根据账号租户上下文执行业务逻辑,账号不要跨租户复用。
- 清空 API 配额谨慎使用:该操作会调用微信侧能力,适合排查接口调用次数异常,不应作为日常操作。
- 生成二维码用于运营绑定:二维码可辅助运营人员确认当前公众号账号,不等同于菜单或素材发布。
排查清单
| 现象 | 优先检查 |
|---|---|
| 微信服务器配置校验失败 | URL 是否包含 /admin-api/mp/open/{appId};Token 是否一致;外网是否可访问 |
| 接收不到消息 | AppID 是否匹配;公众号是否启用服务器配置;后端日志是否进入 handleMessage |
| AES 消息解析失败 | EncodingAESKey、加密模式、msg_signature 是否正确 |
| 账号下拉为空 | 当前用户是否有 mp:account:query 权限;是否已创建公众号账号 |
