49 lines
964 B
JavaScript
49 lines
964 B
JavaScript
import { checkLogin, isLogin } from '@/utils/auth.js'
|
|
|
|
export default {
|
|
data() {
|
|
return {
|
|
// 记录该页面是否已检查过登录状态
|
|
_pageAuthChecked: false
|
|
}
|
|
},
|
|
onLoad() {
|
|
// 页面加载时检查登录状态
|
|
this.checkAuth()
|
|
},
|
|
onShow() {
|
|
// 页面显示时检查登录状态,但避免重复检查
|
|
if (!this._pageAuthChecked) {
|
|
this.checkAuth()
|
|
this._pageAuthChecked = true
|
|
}
|
|
},
|
|
onHide() {
|
|
// 页面隐藏时重置检查标志,下次显示时重新检查
|
|
this._pageAuthChecked = false
|
|
},
|
|
methods: {
|
|
/**
|
|
* 检查登录状态
|
|
* 如果页面设置了需要登录(needLogin: true),则进行登录验证
|
|
*/
|
|
checkAuth() {
|
|
// 如果页面明确标记不需要登录,则跳过检查
|
|
if (this.needLogin === false) {
|
|
return
|
|
}
|
|
|
|
// 默认需要登录验证
|
|
checkLogin()
|
|
},
|
|
|
|
/**
|
|
* 检查是否已登录
|
|
* @returns {boolean}
|
|
*/
|
|
isLoggedIn() {
|
|
return isLogin()
|
|
}
|
|
}
|
|
}
|