8 changed files with 59 additions and 136 deletions
-
2activitylink/.env.development
-
12activitylink/package-lock.json
-
1activitylink/package.json
-
10activitylink/src/api/manage/level.js
-
2activitylink/src/main.js
-
140activitylink/src/utils/request.js
-
20activitylink/src/views/zhongchou/level/index.vue
-
8activitylink/vite.config.js
@ -0,0 +1,10 @@ |
|||
|
|||
import request from '@/utils/request' |
|||
|
|||
export function deleteUser(id) { |
|||
return request({ |
|||
url: '/admin/user/delete', |
|||
method: 'post', |
|||
params: { id } |
|||
}) |
|||
} |
@ -1,130 +1,30 @@ |
|||
|
|||
import axios from 'axios' |
|||
import { ElMessage } from 'element-plus' |
|||
import { config } from '@/config' |
|||
|
|||
const ERROR_MESSAGES = { |
|||
badRequest: '请求错误(400)', |
|||
unauthorized: '未授权,请登录(401)', |
|||
forbidden: '拒绝访问(403)', |
|||
notFound: `请求地址出错: ${'[具体 URL 将在这里被替换]'}`, |
|||
methodNotAllowed: '请求方法未允许(405)', |
|||
requestTimeout: '请求超时(408)', |
|||
internalServerError: '服务器内部错误(500)', |
|||
notImplemented: '服务未实现(501)', |
|||
badGateway: '网络错误(502)', |
|||
serviceUnavailable: '服务不可用(503)', |
|||
gatewayTimeout: '网络超时(504)', |
|||
httpVersionNotSupported: 'HTTP 版本不受支持(505)', |
|||
defaultConnectionError: '连接错误: [原始错误消息]', |
|||
networkError: '网络异常,请检查后重试!', |
|||
serverFailure: '连接到服务器失败,请联系管理员' |
|||
} |
|||
|
|||
// 创建基础实例
|
|||
const service = axios.create({ |
|||
baseURL: '', // url = base url + request url+
|
|||
// timeout: 50000,
|
|||
withCredentials: false // send cookies when cross-domain requests
|
|||
// headers: {
|
|||
// // clear cors
|
|||
// 'Cache-Control': 'no-cache',
|
|||
// Pragma: 'no-cache'
|
|||
// }
|
|||
baseURL: import.meta.env.VITE_APP_BASE_API, |
|||
timeout: 10000 |
|||
}) |
|||
|
|||
const setErrorMsg = (error) => { |
|||
if (error && error.response) { |
|||
switch (error.response.status) { |
|||
case 400: |
|||
error.message = ERROR_MESSAGES.badRequest |
|||
break |
|||
case 401: |
|||
error.message = ERROR_MESSAGES.unauthorized |
|||
break |
|||
case 403: |
|||
error.message = ERROR_MESSAGES.forbidden |
|||
break |
|||
case 404: |
|||
error.message = ERROR_MESSAGES.notFound.replace( |
|||
'[具体 URL 将在这里被替换]', |
|||
error.response.config.url |
|||
) |
|||
break |
|||
case 405: |
|||
error.message = ERROR_MESSAGES.methodNotAllowed |
|||
break |
|||
case 408: |
|||
error.message = ERROR_MESSAGES.requestTimeout |
|||
break |
|||
case 500: |
|||
error.message = ERROR_MESSAGES.internalServerError |
|||
break |
|||
case 501: |
|||
error.message = ERROR_MESSAGES.notImplemented |
|||
break |
|||
case 502: |
|||
error.message = ERROR_MESSAGES.badGateway |
|||
break |
|||
case 503: |
|||
error.message = ERROR_MESSAGES.serviceUnavailable |
|||
break |
|||
case 504: |
|||
error.message = ERROR_MESSAGES.gatewayTimeout |
|||
break |
|||
case 505: |
|||
error.message = ERROR_MESSAGES.httpVersionNotSupported |
|||
break |
|||
default: |
|||
error.message = ERROR_MESSAGES.defaultConnectionError.replace( |
|||
'[原始错误消息]', |
|||
error.message |
|||
) |
|||
} |
|||
} else { |
|||
if (error.message === 'Network Error') { |
|||
error.message = ERROR_MESSAGES.networkError |
|||
} else { |
|||
error.message = ERROR_MESSAGES.serverFailure |
|||
} |
|||
} |
|||
return error.message |
|||
} |
|||
|
|||
// Request interceptors
|
|||
service.interceptors.request.use( |
|||
(config) => { |
|||
// 在此处添加请求头等,如添加 token
|
|||
// if (store.state.token) {
|
|||
// config.headers['Authorization'] = `Bearer ${store.state.token}`
|
|||
// }
|
|||
return config |
|||
}, |
|||
(error) => { |
|||
return Promise.reject(error) |
|||
} |
|||
) |
|||
// 请求拦截器(简化版)
|
|||
service.interceptors.request.use(config => { |
|||
// 添加token逻辑(如果存在)
|
|||
const token = localStorage.getItem('token') |
|||
if (token) { |
|||
config.headers['Authorization'] = 'Bearer ' + token |
|||
} |
|||
return config |
|||
}) |
|||
|
|||
// Response interceptors
|
|||
// 响应拦截器(简化版)
|
|||
service.interceptors.response.use( |
|||
async (response) => { |
|||
// await new Promise(resovle => setTimeout(resovle, 3000));
|
|||
// if (response.config.loadingInstance) {
|
|||
// response.config.loadingInstance.close();
|
|||
// }
|
|||
const res = response.data |
|||
if (res.code !== 200) { |
|||
const errorMsg = res.msg || 'Unkonw error' |
|||
// ElMessage.error(errorMsg)
|
|||
// return Promise.reject(new Error(res.msg || 'Error'))
|
|||
return response.data |
|||
} else { |
|||
return response.data |
|||
} |
|||
}, |
|||
(error) => { |
|||
const errorMessage = setErrorMsg(error) |
|||
ElMessage.error(errorMessage) |
|||
return Promise.reject(error) |
|||
} |
|||
response => response.data, |
|||
error => { |
|||
ElMessage.error(error.message || '请求错误') |
|||
return Promise.reject(error) |
|||
} |
|||
) |
|||
|
|||
export default service |
|||
export default service |
@ -1,14 +1,12 @@ |
|||
// vite.config.js
|
|||
import { defineConfig } from 'vite' |
|||
import vue from '@vitejs/plugin-vue' |
|||
import path from 'path' // 需要引入 path 模块
|
|||
import path from 'path' |
|||
|
|||
export default defineConfig({ |
|||
plugins: [vue()], |
|||
resolve: { |
|||
alias: { |
|||
'@': path.resolve(__dirname, './src') // 将 @ 映射为 src 目录
|
|||
}, |
|||
extensions: ['.js', '.vue', '.json', '.mjs'] // 确保支持 .js 文件
|
|||
'@': path.resolve(__dirname, './src') |
|||
} |
|||
} |
|||
}) |
Write
Preview
Loading…
Cancel
Save
Reference in new issue