公众号图文
这篇解决什么
图文草稿和发表记录走哪两个接口、本地有没有图文表。读完能对上 /mp/draft 与 /mp/free-publish,不要去建 mp_article。
默认端口 48080。先接入账号见 公众号接入。封面素材见 公众号素材。
示意图:内容在微信侧。本仓库只做代理,并用素材表补封面 URL。
从哪改
仓库没有 MpArticleController,也没有 mp_article。
| 名称 | 说明 | 仓库路径 |
|---|---|---|
| 草稿 | @RequestMapping("/mp/draft") | ruoyi-office/yudao-module-mp/yudao-module-mp-server/.../controller/admin/news/MpDraftController.java |
| 发表 | /mp/free-publish | MpFreePublishController |
| 列表数据 | 微信草稿 / 发表 API | WxJava DraftService / FreePublishService |
| 封面补全 | 按 thumbMediaId 查素材 | mp_material |
| 草稿页 | 编辑器 | ruoyi-office-vben/apps/web-antd/src/views/mp/draft/ |
| 发表页 | 记录列表 | ruoyi-office-vben/apps/web-antd/src/views/mp/freePublish/ |
官方菜单:图文草稿箱 2108(mp/draft/index),图文发表记录 2104(mp/freePublish/index)。权限 mp:draft:*、mp:free-publish:submit。
草稿:GET /page 调 listDraft;POST /create 回 mediaId;PUT /update 按篇序改;DELETE /delete 删草稿。
发表:POST /submit?accountId=&mediaId= 发布,回 publishId;删除用微信侧 articleId。
字段
本地不存正文。封面展示依赖素材表。
| 名称 | 说明 | 仓库路径 |
|---|---|---|
草稿 mediaId | 微信草稿编号 | MpDraftController |
发表 articleId | 已发布图文编号 | MpFreePublishController |
thumbMediaId | 封面,永久图片 | 草稿条目 + MpMaterialDO |
newsItem | 标题、作者、正文 HTML | 前端 MpDraftApi.NewsItem |
正文插图走 /mp/material/upload-news-image,只拿微信 URL。自动回复、菜单选图文时,选择器分别打草稿分页或发表分页,不是 mp_material.type=news。
不要建本地图文表
mp_* 里没有 article。二开如果落库备份,另开表,不要改 mp_material 的 type 约定。
封面先上传永久图片
cover-select.vue 走 /upload-permanent,得到 thumbMediaId 再写进草稿。临时素材过期后封面会丢。
示意图:封面在素材表。稿件本体在微信。
配置与操作
两页都要先选账号。草稿箱 2108 /mp/draft:POST /create 回 mediaId,再改、再删。发表记录 2104 /mp/free-publish:POST /submit?accountId=&mediaId= 发布,删除用微信 articleId。封面先上传永久图片拿 thumbMediaId。
本地没有 mp_article。列表是微信草稿 / 发表 API 的代理,封面 URL 用素材表补。正文插图走 /upload-news-image。开启见 公众号功能设计。

本系统截图:公众号管理 → 图文草稿箱。稿件在微信侧,这里只做代理。
