Files

3.0 KiB

应用内 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 适配层和测试;本包不反向定义服务端行为。
  • 避免建立宽泛的万能类型或引入重量级依赖。

契约与验证

  • 修改导出名称、字段类型、枚举值或常量语义前,搜索当前应用内全部消费者。
  • 当前开发阶段按目标模型直接修改;破坏性修改必须同步更新当前应用全部消费者、测试和接口映射,不保留旧模型兼容分支。
  • 本包没有独立质量脚本;变更后运行父应用声明的类型检查、测试或构建命令。

订单与客户/入库测量与计费/国内货柜履约契约索引

  • 订单与客户共享模型服务客户认证、企业资料/成员权限和头程订单;修改订单状态、仓库摘要、资质或权限枚举前,先核对阶段契约并搜索 src/modules/ 全部消费者。
  • 入库测量与计费仅承接客户可见的到仓与计费结果。WAIT_SPLIT + APPROVED + CONFIRMED 为当前终点;内部测量明细、备注和文件权限不得通过共享类型绕过。
  • 国内货柜履约仅在服务端字段、权限和 OpenAPI 已稳定,且确有多个 Client 模块复用时才新增共享导出;先读 ../../../docs/国内货柜履约/国内货柜履约开工门禁.md。只建客户可见的柜次、进度、授权回执和船期类型,不通过 shared 暴露照片、锁码或后台内部资料。

定位规则:从 src/index.ts 的导出开始,反查模块 api、store 和 contracts.ts 消费者;字段含义不明确时回到服务端 DTO/OpenAPI,不在 shared 中扩展业务语义。

业务域文档入口(路径相对本文件所在目录):订单与客户 ../../../docs/订单与客户/README.md;入库测量与计费 ../../../docs/入库测量与计费/README.md 与 ../../../docs/入库测量与计费/入库测量与计费需求优化版-v2-测量计费入库主流程.md;国内货柜履约 ../../../docs/国内货柜履约/README.md、../../../docs/国内货柜履约/国内货柜履约开发规划.md 和 ../../../docs/国内货柜履约/国内货柜履约需求确认表.md。范围与契约以正式确认和设计文档为准,原型只作补充。