From ca55dbc8571bad03c19b64c3a9c6d8c6052cc939 Mon Sep 17 00:00:00 2001
From: PC-20250623MANY\Administrator <344137771@qq.com>
Date: Sun, 24 Aug 2025 16:35:40 +0800
Subject: [PATCH] 换头像
---
src/axios/index.js | 135 +++++++++++++++++++++++++-------------------
1 files changed, 76 insertions(+), 59 deletions(-)
diff --git a/src/axios/index.js b/src/axios/index.js
index 67185a9..f0d72d7 100644
--- a/src/axios/index.js
+++ b/src/axios/index.js
@@ -1,62 +1,73 @@
-import axios from 'axios' // 引入axios
-import qs from 'qs' // 引入qs
-import store from '../store'
-import APIUrl from './api.url' // 引入api.url.js
-import router from '../router'
+import axios from "axios"; // 引入axios
+import qs from "qs"; // 引入qs
+import store from "../store";
+import APIUrl from "../config/index"; // 引入config
+import router from "../router";
+import { Message } from "element-ui";
// axios 默认配置 更多配置查看Axios中文文档
-axios.defaults.timeout = 50000 // 超时默认值
-axios.defaults.baseURL = APIUrl.baseURL // 默认baseURL
-// axios.defaults.responseType = 'json' // 默认数据响应类型
-axios.defaults.headers.common['Content-Type'] = 'application/json;charset=UTF-8'
-axios.defaults.withCredentials = true // 表示跨域请求时是否需要使用凭证
+axios.defaults.timeout = 50000; // 超时默认值
+axios.defaults.baseURL = APIUrl.baseURL; // 默认baseURL
+axios.defaults.responseType = "json"; // 默认数据响应类型
+// axios.defaults.headers.common["Content-Type"] =
+// "application/json;charset=UTF-8";
+axios.defaults.headers.common["Content-Type"] =
+ "application/x-www-form-urlencoded";
+axios.defaults.withCredentials = true; // 表示跨域请求时是否需要使用凭证
// http request 拦截器
// 在ajax发送之前拦截 比如对所有请求统一添加header token
axios.interceptors.request.use(
- config => {
- // config.data = JSON.stringify(config.data);
- // config.headers = {
- // 'Content-Type':'application/x-www-form-urlencoded'
- // };
- // if (token) {
- // if (store.state.userId) {
- // config.headers.Authorization = `token ${store.state.userId}`;
- // }
- // console.log(config)
- var token = window.localStorage.getItem('tokens');
- config.headers["USERTOKEN"] = token ? token : '';
- return config
+ (config) => {
+ config.headers["lang"] = localStorage.getItem("language")
+ ? localStorage.getItem("language")
+ : "en";
+ var token = store.state.token || window.localStorage.getItem("tokens");
+ config.headers["USERTOKEN"] = token ? token : "";
+ return config;
},
- err => {
- return Promise.reject(err)
+ (err) => {
+ return Promise.reject(err);
}
-)
+);
// http response 拦截器
// ajax请求回调之前拦截 对请求返回的信息做统一处理 比如error为401无权限则跳转到登陆界面
axios.interceptors.response.use(
- response => {
- if (response.data.msg) {
- if (response.data.msg.indexOf('請先登錄') > -1 || response.data.msg.indexOf('請先登陸') > -1) {
- response.data.msg = '您還未登錄,請先登錄'
- window.localStorage.removeItem('tokens')
- store.state.haslogin = false
- //console.log(response.data)
- router.replace({
- path: 'login',
- })
- }
+ (response) => {
+ // console.log("response", response);
+ // 需要登录确没有登录时跳转到登录页面
+ if (response.data && response.data.status === 401) {
+ store.commit("undataToken", null);
+ window.localStorage.removeItem("USERTOKEN");
+ router.push("/login");
+ Message({
+ message: response.data.msg,
+ type: "warning",
+ });
+ return response.data;
}
- return response
+ // 正常通过获取到数据时
+ else if (response.data.status === 0) {
+ return response.data;
+ }
+ // 其他错误时
+ else {
+ Message({
+ message: response.data.msg,
+ type: "warning",
+ });
+ return response.data;
+ }
},
- error => {
- console.log(error)
- return Promise.reject(error)
+ (error) => {
+ console.log("error", error);
+ // return Promise.reject(error);
+ return error;
}
-)
+);
-export default axios // 这句千万不能漏下!!!
+export default axios; // 这句千万不能漏下!!!
/**
* post 方法封装
@@ -64,15 +75,18 @@
* @param data
* @returns {Promise}
*/
-export function post (url, data = {}) {
+export function post(url, data = {}) {
return new Promise((resolve, reject) => {
- axios.post(url, qs.stringify(data))
- .then(response => {
- resolve(response.data)
- }, err => {
- reject(err)
- })
- })
+ axios.post(url, qs.stringify(data)).then(
+ (response) => {
+ resolve(response);
+ },
+ (err) => {
+ console.log("post err", err);
+ reject(err);
+ }
+ );
+ });
}
/**
@@ -81,15 +95,18 @@
* @param data
* @returns {Promise}
*/
-export function get (url, data = {}) {
+export function get(url, data = {}) {
return new Promise((resolve, reject) => {
- axios.get(url, { params: data })
- .then(response => {
- resolve(response.data)
- }, err => {
- reject(err)
- })
- })
+ axios.get(url, { params: data }).then(
+ (response) => {
+ resolve(response);
+ },
+ (err) => {
+ console.log("get err", err);
+ // reject(err);
+ }
+ );
+ });
}
/**
--
Gitblit v1.9.3