diff --git a/src/store/userPermissionCode.js b/src/store/userPermissionCode.js index f3a1d13..b17567a 100644 --- a/src/store/userPermissionCode.js +++ b/src/store/userPermissionCode.js @@ -4,6 +4,16 @@ import { permissionAPI } from '../api/sword' // 封装成一个普通的组合式函数 export const useUserInfo = () => { + // 修正所有权限变量拼写 (ss→s) + const brainPermission = ref(0) // 删除 < 和 number 之间的空格 + const swordPermission = ref(0) + const pricePermission = ref(0) + const timePermission = ref(0) + const aibullPermission = ref(0) + const aiGnbullPermission = ref(0) + const airadarPermission = ref(0) + const aiGoldMarketList = ref([]) // 移除字符串数组类型 + const userRole = ref('') const loading = ref(false) const isReady = ref(false) @@ -11,9 +21,9 @@ export const useUserInfo = () => { const getQueryVariable = (variable) => { const query = window.location.search.substring(1) - console.log('query', query) + // console.log('query', query) const vars = query.split('&') - console.log('vars', vars) + // console.log('vars', vars) for (let i = 0; i < vars.length; i++) { const pair = vars[i].split('=') if (pair[0] === variable) { @@ -23,7 +33,7 @@ export const useUserInfo = () => { return '' } - const getSessionId = (sessionID,data) => { + const getSessionId = (sessionID, data) => { const query = data const vars = query.split(',') // console.log('vars', vars) @@ -48,16 +58,24 @@ export const useUserInfo = () => { const fetchUserInfo = async () => { getAppToken.value = localStorage.getItem('localToken') - ? String(localStorage.getItem('localToken')) + ? String(localStorage.getItem('localToken')) : '' loading.value = true try { const requestParams = { ...{ token: getAppToken.value || '' } } - // 修正拼写错误 - const res = await permissionAPI(requestParams) - // 更新状态,移除类型断言 + const res = await permissionAPI(requestParams) // 修复API名称拼写 + + // 修复所有权限变量的拼写错误 + brainPermission.value = res.data.brainExpireStatus // 注意:原变量名存在拼写错误,建议改为 brainPermission + swordPermission.value = res.data.swordExpireStatus // 同上 + pricePermission.value = res.data.stockForecastExpireStatus // 同上 + timePermission.value = res.data.spaceForecastExpireStatus // 同上 + aibullPermission.value = res.data.aibullExpireStatus // 同上 + aiGnbullPermission.value = res.data.aigoldBullExpireStatus // 同上 + airadarPermission.value = res.data.airadarExpireStatus // 同上 + aiGoldMarketList.value = res.data.marketList userRole.value = res.data.userRole isReady.value = true } catch (err) { @@ -76,11 +94,20 @@ export const useUserInfo = () => { onMounted(() => { }) - + // 修复返回对象中的拼写错误 (最终残留错误) return { userRole, loading, isReady, + // 修正返回属性名拼写 + brainPermission, // 从 brainPerssion 修正 + swordPermission, + pricePermission, + timePermission, + aibullPermission, + aiGnbullPermission, + airadarPermission, + aiGoldMarketList, init, fetchUserInfo, getQueryVariable, diff --git a/src/views/chat.vue b/src/views/chat.vue index 0714e49..6b3cd77 100644 --- a/src/views/chat.vue +++ b/src/views/chat.vue @@ -8,14 +8,13 @@ import { marked } from 'marked'; // 引入marked库 import katex from 'katex'; // 引入 KaTeX 库 import 'katex/dist/katex.min.css'; // 引入 KaTeX 样式 -const { getQueryVariable } = useUserInfo() -// 假设 getSessionId 已经正确定义 -const { getSessionId } = useUserInfo() +const { getQueryVariable,getSessionId,fetchUserInfo,loading,isReady } = useUserInfo() +const errorMsg = ref('') const isTokenValid = ref(false) const fnGetToken = () => { localStorage.setItem('localToken', decodeURIComponent(String(getQueryVariable('token')))) - console.log(localStorage.getItem('localToken')); + // console.log(localStorage.getItem('localToken')); } setTimeout(() => { fnGetToken() @@ -24,11 +23,20 @@ setTimeout(() => { // 验证 token const validateToken = async () => { const token = localStorage.getItem('localToken') - console.log('token',token); + // console.log('token', token); if (!token) { console.error('未找到 token,请重新登录') + errorMsg.value = '用户未登录' return false } + // 如果token验证通过,获取权限 + await fetchUserInfo(); + console.log('loading', loading.value); + if(!isReady.value){ + errorMsg.value = 'token 验证失败' + return false + } + return true } // 创建新对话 @@ -251,9 +259,6 @@ onMounted(async () => { // 再验证 token const isValid = await validateToken() isTokenValid.value = isValid - if (!isValid) { - console.error('Token 验证失败,请重新登录') - } }) @@ -270,7 +275,7 @@ onMounted(async () => { - + {{ formatTime(message.timestamp) }} @@ -306,42 +311,54 @@ onMounted(async () => { - 用户未登录 + {{errorMsg}} \ No newline at end of file