# 游戏功能模块实现文档 ## 概述 本文档记录了所有游戏功能模块的实现细节,包括命令、参数、响应处理和UI展示。 --- ## 一、每日功能模块 ### 1. 队伍阵容 (TeamStatus.vue) **组件位置**: `src/components/TeamStatus.vue` **功能描述**: 显示和切换队伍阵容 **命令**: - 获取队伍信息: `presetteam_getinfo` - 参数: `{}` - 响应: 存储在 `tokenStore.gameData.presetTeam` - 切换队伍: `presetteam_saveteam` - 参数: `{ teamId: number }` - 响应: 更新当前使用的队伍ID **数据结构**: ```javascript { useTeamId: number, // 当前使用的队伍ID (1-4) teams: { [teamId]: { teamInfo: { [position]: { heroId: number, level: number, ... } } } } } ``` **UI显示**: - 队伍选择器 (1-4按钮) - 当前队伍阵容 (英雄头像列表) - 刷新按钮 --- ### 2. 每日任务 (DailyTaskStatus.vue) **组件位置**: `src/components/DailyTaskStatus.vue` **功能描述**: 显示每日任务完成状态 **命令**: - 任务数据通过角色信息获取: `role_getroleinfo` - 参数: `{}` - 响应: 存储在 `tokenStore.gameData.roleInfo` **UI显示**: - 任务列表 - 完成状态标识 - 进度条 --- ### 3. 咸将塔 (TowerStatus.vue) **组件位置**: `src/components/TowerStatus.vue` **功能描述**: 爬塔功能 **命令**: - 获取塔信息: `tower_getinfo` - 参数: `{}` - 响应: 存储在 `tokenStore.gameData.roleInfo.role.tower` - 开始爬塔: `fight_starttower` - 参数: `{}` - 响应: 爬塔结果 **数据结构**: ```javascript { tower: { id: number, // 塔层ID (floor*10 + layer) energy: number // 剩余体力 } } ``` **UI显示**: - 当前层数 (floor-layer) - 剩余体力 - 爬塔按钮 --- ### 4. 挂机时间 **组件位置**: `src/components/GameStatus.vue` (内联代码) **功能描述**: 挂机时间管理 **命令**: - 加钟: `system_mysharecallback` - 参数: `{ isSkipShareCard: true, type: 2 }` - 发送4次,间隔300ms - 领取奖励: `system_claimhangupreward` - 参数: `{}` - 配合分享回调使用 **数据结构**: ```javascript { hangUp: { lastTime: number, // 开始挂机时间 hangUpTime: number, // 挂机总时长 remainingTime: number, // 剩余时间 elapsedTime: number // 已挂机时间 } } ``` **UI显示**: - 挂机倒计时 - 已挂机时间 - 加钟按钮 - 领取奖励按钮 --- ### 5. 咸鱼大冲关 **组件位置**: `src/components/GameStatus.vue` (内联代码) **功能描述**: 自动答题功能 **命令**: - 开始答题: `study_startgame` - 参数: `{}` - 自动答题流程由 tokenStore 处理 **数据结构**: ```javascript { studyStatus: { isAnswering: boolean, isCompleted: boolean, questionCount: number, answeredCount: number, status: string, timestamp: number } } ``` **UI显示**: - 答题状态标识 - 进度显示 - 一键答题按钮 --- ### 6. 盐罐机器人 **组件位置**: `src/components/GameStatus.vue` (内联代码) **功能描述**: 盐罐机器人管理 **命令**: - 停止: `bottlehelper_stop` - 参数: `{}` - 启动: `bottlehelper_start` - 参数: `{}` **数据结构**: ```javascript { bottleHelpers: { helperStopTime: number // 停止时间戳 } } ``` **UI显示**: - 运行状态 - 剩余时间倒计时 - 启动/重启按钮 --- ## 二、俱乐部功能模块 ### 1. 俱乐部签到 **组件位置**: `src/components/GameStatus.vue` (内联代码) **功能描述**: 俱乐部每日签到 **命令**: - 签到: `legion_signin` - 参数: `{}` - 响应: 更新角色信息 **数据结构**: ```javascript { statisticsTime: { 'legion:sign:in': number // 签到时间戳 } } ``` **UI显示**: - 签到状态 - 俱乐部名称 - 签到按钮 --- ### 2. 俱乐部赛车 (CarManagement.vue) **组件位置**: `src/components/CarManagement.vue` **功能描述**: 赛车管理和比赛 **命令**: (需要查看CarManagement组件) - 相关命令在该组件中定义 **UI显示**: - 赛车信息 - 比赛状态 - 操作按钮 --- ### 3. 俱乐部信息 (ClubInfo.vue) **组件位置**: `src/components/ClubInfo.vue` **功能描述**: 显示俱乐部详细信息 **命令**: - 获取俱乐部信息: `legion_getinfo` - 参数: `{}` - 响应: 存储在 `tokenStore.gameData.legionInfo` **数据结构**: ```javascript { legionInfo: { info: { id: number, name: string, level: number, power: number, leaderId: number, members: { [roleId]: memberInfo } } } } ``` **UI显示**: - 俱乐部概览 (战力、段位、成员数等) - 成员列表 - 盐场战绩 --- ### 4. 俱乐部排位 **组件位置**: `src/components/GameStatus.vue` (内联代码) **功能描述**: 俱乐部排位报名 **命令**: - 报名排位: `legionmatch_rolesignup` - 参数: `{}` - 响应: 更新报名状态 **数据结构**: ```javascript { statistics: { 'last:legion:match:sign:up:time': number // 报名时间戳 } } ``` **UI显示**: - 报名状态 - 赛事说明 - 报名按钮 --- ## 三、活动功能模块 ### 1. 月度任务 **组件位置**: `src/components/GameStatus.vue` (内联代码) **功能描述**: 月度钓鱼和竞技场任务管理 **命令**: - 获取月度数据: `activity_get` - 参数: `{}` - 响应: 月度活动数据 - 钓鱼: `artifact_lottery` - 参数: `{ lotteryNumber: number, newFree: true, type: 1 }` - 免费3次后消耗资源 - 竞技场开始: `arena_startarea` - 参数: `{}` - 获取目标: `arena_getareatarget` - 参数: `{ refresh: boolean }` - 战斗: `fight_startareaarena` - 参数: `{ targetId: number }` **数据结构**: ```javascript { monthActivity: { myMonthInfo: { '2': { num: number } // 钓鱼次数 }, myArenaInfo: { num: number // 竞技场次数 } } } ``` **目标值**: - 钓鱼: 320次/月 - 竞技场: 240次/月 **UI显示**: - 钓鱼进度 - 竞技场进度 - 剩余天数 - 补齐按钮 - 一键完成按钮 --- ### 2. 咸将升级模块 (UpgradeModule.vue) **组件位置**: `src/components/UpgradeModule.vue` **功能描述**: 批量咸将升星和图鉴升级 **命令**: - 咸将升星: `hero_heroupgradestar` - 参数: `{ heroId: number }` - 批量执行 - 图鉴升级: `book_upgrade` - 参数: `{ heroId: number }` - 批量执行 - 领取图鉴奖励: `book_claimpointreward` - 参数: `{}` - 可配置次数 **咸将ID范围**: - 第一批: 101-120 - 第二批: 201-228 - 第三批: 301-314 **配置项**: - 升星次数: 1-100 - 图鉴升级次数: 1-100 - 领取奖励: 开关 - 领取奖励次数: 1-100 **执行顺序**: 固定为先升星后图鉴 **UI显示**: - 进度条 - 当前操作说明 - 配置项输入 - 开始升级按钮 --- ## 四、身份牌 (IdentityCard.vue) **组件位置**: `src/components/IdentityCard.vue` **功能描述**: 显示玩家基本信息 **数据来源**: `tokenStore.gameData.roleInfo` **UI显示**: - 玩家头像 - 玩家名称 - 等级、战力等基本信息 - 嵌入式显示模式 --- ## 重构方案 ### 新的组件结构 ``` GameStatus.vue (使用 n-tabs) ├── IdentityCard (常驻顶部) ├── Tab 1: 每日 │ ├── TeamStatus │ ├── DailyTaskStatus │ ├── TowerStatus │ ├── HangUpStatus (新建组件) │ ├── StudyStatus (新建组件) │ └── BottleHelperStatus (新建组件) ├── Tab 2: 俱乐部 │ ├── LegionSigninStatus (新建组件) │ ├── CarManagement │ ├── ClubInfo │ └── LegionMatchStatus (新建组件) └── Tab 3: 活动 ├── MonthlyTaskStatus (新建组件) └── UpgradeModule ``` ### 需要提取的内联组件 1. HangUpStatus - 挂机时间 2. StudyStatus - 咸鱼大冲关 3. BottleHelperStatus - 盐罐机器人 4. LegionSigninStatus - 俱乐部签到 5. LegionMatchStatus - 俱乐部排位 6. MonthlyTaskStatus - 月度任务 这些组件将保持原有的逻辑和UI,仅从GameStatus.vue中分离出来。