/* * @Author: fxs bjnsfxs@163.com * @Date: 2024-08-20 17:24:06 * @LastEditors: fxs bjnsfxs@163.com * @LastEditTime: 2024-09-05 17:12:43 * @FilePath: \Game-Backstage-Management-System\src\hooks\useRequest.ts * @Description: * */ import { ElMessage } from 'element-plus' import 'element-plus/theme-chalk/el-message.css' import 'element-plus/theme-chalk/el-message-box.css' import { MessageType } from '@/types/res' import type { AxiosResponse } from 'axios' import type { ResponseInfo } from '@/types/res' export function useRequest() { // const baseIp = 'http://server.ichunhao.cn' // 线上 const baseIp = 'http://192.168.1.139:8000' // 本地 const AllApi = { // mock: `http://127.0.0.1:8003/mock`, mockEvent: `http://127.0.0.1:8003/mockEvent`, getGameTable: `${baseIp}/user/getGidConfig`, // 获取游戏列表 getUserTable: `${baseIp}/user/userList`, // 获取用户列表 addGame: `${baseIp}/user/addGidConfig`, // 添加/修改 游戏配置 userLogin: `${baseIp}/user/login`, // 登录 addOption: `${baseIp}/user/addUserOption`, // 添加/修改 权限 addUserToBlack: `${baseIp}/user/addUserToBlackList`, // 封禁用户 deleteUserToBlack: `${baseIp}/user/deleteUserToBlackList`, // 解封用户 getInterfaceInfo: `${baseIp}/user/getInterfaceInfo`, // 拿到所有接口的信息 getInterfaceDataByDay: `${baseIp}/user/getInterfaceDataByDay`, //获取接口的请求频次 (按天) gerRefreshToken: `${baseIp}/user/refreshToken`, // 刷新token getOverViewData: `${baseIp}/user/overview`, // 总览数据 // 数据分析相关URL timeDistributionData: `${baseIp}/user/timeDistributionData`, //用户概览 -时段分布 userSummary: `${baseIp}/user/summary`, //用户概览 -总览 userMouthDistributionData: `${baseIp}/user/mouthDistributionData`, //用户概览 -30日趋势 userTrendsOverview: `${baseIp}/user/userTrendsOverview`, //用户趋势 -总览 userDataTrades: `${baseIp}/user/dataTrades`, //用户趋势 -数据趋势 userDataTradesDetail: `${baseIp}/user/dataTradesDetail`, //用户趋势 -数据趋势详情 userRemainDataBydDay: `${baseIp}/user/remainDataBydDay`, //用户留存数据 // 事件相关 gameActionList: `${baseIp}/user/gameActionList`, // 游戏事件列表 gameActionDetail: `${baseIp}/user/gameActionDetail`, // 事件详情 updateGameAction: `${baseIp}/user/updateGameAction`, // 更新游戏事件 gameActionOptionList: `${baseIp}/user/gameActionOptionList`, // 获取事件参数列表 addGameActionOption: `${baseIp}/user/addGameActionOption`, // 新增事件参数 updateGameActionOption: `${baseIp}/user/updateGameActionOption`, // 更新事件参数 deleteGameActionOption: `${baseIp}/user/deleteGameActionOption` // 删除事件参数 } const analysisResCode = (data: AxiosResponse, kind?: string): Promise => { return new Promise((resolve, reject) => { let info = JSON.parse(JSON.stringify(data)) as ResponseInfo let type: MessageType = MessageType.Success let message = info.msg let kindText = kind === 'login' ? '登录' : '请求' switch (info.code) { case 0: { type = MessageType.Success message = `${kindText}成功` resolve(info) } break default: { type = MessageType.Error reject(info.msg) } } ElMessage({ type, message, duration: 1000 }) }) } return { AllApi, analysisResCode } }