390 KiB
390 KiB
TASK Agent Ready Prompts(OpenCode 执行版)
生成时间:2026-04-28 16:01:37 来源文件:
PRD/TASK.md目标:把每条 US 转成可直接交给 OpenCode 的执行提示词。
1) 总体结论
- 任务总数:83
- 完备度分级:A=24,B+=38,B=5,C=16
- 其中 C 级(不建议直接编码):16(主要为 P2 验收标准占位)
分阶段统计
| Phase | 任务数 | A | B+ | B | C | 验收占位数 |
|---|---|---|---|---|---|---|
| P0 | 42 | 20 | 21 | 1 | 0 | 0 |
| P1 | 28 | 4 | 17 | 4 | 3 | 0 |
| P2 | 13 | 0 | 0 | 0 | 13 | 13 |
2) 模块 → TECH_STACK 技术方案映射
| 模块 | 技术方案输入文档 |
|---|---|
| 用户登录 | Project/fonrey/TECH_STACK/登录管理技术方案.md;Project/fonrey/TECH_STACK/TECH_STACK.md;Project/fonrey/TECH_STACK/测试规范.md |
| 楼盘管理 | Project/fonrey/TECH_STACK/楼盘管理技术方案.md;Project/fonrey/TECH_STACK/TECH_STACK.md;Project/fonrey/TECH_STACK/测试规范.md |
| 房源管理 | Project/fonrey/TECH_STACK/房源管理技术方案.md;Project/fonrey/TECH_STACK/TECH_STACK.md;Project/fonrey/TECH_STACK/测试规范.md |
| 客源管理 | Project/fonrey/TECH_STACK/客源管理技术方案.md;Project/fonrey/TECH_STACK/TECH_STACK.md;Project/fonrey/TECH_STACK/测试规范.md |
| 组织人事 | Project/fonrey/TECH_STACK/组织人事技术方案.md;Project/fonrey/TECH_STACK/TECH_STACK.md;Project/fonrey/TECH_STACK/测试规范.md |
| 权限管理 | Project/fonrey/TECH_STACK/权限管理系统技术方案.md;Project/fonrey/TECH_STACK/TECH_STACK.md;Project/fonrey/TECH_STACK/测试规范.md |
| 系统配置 | Project/fonrey/TECH_STACK/系统设置技术方案.md;Project/fonrey/TECH_STACK/TECH_STACK.md;Project/fonrey/TECH_STACK/测试规范.md |
| 系统管理(运营后台) | Project/fonrey/TECH_STACK/系统管理技术文档.md;Project/fonrey/TECH_STACK/API_CONTRACT.md;Project/fonrey/TECH_STACK/TECH_STACK.md;Project/fonrey/TECH_STACK/测试规范.md |
| 客户端发布 | Project/fonrey/TECH_STACK/API_CONTRACT.md;Project/fonrey/TECH_STACK/系统管理技术文档.md;Project/fonrey/TECH_STACK/TECH_STACK.md;Project/fonrey/TECH_STACK/测试规范.md |
3) OpenCode 全局执行约束(每条任务都必须带上)
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守
Project/fonrey/TECH_STACK/API_CONTRACT.md:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。 - 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
UI_DESIGN/下已审阅的静态页面(.html/.md)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
3.1) 可复用模板(建议直接引用)
- API 契约冲突提报模板:
Project/fonrey/prompt/提示词模板/API_CONTRACT_冲突提报模板_v1.md
4) 通用执行模板(复制后替换 US 内容)
你是 OpenCode 编程代理。请在当前仓库根目录实现以下任务。
【任务ID】<US-ID>
【任务标题】<US-标题>
【阶段】<P0/P1/P2>
【模块】<模块名>
【输入文档】
- PRD: <路径>
- DATA_MODEL: <路径或 N/A>
- UI: <路径或 N/A>
- TECH_STACK: <路径列表>
【必须遵循约束】
- 多租户 URL 分离、Admin 弃用、HTMX 片段返回、TenantClient、PII 加密、testing settings 等(见 TASK_AGENT_READY.md §3)
【实现要求】
1) 先输出你将修改/新增的文件清单(精确路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 `UI_DESIGN/` 对应 `.html`/`.md` 静态页面,列出“必须保持一致”的页面结构与交互点,再开始编码。
4) 再按最小可交付实现功能,不做额外功能扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补充/更新对应测试。
6) 执行测试命令并给出结果。
7) 输出风险与后续建议。
【验收标准】
<粘贴该 US 的验收标准>
【必须执行测试命令】
- pytest -q
- 如涉及 HTMX 局部接口:补充 HTTP_HX_REQUEST=true 场景测试
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 关键实现说明
- 测试结果
- 未完成项/阻塞项
5) 任务索引与完备性
| US | Phase | 模块 | 完备度 | 缺口 |
|---|---|---|---|---|
| US-ACCOUNT-001 | P0 | 用户登录 | A | 无 |
| US-ACCOUNT-002 | P0 | 用户登录 | B+ | 缺 UI |
| US-ACCOUNT-003 | P0 | 用户登录 | B+ | 缺 UI |
| US-COMPLEX-001 | P0 | 楼盘管理 | B | 引用文件缺失 |
| US-COMPLEX-002 | P0 | 楼盘管理 | A | 无 |
| US-COMPLEX-003 | P0 | 楼盘管理 | B+ | 缺 UI |
| US-PROPERTY-001 | P0 | 房源管理 | A | 无 |
| US-PROPERTY-002 | P0 | 房源管理 | A | 无 |
| US-PROPERTY-003 | P0 | 房源管理 | A | 无 |
| US-PROPERTY-004 | P0 | 房源管理 | B+ | 缺 UI |
| US-PROPERTY-005 | P0 | 房源管理 | B+ | 缺 UI |
| US-PROPERTY-006 | P0 | 房源管理 | B+ | 缺 UI |
| US-PROPERTY-007 | P0 | 房源管理 | B+ | 缺 UI |
| US-PROPERTY-008 | P0 | 房源管理 | B+ | 缺 UI |
| US-CLIENT-001 | P0 | 客源管理 | A | 无 |
| US-CLIENT-002 | P0 | 客源管理 | A | 无 |
| US-CLIENT-003 | P0 | 客源管理 | A | 无 |
| US-CLIENT-004 | P0 | 客源管理 | A | 无 |
| US-CLIENT-005 | P0 | 客源管理 | A | 无 |
| US-CLIENT-006 | P0 | 客源管理 | A | 无 |
| US-CLIENT-007 | P0 | 客源管理 | A | 无 |
| US-CLIENT-008 | P0 | 客源管理 | A | 无 |
| US-CLIENT-009 | P0 | 客源管理 | A | 无 |
| US-CLIENT-010 | P0 | 客源管理 | A | 无 |
| US-CLIENT-011 | P0 | 客源管理 | A | 无 |
| US-CLIENT-012 | P0 | 客源管理 | A | 无 |
| US-CLIENT-013 | P0 | 客源管理 | A | 无 |
| US-CLIENT-014 | P0 | 客源管理 | A | 无 |
| US-CLIENT-015 | P0 | 客源管理 | A | 无 |
| US-CLIENT-016 | P0 | 客源管理 | B+ | 缺 UI |
| US-CLIENT-017 | P0 | 客源管理 | B+ | 缺 UI |
| US-ORG-001 | P0 | 组织人事 | B+ | 缺 UI |
| US-ORG-002 | P0 | 组织人事 | B+ | 缺 UI |
| US-ORG-003 | P0 | 组织人事 | B+ | 缺 UI |
| US-PERMISSION-001 | P0 | 权限管理 | B+ | 缺 UI |
| US-PERMISSION-002 | P0 | 权限管理 | B+ | 缺 UI |
| US-PERMISSION-003 | P0 | 权限管理 | B+ | 缺 UI |
| US-PERMISSION-004 | P0 | 权限管理 | B+ | 缺 UI |
| US-PERMISSION-005 | P0 | 权限管理 | B+ | 缺 UI |
| US-SETTING-001-A | P0 | 系统配置 | B+ | 缺 UI |
| US-SETTING-001-B | P0 | 系统配置 | B+ | 缺 UI |
| US-SETTING-001-C | P0 | 系统配置 | B+ | 缺 UI |
| US-ACCOUNT-010 | P1 | 用户登录 | B+ | 缺 UI |
| US-ACCOUNT-011 | P1 | 用户登录 | B+ | 缺 UI |
| US-ACCOUNT-012 | P1 | 用户登录 | B+ | 缺 UI |
| US-COMPLEX-010 | P1 | 楼盘管理 | B+ | 缺 UI |
| US-COMPLEX-011 | P1 | 楼盘管理 | B+ | 缺 UI |
| US-COMPLEX-012 | P1 | 楼盘管理 | B+ | 缺 UI |
| US-PROPERTY-010 | P1 | 房源管理 | B+ | 缺 UI |
| US-PROPERTY-011 | P1 | 房源管理 | B+ | 缺 UI |
| US-PROPERTY-012 | P1 | 房源管理 | B+ | 缺 UI |
| US-PROPERTY-013 | P1 | 房源管理 | B+ | 缺 UI |
| US-PROPERTY-014 | P1 | 房源管理 | B+ | 缺 UI |
| US-CLIENT-020 | P1 | 客源管理 | A | 无 |
| US-CLIENT-021 | P1 | 客源管理 | A | 无 |
| US-CLIENT-022 | P1 | 客源管理 | A | 无 |
| US-CLIENT-023 | P1 | 客源管理 | A | 无 |
| US-CLIENT-024 | P1 | 客源管理 | B+ | 缺 UI |
| US-ORG-010 | P1 | 组织人事 | B+ | 缺 UI |
| US-ORG-011 | P1 | 组织人事 | B+ | 缺 UI |
| US-ORG-012 | P1 | 组织人事 | B+ | 缺 UI |
| US-PERMISSION-010 | P1 | 权限管理 | B+ | 缺 UI |
| US-PERMISSION-011 | P1 | 权限管理 | B+ | 缺 UI |
| US-SETTING-010 | P1 | 系统配置 | C | 缺 UI;引用文件缺失 |
| US-SETTING-011 | P1 | 系统配置 | C | 缺 UI;引用文件缺失 |
| US-SETTING-012 | P1 | 系统配置 | C | 缺 UI;引用文件缺失 |
| US-SYSTEM-010 | P1 | 系统管理(运营后台) | B | 缺 DATA_MODEL;缺 UI |
| US-SYSTEM-011 | P1 | 系统管理(运营后台) | B | 缺 DATA_MODEL;缺 UI |
| US-RELEASE-010 | P1 | 客户端发布 | B | 缺 DATA_MODEL;缺 UI |
| US-RELEASE-011 | P1 | 客户端发布 | B | 缺 DATA_MODEL;缺 UI |
| US-PROPERTY-020 | P2 | 房源管理 | C | 缺 DATA_MODEL;缺 UI;验收占位 |
| US-PROPERTY-021 | P2 | 房源管理 | C | 缺 DATA_MODEL;缺 UI;验收占位 |
| US-COMPLEX-020 | P2 | 楼盘管理 | C | 缺 DATA_MODEL;缺 UI;验收占位 |
| US-CLIENT-030 | P2 | 客源管理 | C | 缺 UI;验收占位 |
| US-CLIENT-031 | P2 | 客源管理 | C | 缺 UI;验收占位 |
| US-CLIENT-032 | P2 | 客源管理 | C | 缺 UI;验收占位 |
| US-ORG-020 | P2 | 组织人事 | C | 缺 UI;验收占位 |
| US-ORG-021 | P2 | 组织人事 | C | 缺 UI;验收占位 |
| US-ORG-022 | P2 | 组织人事 | C | 缺 UI;验收占位 |
| US-SETTING-020 | P2 | 系统配置 | C | 缺 DATA_MODEL;缺 UI;验收占位;引用文件缺失 |
| US-SETTING-021 | P2 | 系统配置 | C | 缺 DATA_MODEL;缺 UI;验收占位;引用文件缺失 |
| US-SYSTEM-020 | P2 | 系统管理(运营后台) | C | 缺 DATA_MODEL;缺 UI;验收占位 |
| US-SYSTEM-021 | P2 | 系统管理(运营后台) | C | 缺 DATA_MODEL;缺 UI;验收占位 |
6) 每条任务的 OpenCode 可执行提示词
US-ACCOUNT-001 经纪人管理员使用账号密码登录系统
- 阶段:P0
- 模块:用户登录
- 完备度:A
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/登录管理/用户登录管理模块PRD.md- 账号密码登录
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_LOGIN.md
- 参考DATA_MODEL文档:
-
- 参考UI_Design文档:
Project/fonrey/UI_DESIGN/登录管理/登录_UI.md
- 参考UI_Design文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/登录_账号密码_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/登录_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/登录管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-ACCOUNT-001
【任务标题】经纪人管理员使用账号密码登录系统
【阶段】P0
【模块】用户登录
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/登录管理/用户登录管理模块PRD.md` - 账号密码登录
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_LOGIN.md`
- 参考UI_Design文档:`Project/fonrey/UI_DESIGN/登录管理/登录_UI.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/登录_账号密码_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/登录_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/登录管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
输入正确账号密码后跳转首页;密码错误时展示"账号或密码错误"提示;连续错误5次后账号锁定提示;登录成功后 Token 写入 Cookie
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-ACCOUNT-002 系统识别多租户子域名域名路由
- 阶段:P0
- 模块:用户登录
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/登录管理/用户登录管理模块PRD.md- 多租户识别
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_LOGIN.md
- 参考DATA_MODEL文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/登录_账号密码_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/登录_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/登录管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-ACCOUNT-002
【任务标题】系统识别多租户子域名域名路由
【阶段】P0
【模块】用户登录
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/登录管理/用户登录管理模块PRD.md` - 多租户识别
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_LOGIN.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/登录_账号密码_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/登录_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/登录管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
访问不同子域名时系统自动切换对应租户 Schema;非法/不存在子域名返回404页面;跨租户请求被拦截并返回403
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-ACCOUNT-003 系统管理 Token 与会话超时
- 阶段:P0
- 模块:用户登录
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/登录管理/用户登录管理模块PRD.md- Token 管理/会话超时
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_LOGIN.md
- 参考DATA_MODEL文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/登录_账号密码_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/登录_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/登录管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-ACCOUNT-003
【任务标题】系统管理 Token 与会话超时
【阶段】P0
【模块】用户登录
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/登录管理/用户登录管理模块PRD.md` - Token 管理/会话超时
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_LOGIN.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/登录_账号密码_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/登录_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/登录管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
会话超时后自动跳转登录页;Token 刷新机制正常工作;登出后 Token 立即失效,再次请求跳转登录页
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-COMPLEX-001 管理员录入与维护楼盘基础信息
- 阶段:P0
- 模块:楼盘管理
- 完备度:B
- 引用缺失:
UI_DESIGN/楼盘管理/楼盘详情_UI.md
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/房源管理/楼盘管理模块PRD.md- 楼盘信息管理
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_COMPLEX.md
- 参考DATA_MODEL文档:
-
- 参考UI_Design文档:
Project/fonrey/UI_DESIGN/楼盘管理/楼盘详情_UI.md
- 参考UI_Design文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/区域管理_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/楼盘列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/楼盘详情_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/楼盘管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-COMPLEX-001
【任务标题】管理员录入与维护楼盘基础信息
【阶段】P0
【模块】楼盘管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/房源管理/楼盘管理模块PRD.md` - 楼盘信息管理
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_COMPLEX.md`
- 参考UI_Design文档:`Project/fonrey/UI_DESIGN/楼盘管理/楼盘详情_UI.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/区域管理_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/楼盘列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/楼盘详情_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/楼盘管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【输入缺口】
- 缺少文件:UI_DESIGN/楼盘管理/楼盘详情_UI.md
- 若缺口阻塞实现,请先输出“阻塞清单 + 最小替代方案”,再继续实现可落地部分。
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
可录入楼盘名称、地址、楼栋、结构等基础字段;保存成功后楼盘出现在楼盘列表;必填字段未填时高亮错误提示;楼盘编号系统自动生成且唯一
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-COMPLEX-002 经纪人查看楼盘列表与详情
- 阶段:P0
- 模块:楼盘管理
- 完备度:A
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/房源管理/楼盘管理模块PRD.md- 楼盘列表/楼盘详情
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_COMPLEX.md
- 参考DATA_MODEL文档:
-
- 参考UI_Design文档:
Project/fonrey/UI_DESIGN/楼盘管理/楼盘列表_UI.md
- 参考UI_Design文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/区域管理_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/楼盘列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/楼盘详情_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/楼盘管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-COMPLEX-002
【任务标题】经纪人查看楼盘列表与详情
【阶段】P0
【模块】楼盘管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/房源管理/楼盘管理模块PRD.md` - 楼盘列表/楼盘详情
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_COMPLEX.md`
- 参考UI_Design文档:`Project/fonrey/UI_DESIGN/楼盘管理/楼盘列表_UI.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/区域管理_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/楼盘列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/楼盘详情_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/楼盘管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
楼盘列表支持按名称/地址关键词搜索;支持分页(默认20条/页);点击楼盘名称跳转详情页;详情页展示楼盘基本信息、楼栋结构信息
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-COMPLEX-003 管理员维护区域管理城区商圈
- 阶段:P0
- 模块:楼盘管理
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/房源管理/楼盘管理模块PRD.md- 区域管理
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_COMPLEX.md
- 参考DATA_MODEL文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/区域管理_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/楼盘列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/楼盘详情_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/楼盘管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-COMPLEX-003
【任务标题】管理员维护区域管理城区商圈
【阶段】P0
【模块】楼盘管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/房源管理/楼盘管理模块PRD.md` - 区域管理
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_COMPLEX.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/区域管理_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/楼盘列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/楼盘详情_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/楼盘管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
可新增/编辑/删除城区和商圈;商圈必须归属于城区;区域数据被房源和客源模块正确关联引用;删除有关联数据的区域时系统给出警告
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-PROPERTY-001 经纪人录入二手住宅出售出租
- 阶段:P0
- 模块:房源管理
- 完备度:A
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/房源管理/房源管理模块PRD.md- 录入住宅(二手出售/出租)
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_PROPERTY.md
- 参考DATA_MODEL文档:
-
- 参考UI_Design文档:
Project/fonrey/UI_DESIGN/房源管理/新增房源_UI.md
- 参考UI_Design文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/房源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增房源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/房源详情_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/房源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-PROPERTY-001
【任务标题】经纪人录入二手住宅出售出租
【阶段】P0
【模块】房源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/房源管理/房源管理模块PRD.md` - 录入住宅(二手出售/出租)
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_PROPERTY.md`
- 参考UI_Design文档:`Project/fonrey/UI_DESIGN/房源管理/新增房源_UI.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/房源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增房源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/房源详情_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/房源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
可在3分钟内完成住宅基本信息录入;必填字段(楼盘/楼层/面积/价格)未填时高亮错误提示;保存成功后跳转房源详情页并显示"保存成功";录入后即刻出现在房源列表
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-PROPERTY-002 经纪人查看与筛选房源列表
- 阶段:P0
- 模块:房源管理
- 完备度:A
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/房源管理/房源管理模块PRD.md- 房源列表(二手&租赁)
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_PROPERTY.md
- 参考DATA_MODEL文档:
-
- 参考UI_Design文档:
Project/fonrey/UI_DESIGN/房源管理/房源列表_UI.md
- 参考UI_Design文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/房源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增房源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/房源详情_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/房源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-PROPERTY-002
【任务标题】经纪人查看与筛选房源列表
【阶段】P0
【模块】房源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/房源管理/房源管理模块PRD.md` - 房源列表(二手&租赁)
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_PROPERTY.md`
- 参考UI_Design文档:`Project/fonrey/UI_DESIGN/房源管理/房源列表_UI.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/房源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增房源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/房源详情_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/房源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
列表支持按楼盘名/业主姓名/电话/房源编号关键词搜索;支持状态/区域/价格/房型多维度组合筛选;列表分页(默认20条/页)且89000条数据下查询响应<2秒;支持导出当前筛选结果为Excel
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-PROPERTY-003 经纪人查看房源详情页
- 阶段:P0
- 模块:房源管理
- 完备度:A
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/房源管理/房源管理模块PRD.md- 房源详情页
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_PROPERTY.md
- 参考DATA_MODEL文档:
-
- 参考UI_Design文档:
Project/fonrey/UI_DESIGN/房源管理/房源详情_UI.md
- 参考UI_Design文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/房源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增房源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/房源详情_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/房源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-PROPERTY-003
【任务标题】经纪人查看房源详情页
【阶段】P0
【模块】房源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/房源管理/房源管理模块PRD.md` - 房源详情页
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_PROPERTY.md`
- 参考UI_Design文档:`Project/fonrey/UI_DESIGN/房源管理/房源详情_UI.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/房源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增房源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/房源详情_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/房源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
详情页完整展示基本信息、产证信息、交易信息;号码默认打码,点击"查看号码"后解密展示并记录审计日志;页面各功能 Tab 可正常切换
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-PROPERTY-004 经纪人写入与查看房源跟进记录
- 阶段:P0
- 模块:房源管理
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/房源管理/房源管理模块PRD.md- 跟进记录(全部/写入/修改/其他)
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_PROPERTY.md
- 参考DATA_MODEL文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/房源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增房源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/房源详情_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/房源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-PROPERTY-004
【任务标题】经纪人写入与查看房源跟进记录
【阶段】P0
【模块】房源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/房源管理/房源管理模块PRD.md` - 跟进记录(全部/写入/修改/其他)
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_PROPERTY.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/房源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增房源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/房源详情_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/房源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
跟进记录按时间线倒序展示;支持写入跟进/修改跟进/其他跟进(钥匙/委托/实勘)子Tab切换;跟进内容最少6字校验;写入成功后记录实时出现在列表顶部
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-PROPERTY-005 经纪人管理房源图片上传分类排序
- 阶段:P0
- 模块:房源管理
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/房源管理/房源管理模块PRD.md- 图片管理(相册上传/分类/排序)
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_PROPERTY.md
- 参考DATA_MODEL文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/房源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增房源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/房源详情_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/房源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-PROPERTY-005
【任务标题】经纪人管理房源图片上传分类排序
【阶段】P0
【模块】房源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/房源管理/房源管理模块PRD.md` - 图片管理(相册上传/分类/排序)
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_PROPERTY.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/房源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增房源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/房源详情_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/房源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
支持上传 bmp/jpg/png/gif 格式图片,单文件最大20MB;上传成功后自动按分类展示;支持拖拽排序;封面图可手动指定
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-PROPERTY-006 经纪人管理业主联系人
- 阶段:P0
- 模块:房源管理
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/房源管理/房源管理模块PRD.md- 业主联系人管理
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_PROPERTY.md
- 参考DATA_MODEL文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/房源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增房源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/房源详情_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/房源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-PROPERTY-006
【任务标题】经纪人管理业主联系人
【阶段】P0
【模块】房源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/房源管理/房源管理模块PRD.md` - 业主联系人管理
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_PROPERTY.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/房源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增房源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/房源详情_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/房源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
支持新增/编辑业主联系人(姓名/电话/微信);手机号加密存储,展示时默认打码;可查看同业主名下其他房源;至少保留一个联系人
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-PROPERTY-007 经纪人调整房源价格
- 阶段:P0
- 模块:房源管理
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/房源管理/房源管理模块PRD.md- 价格调整(调价/调价记录)
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_PROPERTY.md
- 参考DATA_MODEL文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/房源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增房源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/房源详情_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/房源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-PROPERTY-007
【任务标题】经纪人调整房源价格
【阶段】P0
【模块】房源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/房源管理/房源管理模块PRD.md` - 价格调整(调价/调价记录)
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_PROPERTY.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/房源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增房源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/房源详情_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/房源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
调价弹窗需填写新价格和调价原因;调价成功后房源列表和详情页价格实时更新;调价记录以时间线形式留存且不可删除;调价幅度在列表中以"降价XX万"标签展示
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-PROPERTY-008 经纪人变更房源状态
- 阶段:P0
- 模块:房源管理
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/房源管理/房源管理模块PRD.md- 房源状态变更(在售/暂缓/成交/下架)
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_PROPERTY.md
- 参考DATA_MODEL文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/房源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增房源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/房源详情_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/房源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-PROPERTY-008
【任务标题】经纪人变更房源状态
【阶段】P0
【模块】房源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/房源管理/房源管理模块PRD.md` - 房源状态变更(在售/暂缓/成交/下架)
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_PROPERTY.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/房源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增房源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/房源详情_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/房源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
状态变更严格遵循状态机流转规则(在售→暂缓/成交/下架);每次状态变更需填写原因;状态变更后列表状态标签实时更新;状态变更记录写入跟进日志
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-CLIENT-001 经纪人录入新私客
- 阶段:P0
- 模块:客源管理
- 完备度:A
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/客源管理/客源管理模块PRD.md- Story 1:经纪人录入新私客;5.2 录入私客
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md
- 参考DATA_MODEL文档:
-
- 参考UI_Design文档:
Project/fonrey/UI_DESIGN/客源管理/新增客源_UI.md
- 参考UI_Design文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增客源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源详情_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/编辑客源_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/客源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-CLIENT-001
【任务标题】经纪人录入新私客
【阶段】P0
【模块】客源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/客源管理/客源管理模块PRD.md` - Story 1:经纪人录入新私客;5.2 录入私客
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md`
- 参考UI_Design文档:`Project/fonrey/UI_DESIGN/客源管理/新增客源_UI.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增客源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源详情_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/编辑客源_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/客源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
录入页面可通过顶部导航「客源」→「+新增私客」或右侧快捷入口「增客」触达;联系人1必填(姓名/性别/电话1),联系人2起可增加删除;基础信息必填字段(状态/用途/等级/来源)缺填时高亮错误并定位到第一个错误处;保存成功后跳转该客源详情页并显示"保存成功"提示
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-CLIENT-002 经纪人查看与筛选私客列表全部求购求租
- 阶段:P0
- 模块:客源管理
- 完备度:A
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/客源管理/客源管理模块PRD.md- Story 2/3/4:经纪人查看与筛选私客列表;5.1 客源列表
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md
- 参考DATA_MODEL文档:
-
- 参考UI_Design文档:
Project/fonrey/UI_DESIGN/客源管理/客源列表_UI.md
- 参考UI_Design文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增客源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源详情_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/编辑客源_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/客源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-CLIENT-002
【任务标题】经纪人查看与筛选私客列表全部求购求租
【阶段】P0
【模块】客源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/客源管理/客源管理模块PRD.md` - Story 2/3/4:经纪人查看与筛选私客列表;5.1 客源列表
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md`
- 参考UI_Design文档:`Project/fonrey/UI_DESIGN/客源管理/客源列表_UI.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增客源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源详情_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/编辑客源_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/客源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
顶部Tab导航(私客/资料客/营销客/成交客/公客)及二级Tab(求购/求租/暂缓/全部私客)可正常切换;搜索框支持按客源姓名/号码/号码后4位/客源编号/备注检索;筛选栏支持状态/等级/位置/价格/房室等多维度组合筛选;列表底部实时显示当前筛选总条数,分页默认20条/页,89000条数据量下查询<2秒
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-CLIENT-003 经纪人批量操作私客列表
- 阶段:P0
- 模块:客源管理
- 完备度:A
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/客源管理/客源管理模块PRD.md- Story 2:列表批量操作;5.1.3 批量操作
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md
- 参考DATA_MODEL文档:
-
- 参考UI_Design文档:
Project/fonrey/UI_DESIGN/客源管理/客源列表_UI.md
- 参考UI_Design文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增客源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源详情_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/编辑客源_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/客源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-CLIENT-003
【任务标题】经纪人批量操作私客列表
【阶段】P0
【模块】客源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/客源管理/客源管理模块PRD.md` - Story 2:列表批量操作;5.1.3 批量操作
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md`
- 参考UI_Design文档:`Project/fonrey/UI_DESIGN/客源管理/客源列表_UI.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增客源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源详情_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/编辑客源_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/客源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
勾选客源后激活批量操作按钮(修改相关方/修改来源/删除客源/合并客户);批量删除执行软删除,可在"已删客源"中查看;批量修改相关方成功后列表归属人字段实时刷新;列表支持导出当前筛选结果为Excel(Celery异步处理)
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-CLIENT-004 经纪人查看私客详情页
- 阶段:P0
- 模块:客源管理
- 完备度:A
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/客源管理/客源管理模块PRD.md- Story 6:经纪人查看私客详情页;Story 15:经纪人查看客源信息概览面板
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md
- 参考DATA_MODEL文档:
-
- 参考UI_Design文档:
Project/fonrey/UI_DESIGN/客源管理/客源详情_UI.md
- 参考UI_Design文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增客源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源详情_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/编辑客源_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/客源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-CLIENT-004
【任务标题】经纪人查看私客详情页
【阶段】P0
【模块】客源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/客源管理/客源管理模块PRD.md` - Story 6:经纪人查看私客详情页;Story 15:经纪人查看客源信息概览面板
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md`
- 参考UI_Design文档:`Project/fonrey/UI_DESIGN/客源管理/客源详情_UI.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增客源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源详情_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/编辑客源_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/客源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
详情页顶部展示需求标题+联系人姓名+带看进度标签;右侧固定信息概览面板展示客户编号/委托日期/需求类型等字段且不随页面滚动消失;主内容区Tab导航(需求信息/跟进记录/带看/客源解读/智能配房)默认激活"需求信息"Tab;右侧面板三个主操作按钮(打电话/写跟进/报备带看)可正常触发对应流程
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-CLIENT-005 经纪人查看与编辑需求信息
- 阶段:P0
- 模块:客源管理
- 完备度:A
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/客源管理/客源管理模块PRD.md- Story 7:经纪人查看与编辑需求信息
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md
- 参考DATA_MODEL文档:
-
- 参考UI_Design文档:
Project/fonrey/UI_DESIGN/客源管理/客源详情_UI.md
- 参考UI_Design文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增客源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源详情_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/编辑客源_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/客源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-CLIENT-005
【任务标题】经纪人查看与编辑需求信息
【阶段】P0
【模块】客源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/客源管理/客源管理模块PRD.md` - Story 7:经纪人查看与编辑需求信息
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md`
- 参考UI_Design文档:`Project/fonrey/UI_DESIGN/客源管理/客源详情_UI.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增客源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源详情_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/编辑客源_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/客源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
需求信息Tab展示总价/面积/居室/装修/朝向/楼层/楼龄/意向商圈/意向小区等字段(三栏布局);字段值为空时显示"-"占位符;右上角「编辑」链接点击后字段转为输入框/选择器;保存成功后返回详情页并刷新需求信息区块
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-CLIENT-006 经纪人写入与查看跟进记录
- 阶段:P0
- 模块:客源管理
- 完备度:A
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/客源管理/客源管理模块PRD.md- Story 8:经纪人写入与查看跟进记录
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md
- 参考DATA_MODEL文档:
-
- 参考UI_Design文档:
Project/fonrey/UI_DESIGN/客源管理/客源详情_UI.md
- 参考UI_Design文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增客源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源详情_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/编辑客源_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/客源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-CLIENT-006
【任务标题】经纪人写入与查看跟进记录
【阶段】P0
【模块】客源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/客源管理/客源管理模块PRD.md` - Story 8:经纪人写入与查看跟进记录
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md`
- 参考UI_Design文档:`Project/fonrey/UI_DESIGN/客源管理/客源详情_UI.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增客源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源详情_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/编辑客源_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/客源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
跟进记录分5个子Tab(全部/写入跟进/敏感信息跟进/修改跟进/其他跟进);全部Tab支持时间范围筛选及「有录音」「有图片」快速过滤;跟进记录以时间线形式按日期分组倒序展示;写入跟进时跟进目的支持23项多选,跟进内容最少6字校验;系统自动生成的操作日志(如新增私客/状态变更)出现在"其他跟进"Tab
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-CLIENT-007 经纪人管理带看记录预约带看新增带看
- 阶段:P0
- 模块:客源管理
- 完备度:A
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/客源管理/客源管理模块PRD.md- Story 9:经纪人管理带看记录
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md
- 参考DATA_MODEL文档:
-
- 参考UI_Design文档:
Project/fonrey/UI_DESIGN/客源管理/客源详情_UI.md
- 参考UI_Design文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增客源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源详情_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/编辑客源_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/客源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-CLIENT-007
【任务标题】经纪人管理带看记录预约带看新增带看
【阶段】P0
【模块】客源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/客源管理/客源管理模块PRD.md` - Story 9:经纪人管理带看记录
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md`
- 参考UI_Design文档:`Project/fonrey/UI_DESIGN/客源管理/客源详情_UI.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增客源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源详情_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/编辑客源_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/客源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
带看Tab分"预约"和"带看"两个子Tab;新增带看表单必填字段(带看时间/带看情况≥6字/带看房源≥1套)校验通过才可提交;带看记录以时间线展示,含带看房源蓝色可点击链接和带看进度标签;员工选择器弹层支持组织树搜索和多选;带看房源选择器支持按编号/楼盘/业主关键词搜索
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-CLIENT-008 经纪人管理客源联系人查看新增编辑
- 阶段:P0
- 模块:客源管理
- 完备度:A
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/客源管理/客源管理模块PRD.md- Story 23:经纪人管理客源联系人
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md
- 参考DATA_MODEL文档:
-
- 参考UI_Design文档:
Project/fonrey/UI_DESIGN/客源管理/客源详情_UI.md
- 参考UI_Design文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增客源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源详情_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/编辑客源_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/客源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-CLIENT-008
【任务标题】经纪人管理客源联系人查看新增编辑
【阶段】P0
【模块】客源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/客源管理/客源管理模块PRD.md` - Story 23:经纪人管理客源联系人
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md`
- 参考UI_Design文档:`Project/fonrey/UI_DESIGN/客源管理/客源详情_UI.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增客源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源详情_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/编辑客源_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/客源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
联系人面板默认打码显示电话("+86 135\*\*\*\*\*\*\*\*"),点击「查看号码」后展示完整号码并写入敏感信息跟进日志;新增联系人必填字段(姓名/称呼/电话1)校验;编辑联系人时电话1需点击「查看号码」后才可编辑;保存成功后联系人面板实时刷新
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-CLIENT-009 经纪人修改客源等级
- 阶段:P0
- 模块:客源管理
- 完备度:A
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/客源管理/客源管理模块PRD.md- Story 17:经纪人修改客源等级
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md
- 参考DATA_MODEL文档:
-
- 参考UI_Design文档:
Project/fonrey/UI_DESIGN/客源管理/客源详情_UI.md
- 参考UI_Design文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增客源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源详情_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/编辑客源_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/客源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-CLIENT-009
【任务标题】经纪人修改客源等级
【阶段】P0
【模块】客源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/客源管理/客源管理模块PRD.md` - Story 17:经纪人修改客源等级
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md`
- 参考UI_Design文档:`Project/fonrey/UI_DESIGN/客源管理/客源详情_UI.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增客源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源详情_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/编辑客源_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/客源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
点击「改等级」触发弹窗,展示当前等级(只读)和新等级下拉选择器(A急迫/B较强/C一般/D较弱/E暂不关注);新等级未选择时「确定」按钮置灰;保存成功后信息概览面板等级标签实时更新;操作日志中自动新增"改等级"记录
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-CLIENT-010 经纪人修改客源状态
- 阶段:P0
- 模块:客源管理
- 完备度:A
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/客源管理/客源管理模块PRD.md- Story 18:经纪人修改客源状态
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md
- 参考DATA_MODEL文档:
-
- 参考UI_Design文档:
Project/fonrey/UI_DESIGN/客源管理/客源详情_UI.md
- 参考UI_Design文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增客源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源详情_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/编辑客源_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/客源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-CLIENT-010
【任务标题】经纪人修改客源状态
【阶段】P0
【模块】客源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/客源管理/客源管理模块PRD.md` - Story 18:经纪人修改客源状态
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md`
- 参考UI_Design文档:`Project/fonrey/UI_DESIGN/客源管理/客源详情_UI.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增客源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源详情_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/编辑客源_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/客源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
点击「改状态」触发弹窗,展示当前状态(只读)、新状态下拉(求购/求租/租购)、等级下拉和必填更改理由文本框;新状态未选或理由未填时「确定」按钮置灰;保存成功后信息概览面板状态标签实时更新;操作日志新增"改状态"记录(含更改理由)
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-CLIENT-011 经纪人手动将私客转为公客
- 阶段:P0
- 模块:客源管理
- 完备度:A
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/客源管理/客源管理模块PRD.md- Story 19:经纪人手动将私客转为公客
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md
- 参考DATA_MODEL文档:
-
- 参考UI_Design文档:
Project/fonrey/UI_DESIGN/客源管理/客源详情_UI.md
- 参考UI_Design文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增客源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源详情_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/编辑客源_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/客源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-CLIENT-011
【任务标题】经纪人手动将私客转为公客
【阶段】P0
【模块】客源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/客源管理/客源管理模块PRD.md` - Story 19:经纪人手动将私客转为公客
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md`
- 参考UI_Design文档:`Project/fonrey/UI_DESIGN/客源管理/客源详情_UI.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增客源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源详情_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/编辑客源_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/客源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
点击「转公客」触发弹窗,状态和等级均为必填;确认后客源从私客列表移除并进入公客池(client_type='public',transfer_to_public_type='manual');操作日志新增"转公客"记录(含操作人/操作时间);权限控制:仅归属人、首录人或有管理权限的店长/经理可操作
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-CLIENT-012 经纪人将私客转为成交客
- 阶段:P0
- 模块:客源管理
- 完备度:A
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/客源管理/客源管理模块PRD.md- Story 20:经纪人将私客转为成交客
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md
- 参考DATA_MODEL文档:
-
- 参考UI_Design文档:
Project/fonrey/UI_DESIGN/客源管理/客源详情_UI.md
- 参考UI_Design文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增客源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源详情_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/编辑客源_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/客源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-CLIENT-012
【任务标题】经纪人将私客转为成交客
【阶段】P0
【模块】客源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/客源管理/客源管理模块PRD.md` - Story 20:经纪人将私客转为成交客
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md`
- 参考UI_Design文档:`Project/fonrey/UI_DESIGN/客源管理/客源详情_UI.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增客源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源详情_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/编辑客源_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/客源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
点击「转成交」触发"客户成交"弹窗,必填字段(状态/房源类型/成交房源/成交日期/成交价格/成交方)全部填写后「确定」按钮高亮;成交房源选择浮层支持关键词搜索和区域/状态筛选;提交后客源移入成交客列表,状态更新为"成交";操作日志新增"转成交"记录(含成交信息摘要)
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-CLIENT-013 经纪人将客源标记为无效
- 阶段:P0
- 模块:客源管理
- 完备度:A
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/客源管理/客源管理模块PRD.md- Story 21:经纪人将客源标记为无效
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md
- 参考DATA_MODEL文档:
-
- 参考UI_Design文档:
Project/fonrey/UI_DESIGN/客源管理/客源详情_UI.md
- 参考UI_Design文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增客源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源详情_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/编辑客源_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/客源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-CLIENT-013
【任务标题】经纪人将客源标记为无效
【阶段】P0
【模块】客源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/客源管理/客源管理模块PRD.md` - Story 21:经纪人将客源标记为无效
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md`
- 参考UI_Design文档:`Project/fonrey/UI_DESIGN/客源管理/客源详情_UI.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增客源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源详情_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/编辑客源_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/客源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
点击「转无效」触发弹窗,展示蓝色提示框说明"将把所有电话标记无效",无效原因单选(号码无效/同行中介/广告推销/客户无意向/其他)默认选中"号码无效";确认后所有联系人电话标记为无效,客源从私客活跃列表移除;操作日志新增"转无效"记录(含无效原因);权限控制:仅归属人、首录人或有管理权限者可操作
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-CLIENT-014 经纪人编辑客源完整信息联系人基础信息需求
- 阶段:P0
- 模块:客源管理
- 完备度:A
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/客源管理/客源管理模块PRD.md- Story 14:经纪人编辑客源信息
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md
- 参考DATA_MODEL文档:
-
- 参考UI_Design文档:
Project/fonrey/UI_DESIGN/客源管理/编辑客源_UI.md
- 参考UI_Design文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增客源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源详情_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/编辑客源_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/客源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-CLIENT-014
【任务标题】经纪人编辑客源完整信息联系人基础信息需求
【阶段】P0
【模块】客源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/客源管理/客源管理模块PRD.md` - Story 14:经纪人编辑客源信息
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md`
- 参考UI_Design文档:`Project/fonrey/UI_DESIGN/客源管理/编辑客源_UI.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增客源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源详情_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/编辑客源_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/客源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
编辑页面分三个Tab(联系人/基础信息/二手或新房或租房);联系人Tab的电话1需点击「查看号码」后才可编辑,旁边提供「标记无效」链接;基础信息Tab包含需求类型/购房目的/付款方式/名下房产/贷款记录等扩展字段;保存时校验所有必填字段,成功后返回详情页并刷新需求信息区块
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-CLIENT-015 经纪人管理客源相关员工查看编辑归属人首录人
- 阶段:P0
- 模块:客源管理
- 完备度:A
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/客源管理/客源管理模块PRD.md- Story 24:经纪人管理客源相关员工
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md
- 参考DATA_MODEL文档:
-
- 参考UI_Design文档:
Project/fonrey/UI_DESIGN/客源管理/客源详情_UI.md
- 参考UI_Design文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增客源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源详情_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/编辑客源_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/客源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-CLIENT-015
【任务标题】经纪人管理客源相关员工查看编辑归属人首录人
【阶段】P0
【模块】客源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/客源管理/客源管理模块PRD.md` - Story 24:经纪人管理客源相关员工
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md`
- 参考UI_Design文档:`Project/fonrey/UI_DESIGN/客源管理/客源详情_UI.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增客源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源详情_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/编辑客源_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/客源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
相关员工面板展示首录人/归属人的所属门店+小组+姓名及参与时间;点击「编辑」触发弹窗,首录人和归属人均为必填下拉选择器(支持搜索姓名);保存后面板实时更新,操作日志新增"修改相关员工"记录;权限控制:跨团队/跨店修改需店长及以上权限
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-CLIENT-016 系统自动将超时无跟进的私客转为公客
- 阶段:P0
- 模块:客源管理
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/客源管理/客源管理模块PRD.md- 关键业务规则:私客自动转公
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md
- 参考DATA_MODEL文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增客源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源详情_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/编辑客源_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/客源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-CLIENT-016
【任务标题】系统自动将超时无跟进的私客转为公客
【阶段】P0
【模块】客源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/客源管理/客源管理模块PRD.md` - 关键业务规则:私客自动转公
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增客源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源详情_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/编辑客源_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/客源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
Celery Beat 定时任务每日凌晨执行;超过运营配置天数(如30天)无跟进且非保护客的私客自动转入公客池(transfer_to_public_type='auto');自动转公后 client_status_logs 生成一条 to_public 记录;即将过期的私客在列表中显示"即将掉公"提示标签
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-CLIENT-017 系统自动检测重复客源并提示
- 阶段:P0
- 模块:客源管理
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/客源管理/客源管理模块PRD.md- Story 2:顶部重复检测提示;关键业务规则:私客手机号唯一性
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md
- 参考DATA_MODEL文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增客源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源详情_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/编辑客源_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/客源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-CLIENT-017
【任务标题】系统自动检测重复客源并提示
【阶段】P0
【模块】客源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/客源管理/客源管理模块PRD.md` - Story 2:顶部重复检测提示;关键业务规则:私客手机号唯一性
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增客源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源详情_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/编辑客源_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/客源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
录入/编辑联系人手机号时实时通过phone_hash检测与现有私客/成交客/公客的重复;客源列表顶部实时显示"私客与成交客重复:XX"和"私客与公客重复:XX"蓝色可点击链接;点击重复数字链接可查看重复名单
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-ORG-001 管理员维护公司组织结构部门门店树
- 阶段:P0
- 模块:组织人事
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/组织人事管理/组织人事管理模块PRD.md- 公司组织结构(部门/门店树)
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_ORG.md
- 参考DATA_MODEL文档:
- UI:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/组织人事技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-ORG-001
【任务标题】管理员维护公司组织结构部门门店树
【阶段】P0
【模块】组织人事
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/组织人事管理/组织人事管理模块PRD.md` - 公司组织结构(部门/门店树)
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_ORG.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/组织人事技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
支持新增/编辑/删除部门和门店节点;组织树以层级结构展示(公司→区域→门店→小组);删除有员工的部门时系统提示并阻止操作;组织结构变更实时反映在员工选择器弹层中
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-ORG-002 管理员查看与维护员工列表
- 阶段:P0
- 模块:组织人事
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/组织人事管理/组织人事管理模块PRD.md- 员工列表/员工详情
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_ORG.md
- 参考DATA_MODEL文档:
- UI:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/组织人事技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-ORG-002
【任务标题】管理员查看与维护员工列表
【阶段】P0
【模块】组织人事
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/组织人事管理/组织人事管理模块PRD.md` - 员工列表/员工详情
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_ORG.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/组织人事技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
员工列表支持按姓名/手机号关键词搜索;支持按部门/状态筛选;列表展示员工姓名/所属门店/职位/状态等字段;点击员工姓名跳转员工详情页
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-ORG-003 管理员办理员工入职并创建系统账号
- 阶段:P0
- 模块:组织人事
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/组织人事管理/组织人事管理模块PRD.md- 员工入职/账号创建
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_ORG.md
- 参考DATA_MODEL文档:
- UI:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/组织人事技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-ORG-003
【任务标题】管理员办理员工入职并创建系统账号
【阶段】P0
【模块】组织人事
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/组织人事管理/组织人事管理模块PRD.md` - 员工入职/账号创建
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_ORG.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/组织人事技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
入职表单必填字段(姓名/手机号/所属门店/职位)校验;创建账号后系统自动生成登录密码并可发送给员工;新员工账号立即可登录系统;员工账号与组织树节点正确关联
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-PERMISSION-001 管理员配置角色预设角色自定义角色
- 阶段:P0
- 模块:权限管理
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/权限管理/权限管理模块PRD.md- 角色管理(预设角色+自定义角色)
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_PERMISSION.md
- 参考DATA_MODEL文档:
- UI:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/权限管理系统技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-PERMISSION-001
【任务标题】管理员配置角色预设角色自定义角色
【阶段】P0
【模块】权限管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/权限管理/权限管理模块PRD.md` - 角色管理(预设角色+自定义角色)
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_PERMISSION.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/权限管理系统技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
系统预设角色(经纪人/店长/管理员等)不可删除但可复制;支持创建自定义角色并配置功能权限;角色名称在同租户内唯一;删除自定义角色前需解除所有人员绑定
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-PERMISSION-002 管理员查看与管理人员权限列表
- 阶段:P0
- 模块:权限管理
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/权限管理/权限管理模块PRD.md- 人员权限列表
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_PERMISSION.md
- 参考DATA_MODEL文档:
- UI:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/权限管理系统技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-PERMISSION-002
【任务标题】管理员查看与管理人员权限列表
【阶段】P0
【模块】权限管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/权限管理/权限管理模块PRD.md` - 人员权限列表
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_PERMISSION.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/权限管理系统技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
人员权限列表展示员工姓名/所属部门/当前角色;支持按部门/角色筛选;列表支持分页;点击员工行可查看详细权限配置
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-PERMISSION-003 管理员批量为员工分配角色
- 阶段:P0
- 模块:权限管理
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/权限管理/权限管理模块PRD.md- 角色批量分配
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_PERMISSION.md
- 参考DATA_MODEL文档:
- UI:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/权限管理系统技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-PERMISSION-003
【任务标题】管理员批量为员工分配角色
【阶段】P0
【模块】权限管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/权限管理/权限管理模块PRD.md` - 角色批量分配
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_PERMISSION.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/权限管理系统技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
勾选多名员工后可批量指定角色;批量分配成功后所有选中员工角色立即生效;分配后员工下次登录或刷新页面权限即更新(Redis权限快照失效重载)
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-PERMISSION-004 系统执行功能权限控制菜单级
- 阶段:P0
- 模块:权限管理
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/权限管理/权限管理模块PRD.md- 功能权限(菜单级)
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_PERMISSION.md
- 参考DATA_MODEL文档:
- UI:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/权限管理系统技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-PERMISSION-004
【任务标题】系统执行功能权限控制菜单级
【阶段】P0
【模块】权限管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/权限管理/权限管理模块PRD.md` - 功能权限(菜单级)
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_PERMISSION.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/权限管理系统技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
无权限的菜单在导航中不展示;直接访问无权限URL返回403页面;权限变更后Redis缓存自动失效,用户下一次请求即应用新权限;经纪人无法访问管理员专属功能页
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-PERMISSION-005 系统执行数据权限控制部门个人全司
- 阶段:P0
- 模块:权限管理
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/权限管理/权限管理模块PRD.md- 数据权限(部门/个人/全司)
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_PERMISSION.md
- 参考DATA_MODEL文档:
- UI:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/权限管理系统技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-PERMISSION-005
【任务标题】系统执行数据权限控制部门个人全司
【阶段】P0
【模块】权限管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/权限管理/权限管理模块PRD.md` - 数据权限(部门/个人/全司)
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_PERMISSION.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/权限管理系统技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
经纪人只能看到自己名下的房源和客源数据;店长可见本门店所有员工的房源和客源;管理员可见全司数据;不同数据权限级别的用户查询结果严格隔离,不可通过URL参数绕过
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-SETTING-001-A 管理员配置可选枚举值 Lookup Items
- 阶段:P0
- 模块:系统配置
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/系统配置/系统配置模块PRD.md- US-SETTING-001-A
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL.md(待 Atlas 补充lookup_itemsDDL)
- 参考DATA_MODEL文档:
- UI:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/系统设置技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-SETTING-001-A
【任务标题】管理员配置可选枚举值 Lookup Items
【阶段】P0
【模块】系统配置
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/系统配置/系统配置模块PRD.md` - US-SETTING-001-A
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL.md`(待 Atlas 补充 `lookup_items` DDL)
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/系统设置技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
- 管理员进入「系统设置 → 参数配置」,页面按模块分组展示所有可配置参数项(客源来源、跟进目的、房源来源)
- 可新增自定义选项,新选项追加至列表末尾并立即对经纪人录入下拉生效(刷新后)
- 系统预制选项(`is_system=True`)不可删除,仅可停用;停用后前端下拉不再展示,历史数据保留并标注「已停用」
- 支持调整选项排序(拖拽或修改排序值),排序变更在保存后前端生效
- 配置保存时主动失效 Redis 缓存 key `{tenant_schema}:setting:lookup:{module}.{key}`,最长 5 分钟延迟
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-SETTING-001-B 管理员配置房源字段必填规则
- 阶段:P0
- 模块:系统配置
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/系统配置/系统配置模块PRD.md- US-SETTING-001-B
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL.md(待 Atlas 补充field_requirement_rulesDDL)、Project/fonrey/DATA_MODEL/DATA_MODEL_PROPERTY.md
- 参考DATA_MODEL文档:
- UI:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/系统设置技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-SETTING-001-B
【任务标题】管理员配置房源字段必填规则
【阶段】P0
【模块】系统配置
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/系统配置/系统配置模块PRD.md` - US-SETTING-001-B
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL.md`(待 Atlas 补充 `field_requirement_rules` DDL)、`Project/fonrey/DATA_MODEL/DATA_MODEL_PROPERTY.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/系统设置技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
- 管理员进入「系统设置 → 房源字段规则」,以「用途 × 交易状态」矩阵展示配置(住宅×出售、住宅×出租)
- 每个字段显示当前规则(必填 / 选填 / 隐藏),以三态 Toggle 或 Radio 形式编辑,保存后生效
- 规则应用于录入界面:必填字段显示「*」标记,提交时为空则拦截;隐藏字段不渲染
- 规则变更仅影响新录入,不影响存量房源数据
- MVP 可配置字段:朝向、装修情况、楼层、建筑面积、套内面积、房型、产权年限、车位数
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-SETTING-001-C 管理员配置客源录入规则
- 阶段:P0
- 模块:系统配置
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/系统配置/系统配置模块PRD.md- US-SETTING-001-C
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL.md(待 Atlas 补充tenant_settingsDDL)、Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md
- 参考DATA_MODEL文档:
- UI:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/系统设置技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-SETTING-001-C
【任务标题】管理员配置客源录入规则
【阶段】P0
【模块】系统配置
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/系统配置/系统配置模块PRD.md` - US-SETTING-001-C
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL.md`(待 Atlas 补充 `tenant_settings` DDL)、`Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/系统设置技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
- 管理员进入「系统设置 → 客源规则」,可配置新增私客时的查重范围:本人(默认)/ 本部门 / 全公司
- 查重规则实时生效:经纪人录入手机号失焦后,系统按当前查重范围加密比对,若重复则提示归属人和录入时间,经纪人可选「仍然录入」或「放弃」
- 可配置客源必填字段开关(等级、来源默认必填;总价区间、居室需求、购房目的默认选填)
- 配置保存时主动失效 Redis 缓存 key `{tenant_schema}:setting:client_rules`,经纪人下次打开录入界面即应用最新规则
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-ACCOUNT-010 经纪人使用短信验证码登录
- 阶段:P1
- 模块:用户登录
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/登录管理/用户登录管理模块PRD.md- 短信验证码登录
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_LOGIN.md
- 参考DATA_MODEL文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/登录_账号密码_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/登录_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/登录管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-ACCOUNT-010
【任务标题】经纪人使用短信验证码登录
【阶段】P1
【模块】用户登录
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/登录管理/用户登录管理模块PRD.md` - 短信验证码登录
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_LOGIN.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/登录_账号密码_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/登录_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/登录管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
点击"发送验证码"后60秒内不可重复点击;验证码5分钟内有效;输入正确验证码后登录成功跳转首页;错误验证码给出明确提示
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-ACCOUNT-011 经纪人重置账号密码
- 阶段:P1
- 模块:用户登录
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/登录管理/用户登录管理模块PRD.md- 密码重置
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_LOGIN.md
- 参考DATA_MODEL文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/登录_账号密码_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/登录_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/登录管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-ACCOUNT-011
【任务标题】经纪人重置账号密码
【阶段】P1
【模块】用户登录
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/登录管理/用户登录管理模块PRD.md` - 密码重置
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_LOGIN.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/登录_账号密码_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/登录_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/登录管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
通过手机号验证码或邮箱链接验证身份;新密码需二次确认且满足强度要求(8位以上含字母+数字);重置成功后原会话立即失效需重新登录;重置操作写入审计日志
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-ACCOUNT-012 系统记住用户登录状态
- 阶段:P1
- 模块:用户登录
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/登录管理/用户登录管理模块PRD.md- 记住登录状态
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_LOGIN.md
- 参考DATA_MODEL文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/登录_账号密码_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/登录_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/登录管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-ACCOUNT-012
【任务标题】系统记住用户登录状态
【阶段】P1
【模块】用户登录
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/登录管理/用户登录管理模块PRD.md` - 记住登录状态
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_LOGIN.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/登录_账号密码_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/登录_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/登录管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
勾选"记住我"后关闭浏览器重新打开仍处于登录态;记住登录的有效期为7天;超过有效期自动跳转登录页;管理员可在后台强制让指定账号的所有会话失效
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-COMPLEX-010 管理员管理楼盘照片
- 阶段:P1
- 模块:楼盘管理
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/房源管理/楼盘管理模块PRD.md- 楼盘照片管理
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_COMPLEX.md
- 参考DATA_MODEL文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/区域管理_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/楼盘列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/楼盘详情_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/楼盘管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-COMPLEX-010
【任务标题】管理员管理楼盘照片
【阶段】P1
【模块】楼盘管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/房源管理/楼盘管理模块PRD.md` - 楼盘照片管理
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_COMPLEX.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/区域管理_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/楼盘列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/楼盘详情_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/楼盘管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
支持上传楼盘封面图和相册图片(格式jpg/png/gif,单文件≤20MB);上传成功后图片在楼盘详情页展示;支持删除图片;楼盘封面图可手动设置
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-COMPLEX-011 管理员维护楼盘价格走势
- 阶段:P1
- 模块:楼盘管理
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/房源管理/楼盘管理模块PRD.md- 楼盘价格走势
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_COMPLEX.md
- 参考DATA_MODEL文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/区域管理_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/楼盘列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/楼盘详情_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/楼盘管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-COMPLEX-011
【任务标题】管理员维护楼盘价格走势
【阶段】P1
【模块】楼盘管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/房源管理/楼盘管理模块PRD.md` - 楼盘价格走势
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_COMPLEX.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/区域管理_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/楼盘列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/楼盘详情_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/楼盘管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
楼盘详情页可查看历史价格走势折线图;价格走势数据按月维度展示;支持手动录入或批量导入历史均价数据
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-COMPLEX-012 管理员维护周边配套学校管理
- 阶段:P1
- 模块:楼盘管理
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/房源管理/楼盘管理模块PRD.md- 周边配套(学校管理)
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_COMPLEX.md
- 参考DATA_MODEL文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/区域管理_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/楼盘列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/楼盘详情_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/楼盘管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-COMPLEX-012
【任务标题】管理员维护周边配套学校管理
【阶段】P1
【模块】楼盘管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/房源管理/楼盘管理模块PRD.md` - 周边配套(学校管理)
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_COMPLEX.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/区域管理_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/楼盘列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/楼盘详情_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/楼盘管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
可为楼盘关联周边学校(从学校库选择);学校库支持新增/编辑/删除;楼盘详情页展示关联学校列表;学校数据可在客源意向学校字段中搜索引用
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-PROPERTY-010 经纪人查看房源维护完成度诊断面板
- 阶段:P1
- 模块:房源管理
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/房源管理/房源管理模块PRD.md- 房源维护完成度(诊断面板)
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_PROPERTY.md
- 参考DATA_MODEL文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/房源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增房源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/房源详情_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/房源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-PROPERTY-010
【任务标题】经纪人查看房源维护完成度诊断面板
【阶段】P1
【模块】房源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/房源管理/房源管理模块PRD.md` - 房源维护完成度(诊断面板)
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_PROPERTY.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/房源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增房源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/房源详情_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/房源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
房源详情页展示数据完整度百分比及未填字段提示列表;点击未填字段提示可直接跳转对应编辑区域;完整度≥80%时展示绿色状态,<60%时展示红色警告
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-PROPERTY-011 经纪人管理敏感信息跟进权限控制
- 阶段:P1
- 模块:房源管理
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/房源管理/房源管理模块PRD.md- 敏感信息跟进(查看权限控制)
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_PROPERTY.md
- 参考DATA_MODEL文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/房源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增房源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/房源详情_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/房源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-PROPERTY-011
【任务标题】经纪人管理敏感信息跟进权限控制
【阶段】P1
【模块】房源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/房源管理/房源管理模块PRD.md` - 敏感信息跟进(查看权限控制)
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_PROPERTY.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/房源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增房源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/房源详情_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/房源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
敏感信息跟进Tab仅对有权限的角色可见;查看敏感信息自动写入审计日志(不可删除);无权限用户看到Tab时显示"无权限查看"提示而非隐藏Tab
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-PROPERTY-012 经纪人管理房源附件
- 阶段:P1
- 模块:房源管理
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/房源管理/房源管理模块PRD.md- 附件管理
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_PROPERTY.md
- 参考DATA_MODEL文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/房源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增房源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/房源详情_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/房源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-PROPERTY-012
【任务标题】经纪人管理房源附件
【阶段】P1
【模块】房源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/房源管理/房源管理模块PRD.md` - 附件管理
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_PROPERTY.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/房源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增房源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/房源详情_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/房源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
支持上传PDF/Word/Excel等文档类附件(单文件≤50MB);附件按上传时间倒序展示;支持下载和删除附件;附件上传通过Celery异步处理,不阻塞主线程
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-PROPERTY-013 经纪人查看房源市场报盘
- 阶段:P1
- 模块:房源管理
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/房源管理/房源管理模块PRD.md- 市场报盘
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_PROPERTY.md
- 参考DATA_MODEL文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/房源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增房源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/房源详情_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/房源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-PROPERTY-013
【任务标题】经纪人查看房源市场报盘
【阶段】P1
【模块】房源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/房源管理/房源管理模块PRD.md` - 市场报盘
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_PROPERTY.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/房源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增房源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/房源详情_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/房源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
房源详情页可查看同楼盘其他在售房源的报价分布;展示该楼盘近期成交均价和当前挂牌均价;数据按成交日期倒序展示
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-PROPERTY-014 经纪人查看房源价格解读
- 阶段:P1
- 模块:房源管理
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/房源管理/房源管理模块PRD.md- 价格解读
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_PROPERTY.md
- 参考DATA_MODEL文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/房源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增房源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/房源详情_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/房源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-PROPERTY-014
【任务标题】经纪人查看房源价格解读
【阶段】P1
【模块】房源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/房源管理/房源管理模块PRD.md` - 价格解读
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_PROPERTY.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/房源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增房源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/房源详情_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/房源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
房源详情页展示基于同楼盘/同商圈数据的价格合理性分析;展示当前报价与参考价的偏差百分比;无足够数据时展示"暂无参考数据"
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-CLIENT-020 经纪人使用二手配房功能查看匹配房源
- 阶段:P1
- 模块:客源管理
- 完备度:A
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/客源管理/客源管理模块PRD.md- Story 11:经纪人使用二手配房功能推荐房源
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md
- 参考DATA_MODEL文档:
-
- 参考UI_Design文档:
Project/fonrey/UI_DESIGN/客源管理/客源详情_UI.md
- 参考UI_Design文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增客源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源详情_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/编辑客源_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/客源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-CLIENT-020
【任务标题】经纪人使用二手配房功能查看匹配房源
【阶段】P1
【模块】客源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/客源管理/客源管理模块PRD.md` - Story 11:经纪人使用二手配房功能推荐房源
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md`
- 参考UI_Design文档:`Project/fonrey/UI_DESIGN/客源管理/客源详情_UI.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增客源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源详情_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/编辑客源_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/客源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
智能配房Tab分"录客配房"和"系统配房"两个子Tab;录客配房按优质户型/降价/热门/新上四个分组展示房源卡片;每套房源卡片展示封面图/小区名/户型/面积/售价/标签;点击「分享房源」触发房源分享流程;支持「批量分享」多套房源
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-CLIENT-021 经纪人查看客源解读AI行为分析
- 阶段:P1
- 模块:客源管理
- 完备度:A
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/客源管理/客源管理模块PRD.md- Story 10:经纪人查看客源解读
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md
- 参考DATA_MODEL文档:
-
- 参考UI_Design文档:
Project/fonrey/UI_DESIGN/客源管理/客源详情_UI.md
- 参考UI_Design文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增客源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源详情_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/编辑客源_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/客源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-CLIENT-021
【任务标题】经纪人查看客源解读AI行为分析
【阶段】P1
【模块】客源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/客源管理/客源管理模块PRD.md` - Story 10:经纪人查看客源解读
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md`
- 参考UI_Design文档:`Project/fonrey/UI_DESIGN/客源管理/客源详情_UI.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增客源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源详情_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/编辑客源_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/客源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
客源解读Tab展示活跃行为/活跃时间/购房偏好三个模块;购房偏好支持近7日/近30日/近90日三个时间维度切换,切换后数据联动刷新;价格/户型/面积偏好以圆环图+图例形式展示;无数据时展示"暂无数据"而非报错
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-CLIENT-022 经纪人将重点客源收藏至收藏夹
- 阶段:P1
- 模块:客源管理
- 完备度:A
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/客源管理/客源管理模块PRD.md- Story 16:经纪人收藏客源至私客收藏夹
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md
- 参考DATA_MODEL文档:
-
- 参考UI_Design文档:
Project/fonrey/UI_DESIGN/客源管理/客源详情_UI.md
- 参考UI_Design文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增客源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源详情_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/编辑客源_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/客源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-CLIENT-022
【任务标题】经纪人将重点客源收藏至收藏夹
【阶段】P1
【模块】客源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/客源管理/客源管理模块PRD.md` - Story 16:经纪人收藏客源至私客收藏夹
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md`
- 参考UI_Design文档:`Project/fonrey/UI_DESIGN/客源管理/客源详情_UI.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增客源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源详情_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/编辑客源_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/客源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
点击「☆收藏」触发"选择私客收藏夹"浮层,默认选中"默认收藏夹";支持在浮层内创建新收藏夹(名称最多10字,超出「创建」按钮置灰);收藏成功后图标变为实心★橙色;私客列表支持按收藏夹筛选展示
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-CLIENT-023 经纪人通过快捷入口编辑客源基础信息
- 阶段:P1
- 模块:客源管理
- 完备度:A
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/客源管理/客源管理模块PRD.md- Story 22:经纪人编辑客源基础信息(快捷入口)
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md
- 参考DATA_MODEL文档:
-
- 参考UI_Design文档:
Project/fonrey/UI_DESIGN/客源管理/客源详情_UI.md
- 参考UI_Design文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增客源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源详情_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/编辑客源_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/客源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-CLIENT-023
【任务标题】经纪人通过快捷入口编辑客源基础信息
【阶段】P1
【模块】客源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/客源管理/客源管理模块PRD.md` - Story 22:经纪人编辑客源基础信息(快捷入口)
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md`
- 参考UI_Design文档:`Project/fonrey/UI_DESIGN/客源管理/客源详情_UI.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增客源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源详情_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/编辑客源_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/客源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
点击信息概览面板「编辑客源」入口触发"编辑基础信息"抽屉浮层;浮层包含需求类型/用途/来源(必填)及购房目的/付款方式/名下房产等选填字段;点击「确定」校验必填字段,保存成功后面板相关字段实时更新;点击「取消」或×关闭不保存
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-CLIENT-024 经纪人查看客源操作日志
- 阶段:P1
- 模块:客源管理
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/客源管理/客源管理模块PRD.md- Story 25:经纪人查看客源操作日志
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md
- 参考DATA_MODEL文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增客源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源详情_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/编辑客源_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/客源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-CLIENT-024
【任务标题】经纪人查看客源操作日志
【阶段】P1
【模块】客源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/客源管理/客源管理模块PRD.md` - Story 25:经纪人查看客源操作日志
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增客源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源详情_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/编辑客源_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/客源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
点击「查看操作日志」跳转独立日志列表页(面包屑:客源/客源详情/客源操作日志);支持按日期范围/操作人/操作类型筛选;日志列表按操作时间倒序排列,展示操作时间/操作人/操作类型/操作内容;日志为只读,不支持编辑或删除;支持分页(默认20条/页)
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-ORG-010 管理员办理员工离职与调动
- 阶段:P1
- 模块:组织人事
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/组织人事管理/组织人事管理模块PRD.md- 员工离职/调动
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_ORG.md
- 参考DATA_MODEL文档:
- UI:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/组织人事技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-ORG-010
【任务标题】管理员办理员工离职与调动
【阶段】P1
【模块】组织人事
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/组织人事管理/组织人事管理模块PRD.md` - 员工离职/调动
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_ORG.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/组织人事技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
员工离职后账号立即禁用无法登录;离职员工名下房源和客源可批量转移给其他员工;员工调动后所属部门/组织信息实时更新;调动/离职操作写入异动记录
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-ORG-011 管理员维护员工通讯录
- 阶段:P1
- 模块:组织人事
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/组织人事管理/组织人事管理模块PRD.md- 员工通讯录
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_ORG.md
- 参考DATA_MODEL文档:
- UI:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/组织人事技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-ORG-011
【任务标题】管理员维护员工通讯录
【阶段】P1
【模块】组织人事
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/组织人事管理/组织人事管理模块PRD.md` - 员工通讯录
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_ORG.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/组织人事技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
通讯录支持按姓名/部门搜索;展示员工姓名/职位/手机号/所属门店;手机号默认打码,有权限才可查看完整号码;支持按部门分组展示
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-ORG-012 管理员管理员工职务
- 阶段:P1
- 模块:组织人事
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/组织人事管理/组织人事管理模块PRD.md- 职务管理
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_ORG.md
- 参考DATA_MODEL文档:
- UI:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/组织人事技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-ORG-012
【任务标题】管理员管理员工职务
【阶段】P1
【模块】组织人事
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/组织人事管理/组织人事管理模块PRD.md` - 职务管理
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_ORG.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/组织人事技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
支持新增/编辑/删除职务(如经纪人/店长/区域经理);职务可关联权限角色;删除有在职员工绑定的职务时系统提示并阻止
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-PERMISSION-010 管理员配置字段级权限敏感字段可见性
- 阶段:P1
- 模块:权限管理
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/权限管理/权限管理模块PRD.md- 字段级权限(敏感字段可见性)
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_PERMISSION.md
- 参考DATA_MODEL文档:
- UI:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/权限管理系统技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-PERMISSION-010
【任务标题】管理员配置字段级权限敏感字段可见性
【阶段】P1
【模块】权限管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/权限管理/权限管理模块PRD.md` - 字段级权限(敏感字段可见性)
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_PERMISSION.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/权限管理系统技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
可为不同角色配置联系人手机号/证件号码等敏感字段的可见性;无查看权限的角色访问时号码始终打码,无法点击查看;查看敏感字段操作记录在审计日志中;字段级权限配置变更后Redis缓存立即失效
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-PERMISSION-011 管理员配置个人特定权限覆盖
- 阶段:P1
- 模块:权限管理
- 完备度:B+
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/权限管理/权限管理模块PRD.md- 个人特定权限覆盖
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_PERMISSION.md
- 参考DATA_MODEL文档:
- UI:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/权限管理系统技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-PERMISSION-011
【任务标题】管理员配置个人特定权限覆盖
【阶段】P1
【模块】权限管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/权限管理/权限管理模块PRD.md` - 个人特定权限覆盖
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_PERMISSION.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/权限管理系统技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
支持在角色权限基础上为特定员工单独开启或关闭特定权限点;个人覆盖权限优先级高于角色权限;个人权限覆盖配置记录可查看和删除
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-SETTING-010 管理员配置首页展示内容
- 阶段:P1
- 模块:系统配置
- 完备度:C
- 引用缺失:
PRD/系统配置/系统配置.md
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/系统配置/系统配置.md- 首页设置
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_PUBLIC.md
- 参考DATA_MODEL文档:
- UI:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/系统设置技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-SETTING-010
【任务标题】管理员配置首页展示内容
【阶段】P1
【模块】系统配置
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/系统配置/系统配置.md` - 首页设置
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_PUBLIC.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/系统设置技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【输入缺口】
- 缺少文件:PRD/系统配置/系统配置.md
- 若缺口阻塞实现,请先输出“阻塞清单 + 最小替代方案”,再继续实现可落地部分。
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
可配置首页展示的统计数据卡片(如今日新增房源/客源数量);配置变更后首页实时生效;不同角色可配置不同的首页视图
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-SETTING-011 管理员配置相关方规则
- 阶段:P1
- 模块:系统配置
- 完备度:C
- 引用缺失:
PRD/系统配置/系统配置.md
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/系统配置/系统配置.md- 相关方设置
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_PUBLIC.md
- 参考DATA_MODEL文档:
- UI:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/系统设置技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-SETTING-011
【任务标题】管理员配置相关方规则
【阶段】P1
【模块】系统配置
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/系统配置/系统配置.md` - 相关方设置
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_PUBLIC.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/系统设置技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【输入缺口】
- 缺少文件:PRD/系统配置/系统配置.md
- 若缺口阻塞实现,请先输出“阻塞清单 + 最小替代方案”,再继续实现可落地部分。
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
可配置房源/客源的相关方角色(如协作人/跟进人)及其权限范围;相关方配置影响房源/客源详情页的相关员工区块展示
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-SETTING-012 管理员配置客源相关参数
- 阶段:P1
- 模块:系统配置
- 完备度:C
- 引用缺失:
PRD/系统配置/系统配置.md
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/系统配置/系统配置.md- 客源设置(基本配置/参数配置)
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_PUBLIC.md
- 参考DATA_MODEL文档:
- UI:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/系统设置技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-SETTING-012
【任务标题】管理员配置客源相关参数
【阶段】P1
【模块】系统配置
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/系统配置/系统配置.md` - 客源设置(基本配置/参数配置)
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_PUBLIC.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/系统设置技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【输入缺口】
- 缺少文件:PRD/系统配置/系统配置.md
- 若缺口阻塞实现,请先输出“阻塞清单 + 最小替代方案”,再继续实现可落地部分。
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
可配置私客自动转公客的天数阈值;可配置客源来源枚举值(lookup_items);可配置活跃度计算的各阈值天数;配置变更后Celery定时任务下次执行时使用新配置
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-SYSTEM-010 Platform Admin(平台超级管理员)管理租户开通暂停配置
- 阶段:P1
- 模块:系统管理(运营后台)
- 完备度:B
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/系统管理/系统管理模块PRD.md- 租户管理(开通/暂停/配置)
- 参考PRD文档:
- DATA_MODEL:N/A
- UI:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/系统管理技术文档.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-SYSTEM-010
【任务标题】Platform Admin(平台超级管理员)管理租户开通暂停配置
【阶段】P1
【模块】系统管理(运营后台)
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/系统管理/系统管理模块PRD.md` - 租户管理(开通/暂停/配置)
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/系统管理技术文档.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
可在运营后台新开通租户(自动创建独立PostgreSQL Schema);可暂停租户(暂停后租户用户无法登录);可为租户配置域名/子域名;租户操作记录写入平台操作日志
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-SYSTEM-011 Platform Admin(平台超级管理员)监控系统健康状态
- 阶段:P1
- 模块:系统管理(运营后台)
- 完备度:B
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/系统管理/系统管理模块PRD.md- 系统健康监控
- 参考PRD文档:
- DATA_MODEL:N/A
- UI:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/系统管理技术文档.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-SYSTEM-011
【任务标题】Platform Admin(平台超级管理员)监控系统健康状态
【阶段】P1
【模块】系统管理(运营后台)
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/系统管理/系统管理模块PRD.md` - 系统健康监控
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/系统管理技术文档.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
运营后台展示系统核心指标(API响应时间/错误率/Celery队列积压);Sentry错误告警正常接收;Grafana面板可查看历史监控数据;关键指标超阈值时触发告警通知
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-RELEASE-010 系统发布Windows桌面客户端安装包
- 阶段:P1
- 模块:客户端发布
- 完备度:B
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/发布管理/客户端发布管理模块PRD.md- Windows桌面客户端
- 参考PRD文档:
- DATA_MODEL:N/A
- UI:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/系统管理技术文档.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-RELEASE-010
【任务标题】系统发布Windows桌面客户端安装包
【阶段】P1
【模块】客户端发布
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/发布管理/客户端发布管理模块PRD.md` - Windows桌面客户端
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/系统管理技术文档.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
electron-builder 输出 NSIS .exe 安装包和便携版 .zip;安装包经EV证书签名,安装时无SmartScreen警告;安装包上传至Cloudflare R2并通过CDN分发;后端 ClientRelease 表新增一条版本记录
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-RELEASE-011 客户端自动检测并更新至最新版本
- 阶段:P1
- 模块:客户端发布
- 完备度:B
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/发布管理/客户端发布管理模块PRD.md- 自动更新机制
- 参考PRD文档:
- DATA_MODEL:N/A
- UI:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/系统管理技术文档.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-RELEASE-011
【任务标题】客户端自动检测并更新至最新版本
【阶段】P1
【模块】客户端发布
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/发布管理/客户端发布管理模块PRD.md` - 自动更新机制
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/系统管理技术文档.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出你将变更的文件清单(create/modify,精确到路径)。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 实现最小可交付版本,不做需求外扩展,不得擅自重做 UI 信息架构,不得擅自改动 API 契约。
5) 补齐/更新测试(单测+必要集成测试)。
6) 执行测试并报告结果。
【验收标准(原始)】
客户端启动时及每4小时自动检测 GET /api/client/updates/latest/ 接口;有新版本时后台静默下载,下载完成后提示用户重启;下载完成后校验SHA256与服务端返回一致才允许安装;强制更新标记时用户无法跳过更新
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-PROPERTY-020 经纪人录入别墅商铺商住写字楼其他类型房源
- 阶段:P2
- 模块:房源管理
- 完备度:C
- 备注:当前验收标准仍为占位,建议先补充 PRD 后再编码。
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/房源管理/房源管理模块PRD.md- 录入别墅/商铺/商住/写字楼/其他
- 参考PRD文档:
-
DATA_MODEL:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/房源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/房源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增房源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/房源详情_UI.html
- 参考UI静态页面:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-PROPERTY-020
【任务标题】经纪人录入别墅商铺商住写字楼其他类型房源
【阶段】P2
【模块】房源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/房源管理/房源管理模块PRD.md` - 录入别墅/商铺/商住/写字楼/其他
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/房源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/房源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增房源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/房源详情_UI.html`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出“实现计划(不编码)”:包含文件变更清单、接口/模型变更、测试计划。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 对缺失的验收标准提出可测试化建议(2~5条)。
5) 不直接提交代码,等待确认后再实现。
【验收标准(原始)】
(规划中,详细验收标准待PRD细化后补充)
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-PROPERTY-021 经纪人查看全部商铺写字楼列表
- 阶段:P2
- 模块:房源管理
- 完备度:C
- 备注:当前验收标准仍为占位,建议先补充 PRD 后再编码。
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/房源管理/房源管理模块PRD.md- 全部商铺列表/全部写字楼列表
- 参考PRD文档:
-
DATA_MODEL:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/房源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/房源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增房源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/房源详情_UI.html
- 参考UI静态页面:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-PROPERTY-021
【任务标题】经纪人查看全部商铺写字楼列表
【阶段】P2
【模块】房源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/房源管理/房源管理模块PRD.md` - 全部商铺列表/全部写字楼列表
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/房源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/房源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增房源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/房源详情_UI.html`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出“实现计划(不编码)”:包含文件变更清单、接口/模型变更、测试计划。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 对缺失的验收标准提出可测试化建议(2~5条)。
5) 不直接提交代码,等待确认后再实现。
【验收标准(原始)】
(规划中,详细验收标准待PRD细化后补充)
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-COMPLEX-020 管理员使用应用数据标准功能
- 阶段:P2
- 模块:楼盘管理
- 完备度:C
- 备注:当前验收标准仍为占位,建议先补充 PRD 后再编码。
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/房源管理/楼盘管理模块PRD.md- 应用数据标准
- 参考PRD文档:
-
DATA_MODEL:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/楼盘管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/区域管理_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/楼盘列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/楼盘详情_UI.html
- 参考UI静态页面:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-COMPLEX-020
【任务标题】管理员使用应用数据标准功能
【阶段】P2
【模块】楼盘管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/房源管理/楼盘管理模块PRD.md` - 应用数据标准
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/楼盘管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/区域管理_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/楼盘列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/楼盘详情_UI.html`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出“实现计划(不编码)”:包含文件变更清单、接口/模型变更、测试计划。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 对缺失的验收标准提出可测试化建议(2~5条)。
5) 不直接提交代码,等待确认后再实现。
【验收标准(原始)】
(规划中,详细验收标准待PRD细化后补充)
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-CLIENT-030 经纪人查看与管理公客列表
- 阶段:P2
- 模块:客源管理
- 完备度:C
- 备注:当前验收标准仍为占位,建议先补充 PRD 后再编码。
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/客源管理/客源管理模块PRD.md- Story 12:经纪人查看与筛选公客列表
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md
- 参考DATA_MODEL文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增客源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源详情_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/编辑客源_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/客源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-CLIENT-030
【任务标题】经纪人查看与管理公客列表
【阶段】P2
【模块】客源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/客源管理/客源管理模块PRD.md` - Story 12:经纪人查看与筛选公客列表
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增客源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源详情_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/编辑客源_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/客源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出“实现计划(不编码)”:包含文件变更清单、接口/模型变更、测试计划。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 对缺失的验收标准提出可测试化建议(2~5条)。
5) 不直接提交代码,等待确认后再实现。
【验收标准(原始)】
(规划中,详细验收标准待PRD细化后补充)
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-CLIENT-031 经纪人查看与管理成交客列表
- 阶段:P2
- 模块:客源管理
- 完备度:C
- 备注:当前验收标准仍为占位,建议先补充 PRD 后再编码。
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/客源管理/客源管理模块PRD.md- Story 13:经纪人查看成交客列表
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md
- 参考DATA_MODEL文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增客源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源详情_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/编辑客源_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/客源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-CLIENT-031
【任务标题】经纪人查看与管理成交客列表
【阶段】P2
【模块】客源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/客源管理/客源管理模块PRD.md` - Story 13:经纪人查看成交客列表
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增客源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源详情_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/编辑客源_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/客源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出“实现计划(不编码)”:包含文件变更清单、接口/模型变更、测试计划。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 对缺失的验收标准提出可测试化建议(2~5条)。
5) 不直接提交代码,等待确认后再实现。
【验收标准(原始)】
(规划中,详细验收标准待PRD细化后补充)
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-CLIENT-032 经纪人管理暂缓私客
- 阶段:P2
- 模块:客源管理
- 完备度:C
- 备注:当前验收标准仍为占位,建议先补充 PRD 后再编码。
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/客源管理/客源管理模块PRD.md- Story 5:经纪人管理暂缓私客
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md
- 参考DATA_MODEL文档:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源列表_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/新增客源_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/客源详情_UI.html
- 参考UI静态页面:
-
- 参考UI静态页面:
Project/fonrey/UI_DESIGN/编辑客源_UI.html
- 参考UI静态页面:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/客源管理技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-CLIENT-032
【任务标题】经纪人管理暂缓私客
【阶段】P2
【模块】客源管理
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/客源管理/客源管理模块PRD.md` - Story 5:经纪人管理暂缓私客
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_CLIENT.md`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源列表_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/新增客源_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/客源详情_UI.html`
- 参考UI静态页面:`Project/fonrey/UI_DESIGN/编辑客源_UI.html`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/客源管理技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出“实现计划(不编码)”:包含文件变更清单、接口/模型变更、测试计划。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 对缺失的验收标准提出可测试化建议(2~5条)。
5) 不直接提交代码,等待确认后再实现。
【验收标准(原始)】
(规划中,详细验收标准待PRD细化后补充)
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-ORG-020 管理员查看员工异动记录
- 阶段:P2
- 模块:组织人事
- 完备度:C
- 备注:当前验收标准仍为占位,建议先补充 PRD 后再编码。
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/组织人事管理/组织人事管理模块PRD.md- 异动记录
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_ORG.md
- 参考DATA_MODEL文档:
- UI:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/组织人事技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-ORG-020
【任务标题】管理员查看员工异动记录
【阶段】P2
【模块】组织人事
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/组织人事管理/组织人事管理模块PRD.md` - 异动记录
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_ORG.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/组织人事技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出“实现计划(不编码)”:包含文件变更清单、接口/模型变更、测试计划。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 对缺失的验收标准提出可测试化建议(2~5条)。
5) 不直接提交代码,等待确认后再实现。
【验收标准(原始)】
(规划中,详细验收标准待PRD细化后补充)
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-ORG-021 管理员管理员工奖惩记录
- 阶段:P2
- 模块:组织人事
- 完备度:C
- 备注:当前验收标准仍为占位,建议先补充 PRD 后再编码。
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/组织人事管理/组织人事管理模块PRD.md- 奖惩记录
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_ORG.md
- 参考DATA_MODEL文档:
- UI:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/组织人事技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-ORG-021
【任务标题】管理员管理员工奖惩记录
【阶段】P2
【模块】组织人事
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/组织人事管理/组织人事管理模块PRD.md` - 奖惩记录
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_ORG.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/组织人事技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出“实现计划(不编码)”:包含文件变更清单、接口/模型变更、测试计划。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 对缺失的验收标准提出可测试化建议(2~5条)。
5) 不直接提交代码,等待确认后再实现。
【验收标准(原始)】
(规划中,详细验收标准待PRD细化后补充)
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-ORG-022 管理员查看门店分布地图
- 阶段:P2
- 模块:组织人事
- 完备度:C
- 备注:当前验收标准仍为占位,建议先补充 PRD 后再编码。
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/组织人事管理/组织人事管理模块PRD.md- 门店分布地图
- 参考PRD文档:
-
- 参考DATA_MODEL文档:
Project/fonrey/DATA_MODEL/DATA_MODEL_ORG.md
- 参考DATA_MODEL文档:
- UI:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/组织人事技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-ORG-022
【任务标题】管理员查看门店分布地图
【阶段】P2
【模块】组织人事
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/组织人事管理/组织人事管理模块PRD.md` - 门店分布地图
- 参考DATA_MODEL文档:`Project/fonrey/DATA_MODEL/DATA_MODEL_ORG.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/组织人事技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出“实现计划(不编码)”:包含文件变更清单、接口/模型变更、测试计划。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 对缺失的验收标准提出可测试化建议(2~5条)。
5) 不直接提交代码,等待确认后再实现。
【验收标准(原始)】
(规划中,详细验收标准待PRD细化后补充)
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-SETTING-020 管理员配置人事OA相关参数
- 阶段:P2
- 模块:系统配置
- 完备度:C
- 引用缺失:
PRD/系统配置/系统配置.md - 备注:当前验收标准仍为占位,建议先补充 PRD 后再编码。
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/系统配置/系统配置.md- 人事OA设置
- 参考PRD文档:
- DATA_MODEL:N/A
- UI:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/系统设置技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-SETTING-020
【任务标题】管理员配置人事OA相关参数
【阶段】P2
【模块】系统配置
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/系统配置/系统配置.md` - 人事OA设置
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/系统设置技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【输入缺口】
- 缺少文件:PRD/系统配置/系统配置.md
- 若缺口阻塞实现,请先输出“阻塞清单 + 最小替代方案”,再继续实现可落地部分。
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出“实现计划(不编码)”:包含文件变更清单、接口/模型变更、测试计划。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 对缺失的验收标准提出可测试化建议(2~5条)。
5) 不直接提交代码,等待确认后再实现。
【验收标准(原始)】
(规划中,详细验收标准待PRD细化后补充)
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-SETTING-021 管理员配置交易规则
- 阶段:P2
- 模块:系统配置
- 完备度:C
- 引用缺失:
PRD/系统配置/系统配置.md - 备注:当前验收标准仍为占位,建议先补充 PRD 后再编码。
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/系统配置/系统配置.md- 交易设置
- 参考PRD文档:
- DATA_MODEL:N/A
- UI:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/系统设置技术方案.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-SETTING-021
【任务标题】管理员配置交易规则
【阶段】P2
【模块】系统配置
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/系统配置/系统配置.md` - 交易设置
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/系统设置技术方案.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
【输入缺口】
- 缺少文件:PRD/系统配置/系统配置.md
- 若缺口阻塞实现,请先输出“阻塞清单 + 最小替代方案”,再继续实现可落地部分。
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出“实现计划(不编码)”:包含文件变更清单、接口/模型变更、测试计划。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 对缺失的验收标准提出可测试化建议(2~5条)。
5) 不直接提交代码,等待确认后再实现。
【验收标准(原始)】
(规划中,详细验收标准待PRD细化后补充)
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-SYSTEM-020 Platform Admin(平台超级管理员)查看操作审计日志
- 阶段:P2
- 模块:系统管理(运营后台)
- 完备度:C
- 备注:当前验收标准仍为占位,建议先补充 PRD 后再编码。
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/系统管理/系统管理模块PRD.md- 操作审计日志
- 参考PRD文档:
- DATA_MODEL:N/A
- UI:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/系统管理技术文档.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-SYSTEM-020
【任务标题】Platform Admin(平台超级管理员)查看操作审计日志
【阶段】P2
【模块】系统管理(运营后台)
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/系统管理/系统管理模块PRD.md` - 操作审计日志
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/系统管理技术文档.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出“实现计划(不编码)”:包含文件变更清单、接口/模型变更、测试计划。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 对缺失的验收标准提出可测试化建议(2~5条)。
5) 不直接提交代码,等待确认后再实现。
【验收标准(原始)】
(规划中,详细验收标准待PRD细化后补充)
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
US-SYSTEM-021 Platform Admin(平台超级管理员)管理灰度发布滚动升级
- 阶段:P2
- 模块:系统管理(运营后台)
- 完备度:C
- 备注:当前验收标准仍为占位,建议先补充 PRD 后再编码。
引用文档
-
- 参考PRD文档:
Project/fonrey/PRD/系统管理/系统管理模块PRD.md- 灰度发布/滚动升级
- 参考PRD文档:
- DATA_MODEL:N/A
- UI:N/A
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/系统管理技术文档.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/API_CONTRACT.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/TECH_STACK.md
- 参考TECH_STACK文档:
-
- 参考TECH_STACK文档:
Project/fonrey/TECH_STACK/测试规范.md
- 参考TECH_STACK文档:
你是 OpenCode 编程代理。请在当前仓库根目录完成下面任务。
【任务ID】US-SYSTEM-021
【任务标题】Platform Admin(平台超级管理员)管理灰度发布滚动升级
【阶段】P2
【模块】系统管理(运营后台)
【输入文档(必须阅读)】
- 参考PRD文档:`Project/fonrey/PRD/系统管理/系统管理模块PRD.md` - 灰度发布/滚动升级
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/系统管理技术文档.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/API_CONTRACT.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/TECH_STACK.md`
- 参考TECH_STACK文档:`Project/fonrey/TECH_STACK/测试规范.md`
【必须遵循项目约束】
- 技术栈固定:Django + HTMX + Alpine.js + Tailwind + PostgreSQL + Redis + Celery + R2。禁止引入 React/Vue。
- 必须保持多租户边界:tenant 路由在 config/urls.py,public 路由在 config/urls_public.py。
- Django Admin 全环境弃用:不得引入 django.contrib.admin / admin.site.urls。
- HTMX 局部请求必须按片段返回;出错通过 HX-Trigger 触发 toast。
- 涉及 HTMX 视图测试需带 HTTP_HX_REQUEST=true。
- 集成测试必须使用 TenantClient,禁止 Django 原生 Client()。
- PII(手机号等)必须加密存储(core/encryption.py),展示默认脱敏。
- 测试默认 settings 使用 config.settings.testing,且 CELERY_TASK_ALWAYS_EAGER=True。
- 必须遵守 `Project/fonrey/TECH_STACK/API_CONTRACT.md`:接口路径/方法/参数/响应结构/错误码与契约一致;禁止擅自变更契约。
- 如实现与 API 契约冲突:先按契约实现,并在交付中列出差异与影响;不得未确认即改契约。
- `UI_DESIGN/` 下已审阅的静态页面(`.html`/`.md`)属于强约束输入:必须以其为实现基线,禁止擅自重做页面信息架构、主布局、字段顺序与关键交互。
- 若实现与 UI 静态页存在冲突:先按 UI 静态页落地,并在交付中列出冲突点;不得在未确认前自行改版 UI。
【实现步骤】
1) 先输出“实现计划(不编码)”:包含文件变更清单、接口/模型变更、测试计划。
2) 先对照 `Project/fonrey/TECH_STACK/API_CONTRACT.md`,列出本任务涉及接口的契约核对项(路径/方法/参数/响应/错误码)。
3) 先对照 UI 静态页(如该任务 UI=N/A,需在交付中明确说明),列出必须保持一致的页面结构与关键交互。
4) 对缺失的验收标准提出可测试化建议(2~5条)。
5) 不直接提交代码,等待确认后再实现。
【验收标准(原始)】
(规划中,详细验收标准待PRD细化后补充)
【必须执行测试命令】
- pytest -q
- 如有 HTMX 局部请求:补充 HTTP_HX_REQUEST=true 的测试场景
【交付格式】
- 变更文件列表
- API 契约核对清单(逐条对应 API_CONTRACT:已对齐/偏差项)
- API 契约冲突说明(如无冲突写“无”)
- 冲突接口(Method + Path)
- 当前契约要求(来自 API_CONTRACT)
- 实现差异 / 建议改动
- 影响面(前端/后端/测试/存量数据)
- 回滚方案
- UI 一致性核对清单(逐条对应 UI 静态页:已对齐/偏差项)
- 核心实现说明(与验收标准逐条对应)
- 测试命令与结果
- 未完成项/阻塞项
7) 高优先级缺口清单(建议先补)
- 引用文件不存在:6 条任务受影响。
- US-COMPLEX-001: UI_DESIGN/楼盘管理/楼盘详情_UI.md
- US-SETTING-010: PRD/系统配置/系统配置.md
- US-SETTING-011: PRD/系统配置/系统配置.md
- US-SETTING-012: PRD/系统配置/系统配置.md
- US-SETTING-020: PRD/系统配置/系统配置.md
- US-SETTING-021: PRD/系统配置/系统配置.md
- 验收标准仍占位:13 条(均不建议直接编码)。
- US-PROPERTY-020,US-PROPERTY-021,US-COMPLEX-020,US-CLIENT-030,US-CLIENT-031,US-CLIENT-032,US-ORG-020,US-ORG-021,US-ORG-022,US-SETTING-020,US-SETTING-021,US-SYSTEM-020,US-SYSTEM-021
- 缺少 DATA_MODEL 引用:11 条。
- US-SYSTEM-010,US-SYSTEM-011,US-RELEASE-010,US-RELEASE-011,US-PROPERTY-020,US-PROPERTY-021,US-COMPLEX-020,US-SETTING-020,US-SETTING-021,US-SYSTEM-020,US-SYSTEM-021
说明:本文件用于“把 TASK 直接交给 OpenCode 执行”。若需进一步提升自动化成功率,建议下一步把 P0/P1 的每条任务补充“目标文件路径 + API/字段契约 + 指定测试文件路径”。