fix:登录判断优化

This commit is contained in:
Gsh
2025-06-30 16:02:39 +08:00
parent 3d22a2ef65
commit 6aefcdbed8
6 changed files with 31 additions and 11 deletions

View File

@@ -3,8 +3,10 @@
import type { GetSessionListVO } from '@/api/model/types';
import Popover from '@/components/Popover/index.vue';
import SvgIcon from '@/components/SvgIcon/index.vue';
import { useUserStore } from '@/stores';
import { useModelStore } from '@/stores/modules/model';
const userStore = useUserStore();
const modelStore = useModelStore();
onMounted(async () => {
@@ -40,9 +42,14 @@ async function showPopover() {
// 获取最新的模型列表
await modelStore.requestModelList();
}
// 用户角色
// const isUserRoleVip = computed(() => {
// const roles = userStore.userInfo?.roles ?? [];
// return roles.some(role => role.roleCode === 'YiXinAi-Vip');
// });
// 点击
function handleClick(item: GetSessionListVO) {
console.log('handleClick--', item);
modelStore.setCurrentModelInfo(item);
popoverRef.value?.hide?.();
}

View File

@@ -69,8 +69,8 @@ onKeyStroke(event => event.ctrlKey && event.key.toLowerCase() === 'k', handleCtr
<!-- 右边 -->
<div class="right-box flex h-full items-center pr-20px flex-shrink-0 mr-auto flex-row">
<Avatar v-show="userStore.token" />
<LoginBtn v-show="!userStore.token" />
<Avatar v-show="userStore.userInfo" />
<LoginBtn v-show="!userStore.userInfo" />
</div>
</div>
</div>

View File

@@ -108,7 +108,7 @@ function handleDataChunk(chunk: AnyObject) {
// 另一种思考中形式content中有 <think></think> 的格式
// 一开始匹配到 <think> 开始,匹配到 </think> 结束,并处理标签中的内容为思考内容
console.log(chunk.choices,"chunk.choices")
console.log(chunk.choices, 'chunk.choices');
const parsedChunk = chunk.choices?.[0].delta.content;
if (parsedChunk) {
const thinkStart = parsedChunk.includes('<think>');
@@ -148,6 +148,7 @@ function handleDataChunk(chunk: AnyObject) {
// 封装错误处理逻辑
function handleError(err: any) {
console.log('Fetch error:-------', err);
console.error('Fetch error:', err);
}

View File

@@ -77,7 +77,7 @@ function jwtPlugin(): HookFetchPlugin<BaseResponse> {
beforeRequest: async (config) => {
config.headers = new Headers(config.headers);
if (userStore.refreshToken) {
config.headers.set('refresh_token', `Bearer ${userStore.refreshToken}`);
config.headers.set('refresh_token', `${userStore.refreshToken}`);
}
if (userStore.token) {
config.headers.set('authorization', `Bearer ${userStore.token}`);
@@ -85,9 +85,13 @@ function jwtPlugin(): HookFetchPlugin<BaseResponse> {
return config;
},
afterResponse: async (response: any) => {
console.log('response---', response);
console.log('response.headers---', response.headers);
console.log('response.response.headers---', response.response.headers);
if (response.response.headers?.refresh_token) {
console.log('返回有token---response.response.headers-:', response.response.headers);
userStore.setToken(response.response.headers?.access_token, response.response.headers?.refresh_token);
}
@@ -108,6 +112,14 @@ function jwtPlugin(): HookFetchPlugin<BaseResponse> {
ElMessage.error(response.result?.msg);
return Promise.reject(response);
},
onError: async (error) => {
console.log('error---', error);
console.log('response---', error.response);
if (error.status === 403) {
// 弹窗提示
ElMessage.error('业务错误,请稍后再试');
}
},
};
}