前端 API
概述
DeEarthX-CE 的前端模块使用 Vue 3 + Vite 开发,提供了用户界面和与后端的交互功能。本章节将详细介绍前端模块的 API 接口。
项目结构
前端模块包含以下主要目录:
src/components/- 组件目录src/views/- 页面视图目录src/utils/- 工具函数目录src/assets/- 资源文件目录lang/- 语言文件目录
组件
ModeSelector.vue
功能:模式选择组件,用于选择不同的操作模式
属性:
modes- 模式数组,包含模式名称和图标selectedMode- 当前选中的模式@mode-change- 模式变更事件
方法:
selectMode(mode: string): void- 选择指定模式
ProgressCard.vue
功能:进度卡片组件,用于显示操作进度
属性:
title- 卡片标题progress- 进度值(0-100)status- 状态(loading, success, error)message- 状态消息
方法:
updateProgress(progress: number): void- 更新进度setStatus(status: string, message: string): void- 更新状态
StepIndicator.vue
功能:步骤指示器组件,用于显示多步骤操作的进度
属性:
steps- 步骤数组currentStep- 当前步骤索引
方法:
goToStep(step: number): void- 跳转到指定步骤
WebSocketHandler.vue
功能:WebSocket 处理组件,用于与后端进行实时通信
属性:
url- WebSocket 服务器 URL@message- 接收消息事件@connected- 连接成功事件@disconnected- 连接断开事件
方法:
sendMessage(data: any): void- 发送消息connect(): void- 建立连接disconnect(): void- 断开连接
页面视图
Main.vue
功能:主页面组件
方法:
initializeApp(): void- 初始化应用loadUserSettings(): void- 加载用户设置handleModeChange(mode: string): void- 处理模式变更
DeEarthView.vue
功能:DeEarth 模式页面
方法:
loadMods(): void- 加载模组列表addMod(): void- 添加模组removeMod(modId: string): void- 移除模组toggleMod(modId: string): void- 切换模组状态
GalaxyView.vue
功能:Galaxy 模式页面
方法:
loadTemplates(): void- 加载模板列表createTemplate(): void- 创建模板applyTemplate(templateId: string): void- 应用模板exportTemplate(templateId: string): void- 导出模板
SettingView.vue
功能:设置页面
方法:
loadSettings(): void- 加载设置saveSettings(): void- 保存设置changeLanguage(language: string): void- 更改语言
AboutView.vue
功能:关于页面
方法:
loadVersionInfo(): void- 加载版本信息checkForUpdates(): void- 检查更新
TemplateView.vue
功能:模板管理页面
方法:
loadTemplates(): void- 加载模板列表createTemplate(): void- 创建模板editTemplate(templateId: string): void- 编辑模板deleteTemplate(templateId: string): void- 删除模板
ErrorView.vue
功能:错误页面
属性:
error- 错误信息
方法:
retry(): void- 重试操作goHome(): void- 返回首页
工具函数
axios.ts
功能:HTTP 请求工具
方法:
get<T>(url: string, params?: any): Promise<T>- 发送 GET 请求post<T>(url: string, data?: any): Promise<T>- 发送 POST 请求put<T>(url: string, data?: any): Promise<T>- 发送 PUT 请求delete<T>(url: string): Promise<T>- 发送 DELETE 请求
i18n.ts
功能:国际化工具
方法:
loadLanguage(language: string): Promise<void>- 加载指定语言t(key: string): string- 翻译指定键getCurrentLanguage(): string- 获取当前语言
router.ts
功能:路由工具
方法:
navigateTo(path: string): void- 导航到指定路径goBack(): void- 返回上一页getCurrentRoute(): string- 获取当前路由
状态管理
前端使用 Vue 的响应式系统进行状态管理,主要状态包括:
mods- 模组列表templates- 模板列表settings- 用户设置currentMode- 当前模式isLoading- 加载状态error- 错误信息
API 调用
前端通过以下方式与后端进行交互:
- HTTP 请求:使用 axios 发送 RESTful API 请求
- WebSocket:使用 WebSocketHandler 组件进行实时通信
- 本地存储:使用 localStorage 存储用户设置和缓存数据
语言支持
前端支持多种语言,语言文件位于 lang/ 目录:
zh_cn.json- 简体中文zh_tw.json- 繁体中文zh_hk.json- 香港中文en_us.json- 英文ja_jp.json- 日文fr_fr.json- 法文es_es.json- 西班牙文de_de.json- 德文
主题与样式
前端使用 Tailwind CSS 进行样式管理,支持响应式布局和主题定制。
构建与部署
开发模式
bash
npm run dev构建生产版本
bash
npm run build预览生产版本
bash
npm run preview