8.0 KiB
游戏功能模块实现文档
概述
本文档记录了所有游戏功能模块的实现细节,包括命令、参数、响应处理和UI展示。
一、每日功能模块
1. 队伍阵容 (TeamStatus.vue)
组件位置: src/components/TeamStatus.vue
功能描述: 显示和切换队伍阵容
命令:
-
获取队伍信息:
presetteam_getinfo- 参数:
{} - 响应: 存储在
tokenStore.gameData.presetTeam
- 参数:
-
切换队伍:
presetteam_saveteam- 参数:
{ teamId: number } - 响应: 更新当前使用的队伍ID
- 参数:
数据结构:
{
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- 参数:
{} - 响应: 爬塔结果
- 参数:
数据结构:
{
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- 参数:
{} - 配合分享回调使用
- 参数:
数据结构:
{
hangUp: {
lastTime: number, // 开始挂机时间
hangUpTime: number, // 挂机总时长
remainingTime: number, // 剩余时间
elapsedTime: number // 已挂机时间
}
}
UI显示:
- 挂机倒计时
- 已挂机时间
- 加钟按钮
- 领取奖励按钮
5. 咸鱼大冲关
组件位置: src/components/GameStatus.vue (内联代码)
功能描述: 自动答题功能
命令:
- 开始答题:
study_startgame- 参数:
{} - 自动答题流程由 tokenStore 处理
- 参数:
数据结构:
{
studyStatus: {
isAnswering: boolean,
isCompleted: boolean,
questionCount: number,
answeredCount: number,
status: string,
timestamp: number
}
}
UI显示:
- 答题状态标识
- 进度显示
- 一键答题按钮
6. 盐罐机器人
组件位置: src/components/GameStatus.vue (内联代码)
功能描述: 盐罐机器人管理
命令:
-
停止:
bottlehelper_stop- 参数:
{}
- 参数:
-
启动:
bottlehelper_start- 参数:
{}
- 参数:
数据结构:
{
bottleHelpers: {
helperStopTime: number // 停止时间戳
}
}
UI显示:
- 运行状态
- 剩余时间倒计时
- 启动/重启按钮
二、俱乐部功能模块
1. 俱乐部签到
组件位置: src/components/GameStatus.vue (内联代码)
功能描述: 俱乐部每日签到
命令:
- 签到:
legion_signin- 参数:
{} - 响应: 更新角色信息
- 参数:
数据结构:
{
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
- 参数:
数据结构:
{
legionInfo: {
info: {
id: number,
name: string,
level: number,
power: number,
leaderId: number,
members: { [roleId]: memberInfo }
}
}
}
UI显示:
- 俱乐部概览 (战力、段位、成员数等)
- 成员列表
- 盐场战绩
4. 俱乐部排位
组件位置: src/components/GameStatus.vue (内联代码)
功能描述: 俱乐部排位报名
命令:
- 报名排位:
legionmatch_rolesignup- 参数:
{} - 响应: 更新报名状态
- 参数:
数据结构:
{
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 }
- 参数:
数据结构:
{
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
需要提取的内联组件
- HangUpStatus - 挂机时间
- StudyStatus - 咸鱼大冲关
- BottleHelperStatus - 盐罐机器人
- LegionSigninStatus - 俱乐部签到
- LegionMatchStatus - 俱乐部排位
- MonthlyTaskStatus - 月度任务
这些组件将保持原有的逻辑和UI,仅从GameStatus.vue中分离出来。