# 全局业务规则 ## 1. 用户身份与登录 ### 1.1 可匿名浏览的范围 - 首页 - 门店选择页 - 点餐页基础浏览 - 商品详情查看 ### 1.2 必须登录 / 绑定手机号的动作 - 提交订单 - 使用优惠券、积分、储值、次卡 - 查看“我的”资产 - 查看消息中心 - 提交退款申请 - 提交评价 ### 1.3 登录拦截方式 - 优先使用 `C03 登录授权弹层` - 拦截后登录成功,应返回原业务场景继续执行 ## 2. 门店与场景规则 ### 2.1 场景枚举 | 值 | 名称 | 说明 | | --- | --- | --- | | `delivery` | 外卖配送 | 需要地址、配送范围和配送费 | | `pickup` | 到店自提 | 需要取餐时间、取餐人信息 | | `dine_in` | 堂食扫码 | 需要门店和桌号 | ### 2.2 门店选择规则 - 顾客必须在“某一家门店”下点单 - 同一时间购物车只属于一个门店 + 一个场景 - 切换门店时,应提示当前购物车可能清空 ### 2.3 堂食规则 - 堂食优先由扫码进入 - 扫码后自动识别门店与桌号 - 堂食场景默认不展示配送地址与配送费模块 ## 3. 商品与价格规则 ### 3.1 商品展示规则 - 商品按分类展示 - 支持热销、招牌、新品、推荐等标签 - 商品在以下情况下显示不可售: - 售罄 - 下架 - 超出供应时段 - 当前场景不可售 ### 3.2 SKU 与规格规则 - 规格做法与加料均在商品详情抽屉中完成 - 当商品启用多规格时,价格与库存以 SKU 为准 - 如果规格变化导致库存不足,应立即提示 ### 3.3 费用结构 结算时至少展示以下金额项: - 商品金额 - 打包费 - 餐具费 - 配送费 - 优惠减免 - 实付金额 ## 4. 优惠与资产规则 ### 4.1 资产类型 | 类型 | 说明 | | --- | --- | | 优惠券 | 满减券、折扣券、免配送费券 | | 积分 | 获取、抵扣、兑换 | | 储值余额 | 充值后可支付订单 | | 次卡 | 对特定商品或分类核销 | | 会员等级 | 折扣、积分倍率、生日权益、会员日权益 | ### 4.2 资产使用原则 - 顾客端只负责展示可用资产和命中结果 - 具体叠加、互斥、优先级由后台规则决定 - 若资产不可用,必须给出原因说明 ### 4.3 典型不可用原因 - 未达到金额门槛 - 不适用当前门店 - 不适用当前场景 - 不适用当前商品 - 已过期 - 已使用 ## 5. 订单状态规则 ### 5.1 订单状态定义 | 状态值 | 中文名称 | 说明 | | --- | --- | --- | | `pending_pay` | 待支付 | 已提交订单,未完成支付 | | `paid_wait_accept` | 已支付待接单 | 等待商家处理 | | `preparing` | 制作中 | 商家已接单,正在备餐 | | `delivering` | 配送中 | 外卖场景履约中 | | `wait_pickup` | 待自提 | 自提场景等待到店取餐 | | `dine_in_serving` | 堂食进行中 | 堂食场景订单进行中 | | `finished` | 已完成 | 订单已履约完成 | | `refunding` | 退款中 | 售后处理中 | | `refunded` | 已退款 | 退款已完成 | | `closed` | 已关闭 | 超时取消或主动取消 | ### 5.2 订单动作与状态对应 - `待支付`:可继续支付、取消订单 - `已支付待接单 / 制作中`:可查看详情、催单、部分场景可申请退款 - `配送中 / 待自提 / 堂食进行中`:可查看履约信息 - `已完成`:可评价、再来一单 - `退款中 / 已退款`:可查看退款详情 ## 6. 消息通知规则 ### 6.1 消息分类 | 类型 | 内容范围 | | --- | --- | | 订单消息 | 支付成功、接单、出餐、配送、退款处理 | | 营销消息 | 发券提醒、活动开始、会员日提醒 | | 系统通知 | 门店公告、规则更新、服务通知 | ### 6.2 消息行为 - 未读消息需要角标或红点提示 - 进入消息详情或打开消息中心后,消息可置为已读 - 消息应能跳转到对应业务页面 ## 7. 页面通用状态 所有列表页和详情页都要考虑以下状态: - 加载态 - 空态 - 错误态 - 禁用态 - 网络重试态 ### 7.1 典型空态 - 无门店可选 - 当前分类无商品 - 无可用优惠券 - 无历史订单 - 无消息 ### 7.2 典型错误态 - 网络异常 - 定位失败 - 支付失败 - 加载订单失败 - 退款提交失败 ## 8. 通用交互约束 - 金额统一用 `¥` 展示 - 主要 CTA 按钮固定在页面底部或区块底部 - 结算相关页面必须把金额明细解释清楚 - 场景切换、门店切换、地址切换属于高风险动作,需要在必要时提示购物车清空 - 同一页面的主要操作按钮文案要稳定,不同页面不要频繁变形