From 089bf5d2378b3c4a61d795b2a92bede2c193b771 Mon Sep 17 00:00:00 2001
From: admin <344137771@qq.com>
Date: Tue, 06 Jan 2026 11:22:58 +0800
Subject: [PATCH] 1
---
src/utils/http.js | 172 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 172 insertions(+), 0 deletions(-)
diff --git a/src/utils/http.js b/src/utils/http.js
new file mode 100644
index 0000000..85b9234
--- /dev/null
+++ b/src/utils/http.js
@@ -0,0 +1,172 @@
+import axios from "axios";
+// import URL from "../config/index";
+import { Message } from "element-ui";
+import allTits from "../assets/lan/tits.js";
+import { signatureGenerate } from '@/utils/crypto'
+// import router from "../router.js";
+axios.defaults.timeout = 15000;
+axios.defaults.baseURL = URL.BASE_URL;
+//http request 拦截器
+axios.interceptors.request.use(
+ (config) => {
+ const token = localStorage.getItem("spToken");
+ // config.data = JSON.stringify(config.data);
+ // config.headers = {
+ // 'Content-Type':'application/x-www-form-urlencoded'
+ // }
+ if (token) {
+ if (config.method == "get") {
+ config.params.token = token;
+ } else if (config.data == "post") {
+ config.params.token = token;
+ }
+ }
+ const signature = signatureGenerate();
+ config.headers["Sign"] = signature.signature;
+ config.headers["Systemrandom"] = signature.systemRandom;
+ config.headers["Tissuepaper"] = signature.timestamp;
+ return config;
+ },
+ (error) => {
+ return Promise.reject(error);
+ }
+);
+
+//http response 拦截器
+axios.interceptors.response.use(
+ (response) => {
+ if (response.data.code != 0) {
+ var localLan = "",
+ lanTits = "";
+ //判断语言
+ if (localStorage.getItem("localLan")) {
+ localLan = localStorage.getItem("localLan");
+ if (localLan == "en") {
+ lanTits = "tits_en";
+ } else if (localLan == "zh-CN") {
+ lanTits = "tits_zh-CN";
+ } else if (localLan == "cht") {
+ lanTits = "tits_CN";
+ } else if (localLan == "ko") {
+ lanTits = "tits_Korean";
+ } else if (localLan == "fr") {
+ lanTits = "tits_fr";
+ } else if (localLan == "de") {
+ lanTits = "tits_de";
+ } else if (localLan == "it") {
+ lanTits = "tits_it";
+ }
+ }
+ //403
+ if (response.data.code == "403") {
+ console.log('routerrouterrouterrouterrouterrouterrouterrouterrouterrouterrouter',router)
+ let lang = localStorage.getItem('localLan')
+ localStorage.clear()
+ localStorage.removeItem("username");
+ localStorage.removeItem("spToken");
+ localStorage.removeItem("vuex");
+ localStorage.setItem('localLan', lang)
+ // router.beforeEach((to, from, next) => {
+ // //会在任意路由跳转前执行,next一定要记着执行,不然路由不能跳转了
+ // console.log('beforeEach')
+ // console.log(to,from)
+ // //
+ // next()
+ // })
+ // router.push("/login");
+ location.reload()
+ }
+ if (allTits[lanTits][response.data.msg]) {
+ Message(allTits[lanTits][response.data.msg]);
+ } else {
+ Message(response.data.msg);
+ }
+ }
+ return response;
+ },
+ (error) => {
+ return Promise.reject(error);
+ }
+);
+
+/**
+ * 封装get方法
+ * @param url
+ * @param data
+ * @returns {Promise}
+ */
+export function fetch(url, params = {}) {
+ return new Promise((resolve, reject) => {
+ axios
+ .get(url, {
+ params: params,
+ })
+ .then((response) => {
+ resolve(response.data);
+ })
+ .catch((err) => {
+ reject(err);
+ });
+ });
+}
+
+/**
+ * 封装post请求
+ * @param url
+ * @param data
+ * @returns {Promise}
+ */
+
+export function post(url, data = {}) {
+ return new Promise((resolve, reject) => {
+ axios.post(url, data).then(
+ (response) => {
+ resolve(response.data);
+ },
+ (err) => {
+ reject(err);
+ }
+ );
+ });
+}
+
+/**
+ * 封装patch请求
+ * @param url
+ * @param data
+ * @returns {Promise}
+ */
+
+export function patch(url, data = {}) {
+ return new Promise((resolve, reject) => {
+ axios.patch(url, data).then(
+ (response) => {
+ resolve(response.data);
+ },
+ (err) => {
+ reject(err);
+ }
+ );
+ });
+}
+
+/**
+ * 封装put请求
+ * @param url
+ * @param data
+ * @returns {Promise}
+ */
+
+export function put(url, data = {}) {
+ return new Promise((resolve, reject) => {
+ axios.put(url, data).then(
+ (response) => {
+ resolve(response.data);
+ },
+ (err) => {
+ reject(err);
+ }
+ );
+ });
+}
+export default { fetch, patch, put, post };
--
Gitblit v1.9.3