Files
sionrui/frontend/app/web-gold/src/api
2025-11-11 23:51:17 +08:00
..
2025-11-11 23:51:17 +08:00
2025-11-11 23:51:17 +08:00
2025-11-11 23:51:17 +08:00
2025-11-11 23:51:17 +08:00
2025-11-11 23:51:17 +08:00
2025-11-11 23:51:17 +08:00
2025-11-11 23:51:17 +08:00
2025-11-11 23:51:17 +08:00
2025-11-11 23:51:17 +08:00
2025-11-10 00:59:40 +08:00

API 统一管理说明

📁 目录结构

api/
├── config.js          # API 基础配置(统一管理所有基础 URL
├── index.js           # 统一导出入口(所有 API 服务从这里导出)
├── http.js            # Axios 实例和拦截器
├── auth.js            # 认证相关 API
├── chat.js            # 聊天相关 API
├── common.js          # 通用服务 API
└── tikhub/            # TikHub 相关 API
    ├── index.js
    ├── tikhub.js
    └── types.js

🚀 使用方式

方式一:从统一入口导入(推荐)

// 导入所有 API
import { ChatMessageApi, AuthApi, CommonService, TikhubService } from '@/api'

// 或按需导入
import { ChatMessageApi } from '@/api'
import { AuthApi } from '@/api'

方式二:从具体文件导入(兼容旧代码)

// 仍然支持原有的导入方式
import { ChatMessageApi } from '@/api/chat'
import { CommonService } from '@/api/common'

方式三:使用配置工具函数

import { getApiUrl, API_BASE } from '@/api/config'

// 获取完整 API URL
const url = getApiUrl('ADMIN_AI', '/chat/conversation/create-my')
// 结果: /admin-api/ai/chat/conversation/create-my

// 直接使用配置
const baseUrl = API_BASE.ADMIN_AI

📝 API 配置说明

config.js

所有 API 基础 URL 统一在 config.js 中管理:

export const API_BASE = {
  ADMIN: '/admin-api',              // 管理后台基础路径
  APP: '/app-api',                  // 会员端基础路径
  ADMIN_AI: '/admin-api/ai',        // AI 模块(管理后台)
  APP_MEMBER: '/app-api/member',    // 会员模块
  TIKHUB: '/webApi/admin-api/ai/tikHup',      // TikHub管理后台
  TIKHUB_APP: '/app-api/api/tikHup', // TikHub会员端
}

添加新的 API 模块

  1. config.js 中添加新的基础路径:
export const API_BASE = {
  // ... 现有配置
  NEW_MODULE: `${BASE_URL}/admin-api/new-module`,
}
  1. 创建新的 API 文件(如 new-module.js
import request from '@/api/http'
import { API_BASE } from '@/api/config'

const BASE = API_BASE.NEW_MODULE

export const NewModuleApi = {
  getList: () => request.get(`${BASE}/list`),
  create: (data) => request.post(`${BASE}/create`, data),
}
  1. index.js 中导出:
export { NewModuleApi } from './new-module'

🔧 HTTP 实例

所有 API 都使用统一的 HTTP 实例(http.js),已配置:

  • 自动 Token 注入
  • 统一错误处理
  • 请求/响应拦截器
  • 白名单机制(无需 Token 的接口)

📌 注意事项

  1. 基础 URL 配置:所有 API 的基础 URL 都应该在 config.js 中定义,不要在业务文件中硬编码
  2. 统一导出:新增 API 服务后,记得在 index.js 中导出
  3. 向后兼容:保持原有的导入方式仍然可用,方便逐步迁移

🎯 最佳实践

  1. 使用统一入口:优先使用 @/api 统一导入
  2. 配置集中管理:所有 URL 配置都在 config.js
  3. 类型安全:使用 TypeScript 时,可以为 API 添加类型定义
  4. 错误处理:利用 HTTP 拦截器统一处理错误