From 00a00161facae5470041a5a1bf614a627aa687b1 Mon Sep 17 00:00:00 2001
From: qiangyanwen <508737091@qq.com>
Date: Sun, 14 Aug 2022 16:34:29 +0800
Subject: [PATCH] testcase
---
src/api/user.js | 11 +++
src/components/Layout.vue | 11 +--
src/router/index.js | 15 ++++
src/utils/request.js | 26 +++++++
src/view/Login.vue | 143 +++++++++++++++++++-------------------
5 files changed, 131 insertions(+), 75 deletions(-)
create mode 100644 src/api/user.js
create mode 100644 src/utils/request.js
diff --git a/src/api/user.js b/src/api/user.js
new file mode 100644
index 0000000..84893d8
--- /dev/null
+++ b/src/api/user.js
@@ -0,0 +1,11 @@
+import request from "@/utils/request";
+
+
+
+export const Login =(data)=>{
+ return request({
+ url: "/login",
+ method: "post",
+ data: data,
+ })
+}
\ No newline at end of file
diff --git a/src/components/Layout.vue b/src/components/Layout.vue
index 845d65f..0e37dc8 100644
--- a/src/components/Layout.vue
+++ b/src/components/Layout.vue
@@ -28,7 +28,7 @@
- 注销
+ 注销
@@ -45,7 +45,7 @@
- 自动化测试研发 ©2018 研发部
+ 自动化测试研发 ©2022 研发部
@@ -60,7 +60,7 @@ import {
DownOutlined,
} from '@ant-design/icons-vue';
import {useRouter,useRoute} from "vue-router";
-import { defineComponent, ref,watch } from 'vue';
+import { defineComponent, ref } from 'vue';
import {useStore} from "@/store";
import {storeToRefs} from "pinia";
@@ -86,8 +86,9 @@ export default defineComponent({
const goTopage=(item)=>{
router.push('/'+item.key).catch((err)=>err)
}
- const login =()=>{
+ const logout =()=>{
//清除cookie
+ window.sessionStorage.clear()
router.push("/login")
}
return {
@@ -96,7 +97,7 @@ export default defineComponent({
container,
goTopage,
route,
- login,
+ logout,
username,
};
},
diff --git a/src/router/index.js b/src/router/index.js
index 686c177..007ab26 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -3,6 +3,8 @@ import Layout from "@/components/Layout";
import Monit from "@/view/Monit";
import User from "@/view/User";
import Login from "@/view/Login";
+import {message} from "ant-design-vue";
+
const routes = [
{
path: "/",
@@ -44,4 +46,17 @@ const router = createRouter({
routes
})
+
+router.beforeEach((to,from,next)=>{
+ const token = window.sessionStorage.getItem('token')
+ if (to.path ==="/login")return next()
+ if (!token && to.path ==='/monit'){
+ message.error("token失效,请重新登录")
+ next('/login')
+ }else{
+ next()
+ }
+ }
+)
+
export default router
\ No newline at end of file
diff --git a/src/utils/request.js b/src/utils/request.js
new file mode 100644
index 0000000..b9641a6
--- /dev/null
+++ b/src/utils/request.js
@@ -0,0 +1,26 @@
+import axios from 'axios';
+import {message} from "ant-design-vue";
+import {useRouter} from "vue-router";
+
+const service = axios.create({
+ baseURL: 'http://192.168.0.103:8000/api',
+ timeout: 5000
+});
+const router = useRouter()
+
+service.interceptors.request.use(function (config) {
+ console.log(config)
+ const token = window.sessionStorage.getItem("token")
+ if (token !== "" || token != null || token != '') {
+ config.headers["Authorization"] = "Bearer " +token
+ }else{
+ message.error("没有token,请登录")
+ router.replace({
+ path: "/login"
+ })
+ }
+ return config
+})
+
+
+export default service;
\ No newline at end of file
diff --git a/src/view/Login.vue b/src/view/Login.vue
index 22e2403..52a8fa4 100644
--- a/src/view/Login.vue
+++ b/src/view/Login.vue
@@ -1,47 +1,52 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 登录
- 取消
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 登录
+ 取消
+
+
+
+
+
-
-
-
+