# 页面裁剪任务清单

## 文档定位

- 本文件用于记录“只保留主要路由与项目原有路由页面”的页面裁剪任务。
- 路由保留依据以 `docs/i18n/主要路由.md` 中接口返回数据、`src/router/index.js` 中项目原有路由、以及这些页面实际引用的 `src/views` 私有组件为准。
- 首页必须保留，包含 `src/views/dashboard/index.vue` 及其被首页模块直接或间接引用的页面内组件。
- 公共组件 `src/components/**` 不在本轮直接批量删除范围内；只有确认没有任何页面引用后，再单独处理。
- 删除页面时必须同步检查 `src/lang/messages/pages/en.js` 和 `src/lang/messages/pages/zh.js`。如果翻译 key 只被被删页面私有使用，则随页面一并清理；如果被保留页面复用，则保留。

## 多线程领取规则

- 每次领取前必须重新读取本文件、`docs/i18n/页面裁剪任务记录/页面裁剪进度.md`、`docs/i18n/主要路由.md`、`docs/i18n/线程协作.md`、`docs/i18n/翻译清单.md`、`docs/i18n/翻译进度.md`。
- 先在本文件写入“进行中”认领记录，再开始删除源码文件或翻译 key。
- 每个线程一次只领取一个批次，避免交叉编辑同一批文件或同一段翻译命名空间。
- 完成后必须更新本文件和 `docs/i18n/页面裁剪任务记录/页面裁剪进度.md`，记录删除文件、翻译 key 处理结果、验证命令与未完成事项。
- 如果发现候选文件仍被保留页面引用，立即从待删除列表移到“保留复核”，并记录原因。

## 保留范围生成规则

1. 从 `docs/i18n/主要路由.md` 提取所有 `路径` 和原始接口 JSON 中的 `path`，映射到 `src/views/<path>.vue`。
2. 从 `docs/i18n/主要路由.md` 提取所有显式记录的 `src/views/**/*.vue` 文件。
3. 从 `src/router/index.js` 提取所有 `@/views/**` 原有路由入口。
4. 强制保留基础页：`src/views/dashboard/index.vue`、`src/views/login/index.vue`、`src/views/401.vue`、`src/views/404.vue`、`src/views/common/user_deatils.vue`。
5. 对以上入口执行 import/require 依赖闭包扫描；凡被保留页面直接或间接引用的 `src/views/**/*.vue` 私有组件一并保留。

## 当前统计

- 统计时间：2026-04-27
- 初始路由/文档种子：225
- 保留闭包内 `src/views/**/*.vue`：381
- 已删除候选 `src/views/**/*.vue`：62
- 复核后剩余候选 `src/views/**/*.vue`：0
- 当前领取线程：本线程
- 当前领取批次：无，状态：本轮完成

## 批次 1：低风险孤立页面

状态：已完成

领取时间：2026-04-24

领取范围：

- `src/views/activity/picture-config/form-edit.vue`
- `src/views/activity/picture-config/index.vue`
- `src/views/cnf/product/gift-pack/add.vue`
- `src/views/cnf/product/gift-pack/config.vue`
- `src/views/cnf/product/gift-pack/index.vue`
- `src/views/cnf/product/index.vue`
- `src/views/cnf/product/product-platform/edit-package.vue`
- `src/views/cnf/product/product-platform/edit.vue`
- `src/views/cnf/product/product-platform/index.vue`
- `src/views/cnf/product/product-platform/recommend.vue`
- `src/views/cnf/product/product-pool/edit.vue`
- `src/views/cnf/product/product-pool/index.vue`

执行要求：

- 删除前检查这些文件是否被保留闭包引用。
- 检查 `pages.*` 翻译 key；只清理确认为本批次私有的 key。
- 删除后执行一次引用扫描，确认没有保留文件继续引用本批次路径。

完成记录：

- 完成时间：2026-04-24
- 删除文件：12 个
- 翻译处理：本批次页面未使用 `pages.*` 页面翻译 key，无需清理 `src/lang/messages/pages/en.js` 与 `src/lang/messages/pages/zh.js`
- 引用复核：删除前未发现保留页面引用本批次路径

## 批次 2：孤立游戏与日志页面

状态：已完成

领取时间：2026-04-24

领取范围：

- `src/views/game/fruit/log/bet-record/index.vue`
- `src/views/game/lucky-box/award-config/details.vue`
- `src/views/game/lucky-box/award-config/edit.vue`
- `src/views/game/lucky-box/award-config/index.vue`
- `src/views/game/lucky-box/bounty-config/details.vue`
- `src/views/game/lucky-box/bounty-config/edit.vue`
- `src/views/game/lucky-box/bounty-config/index.vue`
- `src/views/game/lucky-box/fortune-config/index.vue`
- `src/views/game/lucky-box/give-record/index.vue`
- `src/views/game/lucky-box/standard-config/edit.vue`
- `src/views/game/lucky-box/standard-config/gift-details.vue`
- `src/views/game/lucky-box/standard-config/index.vue`
- `src/views/game/lucky-box/standard-config/probability.vue`
- `src/views/game/song/gift/edit.vue`
- `src/views/game/song/gift/index.vue`
- `src/views/game/song/hot/index.vue`
- `src/views/game/song/manager/edit.vue`
- `src/views/game/song/manager/index.vue`
- `src/views/game/song/manager/show.vue`
- `src/views/game/song/user/index.vue`
- `src/views/game/trumpet/blacklist/index.vue`
- `src/views/log/logout-apply/index.vue`
- `src/views/log/logout-log/index.vue`

执行要求：

- 删除前检查这些文件是否被保留闭包引用。
- 检查 `pages.*` 翻译 key；只清理确认为本批次私有的 key。
- 删除后执行一次引用扫描，确认没有保留文件继续引用本批次路径。

完成记录：

- 完成时间：2026-04-24
- 删除文件：23 个
- 翻译处理：已清理 `pages.luckyBoxGiftDetails`、`pages.luckyBoxStandardConfig`、`pages.luckyBoxAwardConfig`、`pages.luckyBoxBountyConfig`、`pages.luckyBoxFortuneConfig`
- 引用复核：删除前未发现保留页面引用本批次路径；仅存在同名后端 API URL 常量，不属于页面引用

## 批次 3：零散孤立页面

状态：已完成

领取时间：2026-04-24

领取范围：

- `src/views/dashboard/components/user-daily-currency-recharge-top/bar-graph-charts.vue`
- `src/views/datav/online-hourly-user-charts.vue`
- `src/views/datav/online-user-count.vue`
- `src/views/message/push/push-text-store.vue`
- `src/views/order/candy/running-water/db.vue`
- `src/views/props/props-send-tool/send-game-coupon.vue`
- `src/views/props/props-source-group/select-propsr-popover.vue`
- `src/views/sys/cp-cabin/form-edit.vue`
- `src/views/sys/cp-cabin/index.vue`
- `src/views/sys/user-recharge-blacklist/index.vue`
- `src/views/team/team-bill/team-member-add.vue`
- `src/views/team/team-bill/team-member-change.vue`
- `src/views/user/cp-confession/index.vue`

执行要求：

- 删除前检查这些文件是否被保留闭包引用。
- 检查 `pages.*` 翻译 key；只清理确认为本批次私有的 key。
- 删除后执行一次引用扫描，确认没有保留文件继续引用本批次路径。

完成记录：

- 完成时间：2026-04-24
- 删除文件：13 个
- 翻译处理：候选文件本身仅 `src/views/dashboard/components/user-daily-currency-recharge-top/bar-graph-charts.vue` 使用 `pages.dashboard.shared.*`，该 key 属于首页共享翻译，已保留；其余文件未使用页面翻译 key
- 引用复核：删除前未发现保留页面引用本批次路径

## 批次 4：红包邀请孤立页面

状态：已完成

领取时间：2026-04-24

领取范围：

- `src/views/sys/red-packet-invite-user/carousel-awards/edit.vue`
- `src/views/sys/red-packet-invite-user/carousel-awards/index.vue`
- `src/views/sys/red-packet-invite-user/config/index.vue`
- `src/views/sys/red-packet-invite-user/config/red-packet-invite-user-2fun.vue`
- `src/views/sys/red-packet-invite-user/config/red-packet-invite-user-aswat.vue`
- `src/views/sys/red-packet-invite-user/config/red-packet-invite-user-halar.vue`
- `src/views/sys/red-packet-invite-user/config/red-packet-invite-user-tarab.vue`
- `src/views/sys/red-packet-invite-user/draw-log/index.vue`
- `src/views/sys/red-packet-invite-user/help-log/index.vue`
- `src/views/sys/red-packet-invite-user/red-packet/index.vue`
- `src/views/sys/red-packet-invite-user/target/exchange.vue`
- `src/views/sys/red-packet-invite-user/target/index.vue`
- `src/views/sys/red-packet-invite-user/withdraw-transit/index.vue`

执行要求：

- 删除前检查这些文件是否被保留闭包引用。
- 检查 `pages.*` 翻译 key；只清理确认为本批次私有的 key。
- 删除后执行一次引用扫描，确认没有保留文件继续引用本批次路径。

完成记录：

- 完成时间：2026-04-24
- 删除文件：13 个
- 翻译处理：本批次页面未使用 `pages.*` 页面翻译 key，无需清理语言文件
- 引用复核：删除前未发现保留页面引用本批次路径；仅存在本批次内部引用和后端 API 文件引用

## 待领取候选

- 暂无。

## 批次 5：废弃主路由专项清理

状态：已完成

领取时间：2026-04-27

领取范围：

- `IM通讯 / IM Communication`
- `APP运行日志 / APP Runtime Logs`

执行结果：

- 已删除 `src/views/external/im.vue`。
- 已从 `src/router/index.js` 删除 `ExternalIm` 静态路由。
- 已从 `docs/i18n/主要路由.md` 删除两个页面的接口返回字段、明细项与摘要项。
- 已从 `docs/i18n/翻译清单.md`、`docs/i18n/翻译进度.md`、`docs/i18n/线程协作.md` 移除两个页面的翻译/协作历史记录，并将本次裁剪动作集中记录到本任务记录。
- 已删除 `src/api/table.js` 中仅服务缺失 `APP运行日志` 页面的 `breakdownFlow`、`deleteByPlatform`、`deleteByPlatformDate`。
- 已清理 `src/lang/messages/en.js`、`src/lang/messages/base/menu-en.js` 中两个废弃菜单的英文映射。

翻译处理：

- `src/views/external/im.vue` 无页面私有 `pages.*` 翻译 key。
- `APP运行日志` 入口文件本地缺失，无页面私有 `pages.*` 翻译 key。

## 保留复核

- 暂无。

## 已完成

- 批次 1：`src/views/activity/picture-config/**` 与 `src/views/cnf/product/**`，已删除 12 个页面，无页面私有翻译 key 需要清理。
- 批次 2：孤立游戏与日志页面，已删除 23 个页面，已清理 LuckyBox 私有翻译 key。
- 批次 3：零散孤立页面，已删除 13 个页面，无私有页面翻译 key 需要清理。
- 批次 4：红包邀请孤立页面，已删除 13 个页面，无页面私有翻译 key 需要清理。
- 批次 5：废弃主路由专项清理，已删除 `src/views/external/im.vue`，并移除 `APP运行日志`/`IM通讯` 的路由、接口路由文档、翻译记录和菜单翻译映射。

## 验证记录

- 2026-04-24：重新生成保留闭包，`src/views/**/*.vue` 总数 382，保留闭包 382，剩余候选 0。
- 2026-04-24：`node -c src/lang/messages/pages/en.js` 通过。
- 2026-04-24：`node -c src/lang/messages/pages/zh.js` 通过。
- 2026-04-24：直接执行 `npm run build:prod` 触发当前 Node 与 webpack 的既有 `ERR_OSSL_EVP_UNSUPPORTED`。
- 2026-04-24：改用 `$env:NODE_OPTIONS='--openssl-legacy-provider'; npm run build:prod` 构建通过，保留项目既有 warning。
- 2026-04-27：`src/views/**/*.vue` 总数为 381，已删除 `src/views/external/im.vue`。
- 2026-04-27：除本任务记录归档说明外，`docs` 与 `src` 中未再检出 `ExternalIm`、`external/im`、`Breakdown`、`log/breakdown/index`、`IM通讯`、`APP运行日志`。
- 2026-04-27：`npm run build:prod` 构建通过，保留项目既有 17 个 warning 与 Sass deprecation 提示。
