小程序功能与管理端配置补齐分析
基于 miniprogram 功能分析,梳理需管理端补齐的配置与功能。
更新日期:2026-02-25
2026-02-25 已补齐:mp_config 管理端、网站配置持久化、支付/二维码 POST、小程序 config 读取
一、小程序配置来源总览
| 配置类型 |
来源 |
管理端入口 |
状态 |
| 免费章节 |
system_config.free_chapters |
系统设置 |
✅ 已有 |
| 价格 (section/fullbook) |
chapter_config / site_settings |
系统设置 |
✅ 已有 |
| 功能开关 (match/referral/search/about) |
feature_config |
系统设置 |
✅ 已有 |
| 找伙伴配置 |
match_config |
找伙伴配置页 |
✅ 已有 |
| 推广/分销 |
referral_config |
推广设置 |
✅ 已有 |
| 小程序专用 (mp_config) |
mp_config |
系统设置 → 小程序配置 |
✅ 已补齐 |
| 订阅消息模板 ID |
mp_config 或 app.js 兜底 |
系统设置 → 小程序配置 |
✅ 已补齐 |
| 微信支付商户号 |
mp_config 或 app.js 兜底 |
系统设置 → 小程序配置 |
✅ 已补齐 |
| API 地址 (baseUrl) |
app.js 硬编码 |
发版时改 baseUrl |
已移除配置 |
| 网站/站点配置 |
site_config, page_config |
网站配置 |
✅ 已持久化 |
二、小程序功能模块与配置依赖
2.1 核心配置接口:GET /api/miniprogram/config
返回字段(来自 GetPublicDBConfig):
| 字段 |
说明 |
管理端对应 |
| freeChapters |
免费章节 ID 列表 |
系统设置 → 免费章节 |
| prices |
{ section, fullbook } |
系统设置 → 价格设置 |
| features |
matchEnabled, referralEnabled, searchEnabled, aboutEnabled |
系统设置 → 功能开关 |
| mpConfig |
appId, apiDomain, buyerDiscount, referralBindDays, minWithdraw |
无管理端 |
| userDiscount |
好友购买优惠 % |
推广设置 |
2.2 找伙伴配置:GET /api/miniprogram/match/config
| 字段 |
说明 |
管理端对应 |
| matchTypes |
匹配类型列表 |
找伙伴配置页 |
| freeMatchLimit |
每日免费匹配次数 |
找伙伴配置页 |
| matchPrice |
单次匹配价格(元) |
找伙伴配置页 |
| settings |
enableFreeMatches, enablePaidMatches, maxMatchesPerDay |
找伙伴配置页 |
2.3 小程序 app.js 硬编码项
三、管理端需补齐项(按优先级)
P0 - 必须补齐
| 项 |
说明 |
建议方案 |
| 小程序专用配置 (mp_config) |
appId、apiDomain、minWithdraw 等,小程序从 config 读取 |
在「系统设置」或新建「小程序配置」卡片,支持编辑并写入 system_config.mp_config |
| 订阅消息模板 ID |
提现申请需用户授权订阅,模板 ID 现硬编码 |
管理端增加「提现订阅模板 ID」配置,写入 mp_config 或单独 key;小程序启动时从 config 拉取 |
| API 地址 (baseUrl) |
开发/生产切换需改 app.js |
方案 A:从 mp_config.apiDomain 下发,小程序优先用接口返回值;方案 B:保留硬编码,仅文档说明切换方式 |
P1 - 建议补齐
| 项 |
说明 |
建议方案 |
| 微信支付商户号 |
支付回调、对账依赖 mchId,现硬编码 |
管理端「支付配置」或「小程序配置」增加 mchId 字段;后端从配置读取,小程序可不改(支付由后端发起) |
| 网站配置持久化 |
SitePage 当前保存仅前端状态,未调用后端 |
对接 POST /api/db/config,按 key 保存 site_config、page_config、menu_config |
| 支付/二维码配置持久化 |
PaymentPage、QRCodesPage 使用 POST /api/config |
soul-api 无 POST /api/config,需新增或改为 POST /api/db/config { key, value } |
P2 - 可选优化
| 项 |
说明 |
建议方案 |
| referral_config 的 withdrawFee |
文档有提现手续费,ReferralSettingsPage 未展示 |
若业务需要,在推广设置页增加「提现手续费」字段 |
| 主题色/品牌色 |
app.js theme 硬编码 |
若需多端统一,可从 site_config 或 mp_config 下发 |
四、配置与 system_config 键名映射
| system_config.config_key |
管理端页面 |
说明 |
| free_chapters |
系统设置 |
免费章节 ID 数组 |
| feature_config |
系统设置 |
功能开关对象 |
| site_settings |
系统设置 |
价格、作者信息 |
| chapter_config |
(可选) |
合并 freeChapters + prices,GetPublicDBConfig 优先用 |
| match_config |
找伙伴配置 |
匹配类型、免费次数、价格 |
| referral_config |
推广设置 |
分销比例、提现门槛、绑定期等 |
| mp_config |
待新增 |
小程序专用:appId, apiDomain, withdrawSubscribeTmplId, mchId 等 |
| site_config |
网站配置 |
站点名称、logo 等(需持久化) |
| page_config |
网站配置 |
页面标题(需持久化) |
| menu_config |
网站配置 |
菜单开关(需持久化) |
| payment_methods |
支付配置 |
微信/支付宝活码等(需确认 POST 接口) |
| live_qr_codes |
二维码管理 |
群活码(需确认 POST 接口) |
五、接口与数据流检查
5.1 管理端调用与后端支持
| 管理端页面 |
调用 |
后端支持 |
备注 |
| 系统设置 |
GET/POST /api/admin/settings |
✅ |
写入 free_chapters, feature_config, site_settings |
| 推广设置 |
GET/POST /api/admin/referral-settings |
✅ |
写入 referral_config |
| 找伙伴配置 |
GET /api/db/config/full?key=match_config |
✅ |
需 AdminAuth |
| 找伙伴配置 |
POST /api/db/config |
✅ |
body: { key: 'match_config', value: {...} } |
| 支付配置 |
GET/POST /api/config |
⚠️ |
GET 有,POST 无;需新增或改用 db/config |
| 网站配置 |
GET /api/config |
⚠️ |
GET 有,保存未对接 |
| 二维码管理 |
GET/POST /api/config |
⚠️ |
同上 |
5.2 小程序读取链
六、实施建议(管理端开发任务)
任务 1:新增「小程序配置」区块(P0)
- 位置:系统设置页新增卡片,或独立「小程序配置」页
- 字段:
- API 域名 (apiDomain):如
https://soulapi.quwanzhi.com
- 小程序 AppID (appId):如
wxb8bbb2b10dec74aa
- 提现订阅模板 ID (withdrawSubscribeTmplId)
- 微信支付商户号 (mchId)(可选,后端也可用 env)
- 最低提现金额 (minWithdraw)(可与 referral_config 同步)
- 存储:POST /api/admin/settings 扩展,或 POST /api/db/config { key: 'mp_config', value: {...} }
- 小程序:app.js 启动时请求 config,若 mp_config 存在则覆盖 baseUrl;withdrawSubscribeTmplId 从 config 取
任务 2:网站配置持久化(P1)
- SitePage 保存时调用 POST /api/db/config,按 key 分别保存 site_config、page_config、menu_config
- 或扩展 AdminSettingsPost 支持 site_config 等
任务 3:支付/二维码配置接口(P1)
- 方案 A:新增 POST /api/admin/config,支持 payment_methods、live_qr_codes 等 key
- 方案 B:PaymentPage、QRCodesPage 改为调用 POST /api/db/config,body: { key, value }
七、附录:小程序页面与配置使用
| 页面 |
使用的配置 |
接口 |
| custom-tab-bar |
features.matchEnabled |
GET /api/miniprogram/config |
| 阅读 read |
freeChapters, prices |
GET /api/miniprogram/config (chapterAccessManager) |
| 找伙伴 match |
matchTypes, freeMatchLimit, matchPrice |
GET /api/miniprogram/match/config |
| 我的 my |
features, 收益/提现规则 |
GET /api/miniprogram/config, referral/data |
| 分销 referral |
shareRate, minWithdraw, bindingDays |
GET /api/miniprogram/referral/data |
| 支付流程 |
mchId (后端), openId |
app.js 硬编码 + 后端 env |