feat: 新用户默认昵称及个人中心加载状态修复
- 新用户注册时随机生成普拉提主题默认昵称(16 个可选) - 修复 App 启动后个人中心首次进入不展示用户信息的 bug - loggedIn 改为仅依赖 token 是否存在 - 新增 hasProfile 判断用户数据是否已加载 - 未加载时显示骨架屏而非空白 - 抽离随机函数为可注入依赖,消除 Math.random 测试耦合
This commit is contained in:
@@ -17,7 +17,10 @@ export const useUserStore = defineStore('user', () => {
|
||||
const token = ref<string>(uni.getStorageSync('token') as string || '')
|
||||
|
||||
// Getters
|
||||
const loggedIn = computed(() => !!token.value && !!user.value)
|
||||
// loggedIn: 是否已认证(token 存在),与 user 数据是否已加载无关
|
||||
const loggedIn = computed(() => !!token.value)
|
||||
// hasProfile: user 数据是否已加载(用于 UI 展示判断)
|
||||
const hasProfile = computed(() => !!user.value)
|
||||
const isAdmin = computed(() => user.value?.role === UserRole.ADMIN)
|
||||
const activeMemberships = computed(() =>
|
||||
memberships.value.filter((m) => m.status === MembershipStatus.ACTIVE),
|
||||
@@ -91,6 +94,7 @@ export const useUserStore = defineStore('user', () => {
|
||||
memberships,
|
||||
token,
|
||||
loggedIn,
|
||||
hasProfile,
|
||||
isAdmin,
|
||||
activeMemberships,
|
||||
hasValidMembership,
|
||||
|
||||
Reference in New Issue
Block a user