Files
admin-web/shared/AGENTS.md
T
2026-08-08 11:33:09 +08:00

2.5 KiB
Raw Blame History

应用内 Shared Package Instructions

项目定位

  • 本包只服务当前前端应用,提供多个业务模块共同使用的 TypeScript 类型、常量和轻量工具。
  • 依赖保持为 @chongchong/shared: link:./shared,确保当前应用目录可作为独立容器构建上下文。
  • 不承担 Admin、Client 之间的源码复用;跨应用字段需要分别映射同一份 Java Controller/OpenAPI 契约,不能通过目录外链接耦合两个部署单元。

公共 API 与依赖边界

  • src/index.ts 是当前唯一公共入口;模块专属页面状态、UI 组件和临时业务逻辑留在对应模块。
  • 共享类型保持前端平台无关,不编码鉴权结论;租户隔离、权限、状态机和数据合法性由 baiyue-firstleg Java 服务端最终保证。
  • 服务端字段变化先核对 Controller、DTO 和 OpenAPI,再更新本应用的类型、API 适配层和测试;本包不反向定义服务端行为。
  • 避免建立宽泛的万能类型或引入重量级依赖。

一期/二期/三期共享模型索引

  • 一期消费者主要是 customers、iam、warehouses、master-data、first-leg-orders;CurrentUser、NavigationItem、ApiResponse、平台收货仓快照及头程订单状态常量由 src/index.ts 统一导出。共享导出只描述前端数据形状,不替代 Java 服务端权限或状态机。
  • 二期消费者主要是 inbounds、warehouse-resources、fba-pricing、dimension-config 与 unified-orders。测量、费用、托盘、库位等类型若只被单一模块使用,应留在模块内;确需跨模块复用时,先核对 baiyue-firstleg Controller/DTO/OpenAPI,再以兼容方式新增导出。
  • 三期当前 NO-GO,暂无正式三期共享契约。不要为了复用原型中的分柜、装柜、报关或 PDA 字段提前扩展本包;待 ../../../docs/三期/三期需求确认表.md 阻断项解除并锁定后端契约,再评估新增类型并同步全部 Admin 消费者。

阶段依据(路径相对本文件所在目录):一期 ../../../docs/一期/,二期 ../../../docs/二期/,三期 ../../../docs/三期/;共享包不保存阶段进度,也不承载跨应用(Client)源码复用。

兼容性与验证

  • 修改导出名称、字段类型、枚举值或常量语义前,搜索当前应用内全部消费者。
  • 优先采用兼容性新增;破坏性修改必须同步更新当前应用消费者。
  • 本包没有独立质量脚本;变更后运行父应用声明的类型检查、测试或构建命令。