For AI agents: the complete documentation index is available at https://docs.halo.run/llms.txt, the full documentation bundle is available at https://docs.halo.run/llms-full.txt, and this page is available as Markdown at https://docs.halo.run/developer-guide/shop/theme/testing.md.

测试与发布

以下检查面向 Halo 商城版 2.27。根据主题支持的商品与支付方式准备测试数据,在开发环境完成完整流程。

准备测试数据

至少准备有图和无图商品、多 SKU 商品、库存不足商品、外链商品、询价商品,以及主题声明支持的订阅商品。实体商品验证收货地址和发货信息,虚拟商品配置数字资源或卡密;使用测试数据验证订单内容。Halo 商城版 2.27 尚未实现配送方式选择与运费计算。

分别测试登录用户、未登录访客、开启游客结算后的游客。订阅商品还需要已有订阅和无订阅的登录用户。

页面与交互检查

场景检查内容
商品列表空列表、关键词、分类、排序、分页;翻页保留筛选条件
商品详情正文、无图占位、图库、永久链接、SKU 切换与数量限制
订阅商品档位和周期、数量上下限、试用提示、已有订阅入口;游客需要登录
购物车添加、修改、删除、空购物车、库存或价格发生变化
结算新地址、地址簿、游客邮箱、备注、优惠码和优惠券拒绝原因
支付可用方式、支付失败、超时、切换方式、刷新和返回页面
订单待支付、已支付、取消、退款、优惠明细、快递和虚拟履约信息
游客订单下单后访问、邮件访问、失效链接、邮箱找回、附件下载和卡密展示

结算上下文依赖会话,补测刷新、浏览器后退、重新发起结算、会话过期等情况。订单价格发生变化或商品失效时,应展示服务端错误并允许顾客恢复操作。

样式与兼容性

  • 桌面与窄屏分别检查列表、图库、表单、支付二维码和订单长内容。
  • 使用主题支持的浅色、暗色和语言配置检查按钮、输入框、状态提示。
  • 从浏览器查看页面源代码,确认商品标题、介绍和正文已由 Thymeleaf 输出。
  • 检查同一页没有重复注册 shop-* 组件,商城静态资源成功加载。
  • 覆盖模板后仍保留 CSRF 字段,交易请求正确携带会话 Cookie。
  • 测试主题声明支持的支付环境,包括需要支持时的微信内置浏览器和手机浏览器。

常见问题

现象排查方向
所有商城页面返回 404确认运行商城版、商城已启用,路径与目标版本匹配
自定义模板未生效检查激活主题、templates/shop/ 路径及文件名;开发环境模板缓存设置见主题开发准备
出现 shop-* 标签但没有内容检查 JavaScript 加载、组件注册及必需属性
自定义元素重复注册是否同时加载内置脚本和自编译的商城 UI
商品图库不工作源码开发时是否遗漏根入口中的 Swiper 和图片放大初始化
组件样式缺失或错乱检查 CSS 引用、加载顺序和主题全局样式冲突
结算页跳回购物车结算上下文不存在、过期或与当前会话不匹配
订单 JSON 请求返回 HTML设置 Accept: application/json,并检查是否跳转到登录页
游客订单 JSON 返回 404检查访问链接及 Cookie,提供邮箱找回入口
写请求返回 403检查登录要求、会话和 CSRF 令牌,必要时刷新页面
分类列表不显示分类 Finder 使用 content,商品 Finder 使用 items

打包与升级

按主题打包规范和发布检查清单生成安装包。复用内置模板时,只打包主题实际覆盖的文件;源码开发时,先构建 UI 与主题资源,再确认安装包包含模板引用的最终文件。

在主题说明中标明“需要 Halo 商城版”与已验证的最低版本。不要仅凭 theme.yaml 的版本约束推断安装环境具备商城能力。

发布前把安装包安装到干净的目标版本实例中验证,避免本地开发目录中的额外文件掩盖缺失资源。升级 Halo 后,优先对照版本差异,复测被主题覆盖的模板和交易流程。