diff --git a/src/api/modules/index.js b/src/api/modules/index.js
index 09432bb..1fe9234 100644
--- a/src/api/modules/index.js
+++ b/src/api/modules/index.js
@@ -5,7 +5,7 @@ import service from "../request.js";
export function LoginInfo(query) {
return service({
method: "POST",
- url: "/permission/LoginInfo",
+ url: "/login",
data: query,
});
}
diff --git a/src/api/request.js b/src/api/request.js
index e9c8055..52d3ccb 100644
--- a/src/api/request.js
+++ b/src/api/request.js
@@ -1,44 +1,105 @@
import axios from "axios";
-import {
- ElMessage
-} from "element-plus";
+import { ElMessage, ElMessageBox } from "element-plus";
+import router from "../router/router";
+const errorCode = {
+ 401: "登录状态已过期,即将返回首页重新登录。",
+ 403: "当前操作没有权限",
+ 404: "访问资源不存在",
+ default: "系统未知错误,请反馈给管理员",
+};
+
+const url = "https://repair.cpolar.top"; // "https://hazard.cpolar.top";
const service = axios.create({
- timeout: 5000,
+ baseURL: url,
+ timeout: 5000,
});
// Request interceptors
service.interceptors.request.use(
- (config) => {
- if (localStorage.getItem('token'))
- config.headers.token = localStorage.getItem('token')
+ (config) => {
+ if (localStorage.getItem("token")) {
+ config.headers["Authorization"] =
+ "Bearer " + localStorage.getItem("token");
+ }
- return config;
- },
- (error) => {
- Promise.reject(error);
- }
+ if (config.url === "/login") {
+ config.headers["Content-Type"] = "multipart/form-data";
+ } else {
+ config.headers["Content-Type"] = "application/json";
+ }
+
+ let params = config.params;
+ let newData = {};
+ for (let key in params) {
+ if (params[key] !== null && params[key] !== "") {
+ newData[key] = params[key];
+ }
+ }
+ config.params = newData;
+ return config;
+ },
+ (error) => {
+ Promise.reject(error);
+ }
);
// Response interceptors
service.interceptors.response.use(
- (response) => {
-
- if (response.status !== 200) {
- ElMessage({
- type: "error",
- message: "服务器忙,请稍后再试~",
- });
- return;
+ (res) => {
+ // 对响应数据做点什么
+ const response = res.data;
+ const code = res.data.code || 200;
+ const message = errorCode[code] || res.data.msg || errorCode["default"];
+ if (code === 401) {
+ if (res.code === 401 || res.code === 4001) {
+ // 清除浏览器全部临时缓存
+ sessionStorage.clear();
+ localStorage.clear();
+ router.push("/login");
+ // store.commit('setMenuData', {});
+ // resetRouter(); // 重置路由
+ ElMessageBox.alert("你已被登出,请重新登录", "提示", {})
+ .then(() => {})
+ .catch(() => {});
+ }
+ } else if (code === 500) {
+ // Message({ message: msg, type: 'error' })
+ ElMessage.error(message);
+ return Promise.reject(new Error(msg));
+ } else if (code === 601) {
+ // Message({ message: msg, type: 'warning' })
+ ElMessage.error(message);
+ return Promise.reject("error");
+ } else if (code != 200) {
+ ElMessage.error(message);
+ return Promise.reject("error");
+ } else {
+ return response;
+ }
+ },
+ (error) => {
+ console.log(error.response.data); // 获取错误状态码
+ // 对响应错误做点什么
+ if (error.message.indexOf("timeout") != -1) {
+ ElMessage.error("网络超时");
+ } else if (error.message == "Network Error") {
+ ElMessage.error("网络连接错误");
+ } else if (error.response.data.code == "401") {
+ sessionStorage.clear();
+ localStorage.clear();
+ router.push("/login");
+ ElMessage.error(error.response.data.msg);
+ } else {
+ ElMessage.error(
+ error.response.data.msg ||
+ error.response.data.error ||
+ error.response.data.errMessage
+ );
+ }
+ return Promise.reject(error);
}
-
- return response;
- },
- (error) => {
- // do something
- return Promise.reject(error);
- }
);
-export default service;
\ No newline at end of file
+export default service;
diff --git a/src/layout/menu/index.vue b/src/layout/menu/index.vue
index 3d6f105..1143d63 100644
--- a/src/layout/menu/index.vue
+++ b/src/layout/menu/index.vue
@@ -33,7 +33,7 @@
diff --git a/src/layout/menu/menuTable.js b/src/layout/menu/menuTable.js
index 8af9332..985bd02 100644
--- a/src/layout/menu/menuTable.js
+++ b/src/layout/menu/menuTable.js
@@ -10,6 +10,11 @@ const menuTable = [
url: "/home",
icon: "HomeFilled",
},
+ {
+ title: "服务项目",
+ url: "/goods",
+ icon: "HomeFilled",
+ },
{
title: "页面管理",
url: "/page",
diff --git a/src/mock/permission.js b/src/mock/permission.js
index 23e9c5a..c9bcfc5 100644
--- a/src/mock/permission.js
+++ b/src/mock/permission.js
@@ -5,7 +5,7 @@ import {
} from "../views/home/options";
const Random = Mock.Random;
-let menuList = [
+export const menuListItem = [
{
title: "仪表盘",
url: "/home",
diff --git a/src/store/modules/users.js b/src/store/modules/users.js
index fda0b97..739c54c 100644
--- a/src/store/modules/users.js
+++ b/src/store/modules/users.js
@@ -64,10 +64,10 @@ export default {
LoginInfo(userInfo)
.then((res) => {
console.log(res.data.data);
- sessionStorage.setItem("token", res.data.data.token);
- sessionStorage.setItem("UserInfo", JSON.stringify(res.data.data));
- commit("setToken", res.data.data.token);
- commit("setUserInfo", res.data.data);
+ sessionStorage.setItem("token", res.data.token);
+ sessionStorage.setItem("UserInfo", JSON.stringify(res.data));
+ commit("setToken", res.data.token);
+ commit("setUserInfo", res.data);
router.replace("/");
ElMessage({
message: "登录成功",
diff --git a/src/views/goods/index.vue b/src/views/goods/index.vue
index 1ba4cd5..11ee616 100644
--- a/src/views/goods/index.vue
+++ b/src/views/goods/index.vue
@@ -1,10 +1,289 @@
-
- 服务项目管理222
+
+
+
+
+
+
+
+
+
+
+ +添加
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+