import request from '@/utils/request' import axios from 'axios' const messageDispatcherRequest = axios.create({ baseURL: '/api', timeout: 10000 }) messageDispatcherRequest.interceptors.request.use( (config) => { const accessToken = sessionStorage.getItem('accessToken') if (accessToken) { config.headers.Authorization = `Bearer ${accessToken}` } return config }, (error) => { return Promise.reject(error) } ) // ==================== 认证相关 API (通过 message-dispatcher) ==================== export async function login(username, password) { const res = await messageDispatcherRequest.post('/auth/login', { username, password }) if (res.data.success) { return res.data.data } throw new Error(res.data.message || '登录失败') } export async function refreshToken(refreshToken) { const res = await messageDispatcherRequest.post('/auth/refresh', { refreshToken }) if (res.data.success) { return res.data.data } throw new Error(res.data.message || '刷新令牌失败') } export async function logout(refreshToken) { const res = await messageDispatcherRequest.post('/auth/logout', { refreshToken }) if (res.data.success) { return res.data.data } throw new Error(res.data.message || '登出失败') } export async function getMe() { const res = await messageDispatcherRequest.get('/auth/me') if (res.data.success) { return res.data.data } throw new Error(res.data.message || '获取用户信息失败') } // ==================== 实例相关 API (通过 message-dispatcher) ==================== export async function getInstances() { const res = await messageDispatcherRequest.get('/instances') if (res.data.success) { return res.data.data } throw new Error(res.data.message || '获取实例列表失败') } export async function getInstance(instanceId) { const res = await messageDispatcherRequest.get(`/instances/${instanceId}`) if (res.data.success) { return res.data.data } throw new Error(res.data.message || '获取实例详情失败') } export async function checkInstanceHealth(instanceId) { const res = await messageDispatcherRequest.post(`/instances/${instanceId}/health-check`) if (res.data.success) { return res.data.data } throw new Error(res.data.message || '检查实例健康状态失败') } export async function checkOfflineInstancesHealth() { const res = await messageDispatcherRequest.post('/instances/health-check-offline') if (res.data.success) { return res.data.data } throw new Error(res.data.message || '检查离线实例失败') } export async function checkAllInstancesHealth() { const res = await messageDispatcherRequest.post('/instances/health-check-all') if (res.data.success) { return res.data.data } throw new Error(res.data.message || '检查全部实例失败') } // ==================== 桥接器相关 API ==================== export async function getMessageDispatcherHealth() { const res = await messageDispatcherRequest.get('/health') if (res.data.success) { return res.data.data } throw new Error(res.data.message || '请求失败') } export async function getBridges() { const res = await messageDispatcherRequest.get('/bridges') if (res.data.success) { return res.data.data } throw new Error(res.data.message || '请求失败') } export async function getBridge(bridgeId) { const res = await messageDispatcherRequest.get(`/bridges/${bridgeId}`) if (res.data.success) { return res.data.data } throw new Error(res.data.message || '请求失败') } export async function getDispatcherOverview() { const res = await messageDispatcherRequest.get('/overview') if (res.data.success) { return res.data.data } throw new Error(res.data.message || '请求失败') } // ==================== 配置相关 API (保持旧接口兼容) ==================== export function getConfig() { return request({ url: '/config', method: 'get' }) } export function updateConfig(data) { return request({ url: '/config', method: 'put', data }) } export function getMessageDispatcherConfig() { return request({ url: '/config/message-dispatcher', method: 'get' }) } export function updateMessageDispatcherConfig(data) { return request({ url: '/config/message-dispatcher', method: 'put', data }) } export function reconnectMessageDispatcher() { return request({ url: '/message-dispatcher/reconnect', method: 'post' }) } // ==================== 监控相关 API (保持旧接口兼容) ==================== export function getMonitorOverview() { return request({ url: '/monitor/overview', method: 'get' }) } export function healthCheck() { return request({ url: '/health', method: 'get' }) } // ==================== 任务相关 API (保持旧接口兼容) ==================== export function getTasks(status) { return request({ url: '/tasks', method: 'get', params: { status } }) } export function getTask(taskId) { return request({ url: `/tasks/${taskId}`, method: 'get' }) } export function submitTask(data) { return request({ url: '/tasks', method: 'post', data }) } export function cancelTask(taskId) { return request({ url: `/tasks/${taskId}`, method: 'delete' }) } // 保持旧接口兼容 - 这些功能现已由 message-dispatcher 处理 export function addInstance(data) { console.warn('addInstance API 已废弃,实例配置应在桥接器端管理') return Promise.reject(new Error('API 已废弃')) } export function updateInstance(instanceId, data) { console.warn('updateInstance API 已废弃,实例配置应在桥接器端管理') return Promise.reject(new Error('API 已废弃')) } export function deleteInstance(instanceId) { console.warn('deleteInstance API 已废弃,实例配置应在桥接器端管理') return Promise.reject(new Error('API 已废弃')) }