/* * @Author: fxs bjnsfxs@163.com * @Date: 2024-08-20 17:24:06 * @LastEditors: fxs bjnsfxs@163.com * @LastEditTime: 2025-04-07 * @Description: * */ import type { AxiosResponse } from 'axios' import type { ResponseInfo } from '@/types/res' import { MessageType } from '@/types/res' import { ElMessage } from 'element-plus' import BASE_URL from '../../config/api' import 'element-plus/theme-chalk/el-message.css' import 'element-plus/theme-chalk/el-message-box.css' export function useRequest() { const baseURL = BASE_URL const AllApi = { getGameTable: `/user/getGidConfig`, // 获取游戏列表 getUserTable: `/user/userList`, // 获取用户列表 addGame: `/user/addGidConfig`, // 添加/修改 游戏配置 userLogin: `/user/login`, // 登录 addOption: `/user/addUserOption`, // 添加/修改 权限 addUserToBlack: `/user/addUserToBlackList`, // 封禁用户 deleteUserToBlack: `/user/deleteUserToBlackList`, // 解封用户 getInterfaceInfo: `/user/getInterfaceInfo`, // 拿到所有接口的信息 getInterfaceDataByDay: `/user/getInterfaceDataByDay`, //获取接口的请求频次 (按天) getRefreshToken: `/user/refreshToken`, // 刷新token getOverViewData: `/user/overview`, // 总览数据 // 数据分析相关URL timeDistributionData: `/user/timeDistributionData`, //用户概览 -时段分布 userSummary: `/user/summary`, //用户概览 -总览 userMouthDistributionData: `/user/mouthDistributionData`, //用户概览 -30日趋势 userTrendsOverview: `/user/userTrendsOverview`, //用户趋势 -总览 userDataTrades: `/user/dataTrades`, //用户趋势 -数据趋势 userDataTradesDetail: `/user/dataTradesDetail`, //用户趋势 -数据趋势详情 userRemainDataBydDay: `/user/remainDataBydDay`, //用户留存数据 userBehaviorList: `/user/behaviorList`, // 用户行为 userBehaviorPieChart: `/user/behaviorListCake`, // 用户行为饼图数据 userAdRelatedList: `/user/adRelatedList`, // 广告用户数据 // 事件相关 // 事件 gameActionList: `/user/gameActionList`, // 游戏事件列表 gameActionDetail: `/user/gameActionDetail`, // 事件详情 updateGameAction: `/user/updateGameAction`, // 更新游戏事件 setGameAction: `/user/setGameAction`, // 新增事件 // 事件参数 gameActionOptionList: `/user/gameActionOptionList`, // 获取事件参数列表 addGameActionOption: `/user/addGameActionOption`, // 新增事件参数 updateGameActionOption: `/user/updateGameActionOption`, // 更新事件参数 deleteGameActionOption: `/user/deleteGameActionOption`, // 删除事件参数 // 事件分析 userActionDetailDistribution: `/user/userActionDetailDistribution`, // 事件统计趋势图 userActionDetail: `/user/userActionDetail`, // 事件统计详情 userActionList: `/user/userActionList`, // 游戏事件统计列表 userActionListExpand: `/user/userActionOptionList`, // 事件选项统计详情 // 用户转化条件 gameConditionList: `/user/gameConditionList`, // 广告列表 setGameCondition: `/user/setGameCondition`, // 编辑游戏用户转化条件 // 广告数据 userAdsOverview: `/user/userAdsOverview`, // 用户广告数据总览 userAdsDaily: `/user/userAdsDaily`, // 广告每日数据曲线 userAdsDetail: `/user/userAdsDetail`, // 广告数据列表 adListChart: `/user/userAdsCake`, // 广告列表图表数据 // 文件管理 fileList: `/file/fileList`, // 文件列表 fileUploadToServer: `/upload`, // 上传到服务器 fileUploadToTencent: `/file/localFileToService`, // 上传到腾讯云 fileManageDeleteFile: `/file/fileDelete` // 删除文件 } /** * @description: 根据返回码给出提示 * @param data 返回的数据 * @param kind 提示类型 * @param showMsg 是否显示提示 */ const analysisResCode = ( data: AxiosResponse, kind = '请求', showMsg = true ): Promise => { return new Promise((resolve, reject) => { const info = JSON.parse(JSON.stringify(data)) as ResponseInfo let type: MessageType = MessageType.Success let message = info.msg const kindText = kind === 'login' ? '登录' : '请求' switch (info.code) { case 0: { type = MessageType.Success message = `${kindText}成功` resolve(info) } break default: { type = MessageType.Error reject(info.msg) } } if (showMsg) { ElMessage({ type, message, duration: 1000 }) } }) } return { AllApi, baseURL, analysisResCode } }