4.3 KiB
4.3 KiB
Plan: 用户中心侧栏 VIP 入口卡片
Architectural Decisions
Durable decisions that apply across all phases:
- 现有会员导航契约:完整点击卡片复用现有用户中心
tab=vipURL;不打开购买弹窗,也不新增客户端标签切换逻辑。 - 现有配置决定可见性:仅当现有 VIP 配置中至少一个等级启用时渲染入口;不新增设置项、管理员例外或不可用占位。
- 现有数据决定展示状态:复用既有 VIP 等级、过期等级和到期状态读取能力及文案语义;不增加数据字段、迁移或新的会员状态计算。
- 侧栏组合层决定顺序:侧栏组合器将独立 VIP 入口渲染器放在统计信息与账户资产之间;渲染器封装卡片状态和输出。
- 用户中心样式保持局部:会员横卡样式限定在用户中心侧栏范围,沿用现有响应式侧栏抽屉,不新增移动端内容区入口。
- 单一会员入口位置:删除资产页中仅作导航用途的 VIP 入口,保留独立“我的会员”页面及其购买、续费、升级、兑换和支付能力。
Phase 1 — 会员入口可从侧栏进入
User stories: 1、2、3、4、7
What to build
在统计信息和账户资产之间接入独立的服务端 VIP 入口渲染器。入口根据现有配置和当前用户会员状态,展示未开通引导、有效会员等级与既有到期状态,或过期状态;整个卡片通过现有用户中心 URL 进入“我的会员”页面。此阶段先交付完整行为与基础结构,视觉增强和资产页去重留到下一阶段。
Done when
inc/helpers/user-center-renderers/profile-sidebar.php在sidebar-stats.php后、sidebar-commerce.php前加载独立的侧栏 VIP 入口渲染器。- 新的侧栏 VIP 入口渲染器复用现有 VIP 配置、会员等级、过期等级和到期状态,并在没有启用任何 VIP 等级时不输出 HTML。
- [agent:test-auditor] 人工检查渲染器的四种服务端输出:未开通显示权益引导;有效会员显示等级和既有状态文案;过期会员显示过期状态;VIP 未启用时无入口,并确认未引入新的精确日期格式。
- 新入口的完整可点击区域使用
aksrt_get_user_center_tab_url('vip')生成目标地址,人工检查所得 URL 可进入tab=vip。 - 运行
php tools/audit-admin-contracts.php,命令退出码为 0 且报告为errors=0。
Phase 2 — 会员横卡完成视觉落地并消除重复入口
User stories: 5、6
What to build
为侧栏 VIP 入口增加与账户资产双卡明显区分的金色或会员感渐变视觉、会员图标、动态状态文本、右侧箭头及交互反馈,并确保其随既有侧栏在移动端抽屉中正确展示。同时删除资产页内容区中重复的 VIP 导航卡,保持余额、积分、签到和记录功能不变。
Done when
assets/css/routes/user-center/shell.css包含限定在用户中心侧栏的 VIP 卡样式,覆盖会员渐变、图标、状态文本、右侧箭头、完整卡片悬停/聚焦状态和窄屏文本约束。inc/helpers/user-center-renderers/profile-credits.php不再输出uc-vip-assets-entry导航卡,文件中原有余额、积分、签到和资产记录组合逻辑仍被保留。- [agent:test-auditor] 人工在桌面宽度验收“统计信息 → VIP 入口 → 账户资产”的顺序、整卡跳转和 VIP 卡与余额/积分双卡的视觉区分。
- [agent:test-auditor] 人工在既有移动侧栏抽屉验收相同顺序、整卡可点击性、状态文本无溢出,并确认页面内容区没有额外复制 VIP 入口。
- 运行
php tools/audit-admin-contracts.php,命令退出码为 0 且报告为errors=0。
Out of Scope
- 修改“我的会员”页面的布局、文案、套餐卡、权益内容或购买流程。
- 修改支付弹窗、支付渠道、续费、升级、兑换、卡密兑换或订单逻辑。
- 新增、修改或迁移会员数据、会员状态算法、到期日期格式、数据库表或 REST API。
- 新增后台会员配置、侧栏开关、管理员例外显示规则或运营统计。
- 记录 VIP 入口的曝光、点击或转化数据。
- 在移动端内容区额外置顶或复制 VIP 入口。
Open Questions
无。