Files
xyzw_web_helper/MD说明文件夹/游戏功能实现文档.md
2025-10-17 20:56:50 +08:00

8.0 KiB
Raw Blame History

游戏功能模块实现文档

概述

本文档记录了所有游戏功能模块的实现细节包括命令、参数、响应处理和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

需要提取的内联组件

  1. HangUpStatus - 挂机时间
  2. StudyStatus - 咸鱼大冲关
  3. BottleHelperStatus - 盐罐机器人
  4. LegionSigninStatus - 俱乐部签到
  5. LegionMatchStatus - 俱乐部排位
  6. MonthlyTaskStatus - 月度任务

这些组件将保持原有的逻辑和UI仅从GameStatus.vue中分离出来。