Преглед на файлове

增加ack发送以及数据库优化

James преди 6 години
родител
ревизия
a1c81f57ee

+ 37 - 1
vue-admin-master/src/api/index.js

@@ -1,5 +1,6 @@
 import axios from 'axios';
-
+import {Message,Loading,MessageBox} from "element-ui";
+import router from "../routes";
 let http = axios.create({
   //baseURL: 'http://www.yytp.com/',
   //withCredentials: true,
@@ -17,6 +18,41 @@ let http = axios.create({
   }]
 });
 
+http.interceptors.request.use(
+    config => {
+      let authKey = sessionStorage.getItem('authKey');//token
+      if(authKey){
+          config.headers.authKey = JSON.parse(authKey);
+      }
+
+      return config;
+    },
+    error => {
+      return Promise.reject(error);
+    }
+);
+
+http.interceptors.response.use(response => {
+  let data = response.data;
+  if(data.code == "103"){
+    var loginParams = { is_reg: 0 };                                        //登录状态为未登录
+      http.post('/api/index/base/logout',loginParams).then((response) => {
+        
+      })
+      MessageBox.alert(data.error,"登录超时",{
+        confirmButtonText:"跳转登录页面",
+        callback:action=>{
+         
+          location.href = "/#/login";
+         
+        }
+      });
+  }else{
+    
+    return response;
+  }
+  
+});
 function apiAxios(method, url, params, response) {
     http({
       method: method,

+ 3 - 2
vue-admin-master/src/main.js

@@ -43,12 +43,13 @@ router.beforeEach((to, from, next) => {
   //NProgress.start();
   if (to.path == '/login') {
      sessionStorage.removeItem('user');    //移除user
+     sessionStorage.removeItem('authKey');    //移除user
   }
 
   let user = JSON.parse(sessionStorage.getItem('user'));   //解析出来user
-
+  let authKey = JSON.parse(sessionStorage.getItem('authKey'));
   // 如果用户不存在并且所去的地方不是登录界面,那么就到登录界面  
-  if (!user && to.path != '/login') {
+  if (!authKey &&!user && to.path != '/login') {
 
      next({ path: '/login' });
 

+ 3 - 2
vue-admin-master/src/views/Home.vue

@@ -131,13 +131,14 @@
 					//type: 'warning'
 				}).then(() => {
 					var loginParams = { is_reg: 0 };                                        //登录状态为未登录
-                    _this.$api.post('/api/index/index/login',loginParams, response => {
+                    _this.$api.post('/api/index/base/logout',loginParams, response => {
 						if (response.status == 200 && response.status < 300) {
 							if(response.data){
                                 
 								sessionStorage.removeItem('user');                           //移除user的存储
 								sessionStorage.removeItem('is_reg');                         //移除is_reg的存储
-							    _this.$router.push('/login');                                //从新跳转到login页面
+								sessionStorage.removeItem('authKey');
+							   _this.$router.push('/login');                                //从新跳转到login页面
 							}
 						} else {
 							console.log(response.data);

+ 3 - 3
vue-admin-master/src/views/Login.vue

@@ -55,11 +55,11 @@
             this.logining = true;  //显示加载框
             var loginParams = { username: this.ruleForm2.account, password: this.ruleForm2.checkPass }; //账号和密码的传递
 
-            this.$api.post('/api/index/index',loginParams, response => {
+            this.$api.post('/api/index/base/login',loginParams, response => {
                 if (response.status == 200 && response.status < 300) {
-                    let { msg, code ,user,is_reg} = response.data;
+                    let { msg, code ,user,is_reg,authKey} = response.data;
                     if(code=="00"){
-
+                        sessionStorage.setItem('authKey', JSON.stringify(authKey));//token
                         sessionStorage.setItem('user', JSON.stringify(user));             //存储登录者的姓名
                         sessionStorage.setItem('is_reg', JSON.stringify(is_reg));         //存储是否登录的状态
 						this.$router.push({ path: '/user_setting' });                     //跳转路由

+ 1 - 1
vue-admin-master/src/views/nav1/Table.vue

@@ -619,7 +619,7 @@
 										_this.$message.error("没有任何选择");
 										return false;
 									}
-									_this.rollback_index =0;
+									_this.rollback_index = 0;
 									_this.loading_rollback = true;
 									_this.dialogVisible = true;
 									let data_insert={};