feat: 优化通道组编辑交互
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
# 通道组编辑交互优化方案
|
||||
|
||||
日期:2026-09-05。适用通道组新建与修改,用户已授权实施、提交推送及双环境发布。沿用TC-ADMIN-004路由语义,不改变真实通道价格、发送或计费规则。
|
||||
|
||||
- 修正历史任意合法整数优先级回显;重复通道、归一化后重复省份及全国重复优先级明确报错,绝不删除或覆盖原行。弹窗确认只更新草稿。
|
||||
- 全国顺序支持上移、下移和拖拽;移动仅交换已有优先级槽位(如10/20),保留数值集合;新增通道建议下一个空闲优先级。提供明确顺序预览及撤销最近一次排序。
|
||||
- 通道选择支持名称/编号/地区搜索,展示成本及真实连接状态,禁用项说明原因;活动但暂时断连的通道仍可配置,保留历史停用通道且不误称连接正常。
|
||||
- 保存前展示新增、删除、调整以及基础设置变更摘要;未保存离开、刷新或后退需提示;失败保留输入,新建第二步失败保存已创建ID以便重试。请求沿用真实API,已有组status/description和成员weight/isBackup保持,不改数据模型。
|
||||
- 验收:纯函数冲突/排序/摘要测试,组件交互及前端回归、TypeScript、生产构建、CSS门禁;真实API的三尺寸浏览器查询、选择、排序、撤销及退出。禁止在验收中保存既有真实通道组或发送短信。
|
||||
- 发布:测试先行;预生产已确认发布完整最新版本,包含尚未发布的WPS异步解析、1项兼容migration及新解析Worker。独立恢复点与存储保护核验后再切换,不执行会改写无关配置的全量初始化脚本。
|
||||
@@ -2191,3 +2191,11 @@
|
||||
|
||||
- 运营端右上角新增“签名导入待审”,按签名导入资料中 pending_review 的明细条数计入待审核总数,独立于正式签名待审;点击进入签名审核的导入页签。统计遵守批次tenantId范围,invalid/approved/rejected明细不计入;导入提交及审核成功后立即刷新,不预先改计数。
|
||||
- 短信通道组新建/编辑的省网、全国列表展示成本价格(元/条),使用通道现有unitPrice及10000单位/元换算,保留4位小数;零成本显示0.0000,缺失通道/价格显示“—”。本次不改变通道选择、路由优先级和保存行为。
|
||||
|
||||
### 2026-09-05 通道组编辑交互优化
|
||||
|
||||
- 新建和修改通道组均使用草稿编辑:添加、编辑、删除、排序只改变当前页面草稿,最终确认保存时才调用真实接口。保存前展示基础设置、成员新增/删除和顺序调整摘要;保存失败保留输入。新建时若组已创建但成员保存失败,重试不得重复创建通道组。
|
||||
- 全国通道支持上移、下移和拖拽,移动时交换已有合法优先级槽位并保留历史优先级集合;支持撤销最近一次排序。历史任意 PostgreSQL `integer` 范围内优先级均可回显和编辑,新增项使用下一个未占用优先级。
|
||||
- 重复通道、归一化后重复省份及全国重复优先级必须明确阻止,不得静默覆盖已有成员。保存时保留已有组的状态、描述以及成员权重和主备属性。
|
||||
- 通道选择支持按名称、编号和地区搜索,直接展示成本价格、适用地区、运营商和真实连接回写。已删除、运营商不匹配、地区不匹配或已在本组配置的通道不可选择并说明原因;活动但暂时断连的通道允许配置。
|
||||
- 页面加载失败时禁止编辑和保存;存在未保存修改时,返回、路由切换、浏览器后退或刷新须提示。桌面、常用笔记本和 390px 窄屏均应可完成上述交互,且不得产生页面级横向溢出。
|
||||
|
||||
@@ -5103,3 +5103,15 @@ npm run verify:phase8
|
||||
| TC-CHANNEL-COST-001 | 新建/编辑通道组,查看省网和全国列表,分别使用非零、零及缺失价格 | 成本价格按现有单位换算为元/条并保留4位;零显示0.0000,缺失显示—;三尺寸表格内部滚动,无整页溢出;不修改价格和路由 |
|
||||
|
||||
上述通知口径增加签名导入这一类审核任务,替代TC-ADMIN-NOTICE-0715-09中“仅五类”的数量限定;下游投递告警仍不计入待审核任务。
|
||||
|
||||
## TC-CHANNEL-GROUP-EDITOR-20260905 通道组编辑交互
|
||||
|
||||
| 用例ID | 场景 | 预期 |
|
||||
| --- | --- | --- |
|
||||
| TC-CHANNEL-GROUP-EDITOR-001 | 打开含历史优先级10/20、权重和主备设置的通道组并上移、下移或拖拽全国通道 | 页面交换现有优先级槽位、顺序预览同步变化;撤销恢复原顺序,权重和主备属性保持 |
|
||||
| TC-CHANNEL-GROUP-EDITOR-002 | 新增或编辑时选择重复通道、重复省份或重复全国优先级 | 页面明确显示冲突并保持原有行,不静默替换、删除或覆盖 |
|
||||
| TC-CHANNEL-GROUP-EDITOR-003 | 在通道选择弹窗按名称、编号或地区搜索 | 结果来自真实通道API并展示成本、地区、运营商和连接回写;不可选项显示具体原因,活动但暂时断连的通道仍可选择 |
|
||||
| TC-CHANNEL-GROUP-EDITOR-004 | 修改基础设置、成员或顺序后点击保存 | 保存前确认弹窗展示新增、删除、调整及基础设置摘要;取消不调用写接口,确认后才按草稿统一保存 |
|
||||
| TC-CHANNEL-GROUP-EDITOR-005 | 新建通道组时创建成功但成员保存失败,随后重试 | 页面保留草稿和已创建组ID,只重试后续保存,不重复创建通道组 |
|
||||
| TC-CHANNEL-GROUP-EDITOR-006 | 加载接口失败,或有未保存修改时返回、跨路由、后退和刷新 | 加载失败时编辑与保存不可用并显示真实错误;未保存离开均提示,取消后保留草稿 |
|
||||
| TC-CHANNEL-GROUP-EDITOR-007 | 在1600×1000、1366×768和390×844执行排序、撤销、搜索、冲突校验和保存预览 | 三尺寸均可操作且无页面级横向溢出;控制台无新增错误;验收不保存真实通道组、不修改通道配置、不发送短信 |
|
||||
|
||||
@@ -4564,3 +4564,11 @@ git diff --check
|
||||
- 后续交互建议(未实施):现有历史优先级10/20与编辑下拉1—5不兼容;同优先级/同省份会过滤原行。建议先修正历史值回显和冲突处理,再加入全国路由上下移动/拖拽、明确顺序预览、可搜索通道选择及未保存提示;与本次成本展示分开实施。
|
||||
- 提交前补充:签名审核页页签由URL直接派生,修正已停留在该页时通知只改query而未切换页签的问题;新增同路由query切换回归测试通过。该文件另有HEAD已存在的1条preserve-manual-memoization错误和1条依赖警告,未扩展整改。
|
||||
- 最终前端全量14套66项通过,最终TypeScript/Vite生产构建通过;本轮共13个目标文件精确暂存,已有文档段落保持未暂存。
|
||||
|
||||
## 2026-09-05 通道组编辑交互优化(发布前验证)
|
||||
|
||||
- 按用户确认方案完成通道组新建/修改交互:草稿编辑、历史优先级兼容、显式冲突校验、全国通道上移/下移/拖拽与撤销、顺序预览、可搜索通道选择、成本/地区/运营商/真实连接回写、不可选原因、保存摘要和未保存离开保护。保存继续使用真实API,保留既有组状态/描述及成员权重/主备属性;新建部分失败后以已创建ID重试,避免重复创建。
|
||||
- 新增页面及弹窗私有CSS,由各自TSX直接导入并登记所有权;未重建global.css、未向14个历史兼容模块追加规则、未增加`!important`或宽泛标签选择器,也未改变domains/index.css顺序。
|
||||
- 自动验证:通道组纯函数、选择弹窗和整页交互定向3套24项通过;前端全量17套90项、API全量55套620项通过。format:check、Stylelint、CSS治理15项、TypeScript/Vite生产构建、API构建、安全、部署契约和包体积门禁通过;既有Chart包体提示不影响构建。
|
||||
- 候选页面通过测试环境真实API/PostgreSQL只读验收,所有业务写请求由浏览器路由拦截。1600×1000、1366×768、390×844均完成排序/撤销、重复优先级拦截、搜索空态、保存前预览和离开取消;无页面级横向溢出,pageerror和console error为0。验收未保存真实通道组、未修改成本或通道配置、未发送/补发/重投/重新入队短信。
|
||||
- 测试与预生产发布前已分别建立独立恢复点并核验运行版本、服务、数据库迁移及存储保护。预生产从旧版本发布完整最新版本,预计新增1项向后兼容报备解析迁移及独立解析Worker;实际提交、推送、双环境切换和发布后真实验收结果在完成后追加。
|
||||
|
||||
Reference in New Issue
Block a user