Skip to content

API 概览

GTAModx Manager (G2M) 提供了完整的 API 接口,用于管理 GTA III、VC、SA 的 MOD 和 CLEO 脚本。

架构

G2M 采用 Tauri 架构,包含:

  • 后端 API (Rust): Tauri 命令,处理文件系统操作、游戏检测、MOD 安装等
  • 前端 API (TypeScript): Vue Composables,提供类型安全的 API 调用封装

API 分类

后端 Tauri 命令

所有后端命令都通过 tauriInvoke 调用,返回统一的 ApiResponse<T> 格式。

前端 Composables

前端提供了多个 composable 函数,封装了 API 调用逻辑,提供更好的类型安全和错误处理。

响应格式

所有 API 调用都返回统一的响应格式:

typescript
interface ApiResponse<T> {
  success: boolean
  data?: T
  error?: string
}

快速开始

使用前端 Composables

typescript
// 方式 1:使用 useGameList(推荐)
import { useGameList } from '~/composables/ui/useGameList'

const { games, fetchGames } = useGameList()
await fetchGames()
console.log(games.value)

// 方式 2:使用 useGameApi
import { useGameApi } from '~/composables/api/useGameApi'

const gameApi = useGameApi()
await gameApi.getGames()
console.log(gameApi.games.value)

// 获取 MOD 列表
import { useModApi } from '~/composables/api/useModApi'

const modApi = useModApi()
const mods = await modApi.getGameMods(gameDir)

// 获取应用信息
import { useAppInfo } from '~/composables/api/useApp'

const { getAppInfo } = useAppInfo()
const appInfo = await getAppInfo()

直接调用 Tauri 命令

typescript
import { tauriInvoke } from '~/utils/tauri'

const response = await tauriInvoke('get_games')
if (response.success) {
  console.log(response.data)
}

注意: 在非 Tauri 环境中,tauriInvoke 会自动使用 Mock API 进行开发测试。