阅读时间:1 分钟
0 字
useIsLogin
useIsLogin hook 用于快速判断用户登录状态,从 authStore 中读取登录状态。
功能特点
- ✅ 快速判断 - 简单直接的登录状态检查
- ⚡ 轻量读取 - 返回当前快照(非响应式)
- 🎯 轻量级 - 专注于登录状态判断
- 🔄 实时同步 - 与认证系统实时同步
- 🏢 多管理端 - 支持检查指定管理端的登录状态
- 📱 易于使用 - 简洁的 API 设计
接口关系
该hook直接从 authStore 中读取登录状态,基于用户的 token 字段判断是否已登录。
js
// 登录状态判断逻辑
const isLogin = authStore.isLogin()使用方法
js
import { useIsLogin } from '@duxweb/dvha-core'
const isLogin = useIsLogin()
// 检查登录状态
if (isLogin) {
console.log('用户已登录')
} else {
console.log('用户未登录')
}参数说明
| 参数 | 类型 | 必需 | 说明 |
|---|---|---|---|
manageName | string | ❌ | 管理端名称,不传则使用当前管理端 |
返回值
| 字段 | 类型 | 说明 |
|---|---|---|
| 返回值 | boolean | 登录状态(true=已登录,false=未登录) |
基本用法示例
js
import { useIsLogin } from '@duxweb/dvha-core'
import { computed } from 'vue'
const isLogin = useIsLogin()
// 基于登录状态的计算属性
const welcomeMessage = computed(() => {
return isLogin ? '欢迎回来!' : '请先登录'
})
const showLoginButton = computed(() => {
return !isLogin
})
const showUserMenu = computed(() => {
return isLogin
})高级用法示例
js
// 多管理端登录状态
const isAdminLogin = useIsLogin('admin')
const isUserLogin = useIsLogin('user')
const anyUserLoggedIn = computed(() => {
return isAdminLogin || isUserLogin
})注意事项
- 这是一个同步操作,直接从本地状态读取,不会发起网络请求
- 返回的是当前快照;如需响应式请使用 authStore 的
data - 多管理端环境下,需要指定管理端名称来检查对应的登录状态
- 只检查是否有有效的认证令牌,不验证令牌的有效性
- 建议配合
useCheckhook 定期验证认证状态的有效性 - 状态变化是实时的,当用户登录或登出时会立即反映