这个项目能做什么

HotWax Commerce Fulfillment 是一个渐进式网络应用程序 (PWA),用于商店和仓库团队执行订单履行操作。其逻辑仓库名称为 Fulfillment,其声明的业务目的是让组织能够高效地发货给客户并移动库存。 核心职责包括定位开放订单、创建拣货单、拣选和扫描商品、打包发货、生成标签,以及发货。它还处理设施之间的转运订单,包括拣选、发货和拒绝。承运商和发货操作涵盖承运商发货方式、跟踪标签和装箱单。该应用程序处理库存和异常情况,例如无法履行的商品、拒绝和订单状态更新,并解决用户权限、设施和产品商店上下文,以便进行履行工作。 记录的工作流从开放订单开始,到拣选结束:构建基于 Solr 的订单队列、创建拣货单或波次,并在打包和发货之前扫描商品以更新已拣选数量。打包和发货会生成装箱单、发货标签和跟踪代码,并将发货状态从批准更新为已打包,再更新为已发货。转运订单流程检索转运订单、扫描商品、创建出站发货,并在库存无法履行时捕获拒绝原因。打印和设备支持涵盖拣货单、装箱单和标签,包括 Zebra 打印机流程。 技术栈包括 Vue 3、Ionic Vue、Vue Router、Pinia 和 TypeScript,并作为移动/PWA 打包,使用 Capacitor、Ionic PWA 工具和 Service Workers。平台和实用程序依赖项包括 HotWax OMS API 客户端 (@hotwax/oms-api)、HotWax DXP 组件、Firebase 和 Module Federation 运行时。依赖关系图将 HotWax OMS / Maarg 服务连接到订单、发货、拣货单,以及设施/用户上下文;将基于 Solr 的搜索连接到开放订单和履行队列;将文档服务连接到打印拣货单、装箱单、发货标签和自定义文档;将 Firebase 连接到通知和远程入口托管;并将 Zebra 打印机集成连接到打印服务。 该应用程序是从 accxui pnpm 工作区开发和运行的,而不是从其自己的文件夹运行。要本地运行,请将应用程序放在 accxui 签出中的 apps/fulfillment,将 .env.example 复制到 .env 并设置所需的值,然后从 accxui 根目录运行 pnpm install,并使用 pnpm --filter fulfillment dev 启动。前提条件是 Node v22.12.0 或更高版本,以及 pnpm。环境配置包括用于 OMS API 调用的 VITE_BASE_URL、用于 HotWax Launchpad 登录的 VITE_LOGIN_URL、用于多版本应用程序托管的 VITE_APP_VERSION_CONFIG(Vite 配置加载所必需)、用于通知的 VITE_FIREBASE_CONFIG 和 VITE_FIREBASE_VAPID_KEY、用于模块联合扩展的 VITE_REMOTE_ENTRY,以及用于默认商店级履行标志的 VITE_DEFAULT_PRODUCT_STORE_SETTINGS。用户和贡献者的构建说明都使用 accxui 工作区,贡献者路径添加了对 apps/fulfillment 的 git clone,并使用 pnpm --filter fulfillment build 命令进行构建。 贡献指南要求贡献者 fork 并克隆 main 分支,选择一个问题,使用类似 fulfillment-pwa/issue-number 的分支命名,在提交消息中包含问题编号,并使用提供的模板向 main 提交 PR。错误报告和功能请求是分开的,支持或设置问题会指向指定的渠道。UI/UX 资源包括一个 Figma 社区文件,社区问题可以发送到项目的 Discord 频道。该应用程序根据 Apache v2.0 许可证发布。 Playwright 自动化指南描述了如何使用 npx playwright install 安装浏览器,如何使用 npx playwright test、npx playwright test tests/login.spec.js、npx playwright test --headed、npx playwright test --project=chromium 和 npx playwright test --debug 等命令运行测试,然后如何使用 npx playwright show-report 查看报告。