feat: 小程序 AI 底栏与聊天页、出站推送调试与 tabbar 迁移

- 自定义 tabBar:AI 入口图标与样式,相关页面与审核门控调整

- API:MpTabbar、出站推送 Hook、后台设置与迁移 SQL(含 FAB 居中排序)

- 管理端:推送 Hook 面板、出站推送调试工具与生产环境注释说明

Made-with: Cursor
This commit is contained in:
Ghost
2026-04-20 15:29:10 +08:00
parent ce55c48c64
commit d07235b64c
26 changed files with 486 additions and 317 deletions

View File

@@ -4,7 +4,30 @@
* - maintenanceMode / reviewMode面相审核用户口语「审核模式」常指其一
*/
/** 临时:为 true 时在客户端忽略审核/提审隐藏逻辑。平时必须为 false由 runtime 与后端 miniprogramAuditMode 等决定展示 */
const TEMP_FORCE_SHOW_ALL_HIDDEN_UI = false
/**
* 在 getRuntimeConfig 写入 globalData 之后调用:把审核相关开关置为关闭,供各页与 TabBar 使用。
*/
function applyAuditUiOverride(app) {
if (!TEMP_FORCE_SHOW_ALL_HIDDEN_UI || !app || !app.globalData) return
app.globalData.reviewMode = false
app.globalData.maintenanceMode = false
app.globalData.miniprogramAuditMode = false
}
/** 是否因审核/面相权限隐藏中间凸起 Tab拍摄 */
function shouldHideTabBarHighlightFab(gd) {
if (TEMP_FORCE_SHOW_ALL_HIDDEN_UI) return false
if (!gd) return false
const ep = gd.enterprisePermissions
const faceOff = !!(ep && ep.face === false)
return !!(gd.reviewMode || gd.maintenanceMode) || faceOff
}
function isAuditHideAiMode(gd) {
if (TEMP_FORCE_SHOW_ALL_HIDDEN_UI) return false
if (!gd) return false
return !!(gd.miniprogramAuditMode || gd.maintenanceMode || gd.reviewMode)
}
@@ -40,6 +63,9 @@ function ensureRuntimeThenGate(callback) {
}
module.exports = {
TEMP_FORCE_SHOW_ALL_HIDDEN_UI,
applyAuditUiOverride,
shouldHideTabBarHighlightFab,
isAuditHideAiMode,
redirectIfMiniprogramAudit,
ensureRuntimeThenGate