140 lines
22 KiB
Markdown
140 lines
22 KiB
Markdown
# 当前项目专属文档
|
||
|
||
本目录保存只适用于当前项目的业务背景、架构边界、外部系统约束和实现决策。
|
||
|
||
这些文档可以作为后续项目参考,但不应整份复制到新项目。新项目可复用内容应优先沉淀到 `docs/import/reusable/`。
|
||
|
||
## 文档状态约定
|
||
|
||
- `当前有效`:后续开发和联调优先按该文档执行。
|
||
- `权威契约`:同类接口或规则出现重复描述时,以该文档为准。
|
||
- `阶段记录`:记录某个 checkpoint 的落地细节,可以辅助理解,但不应覆盖当前有效文档。
|
||
- `历史参考`:保留早期讨论背景;若与当前有效文档冲突,以当前有效文档为准。
|
||
- `草案`:需求或方案尚未完全落地,开发前需要再次确认。
|
||
|
||
## 核心入口
|
||
|
||
| 文档 | 状态 | 中文说明 |
|
||
| --- | --- | --- |
|
||
| `../../AGENTS.md` | 当前有效 | 项目协作入口,记录 agent 工作方式、分支、目录、前后端边界、安全和测试要求。 |
|
||
| `../../CONTEXT.md` | 当前有效 | 项目长期上下文入口,记录产品目标、技术栈、系统组成、业务领域和外部系统边界。 |
|
||
| `../../PROJECT_STATE.md` | 当前有效 | 项目当前状态入口,记录当前 checkpoint、优先级、Known Issues 和 Next Steps;允许高频更新。 |
|
||
| `../../README.md` | 当前有效 | 项目根说明,记录目录、启动命令、健康检查、Debug EML 和 MCP 基础说明。 |
|
||
| `ai-native-adoption.md` | 当前有效 | 本项目采用 AI-NSES 的路径说明,记录标准目录与当前目录的映射关系。 |
|
||
| `ai-nses-project-overlay.md` | 当前有效 | 本项目在通用 AI-NSES 之上的补充规则,记录 V4 需求门禁、核心概念守门、需求追踪和 agent 交接规则。 |
|
||
| `backend-development-guidelines.md` | 当前有效 | 当前项目后端专属规范。 |
|
||
| `backend-time-design.md` | 当前有效 | 当前项目时间设计说明,记录数据库 UTC、API `Z` 时间、酒店时区展示和本地日期边界。 |
|
||
| `security-access-control-boundary.md` | 当前有效 | 当前项目接口暴露、权限码、酒店隔离和审计边界总表;新增或修改接口时必须同步。 |
|
||
| `frontend-development-guidelines.md` | 当前有效 | 当前项目前端专属规范。 |
|
||
| `frontend-backend/README.md` | 当前有效 | 前后端协作入口,记录接口契约来源、字段白名单和当前后置事项。 |
|
||
| `go-live-notes.md` | 当前有效 | 当前项目上线注意事项,记录上线前检查、环境变量、安全、AgentBus、验证和回滚。 |
|
||
| `operations/booking-v01-security-checkpoint.md` | 当前有效 | Booking V0.1 的凭据、默认本地 H2、BR00 原型隔离和 G0 外部前置记录;历史数据库凭据必须轮换,未完成前不得标记 G0 通过。 |
|
||
|
||
## AI-NSES 与可复用规范
|
||
|
||
| 文档 | 状态 | 中文说明 |
|
||
| --- | --- | --- |
|
||
| `../import/reusable/ai-native-software-engineering-standard.md` | 当前有效 | 可复制到其他项目的 AI-NSES 通用标准,定义项目文档结构、文档职责、Feature 生命周期、Ready / Done、Change Request、Traceability 和 Agent Handoff。 |
|
||
| `../import/reusable/ai-native-templates/README.md` | 当前有效 | AI-NSES 模板目录索引,包含 AGENTS、CONTEXT、PROJECT_STATE、Domain、Workflow、ADR、Spec、Change Request、Agent Handoff 和 Architecture 模板。 |
|
||
| `../import/reusable/README.md` | 当前有效 | 可复用迁移规范总索引。 |
|
||
|
||
## 需求与方案
|
||
|
||
| 文档 | 状态 | 中文说明 |
|
||
| --- | --- | --- |
|
||
| `requirements/M001-source-message-inbox-prd.md` | 当前有效 | M001 邮件来源入口 PRD,记录 AgentBus 邮件 JSON 入库、历史查询、原文读取和媒体引用边界。 |
|
||
| `requirements/M002-order-task-workflow-v1.md` | 历史参考 | M002 订单任务主流程 V1,已由 V2 承接,保留用于理解早期流程。 |
|
||
| `requirements/M002-order-task-workflow-v2.md` | 阶段记录 | M002 订单任务主流程 V2,记录当前已阶段实现的 AI 过渡层、S000/S999 兼容、订单任务流转、任务确认和 OPERA 模拟骨架。 |
|
||
| `requirements/M002-order-task-workflow-v3.md` | 历史参考 | M002 订单任务主流程 V3;保留用于旧 V4 兼容、迁移和回归,新 Booking 邮件主线不再以此作为实施依据。 |
|
||
| `requirements/M002-task-field-control-contract-v1.md` | 当前有效 | M002 任务卡字段控件契约 V1,记录任务详情 `fields[]` 控件元数据、人工复核控件复用和前后端开发边界。 |
|
||
| `requirements/M002-v4-agent-callback-field-contract.md` | 阶段记录 | 旧 M002 V4 Agent 回调字段契约;只用于既有 V4 兼容、迁移和回归,新的 Booking 邮件跨层接口以 contracts-v2 为准。 |
|
||
| `requirements/M002-v4-order-task-card-domain-model-cp2.md` | 阶段记录 | 旧 M002 V4 订单任务与多卡领域模型;保留现有页面/数据兼容资料,新 Booking 主线不再把它作为跨层实现契约。 |
|
||
| `requirements/M002-v4-requirement-spec-template-alignment.md` | 当前有效 | M002 V4 近期增量需求的模板化 Spec 入口,汇总 Room Information 多房型、Payment、Rooming List、Trace、REVIEW_REQUIRED、SourceMessage Display、普通员工用户化展示和单卡可操作态测试数据的需求追踪表;不替代字段契约、接口契约或安全边界。 |
|
||
| `requirements/M002-v4-real-catalog-lookup-api-design.md` | 当前有效 | M002 V4 真实目录与 Lookup API 设计及 CP11 / CP13 CP1 实现记录;M012 v20260810 已覆盖当前固定目录为 10 个 Room Type 和 21 个基础 Rate Code,旧组合码仅输入兼容,目录来源为生成资源。文档同时记录 Account / Market / Source、前端 lookup、目录管理、权限、缓存后置、PMS / OPERA / OHIP 同步后置和失败兜底。 |
|
||
| `requirements/M002-v4-test-machine-smoke-checklist.md` | 当前有效 | M002 V4 测试机冒烟清单,覆盖登录、酒店权限、V4 工作台、订单任务详情、lookup、确认、复核解阻、S10/S99 ack、订单详情 V4 时间线和目录管理 CP1 排查点。 |
|
||
| `requirements/M002-superagent-task-result-api-contract.md` | 阶段记录 | M002 SuperAgent 任务结果入站接口契约阶段记录;对外总契约以 `integrations/superagent-api-contract.md` 为准。 |
|
||
| `requirements/M002-ai-query-minimal-fields.md` | 阶段记录 | M002 SuperAgent 查询上下文接口 1、2 最小字段落地记录;对外总契约以 `integrations/superagent-api-contract.md` 为准。 |
|
||
| `requirements/M002-backend-data-model-design.md` | 阶段记录 | M002 后端数据模型设计,记录 AI 过渡层、订单、任务、任务卡、审计和 OPERA 模拟结果表。 |
|
||
| `requirements/M002-backend-checkpoint-plan.md` | 阶段记录 | M002 后端 checkpoint 计划,记录后端实现拆分、交付物和验收标准。 |
|
||
| `requirements/M003-identity-access-hotel-menu-v1.md` | 当前有效 | M003 登录、权限、酒店和动态菜单底座方案。 |
|
||
| `requirements/M004-debug-eml-superagent-upload-v1.md` | 当前有效 | M004 Debug EML 上传 SuperAgent 调试方案。 |
|
||
| `requirements/M005-hotel-context-unification-plan.md` | 当前有效 | M005 酒店上下文统一收口方案。 |
|
||
| `requirements/M006-system-admin-management-console-v1.md` | 草案 | M006 系统管理后台方案,覆盖用户、角色、权限、菜单、酒店和用户酒店授权维护。 |
|
||
| `requirements/M007-agentbus-superagent-auto-dispatch-v1.md` | 当前有效 | M007 AgentBus 新邮件入库后异步分发 SuperAgent 的后端 V1 方案,当前默认关闭,等待测试机联调。 |
|
||
| `requirements/M008-excel-to-pdf-conversion-v1.md` | 当前有效 | M008 Excel 转 PDF 文件转换能力方案,记录 LibreOffice headless、手动上传转换、邮件附件自动派生 PDF 和部署要求;CP2 已实现手动上传后端接口。 |
|
||
| `requirements/M009-manual-invoice-generation-v1.md` | 当前有效 | M009 Manual Invoice 手工开票生成方案;后端 CP2 已支持无订单 / 无任务手工填写、填充 Excel 模板、转 PDF、OSS 输出和生成记录。 |
|
||
| `requirements/M010-rooming-list-excel-generation-v1.md` | 当前有效 | M010 Rooming List Excel 生成方案;后端 CP1 已支持前端上传来源名单和手工字段,同步生成 `.xlsx` 直接下载,不落库、不上传 OSS;CP2 已实现来源 `旅游日期` 派生 Arrival / Departure、Adults 系统计算,以及目标默认值区域只保留 Payment Type / Nationality;CP3 已实现第二种 `英文姓` + `英文名` 名单样式;CP4 已实现第三种单列 `英文名` 名单样式;无旅游日期来源样式由用户补充 Arrival / Departure。 |
|
||
| `requirements/M011-booking-excel-pre-superagent-enrichment-v1.md` | 当前有效 | M011 Booking Excel 附件预处理方案;CP1/CP2/CP3 已支持 Debug EML 和 AgentBus dispatch 调 SuperAgent 前排除人员名单类 Excel、抽取 Booking / 附加费类 Excel 高亮行并追加 `attachment_extractions[]`;测试机 AgentBus 增强已开启,生产默认关闭;CP4 暂不推进。 |
|
||
| `requirements/M012-booking-email-confirmation-e2e-v01.md` | 阶段记录;V0.1 已验收 | M012 以 BR00-BASELINE-1 为历史业务基线,记录普通员工 EML 导入、固定渠道 Parser、V4 建卡与人工确认、真实样本验收及隔离 PostgreSQL schema;新 Layer 3–7 跨层边界以 architecture-v0.5/contracts-v2/ADR-012 为准。 |
|
||
| `requirements/M012-processing-run-lifecycle-log-v1.md` | 当前有效;现行输出已升级 V2 | 开发测试回放的一条 Processing Run 全生命周期 JSON:统一阶段时间、输入输出、问题证据及 Parsing/Booking 完整公开返回 journal,并由同一数据提供复制和导出;不建设独立日志平台,不记录出站凭据或平台未返回的隐藏思考。 |
|
||
| `requirements/M012-user-visible-content-baseline-v1.md` | 当前有效;产品展示基线 | 汇总已确认的回放状态、订单详情层级、Basic、动态任务字段、Extra Bed房型行、Allotment扣减、邮件还原、`display_information`、QBD BEFORE、缺价提示及过滤内容;只定义用户可见内容,不扩展业务契约。 |
|
||
| `requirements/M012-superagent-complete-public-response-journal-change-request-v1.md` | 当前有效;已实现并定向验收 | Parsing/Booking 在测试与生产按原顺序、原内容保存 SuperAgent 实际返回的全部公开事件与最终答案;PostgreSQL V13、失败部分记录、session/run/attempt关联及 lifecycle V2读取,历史运行不回填。 |
|
||
| `requirements/M012-qbd-deterministic-parser-change-request-v1.md` | 当前有效;Parser 已本地验证 | M012 Layer 3 QBD 确定性 Parser Change Request:精确 sender 路由、QBD 模板/橙色双门禁、富文本 BEFORE/AFTER、日期/nights、房型/数量/价格、稳定 observations、共享 dependency/projector 与真实样本验收;普通LianTai由后续独立CR接入。 |
|
||
| `requirements/M012-liantai-shared-parser-parsing-agent-change-request-v1.md` | 既有本地切片验证完成;邮件正文补充规则已记录,Agent v1.0待独立对话 | M012 普通 LianTai 共享 Parser / Parsing Agent Change Request:普通sender active、August 9列与A/D/G底色门禁、共享source-room、正文/G/I备注与Trace分流、正文团号唯一关联门禁、`FO+HSK`规范编码、Field Recovery共存、去隐私fixture与三份真实样本opt-in验收。 |
|
||
| `requirements/M012-qbd-liantai-parser-output-contract-v1.md` | 权威冻结契约;Parser与真实样本已验收 | QBD/LIANTAI共用Parser Fact-or-Material v1:SUCCESS/FAILED、十类facts、agent_materials、BF/Q10与Profile/Core边界;批准基线QBD 114/4、LianTai 70/6。 |
|
||
| `requirements/M012-fixed-channel-parsing-agent-v1-contract.md` | 权威v1 Agent契约;离线包验收完成、Provider HOLD | 共用Parsing Agent v1输入/结果、完整Current/History、evidence/fallback、Parser不可覆盖、中立structured_mentions与独立中文Main Prompt/15成员Skill包边界。 |
|
||
| `requirements/M012-fixed-channel-parsing-agent-v1-runtime-integration-change-request-v1.md` | CP1–CP4、非生产PostgreSQL Gate及CP5测试SuperAgent绑定完成;自动runtime/production与CP6待完成 | 信息系统已接SourceMessage/公共Parser/v1 request/evidence、strict validation/local merge、durable execution和latest V2 handoff;Parsing v8与Booking v7真实合成契约均通过,部署Secret/worker/完整AgentBus链仍关闭。 |
|
||
| `requirements/M012-layer3-current-rooming-list-filename-material-change-request-v1.md` | 当前附件文件名型识别本地验收完成;真实运行发布 HOLD | 只按 current `.xlsx` 完整 `LLT...` 文件名与 OOXML 包级安全结构生成中立 Rooming List observation/binding/resolution;不读取名单明细,不污染 QBD/LianTai Parser,业务判断仍由 Layer 5 独占。 |
|
||
| `requirements/M012-layer3-field-recovery-agent-change-request-v1.md` | 当前有效;本地实现已验证 | M012 Layer 3 字段解析兜底 Agent:只处理 `UNRESOLVED+RECOVERABLE` 稳定 field,输出 RecoveryPatchSet,经本地校验、dependency 重算和同版 projector 形成 EffectiveFactView;QBD INTERNAL_ONLY `.skill`、结构 review 与幂等测试已通过;live Adapter 现由下条独立 checkpoint 承接。 |
|
||
| `requirements/M012-layer3-field-recovery-superagent-integration-change-request-v1.md` | 当前有效;实现完成、部署门禁中 | M012 Layer 3 live-provider checkpoint:信息系统在手工 EML 受控入口调用 SuperAgent 专用解析 Agent,并有界等待完整 RecoveryPatchSet;已补 PostgreSQL 调用审计、成功响应 replay 与 apply-once。默认/生产关闭,真实 profile、Secret 与 PostgreSQL V3 smoke 待联调;AgentBus listener 首期不做同步调用。 |
|
||
| `requirements/M012-booking-business-agent-superagent-integration-change-request-v1.md` | V2 durable runtime本地实现与离线验收完成;PG/live/production HOLD | M012 Layer3/4提交后外呼、V11 execution/attempt audit、专用client、严格Candidate、重试/重启/幂等和Layer6恢复;当前Profile复核、PG V1–V11及真实全链仍是部署Gate。 |
|
||
| `requirements/M012-rate-room-configuration-change-request-v1.md` | 当前有效;Directory + Layer 4及Parsing handoff已实现,自动运行放行HOLD | M012 房型与基础 RATE CODE 配置:207行来源、48条有效Roomtype规则、2条删除标签、独立projections及213行有效映射;typed Layer4已接Resolver与latest Layer3 handoff。 |
|
||
| `requirements/booking-email-architecture-v0.5.md` | 权威架构;durable runtime本地实现、部署HOLD | 所有业务判断只属于Layer5;统一exact DecisionInput、提交后外呼、持久Candidate、typed derived action、Layer6不改型、Layer7不计算及双入口收敛。 |
|
||
| `requirements/booking-email-contracts-v2.md` | 权威契约;runtime本地验收、部署HOLD | `Layer3ResultV2`、内部`BookingDecisionInputV2`、受控`BookingBusinessAgentInputV1`、`CandidateDecisionV2`、typed target/derived action、局部Risk/未归类原文与`ValidationResultV2`。 |
|
||
| `requirements/booking-agent-profile-v2.md` | 权威 Agent 契约;历史测试发布通过、当前部署复核HOLD | Booking Business Agent消费Current、完整有序History正文和Layer3/4受控投影并只返回CandidateDecisionV2;History附件/数据库历史/生命周期排除,Rooming/Trace由Layer5判断,Payment只保留原文。 |
|
||
| `requirements/booking-business-agent-rules-v1.md` | 权威业务规则;V2 durable runtime本地实现、外部运行HOLD | 每封白名单入站必经 Agent;两道门槛、逐物理行拆分、New/Update/Cancel/Trace/Rooming/Allotment、局部 Risk 与未归类原文。 |
|
||
| `requirements/booking-business-agent-v1-offline-acceptance-report.md` | 历史RC4报告;已由RC5/ADR-012/015纠正 | 保留早期Agent wire、Candidate/Layer6、Prompt/Skill、golden/矩阵与测试证据;不得用其旧History/生命周期口径作为当前放行结论。 |
|
||
| `requirements/booking-fixed-parameter-extraction-flow-business-confirmation-draft-v1.md` | 业务确认草案 | 聚焦 QBD/LianTai 与当前邮件正文:逐参数说明来源列位、提取/规范化、目标/住宿段/房型绑定、Room/Rate 流转、异常处理及当前接线断点;P17“统一提取、房量判型”已确认,其余项目待确认。 |
|
||
| `requirements/booking-layer-parameter-handoff-business-confirmation-draft-v1.md` | 历史只读审计稿 | 早期 Layer 1–7/V2→V4 全链路大盘点;不再作为本次固定参数业务确认入口,与 ADR-012 冲突时失效。 |
|
||
| `requirements/booking-email-architecture-v0.4.md` | 历史读取兼容 | contracts-v1 迁移与历史 artifact/V4 回归;新写入边界已由 v0.5 取代。 |
|
||
| `requirements/booking-email-br00-contract-acceptance-matrix-v1.md` | 历史候选材料 | 旧 BR00 样例追溯;不得替代 Booking Business Agent v1.0 权威规则。 |
|
||
|
||
## 集成契约
|
||
|
||
| 文档 | 状态 | 中文说明 |
|
||
| --- | --- | --- |
|
||
| `integrations/superagent-api-contract.md` | 权威契约 | 给 SuperAgent 对接方使用的 HTTP 接口总契约,记录查询上下文、对象详情、邮件会话任务、邮件会话正文、任务结果通知和统一 HMAC 规则。 |
|
||
| `integrations/superagent-mcp/README.md` | 当前有效 | SuperAgent MCP 资料包入口;MCP tools 是 HTTP 总契约的 MCP 映射说明,不单独替代总契约;`th_hotel_submit_task_results` 当前为 M002 V4-only。 |
|
||
| `integrations/superagent-mcp/inbound-diagnostics.md` | 当前有效 | SuperAgent MCP 入站诊断链路说明,记录受控保存原始工具参数、adapter 后 payload 和安全错误摘要的排障口径。 |
|
||
| `integrations/superagent-agentbus-project-integration-guide.md` | 当前有效 | 当前项目 SuperAgent 与 AgentBus 验证记录和项目级接入细节。 |
|
||
| `../../mcp-server/README.md` | 当前有效 | SuperAgent MCP 方案入口指针;当前不单独部署 MCP 服务,运行时代码内嵌在 `server/`。 |
|
||
|
||
## 前后端协作
|
||
|
||
| 文档 | 状态 | 中文说明 |
|
||
| --- | --- | --- |
|
||
| `frontend-backend/backend-to-frontend-notes.md` | 当前有效 | 后端提醒前端的接口、字段、时间、安全和展示注意事项。 |
|
||
| `frontend-backend/frontend-to-backend-api-requests.md` | 当前有效 | 前端提醒后端需要增加或补齐的接口,已区分可用、后置和历史候选路径。 |
|
||
| `frontend-backend/debug-eml-page-integration-guide.md` | 当前有效 | Debug EML 页面前端对接指南。 |
|
||
|
||
## 运维与开发测试操作
|
||
|
||
| 文档 | 状态 | 中文说明 |
|
||
| --- | --- | --- |
|
||
| `operations/dev-test-v4-legacy-task-cleanup.md` | 当前有效 | 开发 / 测试环境 V4 停止双写旧任务后的旧 `workflow_reservation_task` 及直接依赖数据清理说明;不适用于生产迁移。 |
|
||
| `operations/M012-rate-room-configuration-release-checklist-v1.md` | 当前有效 | M012 Directory Foundation 与 2026-08-12 Roomtype authority schema v3 验证清单:基础目录、独立 projections、correction/manifest、候选集完整性、兼容 API、Skill 候选包 HOLD 与 source reproduction 状态;不是发布授权。 |
|
||
|
||
## 执行计划
|
||
|
||
| 文档 | 状态 | 中文说明 |
|
||
| --- | --- | --- |
|
||
| `../superpowers/plans/2026-07-10-m006-system-admin-v1.md` | 阶段记录 | M006 系统管理后台实现计划,作为执行 checkpoint 参考,不替代需求文档。 |
|
||
| `../superpowers/plans/2026-07-17-m009-manual-invoice-backend.md` | 阶段记录 | M009 Manual Invoice 后端 CP2 实现计划,记录本次接口、表、权限、模板和测试范围。 |
|
||
|
||
## 权威来源说明
|
||
|
||
- SuperAgent 对外 HTTP 接口以 `integrations/superagent-api-contract.md` 为权威来源。
|
||
- SuperAgent MCP 文档以 `integrations/superagent-mcp/` 为对外交付资料包,但字段语义应跟随 HTTP 总契约。
|
||
- 接口暴露、权限、酒店隔离和审计边界以 `security-access-control-boundary.md` 为总检查清单;具体 SuperAgent / MCP / AgentBus 请求响应契约仍以 `integrations/` 下对应文档为准。
|
||
- AI-NSES 的通用标准以 `../import/reusable/ai-native-software-engineering-standard.md` 为复用来源;本项目采用方式以 `ai-native-adoption.md` 为准;V4 需求门禁、核心概念守门、需求追踪和 agent 交接规则以 `ai-nses-project-overlay.md` 为本项目补充。
|
||
- M002 V1/V2/V3 与旧 V4 文档只作为历史参考或阶段记录;新的 Booking 邮件主线以 `requirements/booking-email-architecture-v0.5.md`、`requirements/booking-email-contracts-v2.md`、`requirements/booking-business-agent-rules-v1.md` 和 ADR-012 为权威。ADR-011由ADR-012修订,BR00只作历史候选材料;从未上线的Candidate v1正式契约/Profile已删除,不作为兼容基线。
|
||
- 当前M012固定渠道只包括QBD与LIANTAI。共用Parser/Parsing Agent CP1–CP4、最终Layer3ResultV2 handoff、
|
||
当前附件文件名型Rooming List resolver、Layer4 typed Context/RateRoom、Booking Agent V2 durable execution/
|
||
Candidate严格边界和Layer6恢复代码已完成;历史CP5测试Profile/Prompt/Skill及真实合成调用证据保留。
|
||
完整Provider返回journal已实现并在获准测试PostgreSQL迁移到V13,本地8082严格运行能力已就绪;历史run不回填,
|
||
下一封新EML仍需用于真实返回实证。生产发布仍需执行V13并按部署配置启用;当前Profile复核、专用Secret、
|
||
QBD/LianTai八场景及完整AgentBus live链仍是部署门禁;
|
||
Rooming List全业务、CP6、V2→V4 writer与PMS/OPERA/OHIP继续后置,production关闭。
|
||
- V3 / 旧任务前端展示和编辑字段仍以 2026-07-11 P0 冻结基线中的前端字段表、0712 字段控件说明和 `requirements/M002-task-field-control-contract-v1.md` 为白名单和控件契约基线;V4 订单任务前端展示和编辑字段以 `requirements/M002-v4-order-task-card-domain-model-cp2.md`、后端返回的 `fields[]` 和 V4 前后端协作文档为准。
|
||
- 时间点语义以 `backend-time-design.md` 为准;数据库时间点按 UTC 理解,API 返回带 `Z` 的 UTC 时间,页面再按酒店或用户时区展示。
|