# 前端 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(url: string, params?: any): Promise` - 发送 GET 请求 - `post(url: string, data?: any): Promise` - 发送 POST 请求 - `put(url: string, data?: any): Promise` - 发送 PUT 请求 - `delete(url: string): Promise` - 发送 DELETE 请求 ### i18n.ts **功能**:国际化工具 **方法**: - `loadLanguage(language: string): Promise` - 加载指定语言 - `t(key: string): string` - 翻译指定键 - `getCurrentLanguage(): string` - 获取当前语言 ### router.ts **功能**:路由工具 **方法**: - `navigateTo(path: string): void` - 导航到指定路径 - `goBack(): void` - 返回上一页 - `getCurrentRoute(): string` - 获取当前路由 ## 状态管理 前端使用 Vue 的响应式系统进行状态管理,主要状态包括: - `mods` - 模组列表 - `templates` - 模板列表 - `settings` - 用户设置 - `currentMode` - 当前模式 - `isLoading` - 加载状态 - `error` - 错误信息 ## API 调用 前端通过以下方式与后端进行交互: 1. **HTTP 请求**:使用 axios 发送 RESTful API 请求 2. **WebSocket**:使用 WebSocketHandler 组件进行实时通信 3. **本地存储**:使用 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 ```