明树Git Lab

Commit 70496eab authored by zhanghan's avatar zhanghan

1

parent 90642417
...@@ -3,19 +3,25 @@ import { ElMessage } from "element-plus"; ...@@ -3,19 +3,25 @@ import { ElMessage } from "element-plus";
import windowConfig from "@/window"; import windowConfig from "@/window";
import { useUserStore } from "@/stores/user.js"; import { useUserStore } from "@/stores/user.js";
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
axios.interceptors.request.use(function (config) { axios.interceptors.request.use(
function (config) {
const userStore = useUserStore(); const userStore = useUserStore();
let token = userStore.authToken || sessionStorage.getItem("authToken") || ""; let token =
userStore.authToken || sessionStorage.getItem("authToken") || "";
if (token) { if (token) {
config.headers.Authorization = token; config.headers.Authorization = token;
} }
return config; return config;
}, (err) => { },
(err) => {
return Promise.reject(err); return Promise.reject(err);
}); },
axios.interceptors.response.use(response => { );
axios.interceptors.response.use(
(response) => {
return response.data; return response.data;
}, err => { },
(err) => {
if (err && err.response) { if (err && err.response) {
switch (err.response.status) { switch (err.response.status) {
case 401: case 401:
...@@ -26,22 +32,25 @@ axios.interceptors.response.use(response => { ...@@ -26,22 +32,25 @@ axios.interceptors.response.use(response => {
err.msg = "网络连接错误"; err.msg = "网络连接错误";
} }
return Promise.reject(err); return Promise.reject(err);
}); },
);
export function $get ({ url, params = {}, callback, error }) { export function $get({ url, params = {}, callback, error }) {
const userStore = useUserStore(); const userStore = useUserStore();
return axios({ return axios({
method: "get", method: "get",
url: windowConfig.baseUrl + url, url: windowConfig.baseUrl + url,
params params,
}).then(response => { })
.then((response) => {
try { try {
callback && callback(response.data); callback && callback(response.data);
} catch (cbErr) { } catch (cbErr) {
console.error("callback error:", cbErr); console.error("callback error:", cbErr);
} }
return response; return response;
}).catch((err) => { })
.catch((err) => {
console.log(err); console.log(err);
error && error(err); error && error(err);
ElMessage.error(err.msg || "操作失败"); ElMessage.error(err.msg || "操作失败");
...@@ -50,25 +59,27 @@ export function $get ({ url, params = {}, callback, error }) { ...@@ -50,25 +59,27 @@ export function $get ({ url, params = {}, callback, error }) {
router.replace("/login"); router.replace("/login");
} }
}); });
}; }
// 祛除空字符串
function removeEmptyStrings (obj) { function removeEmptyStrings(obj) {
if (Array.isArray(obj)) return obj.map(removeEmptyStrings); if (Array.isArray(obj)) return obj.map(removeEmptyStrings);
if (obj !== null && typeof obj === 'object') { if (obj !== null && typeof obj === "object") {
return Object.fromEntries( return Object.fromEntries(
Object.entries(obj) Object.entries(obj)
.filter(([, v]) => v !== '') .filter(([, v]) => v !== "")
.map(([k, v]) => [k, removeEmptyStrings(v)]) .map(([k, v]) => [k, removeEmptyStrings(v)]),
); );
} }
return obj; return obj;
} }
export function $post ({ url, data = {}, callback, error }) { export function $post({ url, data = {}, callback, error }) {
const router = useRouter(); const router = useRouter();
const userStore = useUserStore(); const userStore = useUserStore();
const cleanData = removeEmptyStrings(data); const cleanData = removeEmptyStrings(data);
return axios.post(windowConfig.baseUrl + url, cleanData).then((response) => { return axios
.post(windowConfig.baseUrl + url, cleanData)
.then((response) => {
if (response.code === 0) { if (response.code === 0) {
try { try {
callback && callback(response.data); callback && callback(response.data);
...@@ -79,7 +90,8 @@ export function $post ({ url, data = {}, callback, error }) { ...@@ -79,7 +90,8 @@ export function $post ({ url, data = {}, callback, error }) {
ElMessage.error(response.message); ElMessage.error(response.message);
} }
return response; return response;
}).catch((err) => { })
.catch((err) => {
console.log(err); console.log(err);
error && error(err); error && error(err);
ElMessage.error(err.msg || "操作失败"); ElMessage.error(err.msg || "操作失败");
...@@ -88,4 +100,4 @@ export function $post ({ url, data = {}, callback, error }) { ...@@ -88,4 +100,4 @@ export function $post ({ url, data = {}, callback, error }) {
router.replace("/login"); router.replace("/login");
} }
}); });
}; }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment