# 任务说明书-REQ-通用-006-预生产测试通道
> **版本**: v1.0 | **日期**: 2026-08-11 | **状态**: [待评审]
> **作者**: 宋献 | **审核**: —
> **关联需求编号**: REQ-通用-006
> **关联PRD**: `../../01-产品文档/00-产品规划/PRD-REQ-通用-006-预生产测试通道-v1.0.md`
> **关联技术方案**: `../../02-技术文档/技术方案-REQ-通用-006-预生产测试通道-v1.0.md`
> **需求类型**: 新增
---
## 📥 输入项来源
| 输入 | 来源 |
|------|------|
| 产品需求 | `PRD-REQ-通用-006-预生产测试通道-v1.0.md` |
| 技术方案 | `技术方案-REQ-通用-006-预生产测试通道-v1.0.md` |
| 需了解的现有代码 | `src/backend/app/api/dev_auth.py`(已存在,零改动)
`src/backend/app/main.py`(DEV_MODE 挂载逻辑)
`src/frontend-agent/src/views/Login.vue` + `stores/agent.ts`(坐席)
`src/frontend-admin/src/views/Login.vue`(管理)
`src/frontend-h5/src/`(H5 登录与 token)
线上 `/opt/wecom-it-desk/docker-compose.yml` + `nginx/nginx.conf` |
---
## 📤 输出成果要求
| # | 产出 | 位置 | 说明 |
|---|------|------|------|
| O-1 | 预生产 compose 注入 `DEV_MODE=true` | 预生产 `/opt/wecom-it-desk/docker-compose.yml` | 仅预生产;新生产禁止 |
| O-2 | nginx `/api/dev/` 内网白名单闸门 | 预生产 `nginx/nginx.conf` | allow 内网三网段 + deny all |
| O-3 | 三端前端测试登录入口 | `src/frontend-agent|admin|h5` 登录页 | 探测 `/api/dev/health` 决定可见性 |
| O-4 | 三端 dist 构建产物 | `src/frontend-*/dist/` | 部署预生产 |
---
## 🔧 验证方式
| # | 验证 | 方法 |
|---|------|------|
| V-1 | 内网 mock 登录 | 内网 `curl GET /api/dev/login?userid=dev-agent-001&role=agent` → 200 + token |
| V-2 | 公网 403 | 公网 `curl GET /api/dev/health` → 403 |
| V-3 | 业务未误伤 | 公网 `curl GET /api/health` → 200 |
| V-4 | 前端入口 | 内网浏览器打开三端登录页 → 显示测试账号面板 → 一键登录进业务页 |
| V-5 | 主登录回归 | 企微扫码/OAuth 正常 |
| V-6 | token 有效 | Redis 可查 token,TTL 8h |
---
## ✅ 完成标准
- [ ] V-1 ~ V-6 全部通过
- [ ] 预生产 DEV_MODE 注入方式、nginx 闸门配置已落 DEPLOY 文档
- [ ] 新生产环境 compose 无 `DEV_MODE`(安全隔离确认项,写入上线 checklist)
- [ ] 变更记录已追加
---
## WBS 阶段
| 阶段 | 内容 | 优先级 | 状态 |
|------|------|--------|------|
| P0 | 预生产 compose 注入 DEV_MODE + 后端重启 | P0 | ☐ |
| P1 | nginx `/api/dev/` 闸门 + reload + 双向 curl 验证 | P1 | ☐ |
| P2 | 三端前端测试登录入口开发 + 构建 | P2 | ☐ |
| P3 | 预生产部署 dist + 全量验证(V-1~V-6) | P2 | ☐ |
---
## 变更记录
| 日期 | 版本 | 变更内容 | 变更人 | 变更原因 |
|------|------|----------|--------|----------|
| 2026-08-11 | v1.0 | 初版 | 宋献 | 预生产测试通道任务书 |