Browse Source

feat(login):session续期

HMY 1 year ago
parent
commit
b9cc62edfa
2 changed files with 23 additions and 2 deletions
  1. 9 1
      api/login.js
  2. 14 1
      store/user.js

+ 9 - 1
api/login.js

@@ -24,11 +24,19 @@ export function reLogin(username, password) {
 		  method: 'get',
 		  timeout: 10000,
 		  url: config.baseUrl + '/LoginSA.do?user='+username+'&pass='+password,
-		  header: config.header,
 		  dataType: 'json'
 		})
 }
 
+//session续期
+export function keepSession() {
+	return request({
+		url: '/sessionKeep.do',
+		method: 'post',
+		isSession: true,
+	})
+}
+
 // 获取用户信息
 export function getInfo(useId) {
 	return request({

+ 14 - 1
store/user.js

@@ -12,12 +12,22 @@ import {
 import {
 	getUserInfo,getSession,setSession
 } from '@/utils/auth'
-import { reLogin } from '@/api/login.js'
+import { reLogin,keepSession } from '@/api/login.js'
 
 
 export const useUserStore = defineStore('user', () => {
 	const user = ref(getUserInfo()) // 用户信息
 	const useId = ref(0) // staffId
+	const timer = ref(true)
+	function keep() {
+		setTimeout(() => {
+			if (timer.value) {
+				keepSession().then(res=>{
+					keep()
+				})
+			}
+		}, 600000)
+	}
 	// 登录方法
 	function Login(userInfo) {
 		const username = userInfo.username
@@ -31,6 +41,8 @@ export const useUserStore = defineStore('user', () => {
 					reLogin(username.trim(), password).then((res)=>{
 						if("ok"===res.data){
 							setSession(res.cookies[0].split("=")[1].split(";")[0]);
+							timer.value=true
+							keep()
 						}	
 					})
 					resolve(res)
@@ -67,6 +79,7 @@ export const useUserStore = defineStore('user', () => {
 			// logout().then(() => {
 			user.value = {}
 			useId.value = 0
+			timer.value = false
 			uni.clearStorageSync()
 			resolve()
 		}).catch(error => {