文案配置化 + 支付开关

小程序
- 页面固定文案全部改读后台配置(购买、登录、资料、首页、分享、介绍页),代码里不再硬编码
- 已拥有课程时在当前页提示,不再跳购买页再提示
- 介绍页正文由代码常量改为读 settings.page.formula.content

服务端
- 课程相关报错文案(不存在 / 已下架 / 课时不存在 / 未购买 / 已过期 / 重复购买 / 未配置支付商品)改读配置,代码保留默认值兜底
- 新增支付总开关 pay.blocked:打开即拦截下单并下发配置里的提示;开关存在数据库里,开发库与生产库各一份(开发库已开,生产库未设)

后台
- 系统配置页按页面分组折叠,默认收起;认不出来的配置归入「其他」

配套数据(不在代码里):对应的 settings 行已写入生产库与开发库
This commit is contained in:
Yeomai committed 2026-10-01 11:28:29 +08:00
1 parent c45025fc86
commit 879e74ebda
21 files changed
+325 -103

No files matched your search

@@ -17,7 +17,11 @@ Page({
data: {
userInfo: { avatarUrl: '', nickName: '' },
loginStatue: false,
LoginTag: '一键登录',
LoginTag: '',
// 页面固定文案,全部来自后台配置
pageTitle: '',
pageSubtitle: '',
logoutText: '',
},
onLoad() {
@@ -34,7 +38,10 @@ Page({
const registered = !!(user && user.isLogin === 1);
this.setData({
loginStatue: registered,
LoginTag: registered ? '退出登录' : '一键登录',
LoginTag: registered ? store.cfg('login.button.logout') : store.cfg('login.button.login'),
logoutText: store.cfg('login.button.logout'),
pageTitle: store.cfg('login.title'),
pageSubtitle: store.cfg('login.subtitle'),
userInfo: {
avatarUrl: config.STATIC_BASE_URL + config.PLACEHOLDER.WECHAT,
nickName: registered ? user.nickname : '',
@@ -82,8 +89,8 @@ Page({
onlogout() {
if (!this.data.loginStatue) return;
wx.showModal({
title: '提示',
content: '确定退出登录吗?',
title: store.cfg('common.dialog.title'),
content: store.cfg('login.confirm.logout'),
confirmColor: '#ff0000',
success: (res) => {
if (!res.confirm) return;