hookehuyr

feat(auth): 添加从服务器获取授权信息的功能

当本地没有用户信息时,新增调用getAuthInfoAPI接口检查用户授权状态
1 /* 1 /*
2 * @Date: 2025-03-20 21:11:31 2 * @Date: 2025-03-20 21:11:31
3 * @LastEditors: hookehuyr hookehuyr@gmail.com 3 * @LastEditors: hookehuyr hookehuyr@gmail.com
4 - * @LastEditTime: 2025-05-23 09:50:46 4 + * @LastEditTime: 2025-06-13 11:09:37
5 * @FilePath: /mlaj/src/contexts/auth.js 5 * @FilePath: /mlaj/src/contexts/auth.js
6 * @Description: 认证上下文管理模块,提供用户认证状态管理、登录登出功能 6 * @Description: 认证上下文管理模块,提供用户认证状态管理、登录登出功能
7 */ 7 */
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
9 // 导入Vue的组合式API相关函数 9 // 导入Vue的组合式API相关函数
10 import { ref, provide, inject, onMounted } from 'vue' 10 import { ref, provide, inject, onMounted } from 'vue'
11 import { logoutAPI, getUserInfoAPI } from '@/api/users' 11 import { logoutAPI, getUserInfoAPI } from '@/api/users'
12 +import { getAuthInfoAPI } from '@/api/auth'
12 13
13 // 创建认证上下文的Symbol key,用于provide/inject依赖注入 14 // 创建认证上下文的Symbol key,用于provide/inject依赖注入
14 // 使用Symbol确保key的唯一性,避免命名冲突 15 // 使用Symbol确保key的唯一性,避免命名冲突
...@@ -68,6 +69,15 @@ export function provideAuth() { ...@@ -68,6 +69,15 @@ export function provideAuth() {
68 } else { 69 } else {
69 logout() 70 logout()
70 } 71 }
72 + } else {
73 + // 查询用户是否授权, 从服务器获取用户信息并更新本地存储
74 + const { code, data } = await getAuthInfoAPI();
75 + if(code) {
76 + if (data.openid_has) {
77 + currentUser.value = data.user
78 + localStorage.setItem('currentUser', JSON.stringify(currentUser.value))
79 + }
80 + }
71 } 81 }
72 // 初始化完成,关闭加载状态 82 // 初始化完成,关闭加载状态
73 loading.value = false 83 loading.value = false
......