refactor(user): 重构用户信息获

This commit is contained in:
rd
2025-09-19 09:40:06 +08:00
parent 55b4ed1e83
commit 192a125d01
6 changed files with 21 additions and 12 deletions

View File

@ -8,18 +8,20 @@
<script setup> <script setup>
import { useUserStore } from '@/stores'; import { useUserStore } from '@/stores';
// import { useChatStore } from '@/stores/modules/chat'; // import { useChatStore } from '@/stores/modules/chat';
import { useRoute } from 'vue-router';
import { initApp } from '@/utils/user'; import { handleUserHome, initApp } from '@/utils/user';
import { useSidebarStore } from '@/stores/modules/side-bar'; import { useSidebarStore } from '@/stores/modules/side-bar';
import { useEnterpriseStore } from '@/stores/modules/enterprise';
import { ConfigProvider } from 'ant-design-vue'; import { ConfigProvider } from 'ant-design-vue';
import zhCN from 'ant-design-vue/es/locale/zh_CN'; import zhCN from 'ant-design-vue/es/locale/zh_CN';
import 'dayjs/locale/zh-cn'; import 'dayjs/locale/zh-cn';
const userStore = useUserStore(); const userStore = useUserStore();
// const route = useRoute(); const route = useRoute();
const sidebarStore = useSidebarStore(); const sidebarStore = useSidebarStore();
// const chatStore = useChatStore(); // const chatStore = useChatStore();
const enterpriseStore = useEnterpriseStore();
const redTheme = { const redTheme = {
token: { token: {
@ -34,6 +36,10 @@ const init = async () => {
// 已开通 // 已开通
if (isLogin) { if (isLogin) {
await initApp(); await initApp();
if (enterpriseStore.isOpenEnterprise && route.name === 'Trial') {
handleUserHome();
}
} else { } else {
sidebarStore.stopUnreadInfoPolling(); sidebarStore.stopUnreadInfoPolling();
} }

View File

@ -28,7 +28,7 @@ export const fetchLogOut = (params = {}) => {
}; };
// 导出一个名为fetchProfileInfo的函数用于获取用户信息 // 导出一个名为fetchProfileInfo的函数用于获取用户信息
export const fetchProfileInfo = (params = {}) => { export const fetchUserInfo = (params = {}) => {
// 使用Http.put方法向/v1/me接口发送put请求并将params作为参数传递 // 使用Http.put方法向/v1/me接口发送put请求并将params作为参数传递
return Http.get('/v1/me', params); return Http.get('/v1/me', params);
}; };

View File

@ -1,5 +1,5 @@
import { defineStore } from 'pinia'; import { defineStore } from 'pinia';
import { fetchProfileInfo } from '@/api/all/login'; import { fetchUserInfo } from '@/api/all/login';
// import { useSidebarStore } from '@/stores/modules/side-bar'; // import { useSidebarStore } from '@/stores/modules/side-bar';
import { glsWithCatch, rlsWithCatch, slsWithCatch } from '@/utils/stroage'; import { glsWithCatch, rlsWithCatch, slsWithCatch } from '@/utils/stroage';
import { useEnterpriseStore } from '@/stores/modules/enterprise'; import { useEnterpriseStore } from '@/stores/modules/enterprise';
@ -72,7 +72,7 @@ export const useUserStore = defineStore('user', {
async getUserInfo() { async getUserInfo() {
const enterpriseStore = useEnterpriseStore(); const enterpriseStore = useEnterpriseStore();
const { code, data } = await fetchProfileInfo(); const { code, data } = await fetchUserInfo();
if (code === 200) { if (code === 200) {
this.setUserInfo(data); this.setUserInfo(data);

View File

@ -42,9 +42,9 @@ export async function initApp() {
const enterpriseStore = useEnterpriseStore(); const enterpriseStore = useEnterpriseStore();
await userStore.getUserInfo(); // 初始化用户信息 await userStore.getUserInfo(); // 初始化用户信息
await getUserEnterpriseInfo(); // 初始化企业信息
if (enterpriseStore.isOpenEnterprise) { if (enterpriseStore.isOpenEnterprise) {
await getUserEnterpriseInfo(); // 初始化企业信息
chatStore.getAgentInfo(); // 初始化智能体信息 chatStore.getAgentInfo(); // 初始化智能体信息
sidebarStore.startUnreadInfoPolling(); // 初始化未读信息 sidebarStore.startUnreadInfoPolling(); // 初始化未读信息

View File

@ -105,7 +105,7 @@
import { Button, Checkbox, Form, FormItem, Input, message, Tabs, Typography } from 'ant-design-vue'; import { Button, Checkbox, Form, FormItem, Input, message, Tabs, Typography } from 'ant-design-vue';
import PuzzleVerification from '../PuzzleVerification.vue'; import PuzzleVerification from '../PuzzleVerification.vue';
import SelectAccountModal from '../select-account-modal/index.vue'; import SelectAccountModal from '../select-account-modal/index.vue';
import { fetchAuthorizationsCaptcha, fetchLoginCaptCha, fetchProfileInfo, postLoginPassword } from '@/api/all/login'; import { fetchAuthorizationsCaptcha, fetchLoginCaptCha, fetchUserInfo, postLoginPassword } from '@/api/all/login';
import { postClearRateLimiter } from '@/api/all/common'; import { postClearRateLimiter } from '@/api/all/common';
import { joinEnterpriseByInviteCode } from '@/api/all'; import { joinEnterpriseByInviteCode } from '@/api/all';
import { computed, onUnmounted, reactive, ref } from 'vue'; import { computed, onUnmounted, reactive, ref } from 'vue';
@ -268,7 +268,7 @@ const onTabChange = () => {
// 获取用户信息 // 获取用户信息
const getProfileInfo = async () => { const getProfileInfo = async () => {
const { code, data } = await fetchProfileInfo(); const { code, data } = await fetchUserInfo();
if (code === 200) { if (code === 200) {
const enterprises = data['enterprises']; const enterprises = data['enterprises'];
mobileNumber.value = data['mobile']; mobileNumber.value = data['mobile'];
@ -283,6 +283,7 @@ const getProfileInfo = async () => {
selectAccountModalRef.value.open(); selectAccountModalRef.value.open();
} }
} else { } else {
userStore.setUserInfo(data);
router.push({ name: 'Trial' }); router.push({ name: 'Trial' });
} }
} }

View File

@ -92,7 +92,7 @@ import PuzzleVerification from '../PuzzleVerification.vue';
import SelectAccountModal from '../select-account-modal/index.vue'; import SelectAccountModal from '../select-account-modal/index.vue';
import { postClearRateLimiter } from '@/api/all/common'; import { postClearRateLimiter } from '@/api/all/common';
import { import {
fetchProfileInfo, fetchUserInfo,
postForgetPassword, postForgetPassword,
postForgetPasswordCaptcha, postForgetPasswordCaptcha,
postRegister, postRegister,
@ -295,8 +295,9 @@ const handleVerificationSubmit = async () => {
// 获取用户信息 // 获取用户信息
const getProfileInfo = async () => { const getProfileInfo = async () => {
const { code, data } = await fetchProfileInfo(); const { code, data } = await fetchUserInfo();
if (code === 200) { if (code === 200) {
const enterprises = data['enterprises']; const enterprises = data['enterprises'];
mobileNumber.value = data['mobile']; mobileNumber.value = data['mobile'];
accounts.value = enterprises; accounts.value = enterprises;
@ -311,6 +312,7 @@ const getProfileInfo = async () => {
selectAccountModalRef.value.open(); selectAccountModalRef.value.open();
} }
} else { } else {
userStore.setUserInfo(data);
router.push({ name: 'Trial' }); router.push({ name: 'Trial' });
} }
} }
@ -348,7 +350,7 @@ const handleSubmit = async () => {
}, 1500); }, 1500);
return; return;
} }
;
userStore.setToken(data.access_token); userStore.setToken(data.access_token);