16 KiB
旧商务页面功能核对
以旧前端 dev/dev1.0 的实际模板、事件处理和接口调用为准,不因为后端存在某个接口就向页面增加入口。页面样式采用 Kra;名称、业务可见条件和交互沿用旧商务。只有完成页面、接口和实际验证后才标为整个菜单完成。
商务列表与绑定列表
来源:sw/web/src/views/BusMgmt/BusinessList.vue,以及该目录下实际引用的抽屉组件。前端基线 ba284011c87fd3d5730e0e3dceffb14a7389730c。
| 旧页面行为 | 新页面状态 |
|---|---|
| 商务列表没有编辑按钮;操作列为画像 | 已对齐,商务画像及对应抽屉已接入 |
第二个页签名为“绑定列表”,仅 level=3 显示 |
已对齐;超管、一级、二级均隐藏且不会加载绑定列表 |
| 商务列表筛选:商务名称、商务账号、等级、状态 | 已实现 |
| 添加子商务:账号、密码、姓名、手机号、QQ;展示等级/所属商务 | 已实现;已移除原页面没有的邮箱和编辑审核表单 |
| SDK商务数量可点击,零数量也能打开详情 | 已对齐 |
| SDK商务绑定详情是只读抽屉,上级可以查看;列为平台、ID、游戏商务账号、审核状态、绑定日期 | 已对齐,平台点击可进入游戏商务画像 |
| 商务列表列名“旗下渠道数”,点击进入旗下渠道抽屉 | 已对齐,抽屉显示序号、渠道名称、所属平台及分页 |
| 注册日期、绑定日期显示年月日 | 已对齐 |
| 绑定状态正常:画像、解绑;驳回:查看驳回;待审核:无操作 | 已对齐,画像只出现在正常绑定行 |
| 查看驳回打开审核详情,展示申请商务、平台、账号、状态、申请/审核时间、审核人和审核意见 | 已实现 |
| 添加绑定、解除绑定确认使用右侧抽屉 | 已对齐 |
| 绑定列表点击旗下渠道数时,仅正常状态可查看并携带平台/平台商务筛选 | 已实现并通过浏览器参数核对 |
| 全局偏好变化刷新商务/绑定数据 | 已接入 Kra 页面刷新机制 |
“仅三级可见”是旧页面页签规则。旧 Java 绑定查询接口仍支持超管全量、一级/二级查询下级,SDK 详情接口允许上级查看下级;这些接口的数据范围不能因页签隐藏而一并误删。
目前 sw7 是系统数据演练库,缺少 tab_promote。有绑定但渠道表未接入的数量明确返回空值并展示“未接入”,不当作零;完整数据环境继续计算真实数量。
验证
business-page-parity-2026-11-03.json:真实 Chrome 渲染、受控身份/业务数据,检查四个等级的页签和按钮,以及三种审核状态的行操作;无页面运行时错误。http-business-bindings-2026-11-03.json:真实运行实例及已有 sw7 测试数据的 HTTP 验证。- 旗下渠道已通过仓储与实际 HTTP 回归,覆盖已通过绑定、直属一级、跨平台同号和稳定分页;sw7 缺渠道数据时明确返回
available=false。 - 商务、SDK 商务和渠道画像已通过接口及浏览器验证;真实业务库数值仍待最终验收。
商务与游戏商务画像
来源:旧 BusinessProfileDrawer.vue 及 BusinessList.vue 的实际入口、handleProfileOpenChannels 参数传递。
| 旧页面行为 | 新页面状态 |
|---|---|
| 商务列表画像、正常绑定行画像、只读 SDK 详情平台入口 | 三个入口已接入,并分别验证一级与三级身份 |
| 基本资料、上级商务、注册时间、状态、一级渠道数、本月新增 | 已实现;SDK 父级来自 commerce1/commerce2,SDK 状态 0 展示待审核 |
| 今日、昨日、近7天、近30天、本月 | 已实现,周期和对照区间由后端统一计算 |
| 注册玩家、充值金额、付费率、人均充值及环比 | 已实现,付费率使用百分点差并保留无对照期时的 null |
| 注册、充值趋势及 TOP 5 | 已实现;使用 Kra 主题样式,图表支持鼠标与键盘查看数据点 |
| 关联预警独立分页,不随指标周期改变查询范围 | 已实现,按 SW businessId 与平台过滤 |
| 画像“旗下渠道”继续打开直属渠道抽屉 | 已对照父组件处理函数;传入 SW 用户 ID,SDK 场景附带平台和平台商务 ID |
| 缺业务数据与没有业务数据 | 分别显示未接入与真实零,避免未知指标显示为零 |
验证:portrait-http-2026-11-03.json、portrait-page-2026-11-03.json 及隔离双库 TCP HTTP 测试。完整平台资料与真实业务数值仍待最终实库联调。
其他页面
渠道统计、游戏数据、区服分析和排行榜,均需在各自实现前逐项提取旧模板的筛选项、列、按钮、抽屉、权限和跳转。数据库菜单清单或后端接口清单只能用于交叉核对,不能替代页面核对。
注册与充值明细
来源:旧 RegistrationDetails.vue、RechargeDetails.vue,查询及导出边界见 ledger-source-notes.md。
| 旧页面行为 | 新页面状态 |
|---|---|
| 平台、商务账号、玩家ID、精确渠道账号、游戏名称与日期筛选 | 已实现;游戏选项按平台查询并按名称选择 |
| 页面默认含今日近30天,后台不传日期默认截至昨日7天 | 分别保留;日期快捷为今日/昨日/本周/本月 |
| 注册列没有独立 ID 与角色名称,包含累计充值 | 已对齐;累计充值按同平台玩家全部历史成功支付 |
| 充值包含订单、区服、角色、方式、状态及成功支付合计 | 已实现;合计不跟随失败/处理中状态筛选改变口径 |
| 时间、金额服务端排序 | 已实现;不提供后台不支持的充值 ID 排序 |
| 充值≥5000的行高亮 | 已保留 |
| 导出当前筛选数据,最多10000条 | 已实现 XLSX;注册按钮改用正确的注册导出权限 |
| 缺业务数据或查询失败 | 明确提示,清除旧行与旧合计,不导出假空业务数据 |
验证:ledger-http-2026-11-04.json、ledger-page-2026-11-04.json,实际 TCP HTTP、工作簿内容检查及全量 Go/前端构建。真实服务导出验证仅使用确定无匹配数据的筛选。
预警规则
来源:sw/web/src/views/AlertCenter/AlertRules.vue 及其规则编辑组件;规则触发提示同时核对最终 AlertRecordCreationService,旧页面“每天一次”提示已失效。
| 旧页面行为 | 新页面状态 |
|---|---|
| 按监控指标、规则名称筛选 | 已实现 |
| 列为启用状态、规则名称、规则类型、描述、创建人、作用范围、操作 | 已实现;类型显示预警颜色,范围固定一级渠道 |
| 一级商务和超管可新建、编辑、删除、启停;二/三级只读 | 已实现,后端同时校验归属,真实 Chrome 检查四级角色 |
| 新建/编辑右侧抽屉,类型为自由文本 | 已实现 |
| 注册/充值展示周期、方向、阈值;登录展示未登录天数 | 已实现,浏览器验证切换字段及提交参数 |
| 删除需要确认 | 已实现,后端软删除 |
| 预警触发去重说明 | 按最终后端描述平台、渠道、类型的未关闭记录去重;生成任务仍待迁移 |
验证:alert-rules-http-2026-11-03.json、alert-rules-page-2026-11-03.json,以及隔离数据的真实 TCP HTTP 生命周期测试。预警检测与生成任务仍待迁移。
预警列表与处理抽屉
来源:sw/web/src/views/AlertCenter/AlertList.vue、components/AlertHandleDialog.vue,并核对最终 SysAlertRecordServiceImpl 和 SysAlertOperationLogServiceImpl。
| 旧页面行为 | 新页面状态 |
|---|---|
| 顶部五种状态卡片,点击筛选、再次点击取消 | 已实现;状态卡片统计保留原后端口径 |
| 平台默认全选;规则名称、类型、状态、归属商务筛选 | 已实现;平台取消全选时清空列表,不误查询全部 |
| 所属平台、触发时间、规则名称、类型、预警对象、归属商务、内容、状态、操作 | 已实现,触发时间按月日时分显示 |
| 行操作按五种状态显示处理、继续处理、审核/查看、重新处理、查看 | 已实现;待审核仅一级显示审核,等级为零的超管显示查看 |
| 右侧处理/详情抽屉展示摘要与不可删除的操作记录 | 已实现,日志按时间、ID 倒序,动作编码映射中文 |
| 只读态隐藏备注与写入按钮 | 已实现;详情最新状态与服务端 canAudit 同时决定可操作性 |
| 开始、提交、驳回、重新处理需要确认;审核通过直接提交 | 已对齐 |
| 操作成功刷新详情与列表,抽屉保持打开 | 已实现,状态变化后按钮和只读态同步更新 |
| 图片选取、拖拽、粘贴、预览、移除,添加备注时才上传 | 已实现;失败重试复用已上传结果,暂存图片阻止直接流转 |
| 旧页面允许只选图片,后端要求非空备注 | 按原后端契约提前校验备注,避免先上传后失败 |
| 缺渠道表无法判断可见范围 | 返回 available=false,卡片显示未接入,不把未知范围当成真实零 |
验证:alert-records-http-2026-11-03.json、alert-records-page-2026-11-03.json;后端完整状态流转通过独立 SQLite 和真实 TCP HTTP 测试,浏览器核对四个等级和五种状态的入口。预警检测/生成任务仍未接入,不因列表和工作流完成而宣称整个预警链路完成。
登录页
已从旧 login.vue 复用登录模板和样式,复制原品牌图片,适配 Kra 登录接口;保持记住账号而不存密码、验证码、三步找回密码和原文案。系统标题、侧栏标识及页脚已同步旧商务名称。login-page-verification-2026-11-03.json 记录 Chrome 的流程验证,短信接口为测试替身,不向真实手机发码。
渠道激活
来源:sw/web/src/views/BusMgmt/ChannelActivationList.vue,最终 PromoteActivePoolBindServiceImpl 与独立 OA 查询适配器。
| 旧页面行为 | 新页面状态 |
|---|---|
| 平台默认全选,渠道账号与绑定商务筛选,查询/重置 | 已实现;没有额外增加旧模板不存在的状态筛选 |
| 列为平台、渠道名称、绑定商务、绑定日期、解绑时间、累计流水金额、状态、操作 | 已实现,日期按年月日显示,金额保留两位小数 |
| 已驳回无流水明细按钮,其余状态均显示 | 已实现;待审核按原接口提示“审核通过后可查看” |
| 流水使用居中弹窗,显示平台、渠道、绑定期间、游戏汇总和总额 | 已实现 |
| 普通商务仅看本人认领,超管看全部 | 已实现,和预警的下级树范围分开;在隔离双库 HTTP 测试中验证 |
| 达标/解绑后的流水截止时间 | 保持最终后端计算,并修正旧弹窗达标状态仍显示“起”的文案,显示实际截止日期 |
| 明细加载失败 | 明确展示原因,不保留预填金额冒充成功读取的明细 |
| OA 未接入 | 明确显示未接入;不回退到主库同名表 |
验证:activation-http-2026-11-03.json、activation-page-2026-11-03.json,以及独立主库/OA 两个 SQLite 数据库的真实 TCP HTTP 测试。未修改实际 OA 数据。
渠道列表、新增与推广游戏
来源及统计规则详见 channel-source-notes.md。页面保持旧 ChannelList.vue、AddChannelDrawer.vue、ChannelGameDrawer.vue 的实际功能。
| 旧页面行为 | 新页面状态 |
|---|---|
| 平台、商务账号、渠道关键词、层级、类型、锁定状态筛选 | 已实现;修正旧“账号/负责人姓名”占位文案,按实际后端只查询账号 |
| 列表类型个人/公会;新增类型个人/企业 | 按两处实际模板分别保留 |
| 渠道信息、归属商务、上级/负责人、推广游戏、玩家、累计充值、锁定状态 | 已实现;缺失指标明确显示未接入 |
| 没有编辑入口,行操作为画像 | 已对齐,渠道画像入口及完整抽屉已接入 |
| 添加渠道按按钮权限,不额外限制三级 | 已实现并用一级浏览器身份核对,上级可选择下级正常绑定 |
| 切换平台清空游戏商务并重新加载、按平台商务 ID 去重 | 已实现,防止旧请求覆盖新平台选项 |
| 添加成功后关闭抽屉、刷新第一页,允许同步延迟 | 已实现,保持源平台创建及同步延迟提示 |
| 游戏数量零也可打开抽屉;必须携带平台和渠道 ID | 已实现并用跨平台同号与零游戏行验证 |
| 游戏分布显示累计玩家数、充值金额 | 已实现,实际取日汇总/身份键数据,独立于列表原始累计指标 |
| 全局偏好变化刷新页面 | 复用 Kra 全局 reload,后端每次请求读取当前偏好 |
验证:channel-http-2026-11-03.json、channel-page-2026-11-03.json,以及实际 TCP HTTP + 隔离主库/平台库。画像新增验证见下表,完整真实数据仍待最终验收。
渠道画像
来源及计算规则见 channel-portrait-source-notes.md。
| 旧页面行为 | 新页面状态 |
|---|---|
| 基本资料、上级渠道、注册与最后登录时间、推广游戏数 | 已实现,一级不显示上级,其余读取同平台当前上级账号 |
| 今日、昨日、近7天、近30天、累计 | 已实现;修正旧 7d/30d 参数错配,发送 last7/last30 |
| 注册玩家、充值金额、付费率、活跃玩家 | 已实现;累计模式无环比值 |
| 两个趋势图与四档付费分层 | 已实现,复用 Kra 主题图表和进度条,分层按累计身份与历史成功支付 |
| 推广游戏数点击打开游戏分布 | 已实现,携带同一平台和渠道 ID,始终累计口径 |
| 关联预警分页 | 已实现;修复旧页面误传 businessId,改为平台+targetPromoteId |
| 缺业务表 | 保留能读取的基本资料,明确提示未接入,不生成假零分层 |
验证:channel-portrait-http-2026-11-03.json、channel-portrait-page-2026-11-03.json、隔离数据真实 TCP HTTP 和完整 Go/前端构建检查。
渠道统计与游戏分析
来源及统计细节见 analytics-source-notes.md。
| 旧页面行为 | 新页面状态 |
|---|---|
| 平台默认全选,游戏多选、日期近 30 天,搜索/查询 | 已实现,查询和筛选回到第一页 |
| 渠道另有账号模糊、个人/公会类型筛选 | 已实现,文案明确按账号匹配 |
| 渠道顶部渠道数、注册、金额、付费率四卡片 | 已实现,使用全量后端汇总,与当前分页无关 |
| 渠道表平台、渠道、归属商务、注册/活跃/充值人数、新付费、金额和付费率 | 已实现,沿用 Kra 表格样式 |
| 游戏表平台、游戏、注册/活跃/付费人数、新付费、金额、付费率、ARPU、ARPPU | 已实现,游戏 ID 无无效排序箭头 |
| 游戏表尾汇总来自全部筛选结果 | 已实现,跨页保留全量 summary;渠道页使用顶部卡片 |
| 列排序和分页 | 已实现,服务器排序,同值增加平台/ID 保证稳定 |
| 旧页面无导出接口/按钮 | 不增加导出入口 |
| 缺报表数据 | 明确显示未接入,清空过期汇总,指标不伪造零 |
验证:analytics-http-2026-11-04.json、analytics-page-2026-11-04.json;Chrome 使用受控业务数据,完整计算和权限使用隔离数据库的真实 TCP HTTP 验证。
区服分析
按旧 ServerAnalysis.vue 源码迁移平台多选、游戏多选、区服单选、近 30 天默认日期、首个游戏自动查询、列排序/分页及全量汇总;沿用 Kra 控件,没有新增导出入口。切换平台清空游戏/区服,切换游戏清空区服,过期异步请求不覆盖新选项。统计字段保持所属平台、区服编号/名称、开服日期、新增注册、活跃玩家、充值金额、付费玩家和 ARPU。
接口通过真实 sw7 请求及隔离数据库 TCP HTTP 验证,前端 ESLint/生产构建通过。按用户 2026-11-04 新要求,此后只检查接口,不再检查页面交互。详见 server-analysis-source-notes.md。