商店系统专题导航
这页适合解决什么问题
如果你正在遇到下面这些问题,可以先从这里进入:
- 商品价格到底放哪一层
- 购买后 UI 为什么没更新
- 金币扣了但背包没进货
- 限购、刷新、折扣这些逻辑应该怎么拆
- 商店页和背包页是不是要共用一套数据结构
核心文档
新增完整指南
| 文档 | 说明 | 适合阶段 |
|---|---|---|
| 创游世界商店系统实战设计指南 | 商店系统完整设计指南,涵盖商品定义、交易流程、限购刷新、抽奖兑换 | 进阶 |
推荐阅读顺序
docs/项目设计/创游世界商店系统实战设计指南.md← 新增完整正文docs/脚本系统/专题研究/创游世界背包与货币系统设计入门.mddocs/脚本系统/专题研究/创游世界UI数据同步架构.mddocs/脚本系统/专题研究/脚本作用域与数据流深度研究.mddocs/脚本系统/专题研究/创游世界项目结构模板.md
商店系统最重要的结构观念
[已确认]商品显示信息和商品真实数据应尽量分开。[已确认]价格、库存、限购次数等不应只存在于 UI 层。[已确认]购买行为至少要经过:校验条件 → 扣资源 → 发放物品 → 刷新展示。[高可信推断]商店和背包最好围绕同一套"物品定义 + 玩家持有数据"展开,否则后续扩展会越来越乱。
四层架构概览
商品定义层
负责:商品 ID、名称、价格、产出、限购规则、刷新规则 → 存放配置表
玩家状态层
负责:当前货币、已购买次数、刷新时间、折扣状态 → 存放玩家变量
交易处理层
负责:校验条件、扣资源、发奖励、记录购买 → 存放地图/系统脚本
UI 展示层
负责:显示商品、显示价格、触发请求、接收结果 → 存放 UI 脚本
常见误区
误区 1:把商品列表直接写死在页面脚本里。
- 后果:后面一旦有刷新规则、活动商品、折扣逻辑,就很难维护。
- 正确做法:商品信息放在配置表,UI 只负责读取和显示。
误区 2:先更新 UI,再做购买校验。
- 后果:容易出现显示成功、实际失败的假同步。
- 正确做法:先在后台完成校验和扣费,成功后再通知 UI 刷新。
误区 3:金币、钻石、券、兑换材料各自独立乱写。
- 后果:资源扣减规则分散,后期非常难统一。
- 正确做法:统一设计货币管理模块,所有购买都通过同一套接口。
完整指南目录
商店系统
- 创游世界商店系统实战设计指南 ← 正文页
- 四层架构设计
- 商品配置表结构
- 购买流程实现
- 限购与刷新机制
- 折扣与活动商店
- 商店与背包共用方案
- 抽奖系统设计
- 兑换系统设计
- 常见错误与避坑
关联系统
- 创游世界背包与货币系统设计入门 - 背包数据设计
- 创游世界格子UI与列表系统深度解析 - 列表UI设计
- 创游世界UI数据同步架构 - UI与真值分层
关联阅读
docs/项目设计/项目设计导航.mddocs/项目设计/系统设计专题导航.mddocs/核心研究/数据、变量与作用域导航.mddocs/脚本系统/专题研究/创游世界背包与货币系统设计入门.mddocs/脚本系统/专题研究/创游世界UI数据同步架构.md
待验证问题
[待验证]限购与刷新机制的具体实现方案细节[待验证]折扣/活动商店的技术实现细节[待验证]商店页与背包页双向回链的具体技术实现
后续优化方向
- [x] 补充完整商店系统实战设计指南(已实现)
- [ ] 补充限购与刷新机制专题
- [ ] 补充折扣/活动商店专题
- [ ] 补充抽奖、兑换、礼包与普通商店的统一抽象方案
- [ ] 完善商店页与背包页的双向回链示例
