From 6950aa1b40bbee1a6b70947b5caf2e2754b93c34 Mon Sep 17 00:00:00 2001 From: hzj <1304805162@qq.com> Date: Fri, 29 May 2026 15:15:44 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=95=B0=E6=8D=AE=E5=A4=A7=E5=B1=8F?= =?UTF-8?q?=E3=80=81=E9=80=80=E6=AC=BE=E8=AE=B0=E5=BD=95):=20=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E7=BF=BB=E8=AF=91+=E6=A0=B7=E5=BC=8F=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/i18n/主要路由.md | 80 ++++++++++-- docs/i18n/线程协作.md | 49 ++++++++ docs/i18n/翻译清单.md | 17 ++- docs/i18n/翻译进度.md | 29 ++++- src/components/FlagIcon/index.vue | 4 +- src/lang/messages/base/en.js | 2 + src/lang/messages/base/zh.js | 2 + src/lang/messages/pages/en.js | 65 ++++++++++ src/lang/messages/pages/zh.js | 65 ++++++++++ src/views/datav/index.vue | 123 ++++++++++++------- src/views/datav/latest-purchase-timchat.vue | 73 +++++++++-- src/views/datav/latest-purchase.vue | 76 ++++++++++-- src/views/datav/online-user-count-origin.vue | 27 ++-- src/views/datav/purchase-count.vue | 23 +++- src/views/order/reimburse/index.vue | 55 +++++---- 15 files changed, 574 insertions(+), 116 deletions(-) diff --git a/docs/i18n/主要路由.md b/docs/i18n/主要路由.md index 458f6b6..6490371 100644 --- a/docs/i18n/主要路由.md +++ b/docs/i18n/主要路由.md @@ -237,6 +237,21 @@ - 直接公共组件状态:已复核,中文扫描无命中 - 验证结果:`npm run build:prod` 通过,仍保留项目既有 17 个 warning - 状态:已完成(线程一,2026-05-08) + - 退款记录 / Refund Records + - 路由别名:`orderReimburse` + - 路径:`order/reimburse/index` + - 已完成文件: + - `src/views/order/reimburse/index.vue` + - 页面私有组件状态:无页面私有组件 + - 直接公共组件状态: + - `src/components/Pagination/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/SysOriginIcon/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/AccountInput/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/data/UserDeatilsDrawer/index.vue`:历史已完成,本轮复核中文扫描无命中 + - `src/components/PlatformSvgIcon/index.vue`:本轮复核中文扫描无命中 + - 保留项:`expandTypeName`、`productDescription`、`payPlatform`、订单状态等接口返回动态数据保留原样,仅对已知 `REIMBURSE` 状态补展示映射;接口参数、路由路径与权限码保持原样 + - 验证结果:目标文件与直接公共组件中文扫描无命中;语言文件语法检查通过;`NODE_OPTIONS=--openssl-legacy-provider npm run build:prod` 通过,仍保留项目既有 17 个 warning + - 状态:已完成(线程一,2026-05-29) - 数据配置 / Data Configuration - 路由别名:`data:conf` - 状态:已完成 @@ -776,6 +791,23 @@ - `src/components/data/AccountInput/index.vue`:复核通过 - `src/components/data/UserInfo/UserTableExhibit/index.vue`:复核通过 - 状态:已完成(线程一,2026-05-07) + - 数据大屏 / Data Dashboard + - 路由别名:`Datav` + - 路径:`datav/index` + - 已完成文件: + - `src/views/datav/index.vue` + - `src/views/datav/latest-purchase.vue` + - `src/views/datav/online-user-count-origin.vue` + - `src/views/datav/purchase-count.vue` + - 页面私有组件状态: + - `latest-purchase.vue`:复核通过,当前无静态中文展示文案 + - `online-user-count-origin.vue`、`purchase-count.vue`:已随入口页同步完成 + - 直接公共组件状态: + - `src/components/data/Avatar/index.vue`:本轮复核中文扫描无命中 + - `src/components/FlagIcon/index.vue`:本轮已将复制成功 / 失败提示接入 `common.copySuccess` / `common.copyFail` + - 保留项:接口返回的用户昵称、商品描述、金额、国家码、系统来源与统计数据保持原样;`online-user-map.vue`、`latest-purchase-timchat.vue`、`online-user-count.vue` 等未被入口页直接渲染的文件不纳入本轮 + - 验证结果:入口页、直接私有组件与直接公共组件中文扫描无命中;语言文件语法检查通过;`NODE_OPTIONS=--openssl-legacy-provider npm run build:prod` 通过,仍保留项目既有 17 个 warning + - 状态:已完成(线程一,2026-05-29) - 语音房间 / Voice Rooms - 路由别名:`VoiceRoom` @@ -1156,6 +1188,7 @@ - 积分收支记录 / Points Transaction Records - 金币代理流水 / Gold Agent Transactions - 钻石余额列表 / Diamond Balance List + - 退款记录 / Refund Records - 数据配置 / Data Configuration - 参数配置 / Parameter Settings - 幸运礼物规则配置 / Lucky Gift Rule Configuration @@ -1208,6 +1241,7 @@ - 现金提现申请 / Cash Withdrawal Applications - 自动支付工资凭据 / Automatic Salary Payment Vouchers - 用户工资钻石 / User Salary Diamonds + - 数据大屏 / Data Dashboard - 语音房间 / Voice Rooms - 在线房间 / Online Rooms - 房间资料列表 / Room Profile List @@ -1257,7 +1291,7 @@ ## 主要路由 { - "time": "1776839315693", + "time": "1780035478289", "status": true, "errorCode": 0, "body": [ @@ -1457,6 +1491,17 @@ "icon": "gridding", "alias": "User:Diamond:Balance" }, + { + "id": -1648943103, + "parentId": 177, + "childrens": [], + "menuName": "退款记录", + "menuType": 2, + "router": "order/reimburse", + "path": "order/reimburse/index", + "icon": "bank_card", + "alias": "orderReimburse" + }, { "id": 528, "parentId": 177, @@ -2102,6 +2147,17 @@ "path": "", "icon": "revenue", "alias": "UserSalaryDiamondBalance" + }, + { + "id": 1123491842, + "parentId": 184, + "childrens": [], + "menuName": "数据大屏", + "menuType": 2, + "router": "datav", + "path": "datav/index", + "icon": "data_overview", + "alias": "Datav" } ], "menuName": "运营管理", @@ -2323,17 +2379,6 @@ "id": 305, "parentId": 0, "childrens": [ - { - "id": 307, - "parentId": 305, - "childrens": [], - "menuName": "资源配置", - "menuType": 2, - "router": "props/config", - "path": "props/props-resource-config/index", - "icon": "sys_manager_2", - "alias": "props:config" - }, { "id": 312, "parentId": 305, @@ -2366,6 +2411,17 @@ "path": "props/props-store/index", "icon": "device_maintain", "alias": "props:store" + }, + { + "id": 1056382977, + "parentId": 305, + "childrens": [], + "menuName": "资源配置", + "menuType": 2, + "router": "props/config", + "path": "props/props-resource-config/index", + "icon": "sys_manager_2", + "alias": "props:config" } ], "menuName": "道具管理", diff --git a/docs/i18n/线程协作.md b/docs/i18n/线程协作.md index 4f4e675..b766467 100644 --- a/docs/i18n/线程协作.md +++ b/docs/i18n/线程协作.md @@ -6812,6 +6812,55 @@ - 权限码 - 后端依赖值 + - 线程一已新认领:主要路由页面 / 运营管理 / 营收支出 / 退款记录、运营管理 / 数据大屏 + - 对应文件: + - `src/views/order/reimburse/index.vue` + - `src/views/datav/index.vue` + - 领取前动作: + - 已重新读取 `docs/i18n/线程协作.md` + - 已重新读取 `docs/i18n/翻译进度.md` + - 已重新读取 `docs/i18n/翻译清单.md` + - 已重新读取 `docs/i18n/主要路由.md` + - 已重新读取 `src/lang/messages/pages/en.js` + - 已重新读取 `src/lang/messages/pages/zh.js` + - 已确认当前没有其他线程认领上述两个主要路由页面 + - 已按最新规则先更新 md,再开始源码改动 + - 认领范围包括: + - 入口页静态展示文本翻译 + - 入口页直接渲染的私有组件与公共组件复核 + - 新增或复用 `src/lang/messages/pages/en.js` 与 `src/lang/messages/pages/zh.js` 对应 key + - 构建验证 + - `docs/i18n/主要路由.md`、`docs/i18n/翻译进度.md` 与 `docs/i18n/翻译清单.md` 同步更新 + - 不包含: + - 接口参数 + - 路由路径 + - 权限码 + - 后端依赖值 + - 线程一已完成:主要路由页面 / 运营管理 / 营收支出 / 退款记录、运营管理 / 数据大屏 + - 完成文件: + - `src/views/order/reimburse/index.vue` + - `src/views/datav/index.vue` + - `src/views/datav/latest-purchase.vue` + - `src/views/datav/online-user-count-origin.vue` + - `src/views/datav/purchase-count.vue` + - `src/components/FlagIcon/index.vue` + - 完成范围包括: + - 退款记录筛选区、日期范围、搜索按钮、表格列名、加载文案、免费试用布尔展示与详情按钮国际化 + - 数据大屏入口标题、分区标题、统计指标标题国际化 + - `FlagIcon` 复制成功 / 失败提示接入 `common.copySuccess` / `common.copyFail` + - 新增 `pages.orderReimburse`、`pages.datav`,补充 `common.copySuccess` / `common.copyFail` + - 目标页面、直接私有组件与直接公共组件中文残留扫描 + - 构建验证 + - `docs/i18n/主要路由.md`、`docs/i18n/翻译进度.md` 与 `docs/i18n/翻译清单.md` 同步更新 + - 保留项: + - 接口返回动态数据、接口参数、路由路径、权限码、系统来源、商品描述、用户昵称、金额与统计数据保持原样 + - `src/views/datav/online-user-map.vue`、`latest-purchase-timchat.vue`、`online-user-count.vue` 等未被入口页直接渲染的文件不纳入本轮 + - 验证结果: + - 目标页面、直接私有组件与直接公共组件中文扫描无命中 + - 语言文件语法检查通过 + - 直接执行 `npm run build:prod` 因 Node 22 OpenSSL 兼容问题失败;使用 `NODE_OPTIONS=--openssl-legacy-provider npm run build:prod` 构建通过 + - 构建仍保留项目既有 `17` 条 warning,未新增阻塞错误 + ## 推荐分工方式 ### 方案一:按页面拆分 diff --git a/docs/i18n/翻译清单.md b/docs/i18n/翻译清单.md index fdac527..9ec5e34 100644 --- a/docs/i18n/翻译清单.md +++ b/docs/i18n/翻译清单.md @@ -348,12 +348,27 @@ ## 进行中 - 线程一:当前无进行中任务,待分配 - - 上一轮已完成:主要路由页面 / 道具管理 / 资源配置 / Resource Configuration + - 上一轮已完成:主要路由页面 / 运营管理 / 营收支出 / 退款记录;运营管理 / 数据大屏 - 线程二:当前无进行中任务,待分配 - 线程三:当前无进行中任务,待分配 +## 2026-05-29 最新同步 + +- 线程一已完成:主要路由页面 / 运营管理 / 营收支出 / 退款记录;运营管理 / 数据大屏 + - 文件: + - `src/views/order/reimburse/index.vue` + - `src/views/datav/index.vue` + - `src/views/datav/latest-purchase.vue` + - `src/views/datav/online-user-count-origin.vue` + - `src/views/datav/purchase-count.vue` + - `src/components/FlagIcon/index.vue` + - 语言 key:新增 `pages.orderReimburse`、`pages.datav`;补充 `common.copySuccess`、`common.copyFail` + - 直接公共组件复核:`Pagination`、`SysOriginIcon`、`AccountInput`、`UserDeatilsDrawer`、`PlatformSvgIcon`、`Avatar`、`FlagIcon` 中文扫描无命中 + - 保留:接口返回动态数据、接口参数、路由路径、权限码、系统来源、商品描述、用户昵称、金额与统计数据 + - 验证:目标文件中文扫描无命中;语言文件语法检查通过;`NODE_OPTIONS=--openssl-legacy-provider npm run build:prod` 通过,仍保留项目既有 17 个 warning + ## 2026-05-08 最新同步 - 线程一已完成:主要路由页面 / 道具管理 / 资源配置 diff --git a/docs/i18n/翻译进度.md b/docs/i18n/翻译进度.md index 84ab099..18f92fb 100644 --- a/docs/i18n/翻译进度.md +++ b/docs/i18n/翻译进度.md @@ -20,10 +20,37 @@ ## 当前认领线程 -- 线程一:待分配,上一轮已完成 `src/views/props/props-resource-config/**`,对应主要路由 `资源配置 / Resource Configuration` +- 线程一:待分配,上一轮已完成 `src/views/order/reimburse/index.vue` 与 `src/views/datav/**` 入口渲染链路,对应主要路由 `退款记录 / Refund Records`、`数据大屏 / Data Dashboard` - 线程二:待分配,上一轮已完成 `src/views/approval/room-cover-wall-approval/index.vue`,对应主要路由 `房间封面 / Room Covers` - 线程三:待分配,上一轮已完成 `src/views/user/bank-balance/table/**` 用户银行账户页面入口、同目录私有组件、直接公共组件复核、语言文件校验与构建验证 +## 2026-05-29 最新同步 + +- 2026-05-29 线程一已完成: + - `src/views/order/reimburse/index.vue` + - `src/views/datav/index.vue` + - `src/views/datav/latest-purchase.vue` + - `src/views/datav/online-user-count-origin.vue` + - `src/views/datav/purchase-count.vue` + - `src/components/FlagIcon/index.vue` +- 对应主要路由: + - 运营管理 / Operations Management -> 营收支出 / Revenue and Expenses -> 退款记录 / Refund Records + - 运营管理 / Operations Management -> 数据大屏 / Data Dashboard +- 本轮完成: + - 退款记录筛选区、日期范围、搜索按钮、表格列名、加载文案、免费试用布尔展示与详情按钮国际化 + - 数据大屏入口标题、分区标题、统计指标标题国际化 + - `FlagIcon` 复制成功 / 失败提示接入 `common.copySuccess` / `common.copyFail` + - 新增 `pages.orderReimburse`、`pages.datav` 中英文语言 key,补充 `common.copySuccess` / `common.copyFail` + - 直接公共组件复核:`Pagination`、`SysOriginIcon`、`AccountInput`、`UserDeatilsDrawer`、`PlatformSvgIcon`、`Avatar`、`FlagIcon` 中文扫描无命中 +- 保留项: + - 接口返回动态数据、接口参数、路由路径、权限码、系统来源、商品描述、用户昵称、金额、统计数据保持原样 + - `src/views/datav/online-user-map.vue`、`latest-purchase-timchat.vue`、`online-user-count.vue` 等未被入口页直接渲染的文件不纳入本轮 +- 验证结果: + - 目标页面、直接私有组件与直接公共组件中文扫描无命中 + - `src/lang/messages/pages/en.js`、`src/lang/messages/pages/zh.js`、`src/lang/messages/base/en.js`、`src/lang/messages/base/zh.js` 语法检查通过 + - 直接执行 `npm run build:prod` 因当前 Node 22 OpenSSL 兼容问题失败;使用项目历史惯例 `NODE_OPTIONS=--openssl-legacy-provider npm run build:prod` 构建通过 + - 构建仍保留项目既有 `17` 条 warning,未新增阻塞错误 + ## 2026-05-08 最新同步 - 2026-05-08 线程一已完成: diff --git a/src/components/FlagIcon/index.vue b/src/components/FlagIcon/index.vue index 8dc9555..e2f7ba6 100644 --- a/src/components/FlagIcon/index.vue +++ b/src/components/FlagIcon/index.vue @@ -60,12 +60,12 @@ export default { const that = this copyText(text).then(() => { that.$message({ - message: '复制成功', + message: that.$t('common.copySuccess'), type: 'success' }) }).catch(() => { that.$message({ - message: '复制失败', + message: that.$t('common.copyFail'), type: 'error' }) }) diff --git a/src/lang/messages/base/en.js b/src/lang/messages/base/en.js index d8e791b..5126f37 100644 --- a/src/lang/messages/base/en.js +++ b/src/lang/messages/base/en.js @@ -20,6 +20,8 @@ export default { globalSize: 'Global Size', resetPassword: 'Reset Password', logout: 'Logout', + copySuccess: 'Copied successfully', + copyFail: 'Copy failed', cancel: 'Cancel', submit: 'Submit' }, diff --git a/src/lang/messages/base/zh.js b/src/lang/messages/base/zh.js index 777e57d..daad6f9 100644 --- a/src/lang/messages/base/zh.js +++ b/src/lang/messages/base/zh.js @@ -18,6 +18,8 @@ export default { globalSize: '\u5168\u5c40\u5c3a\u5bf8', resetPassword: '\u4fee\u6539\u5bc6\u7801', logout: '\u9000\u51fa\u767b\u5f55', + copySuccess: '\u590d\u5236\u6210\u529f', + copyFail: '\u590d\u5236\u5931\u8d25', cancel: '\u53d6\u6d88', submit: '\u63d0\u4ea4' }, diff --git a/src/lang/messages/pages/en.js b/src/lang/messages/pages/en.js index 0638f7c..b151eed 100644 --- a/src/lang/messages/pages/en.js +++ b/src/lang/messages/pages/en.js @@ -5011,6 +5011,71 @@ export default { downloadFailed: 'Download failed.' } }, + orderReimburse: { + loading: 'Loading', + filter: { + system: 'System', + sourcePlatform: 'Source Platform', + userId: 'User ID' + }, + date: { + rangeSeparator: 'To', + start: 'Start Date', + end: 'End Date' + }, + table: { + environment: 'Environment', + system: 'System', + event: 'Event', + nickname: 'Nickname', + description: 'Description', + platform: 'Platform', + paymentMethod: 'Payment Method', + unitPrice: 'Unit Price', + status: 'Status', + freeTrial: 'Free Trial', + expireTime: 'Expire Time', + purchaseTime: 'Purchase Time', + updateTime: 'Updated At', + actions: 'Actions' + }, + action: { + search: 'Search', + details: 'Details' + }, + word: { + yes: 'Yes', + no: 'No' + }, + orderStatus: { + REIMBURSE: 'Refunded' + } + }, + datav: { + title: 'Data Dashboard', + subtitle: 'Real-time Data Preview', + section: { + purchaseUsers: 'Purchasing Users', + todayPaymentPreview: "Today's Payment Preview", + aslanOnline: 'Aslan Online' + }, + metric: { + totalAmount: 'Total Amount', + totalUsers: 'Total Users', + femaleUsers: 'Female', + maleUsers: 'Male', + rooms: 'Rooms' + }, + relativeTime: { + justNow: 'Just now', + minuteAgo: '{count} minute ago', + minutesAgo: '{count} minutes ago', + hourAgo: '{count} hour ago', + hoursAgo: '{count} hours ago', + dayAgo: '{count} day ago', + daysAgo: '{count} days ago' + } + }, goldRunningWater: { dialog: { title: 'User Gold Transaction Records' diff --git a/src/lang/messages/pages/zh.js b/src/lang/messages/pages/zh.js index 0401443..98e9aae 100644 --- a/src/lang/messages/pages/zh.js +++ b/src/lang/messages/pages/zh.js @@ -5008,6 +5008,71 @@ export default { downloadFailed: '下载失败' } }, + orderReimburse: { + loading: '加载中', + filter: { + system: '系统', + sourcePlatform: '来源平台', + userId: '用户ID' + }, + date: { + rangeSeparator: '至', + start: '开始日期', + end: '结束日期' + }, + table: { + environment: '环境', + system: '系统', + event: '事件', + nickname: '昵称', + description: '描述', + platform: '平台', + paymentMethod: '支付方式', + unitPrice: '单价', + status: '状态', + freeTrial: '免费试用', + expireTime: '过期时间', + purchaseTime: '购买时间', + updateTime: '修改时间', + actions: '操作' + }, + action: { + search: '搜索', + details: '查看详情' + }, + word: { + yes: '是', + no: '否' + }, + orderStatus: { + REIMBURSE: '已退款' + } + }, + datav: { + title: '数据大屏', + subtitle: '实时数据预览', + section: { + purchaseUsers: '购买用户', + todayPaymentPreview: '今日付费预览', + aslanOnline: 'Aslan在线' + }, + metric: { + totalAmount: '总额', + totalUsers: '总人数', + femaleUsers: '女生', + maleUsers: '男生', + rooms: '房间' + }, + relativeTime: { + justNow: '刚刚', + minuteAgo: '{count}分钟前', + minutesAgo: '{count}分钟前', + hourAgo: '{count}小时前', + hoursAgo: '{count}小时前', + dayAgo: '{count}天前', + daysAgo: '{count}天前' + } + }, goldRunningWater: { dialog: { title: '用户金币流水' diff --git a/src/views/datav/index.vue b/src/views/datav/index.vue index a82ff4f..257f76f 100644 --- a/src/views/datav/index.vue +++ b/src/views/datav/index.vue @@ -6,8 +6,8 @@ @dblclick="screen" >
-
数据大屏
-
实时数据预览
+
{{ $t('pages.datav.title') }}
+
{{ $t('pages.datav.subtitle') }}
-
购买用户
+
{{ $t('pages.datav.section.purchaseUsers') }}
@@ -39,7 +39,7 @@ :span="24" >
-
今日付费预览
+
{{ $t('pages.datav.section.todayPaymentPreview') }}
@@ -48,7 +48,7 @@
-
Atyou在线
+
{{ $t('pages.datav.section.aslanOnline') }}
@@ -119,62 +119,82 @@ export default { diff --git a/src/views/datav/latest-purchase-timchat.vue b/src/views/datav/latest-purchase-timchat.vue index e2bc83e..ff24e12 100644 --- a/src/views/datav/latest-purchase-timchat.vue +++ b/src/views/datav/latest-purchase-timchat.vue @@ -4,7 +4,7 @@