feat: polish reporting templates and shared controls
This commit is contained in:
@@ -110,12 +110,16 @@
|
||||
- 优先级:P0
|
||||
- 前置条件:存在 active 应用和可用签名。
|
||||
- 步骤:
|
||||
1. 创建模板 `验证码为 ${code}`。
|
||||
2. 保存后查看变量列表。
|
||||
3. 提交模板审核。
|
||||
1. 选择签名 `【测试签名】`,确认模板内容自动出现该前缀,再填写正文 `验证码为 ${code}`。
|
||||
2. 切换到另一个签名,确认只替换原签名前缀且不重复追加。
|
||||
3. 保存后查看变量列表和完整内容计费条数。
|
||||
4. 分别用正确内容、缺少签名和错误签名前缀调用真实模板 API。
|
||||
5. 提交模板审核。
|
||||
- 预期结果:
|
||||
- 客户端和运营端模板表单均提示模板必须包含签名;选择签名自动填入完整 `【签名】`,切换时保留正文并替换前缀。
|
||||
- 系统识别变量 `code`。
|
||||
- 计费条数按 70/67 字规则预估。
|
||||
- 字符数和计费条数包含签名,按 70/67 字规则预估。
|
||||
- NestJS 拒绝未选择签名、签名不属于当前企业/应用或内容未以所选签名开头的请求。
|
||||
- 提交后模板状态为 pending。
|
||||
- 生成审核记录。
|
||||
|
||||
@@ -3294,6 +3298,9 @@ npm run verify:phase8
|
||||
| TC-QUALITY-002 | 分别准备多个企业应用、通道、签名和引流信息的短信,并制造 accepted 补发及不同 Gateway 回执。 | 四个 Tab 分组正确;通道只使用对应 submit/receipt;每个 Tab 服务端按 sentUnits 降序,相同数量再按日期和名称稳定排序;T-4~T-1 重算同步更新四类质量行。 |
|
||||
| TC-QUALITY-003 | 同一签名配置短 URL、包含短 URL 的长 URL、两个同长度 URL;发送正文分别命中长 URL、唯一 URL、同长度歧义和完全未命中,再对历史记录执行 migration。 | 新短信与历史短信都优先关联唯一最长 approved URL;歧义和未命中不写伪造 ID 并归入“未关联引流信息”;每条短信在引流维度只统计一次。 |
|
||||
| TC-QUALITY-004 | 打开“发送质量报表”,依次切换企业应用、通道、签名、引流信息 Tab,使用日期、企业、应用、通道筛选并翻页。 | 菜单位于“报表对账”下;页面调用真实 `/admin/reports/quality`;展示发送量、成功量、成功率、P95 截尾平均时长和生成时间,不使用前端明细聚合。 |
|
||||
| TC-REPORT-EXPORT-001 | 分别在对账单、利润报表、发送质量报表设置日期及维度筛选,数据超过一页后点击“导出报表”。 | 三类页面均调用各自真实 `/admin/reports/*/export` API;CSV 包含全部筛选结果而非当前页,中文可正常打开,逗号和引号正确转义。 |
|
||||
| TC-ADMIN-REPORT-FIELD-UI-001 | 打开报备字段库,在宽屏与窄屏下检查概览、两类通用字段、字段卡片及筛选,并尝试删除已引用字段。 | 页面不出现横向滚动;信息区自适应排列;引用数真实展示;已引用字段删除按钮禁用;所有增删仍调用真实 API。 |
|
||||
| TC-USER-BUTTON-UI-001 | 分别打开运营端和客户端用户管理页面。 | 新增用户按钮为标准小尺寸,文字与图标不换行且不挤占标题区域。 |
|
||||
|
||||
### 17.6 系统日志细化
|
||||
|
||||
@@ -3387,9 +3394,11 @@ npm run verify:phase8
|
||||
| TC-MOCK-CLEAN-001 | 断开 API 或让 API 返回 500,访问客户端账户余额、充值记录、批量任务、短信发送、签名、模板页面。 | 页面展示错误态或空态;不得出现前端静态余额、任务、模板、签名或最近发送记录。 |
|
||||
| TC-MOCK-CLEAN-002 | 访问运营端数据统计、账务账户、发送监控、安全控制、手机号段库、报备字段库、通道组、报备任务、报备记录。 | 所有列表和卡片来自真实 API;新增动作写入数据库;后端缺失的编辑/删除能力不得用本地状态伪造。 |
|
||||
| TC-UI-ENTERPRISE-SELECT-001 | 逐一打开包含企业或企业应用选择的表单和筛选项,输入部分企业/应用名称。 | 下拉面板提供搜索框并实时缩小真实 API 选项范围;清空后恢复全部选项。 |
|
||||
| TC-UI-SELECT-PORTAL-001 | 分别在普通页面筛选区、卡片、标准弹窗和 XL 弹窗中展开通用 Select,并改变窗口高度、滚动页面。 | 所有下拉均由通用控件渲染到页面级 Portal,不被父容器裁剪;空间不足时自动换向,滚动或缩放后仍贴合触发控件,选项选择和点击外部关闭正常。 |
|
||||
| TC-UI-TEMPLATE-RESPONSIVE-001 | 在 1024px、1366px 和宽屏视口打开企业短信模板页。 | 模板卡片自适应换列,页面不出现水平滚动,每张卡片的编辑和删除按钮直接可见。 |
|
||||
| TC-ADMIN-ENTERPRISE-TEMPLATE-RESPONSIVE-001 | 在 1024px、1366px 和宽屏视口打开运营端“企业模板管理”,查看长企业名、长模板内容和包含多变量的真实记录。 | 列表行按视口自适应重排,无水平滚动;预览、编辑、删除始终可见且可操作,内容摘要不撑破容器。 |
|
||||
| TC-ADMIN-ENTERPRISE-SIGNATURE-LAYOUT-001 | 在运营端“企业签名管理”打开移动/联通/电信显示“未报备(0/2)”的真实签名,分别使用 1024px 和 1366px 视口。 | 状态标签和数量可分行但各自保持完整;四个操作按钮按两列两行排列,文字不被挤成单字换行,卡片不产生水平滚动。 |
|
||||
| TC-ADMIN-ENTERPRISE-SIGNATURE-SELECT-001 | 在运营端打开“添加签名”,展开企业下拉并输入部分名称,选择企业后再展开企业应用;分别使用常规高度和 600px 高视口。 | 两个下拉均通过浮层完整显示在弹窗和底部操作栏之上,可搜索、滚动并选择真实 API 选项;空间不足时自动向上展开,列表不被裁剪。 |
|
||||
| TC-ADMIN-REPORT-FIELD-CODE-001 | 在报备字段库分别提交 `License2026`、`license_code`、中文和空白代码,并直接调用真实新增 API 复验。 | 只有 `License2026` 写入 PostgreSQL;前端阻止非法值,API 同样返回 400,不依赖前端校验。 |
|
||||
| TC-ADMIN-CHANNEL-REPORT-SIGNATURE-001 | 打开包含数据库签名 `【安徽航天信息】` 的通道报备详情及签名详情弹窗。 | 两处均只显示单层 `【安徽航天信息】`,不出现重复中括号。 |
|
||||
| TC-MOCK-CLEAN-003 | 运营端创建企业、编辑企业、禁用/启用企业、删除企业,再刷新页面和重新登录客户端。 | Tenant 状态持久化;列表刷新后状态不丢;禁用/删除企业阻断客户端业务访问;动作写系统日志。 |
|
||||
|
||||
Reference in New Issue
Block a user