浏览代码

修改:登录增加登录过期时间

littleblue55 1 周之前
父节点
当前提交
f07f326ec1

+ 2 - 2
pages/collect/collect.vue

@@ -12,7 +12,7 @@
 					@custom="onSearchConfirm"
 				></u-search>
 			</view>
-			<view class="tab-box">
+			<!-- <view class="tab-box">
 				<u-tabs 
 					name="label"
 					:list="searchType"
@@ -26,7 +26,7 @@
 					:bar-style="{'background-color': '#2979ff'}"
 					height="50"
 				></u-tabs>
-			</view>
+			</view> -->
 		</view>
 		<u-empty
 			mode="data"

+ 1 - 1
pages/daiJiaoGeRenHuiFei/daiJiaoGeRenHuiFei.vue

@@ -41,7 +41,7 @@
 			idNumber: [
 				{ 
 					required: true, 
-					message: '请输入缴交对象的身份证号/手机号/业务水平认证证书编号', 
+					message: '请输入缴交对象的身份证号/手机号/业务水平证书编号', 
 					// 可以单个或者同时写两个触发验证方式 
 					trigger: 'blur',
 				}

+ 4 - 1
pages/geRenHuiFeiJiaoJiao/geRenHuiFeiJiaoJiao.vue

@@ -49,7 +49,10 @@
 					{{ info.periodOfValidity }}
 				</view>
 			</view>
-			<view class="info-item-box row">
+			
+		</view>
+		<view class="info-box" style="background: none;">
+			<view class="info-item-box row" style="height: auto;border-bottom: 0;">
 				<view class="label">
 					描述:
 				</view>

+ 6 - 7
pages/index/index.vue

@@ -341,10 +341,10 @@
 	const itemClick = (data) => {
 		// console.log("轮播图swiper", data)
 
-		if (!authStore.isAuthenticated) {
-			loginModal.value = true
-			return
-		}
+		// if (!authStore.isAuthenticated) {
+		// 	loginModal.value = true
+		// 	return
+		// }
 		uni.navigateTo({
 			url: "/pages/swiperDetail/swiperDetail?id=" + data.id
 		})
@@ -468,9 +468,9 @@
 		// initUser()
 	})
 	onShow(() => {
-		const isLogin = authStore.isAuthenticated;
+		const isLogin = authStore.isTokenExp;
 		const isUserInfo = authStore.isUserInfo;
-		if (isLogin) {
+		if (!isLogin) {
 			// 登录后才请求消息数量
 			getCharCount()
 			initReport()
@@ -483,7 +483,6 @@
 			} else {
 				isMember.value = authStore.userInfo.isMember === '0' ? false : true;
 			}
-
 		}
 
 	})

+ 2 - 2
pages/initial/initial.vue

@@ -123,8 +123,8 @@
 							url: "/pages/register/register?mode=refine"
 						})
 					}else{
-						const { token } = phoneRes.data;
-						authStore.setAuthToken(token);
+						const { token, tokenExp } = phoneRes.data;
+						authStore.setAuthToken(token, tokenExp);
 						// 老用户,跳转至:首页
 						msgSuccess("授权成功!")
 						let userRes = await me();

+ 3 - 3
pages/login/login.vue

@@ -237,7 +237,7 @@
 				let res = await loginPhone(this.phoneForm)
 				if (res.data.token) {
 					msgSuccess("登录成功!")
-					this.useAuthStore.setAuthToken(res.data.token)
+					this.useAuthStore.setAuthToken(res.data.token, res.data.tokenExp)
 					this.initUser()
 					// const loginRes = await wx.login();
 					// const code = loginRes.code;
@@ -281,7 +281,7 @@
 				let res = await usernameLogin(form)
 				if (res.data.token) {
 					msgSuccess("登录成功!")
-					this.useAuthStore.setAuthToken(res.data.token)
+					this.useAuthStore.setAuthToken(res.data.token, res.data.tokenExp)
 					this.initUser()
 				}
 			},
@@ -437,7 +437,7 @@
 							const phoneRes = await wxloginPhone({ openid, phoneCode: code})
 							const { phone, token, isNewUser } = phoneRes.data;
 							this.useAuthStore.setPhone(phone);
-							this.useAuthStore.setAuthToken(token);
+							this.useAuthStore.setAuthToken(token, res.data.tokenExp);
 							// uni.reLaunch({
 							// 	url: "/pages/register/register?mode=refine"
 							// })

+ 2 - 2
pages/personalCenter/personalCenter.vue

@@ -109,11 +109,11 @@
 					<view class="iconfont icon-chevron-right"></view>
 				</view>
 			</view> -->
-			<view class="menu-item-box">
+			<view class="menu-item-box" @click="onWoDeShouChang()">
 				<view class="icon-box">
 					<view class="iconfont icon-shoucang"></view>
 				</view>
-				<view class="content-box" @click="onWoDeShouChang()">
+				<view class="content-box" >
 					我的收藏
 				</view>
 				<view class="suffix-box">

+ 1 - 1
pages/register/register.vue

@@ -178,7 +178,7 @@
 							form.openid = openid
 							register(form).then(res => {
 								if (res?.data) {
-									this.useAuthStore.setAuthToken(res.data.token);
+									this.useAuthStore.setAuthToken(res.data.token, res.data.tokenExp);
 									msgSuccess("注册成功");
 									this.initUser()
 								}

+ 15 - 5
store/authStore.js

@@ -4,28 +4,34 @@ import { getToken,setToken,removeToken } from '@/utils/auth.js'
 export const useAuthStore = defineStore('auth', {
 	state: () => ({
 		token: null,
+		tokenExp:null,
 		userInfo: null,
 		phone: null,
 		creditCard: '',
 		openid: null,
 	}),
 	actions: {
-		setAuthToken(newToken) {
+		setCreditCard(creditCard) {
+			this.creditCard = creditCard
+		},
+		setAuthToken(newToken, newTokenExp) {
 			this.token = newToken
+			this.tokenExp = newTokenExp
+			uni.setStorageSync('tokenExp', newTokenExp)
 			// 可以选择将 token 存储到 localStorage 或 sessionStorage
 			setToken(newToken)
 		},
-		setCreditCard(creditCard) {
-			this.creditCard = creditCard
-		},
 		clearAuthToken() {
 			this.token = null
+			this.tokenExp = null
+			uni.removeStorageSync("tokenExp")
 			removeToken()
 		},
 		loadAuthToken() {
 			const savedToken = getToken()
 			if (savedToken) {
 				this.token = savedToken
+				this.tokenExp = uni.getStorageSync('tokenExp') || null
 			}
 		},
 		setUserInfo(data) {
@@ -34,7 +40,7 @@ export const useAuthStore = defineStore('auth', {
 		},
 		setUserIcon(data) {
 			this.userInfo.userIcon = data
-		  uni.setStorageSync('USER_INFO', this.userInfo)
+		    uni.setStorageSync('USER_INFO', this.userInfo)
 		},
 		// 初始化时从Storage加载
 		loadUserInfo() {
@@ -78,6 +84,10 @@ export const useAuthStore = defineStore('auth', {
 		},
 		isOpenid(state){
 			return !!state.openid;
+		},
+		isTokenExp(state){
+			const now = Date.now();
+			return !this.tokenExp || now > this.tokenExp;
 		}
 	}
 })