[REQ-通用-006] 预生产测试通道:三端测试登录入口 + 文档链 + 部署脚本

- 三端 Login.vue(坐席/管理/H5)新增「测试账号登录」面板:探测 /api/dev/health 决定可见性,公网 403 自动隐藏,免企微扫码登录(token 写入对应 localStorage 键)
- 新增 REQ-通用-006 文档链五件套:PRD / 技术方案 / 任务说明书 / 测试用例 / 部署方案(product-doc-standard 规范)
- 版本迭代总览追加 v5.1(预生产测试通道)行
- 部署辅助脚本:nginx /api/dev/ 内网闸门注入、H5 版本化 v20260808→v20260811 升级

部署已落地预生产(10.90.5.110):公网 /api/dev/* 403、内网 200、三端登录页新 hash 在线。
This commit is contained in:
Simon
2026-08-11 11:29:20 +08:00
parent 9fcee9df0e
commit c1d5dd584c
11 changed files with 985 additions and 0 deletions
@@ -0,0 +1,77 @@
# TC-REQ-通用-006-预生产测试通道
> **版本**: v1.0 | **日期**: 2026-08-11 | **状态**: [待评审]
> **作者**: 宋献(测试) | **审核**: —
> **关联REQ**: REQ-通用-006
> **关联PRD**: `../../01-产品文档/00-产品规划/PRD-REQ-通用-006-预生产测试通道-v1.0.md`
> **关联技术方案**: `../../02-技术文档/技术方案-REQ-通用-006-预生产测试通道-v1.0.md`
> **测试环境**: 预生产(10.90.5.110 / itsupport.servyou.com.cn
---
## 1. 测试范围
| 项 | 说明 |
|----|------|
| 在测功能 | 预生产测试通道:DEV_MODE mock 登录、nginx 内网闸门、前端测试登录入口 |
| 不在测 | 企微 OAuth 主登录(仅回归)、新生产 K8s 改造 |
| 前置条件 | 预生产 compose 注入 `DEV_MODE=true` 且后端已重启;nginx 闸门已生效 |
---
## 2. 测试用例
### 2.1 后端测试通道
| 用例ID | 场景 | 步骤 | 预期结果 |
|--------|------|------|----------|
| TC-001 | 内网 mock 登录(坐席角色) | 内网 `GET /api/dev/login?userid=dev-agent-001&name=李四&role=agent` | HTTP 200`data.token` 非空 |
| TC-002 | 内网 mock 登录(管理员角色) | 内网 `GET /api/dev/login?userid=dev-admin-001&role=admin` | HTTP 200token 有效 |
| TC-003 | 多角色登录 | 内网 `GET /api/dev/login?userid=dev-multi-001&role=user,agent,supervisor` | HTTP 200roles 数组含三角色 |
| TC-004 | token 真实有效 | Redis 查询 `user:token:{hash}` | 存在,TTL≈8h |
| TC-005 | dev/users 列表 | 内网 `GET /api/dev/users` | HTTP 2006 个预设用户 |
| TC-006 | dev/health 自检 | 内网 `GET /api/dev/health` | HTTP 200`dev_mode: true` |
| TC-007 | 带 token 调业务接口 | 用 TC-001 token 调 `GET /api/auth/me`(带 Bearer | HTTP 200,返回 userid=dev-agent-001 |
### 2.2 nginx 闸门(安全)
| 用例ID | 场景 | 步骤 | 预期结果 |
|--------|------|------|----------|
| TC-101 | 公网访问 dev 接口 | 公网 `GET /api/dev/health` | **HTTP 403** |
| TC-102 | 公网访问 dev/login | 公网 `GET /api/dev/login` | **HTTP 403** |
| TC-103 | 业务接口未误伤 | 公网 `GET /api/health` | HTTP 200 |
| TC-104 | 主登录未误伤 | 公网 `GET /api/auth/qrcode` | HTTP 200,返回 ticket |
| TC-105 | 静态页未误伤 | 公网 `GET /itagent/``/itadmin/` | HTTP 200 |
### 2.3 前端测试登录入口
| 用例ID | 场景 | 步骤 | 预期结果 |
|--------|------|------|----------|
| TC-201 | 内网坐席登录页显示测试入口 | 内网打开 `/itagent/` | 显示「测试账号登录」面板,角色下拉可选 |
| TC-202 | 内网一键登录坐席端 | 选 agent 角色 → 点击登录 | 进入坐席工作台,业务 API 正常 |
| TC-203 | 内网一键登录管理后台 | 内网打开 `/itadmin/`,选 admin 登录 | 进入管理后台 |
| TC-204 | 内网一键登录 H5 | 内网打开 H5 入口,选 user 登录 | 进入 H5 员工端 |
| TC-205 | 公网登录页无测试入口 | 公网打开三端登录页 | 不显示测试账号面板(health 探测 403 |
### 2.4 回归
| 用例ID | 场景 | 步骤 | 预期结果 |
|--------|------|------|----------|
| TC-301 | 企微扫码登录回归 | 企微内打开任意端 | OAuth 流程正常 |
| TC-302 | 登出清理 | 测试登录后调 `/api/auth/logout` | token 失效,Redis 黑名单生效 |
---
## 3. 缺陷单关联
| 缺陷编号 | 关联用例 | 状态 |
|----------|----------|------|
| (无) | — | — |
---
## 4. 变更记录
| 日期 | 版本 | 变更内容 | 变更人 | 变更原因 |
|------|------|----------|--------|----------|
| 2026-08-11 | v1.0 | 初版 | 宋献 | 预生产测试通道测试用例 |