yanglzh 3 rokov pred
rodič
commit
cdee9a066b

+ 1 - 0
.env.development

@@ -4,5 +4,6 @@ ENV = 'development'
 # 本地环境接口地址
 VITE_API_URL = 'http://101.200.198.249:8899/api/v1'
 VITE_IMG_URL = 'http://101.200.198.249:8899/'
+VITE_ASSESS_URL = 'http://zhgy.sagoo.cn/base-api/assess'
 # VITE_API_URL = 'http://sgadserver.wdeveloperw.xyz/api/v1'
 # VITE_IMG_URL = 'http://sgadserver.wdeveloperw.xyz/'

+ 2 - 1
.env.production

@@ -6,4 +6,5 @@ VITE_PUBLIC_PATH = /
 
 # 线上环境接口地址
 VITE_API_URL = 'http://101.200.198.249:8899/api/v1'
-VITE_IMG_URL = 'http://101.200.198.249:8899/'
+VITE_IMG_URL = 'http://101.200.198.249:8899/'
+VITE_ASSESS_URL = 'http://zhgy.sagoo.cn/base-api/assess'

+ 5 - 0
src/api/assess/index.ts

@@ -0,0 +1,5 @@
+import { get } from '/@/utils/request_assess';
+
+export default {
+  getList: (params?: object) => get('/history', params),
+}

+ 1 - 1
src/utils/request.ts

@@ -4,7 +4,7 @@ import { Session } from '/@/utils/storage';
 
 // 配置新建一个 axios 实例
 const service = axios.create({
-	baseURL: import.meta.env.VITE_API_URL as any,
+	baseURL: import.meta.env.VITE_API_URL,
 	timeout: 50000,
 	headers: { 'Content-Type': 'application/json' },
 });

+ 106 - 0
src/utils/request_assess.ts

@@ -0,0 +1,106 @@
+import axios from 'axios';
+import { ElMessage, ElMessageBox } from 'element-plus';
+import { Session } from '/@/utils/storage';
+
+// 配置新建一个 axios 实例
+const service = axios.create({
+	baseURL: import.meta.env.VITE_ASSESS_URL,
+	timeout: 50000,
+	headers: { 'Content-Type': 'application/json' },
+});
+
+// 添加请求拦截器
+service.interceptors.request.use(
+	(config) => {
+		// 在发送请求之前做些什么 token
+		if (Session.get('token')) {
+			(<any>config.headers).common['Authorization'] = `Bearer ${Session.get('token')}`;
+		}
+		return config;
+	},
+	(error) => {
+		// 对请求错误做些什么
+		return Promise.reject(error);
+	}
+);
+
+// 添加响应拦截器
+service.interceptors.response.use(
+	(response) => {
+		// 对响应数据做点什么
+		const res = response.data;
+		const code = response.data.code
+		if (code === 401) {
+			ElMessageBox.alert('登录状态已过期,请重新登录', '提示', { confirmButtonText: '确定' })
+				.then(() => {
+					Session.clear(); // 清除浏览器全部临时缓存
+					window.location.href = '/'; // 去登录页
+				})
+				.catch(() => { });
+		} else if (code !== 0) {
+			ElMessage.error(res.message)
+			return Promise.reject(new Error(res.message))
+		} else {
+			// 分页的数据
+			if (res.data?.Total !== undefined) {
+				return {
+					list: res.data.Data,
+					total: res.data.Total,
+					page: res.data.currentPage,
+					...res.data,
+				}
+			}
+			if (res.data?.Data) {
+				return res.data.Data 
+			}
+			if (res.data?.Data === undefined) {
+				return res.data
+			}
+		}
+	},
+	(error) => {
+		// 对响应错误做点什么
+		if (error.message.indexOf('timeout') != -1) {
+			ElMessage.error('网络超时');
+		} else if (error.message == 'Network Error') {
+			ElMessage.error('网络连接错误');
+		} else {
+			if (error.response.data) ElMessage.error(error.response.statusText);
+			else ElMessage.error('接口路径找不到');
+		}
+		return Promise.reject(error);
+	}
+);
+
+// 导出 axios 实例
+export default service;
+
+export function get(url: string, params?: any): any {
+	return service({
+		url,
+		method: "get",
+		params
+	})
+}
+
+export function post(url: string, data?: any): any {
+	return service({
+		url,
+		method: "post",
+		data
+	})
+}
+export function put(url: string, data?: any): any {
+	return service({
+		url,
+		method: "put",
+		data
+	})
+}
+export function del(url: string, data?: any): any{
+	return service({
+		url,
+		method: "delete",
+		data
+	})
+}