A端 工作台重构设计(gpt-6-astra 起草 · 波波核注)

日期:2026-09-25
起草:gpt-6-astra(effort=medium,耗时 150.9s,输出 3214 token,finish_reason=stop)
核注:波波 —— 采纳大部分,但对 3 处做了调整并说明理由(见每节"波波核注")
状态:设计已定,待实施(第一期:导航重组)

零、这次调用的通道说明(顺便留档,之前团队里有人不知道)

(high/xhigh 会被网关约 120s 切断;max_tokens 非硬截断,控体积靠指令限定)


一、信息架构:顶层分组方案

结论:采用"工作动线为主、业务对象为辅、权限状态做视觉叠加"的六组架构。

不再使用建设计划编号(A8/A3/R6/B…),也不按角色分组。

理由:运营人员的实际任务稳定,且同一角色需要跨模块完成工作;

按角色会造成入口重复,按编号无法表达业务含义。

顺序顶层组主要内容依据与运营动线
1经营总览仪表盘、站点数据、分析对应"看数",进入后台先判断平台状态
2运营待办入驻审核、消息、线索与转化对应"处理待办",按任务闭环组织
3商户与商品配置商家、商户页、商品L1 代商户配置,可写但不触碰经营数据
4内容与品牌内容、攻略、故事、场景、文案、品牌对应"配置内容",按内容资产与发布对象组织
5经营数据(只读)订单、核销、结算、分销L2 禁写,单独分组并统一标记"只读"
6平台治理权限、审计、平台参数、运营管控对应"查问题"及平台级治理

权限呈现原则:分组表达业务边界,菜单标签表达读写边界;

L0/L1 使用"配置/管理",L2 统一使用"数据(只读)",灰色锁定图标 + 只读标签,

详情页同样禁用写操作。

波波核注:这一条直接落实了义父 2026-09-25 定的权限边界
(可帮商户做基础配置,不得碰经营数据)。L2 独立成组是关键——
光靠后端禁写不够,运营在界面上就该一眼看出"这里不能改"。采纳。

二、导航映射表(34 个页面)

现有页面归属分组显示统一显示名
dashboard经营总览是经营总览
analytics(未挂)经营总览是数据分析
site-data(未挂)经营总览是站点数据
applications运营待办是入驻审核
messages运营待办是消息中心
crm-leads运营待办是线索台账
crm-funnel运营待办是转化分析
merchants商户与商品配置是商户管理
merchant-pages商户与商品配置是商户页配置
products商户与商品配置是商品与套餐
orders经营数据(只读)是订单数据 · 只读
redeem-ledger经营数据(只读)是核销数据 · 只读
settlement经营数据(只读)是结算数据 · 只读
distribution经营数据(只读)是分销数据 · 只读
content内容与品牌是内容资产
content-items(未挂)内容与品牌合并并入"内容资产"
stories内容与品牌是故事
scenes内容与品牌是场景
guide-admin内容与品牌是攻略
text-dictionary内容与品牌是文案与术语
bo-dictionary内容与品牌是B端 术语词典
destinations(未挂)内容与品牌是目的地与 POI
weather-road(未挂)内容与品牌是天气与路况
brand-config内容与品牌是品牌与多语言
config-versions内容与品牌是品牌配置版本
ai-config(未挂)内容与品牌 → 平台治理是AI 配置
cms内容与品牌隐藏遗留 CMS(保留路由)
key-config平台治理是福钥配置
platform-params平台治理是平台参数
settings平台治理是系统配置
operations平台治理是运营管控
identities平台治理是身份与权限
audit平台治理是审计日志
login(未挂)系统页面隐藏登录页不进业务导航

未挂菜单 7 项的结论:analytics 显示 / site-data 显示 / weather-road 显示 /

ai-config 显示 / destinations 显示 / content-items 合并 / login 隐藏。

波波核注(3 处调整):
1. ai-config 从"内容与品牌"调到"平台治理" —— AI 配置是平台能力开关,
不是内容资产;和"平台参数/系统配置"放一起才是运营的心智。
2. cms 隐藏但不删 —— 它是孤岛(C端 零消费),隐藏入口可避免运营继续往里录;
但保留路由与页面,是否删除数据要义父定,我不擅自动。
3. content-items 合并前需先核实 —— ContentItems.tsx(content_items 表)
与 ContentAssets.tsx 是不是一回事,合并前必须确认,
否则会把两个不同能力硬拧成一个。实施第一期前先查清。

三、命名统一方案

结论:建一个"内容与品牌"顶层组,按内容资产类型拆分,不再保留泛化的"内容管理"。

现名称新名称处理方式
内容管理(cms)遗留 CMS隐藏入口(C端 零消费,继续录会形成"录了不展示"的风险)
内容资源(content)内容资产统一内容主入口
content-items内容资产详情并入"内容资产"
故事管理故事类型化命名,去冗余
场景管理场景与目的地、POI 同一语义
攻略内容攻略去"内容"后缀,与故事/场景并列
文案字典文案与术语突出文案、多语言、词汇治理
B端藏文字典B端 术语词典与文案治理同组,明确服务对象
波波核注:采纳。这套命名把"内容"从一个含混词变成一组并列的具体类型,
运营不用再猜"内容管理"和"内容资源"差在哪。

四、涉钱只读模块的呈现

  1. 独立顶层组:"经营数据(只读)",不与商户、商品、系统配置混排
  2. 名称统一:订单数据 · 只读 / 核销数据 · 只读 / 结算数据 · 只读 / 分销数据 · 只读
  3. 视觉区分:组名加锁定图标与"只读"标签;菜单用灰色辅助色;页面顶部显示"L2 经营数据|只读"
  4. 交互约束:隐藏新增/编辑/删除/导入;平台兜底干预必须单独显示为受控操作,

且满足鉴权 / 事务 / 行锁 / 留痕 / 目的地隔离五守卫

  1. 实现边界:导航调整不得新增经营数据写端点,继续用 check_admin_boundary.py 守
波波核注:第 4 条和第 5 条正好接上我 09-25 做的权限边界门禁。
特别是"平台兜底干预必须单独显示为受控操作"——对应我发现的
退款执行缺操作员留痕那个问题。采纳,且作为第一期的验收项之一。

五、分期落地步骤

阶段风险改造内容验证方式
第一期:导航重组低保留原路由与页面,实现六组菜单、统一显示名、L2 只读分组;补挂 5 个应显示入口逐项核对 34 个页面;旧 URL 仍可访问、权限不变、核心流程回归
第二期:命名与入口合并低—中内容入口统一命名;content-items 作为子入口;隐藏 CMS 菜单运营可用性测试:完成"找攻略 / 改文案 / 查 POI",记录找寻时间与误入率
第三期:权限与只读强化中L2 菜单/标题/按钮统一只读标识;复核 L0/L1 可写范围跑门禁脚本;接口级验证无新增 L2 写端点;抽查两套 API 防护一致性
第四期:内容与数据治理中—高评估 CMS 数据迁移/停用/历史只读;梳理内容资产与 C端 消费关系测试环境验证发布链路与 C端 展示;未验证不得删旧表旧路由
第五期:页面内部重构高导航稳定后,统一筛选/详情/状态/发布/审计等交互灰度发布,监控错误率、权限异常、任务完成率,可回退菜单配置

原则:先改"找得到",再改"用得好",最后改"底层一致性";全程保留旧路由与可回退配置。

波波核注:分期合理,完全同意"先找得到再改好用"。
第一期风险确实低(只动导航不动页面),可以立刻开工。

六、下一步(我的执行计划)

第一期实施清单:

  1. 核实 ContentItems 与 ContentAssets 是否可合并(前置,未核实不动)
  2. menu.ts 改结构:扁平数组 → 六组(新增 group 字段,废弃 scope 编号)
  3. Layout 渲染分组:组标题 + 分组,L2 组加只读标识(灰 + 锁)
  4. 补挂 5 个缺失入口(analytics / site-data / destinations / weather-road / ai-config)
  5. 隐藏 cms 菜单(保留路由)
  6. 验证:tsc → 门禁 → 构建 → 真渲染(旧 URL 仍可达、34 页可发现)
  7. 部署 prod

未动项(需裁定):cms_posts 孤岛数据怎么处理(迁移 / 停用 / 保留历史只读)。


附:第一期实施结果(2026-09-25 16:2x 已上线)

状态:第一期完成并上线 prod,commit df98fcb4。

⚠️ 实施前发现:我给 gpt6 的材料错了一处

我把 components/menu.ts 当成导航单一来源写进材料,它是废弃文件(全仓零引用)。

真实导航是 Layout.tsx 的 NAV_GROUPS,而且早就已经有 7 组分组。

⇒ 材料中"27 项扁平无分组""7 个页面没挂菜单"两条是错的,

gpt6 基于错材料给出的部分结论也随之偏掉。材料错了,产出就会偏。

更严重的是根因:我 09-25 新增 bo-dictionary / guide-admin 时

只往废弃的 menu.ts 加了项,没加进 NAV_GROUPS ⇒ 运营点不到,等于白做。

实际落地(与设计方案的差异)

设计稿实际原因
content-items 并入"内容资产"各自独立核实后三者是三张表三个消费链路,不能合并(见下)
补挂 5 个未挂菜单页补挂 4 个"未挂菜单"本身是误报,真实只有 4 个漏挂
—新增:cms 移出导航孤岛,避免运营继续往里录

核实推翻的一条:ContentAssets(POI/路线/知识/规则)、

ContentItems(content_items 键值,C端 texts 消费)、

SiteDataConfig(site_config,C端 config/site 消费)——三张表三个链路,一个都不能合并。

线上验证(a.kailashi.cn 真实令牌)

分组: ["经营总览","运营待办","商户与商品配置","内容与品牌","经营数据 · 只读","平台治理"]
菜单项数: 32
含只读组: true
导航无内容管理(cms): true
/bo-dictionary /guide-admin /crm-leads /crm-funnel /orders  均可达
错误: 0

本地真渲染 scripts/verify_nav_local.mjs 12/12 通过。

后续(第二~五期)

第二期命名与入口合并已顺带完成大部分;剩下:

第三期 L2 页面顶部加"只读"条幅与按钮级禁用;

第四期 cms 数据处置(待义父裁定:接上 C端 / 停用 / 历史只读);

第五期页面内部交互重构。