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()
		}
	}
}
