PC 与移动商城如何保持商品、结算、支付和退款一致
PC 与移动端可以使用不同前端技术,但必须共享服务端业务契约、错误语义和关键旅程验收,避免同一订单在不同渠道出现两套规则。

PC 商城、移动 H5、小程序和 App 可以采用不同的前端运行时,但商品、报价、订单、支付和退款必须 使用相同的服务端事实。保持一致的关键不是强行共享前端代码,而是统一接口契约、状态规则、错误 语义和跨端验收用例。
CusMall 的 PC 买家端使用 Nuxt SSR,移动买家端使用 uni-app。两端独立构建、独立发布,通过 HTTP 契约消费同一套商城服务,并分别验证共同的买家旅程。
为什么不直接共用一个前端工程
PC 公开页面需要语义化 URL、服务端首屏和桌面交互;移动端还要处理小程序授权、App 权限、分享、 定位和不同支付渠道。把两者塞进同一运行包,会让渠道条件侵入商品和交易逻辑,也会使依赖升级互相 牵制。
独立工程不代表允许业务行为分叉。渠道差异只处理平台 API 和交互适配,价格、库存、优惠、订单和 售后状态仍由服务端决定。
哪些关键旅程需要跨端对齐
| 旅程 | 两端共同边界 | 主要验收点 |
|---|---|---|
| 商品浏览 | 商品、SKU 与库存读取 | 分页、规格、空数据和失效商品 |
| 购物车与结算 | 加购、公开报价与订单预览 | 重复点击、价格变化、库存和优惠重算 |
| 支付 | 统一下单与支付状态 | 成功、取消、超时、回调和结果查询 |
| 地址 | 地址保存与经营市场校验 | 国内外字段、权限与错误恢复 |
| 退款 | 退款申请与状态查询 | 重复提交、处理中、失败和成功 |
| 租户隔离 | 当前 Host 与用户会话 | 跨租户参数、缓存和深链访问 |
接口变更时,需要同时盘点 PC、移动、运营和商家端的调用方。源码契约检查可以快速发现方法、路径 和字段漂移;完整发布还应从实际运行服务读取 OpenAPI,再与前端消费者逐项核对。
PC SSR 与登录状态如何划分
首页、商品、店铺等公开内容由服务端按当前 Host 获取并输出首屏 HTML,使页面在浏览器执行脚本前 已经包含当前商城内容和基础 SEO 信息。登录后的订单、地址、资产等私有页面在客户端运行,服务端 首屏不读取或输出浏览器会话和个人资料。
浏览器水合前后必须得到同一经营站点、市场、语言和币种上下文;如果服务端与浏览器取到不同站点, 应视为入口或契约缺陷,而不是用默认数据遮盖。
自动化验收能证明什么
当前发布门禁会构建 PC 生产版本,在隔离环境启动商城接口与浏览器,检查匿名 SSR 路由、登录路由、 商品、购物车、结算、支付、地址、退款和租户隔离。它同时要求移动端源码契约和生产构建通过。
这类证据可以证明当前代码和隔离环境中的共同旅程,但不能替代真实 App ID、小程序账号、签名、 域名和支付渠道下的原生验收。正式发行前仍需在目标平台验证登录、下单、支付回调、分享和权限。
评估多端商城时,可以先查看买家端与商家端和 系统架构。需要结合现有渠道、终端和外部账号确认范围时,可通过 商务咨询提供当前用户旅程。