refactor(user): 重构用户信息获
This commit is contained in:
12
src/App.vue
12
src/App.vue
@ -8,18 +8,20 @@
|
||||
<script setup>
|
||||
import { useUserStore } from '@/stores';
|
||||
// import { useChatStore } from '@/stores/modules/chat';
|
||||
|
||||
import { initApp } from '@/utils/user';
|
||||
import { useRoute } from 'vue-router';
|
||||
import { handleUserHome, initApp } from '@/utils/user';
|
||||
import { useSidebarStore } from '@/stores/modules/side-bar';
|
||||
import { useEnterpriseStore } from '@/stores/modules/enterprise';
|
||||
|
||||
import { ConfigProvider } from 'ant-design-vue';
|
||||
import zhCN from 'ant-design-vue/es/locale/zh_CN';
|
||||
import 'dayjs/locale/zh-cn';
|
||||
|
||||
const userStore = useUserStore();
|
||||
// const route = useRoute();
|
||||
const route = useRoute();
|
||||
const sidebarStore = useSidebarStore();
|
||||
// const chatStore = useChatStore();
|
||||
const enterpriseStore = useEnterpriseStore();
|
||||
|
||||
const redTheme = {
|
||||
token: {
|
||||
@ -34,6 +36,10 @@ const init = async () => {
|
||||
// 已开通
|
||||
if (isLogin) {
|
||||
await initApp();
|
||||
|
||||
if (enterpriseStore.isOpenEnterprise && route.name === 'Trial') {
|
||||
handleUserHome();
|
||||
}
|
||||
} else {
|
||||
sidebarStore.stopUnreadInfoPolling();
|
||||
}
|
||||
|
||||
@ -28,7 +28,7 @@ export const fetchLogOut = (params = {}) => {
|
||||
};
|
||||
|
||||
// 导出一个名为fetchProfileInfo的函数,用于获取用户信息
|
||||
export const fetchProfileInfo = (params = {}) => {
|
||||
export const fetchUserInfo = (params = {}) => {
|
||||
// 使用Http.put方法,向/v1/me接口发送put请求,并将params作为参数传递
|
||||
return Http.get('/v1/me', params);
|
||||
};
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { defineStore } from 'pinia';
|
||||
import { fetchProfileInfo } from '@/api/all/login';
|
||||
import { fetchUserInfo } from '@/api/all/login';
|
||||
// import { useSidebarStore } from '@/stores/modules/side-bar';
|
||||
import { glsWithCatch, rlsWithCatch, slsWithCatch } from '@/utils/stroage';
|
||||
import { useEnterpriseStore } from '@/stores/modules/enterprise';
|
||||
@ -72,7 +72,7 @@ export const useUserStore = defineStore('user', {
|
||||
async getUserInfo() {
|
||||
const enterpriseStore = useEnterpriseStore();
|
||||
|
||||
const { code, data } = await fetchProfileInfo();
|
||||
const { code, data } = await fetchUserInfo();
|
||||
if (code === 200) {
|
||||
this.setUserInfo(data);
|
||||
|
||||
|
||||
@ -42,9 +42,9 @@ export async function initApp() {
|
||||
const enterpriseStore = useEnterpriseStore();
|
||||
|
||||
await userStore.getUserInfo(); // 初始化用户信息
|
||||
await getUserEnterpriseInfo(); // 初始化企业信息
|
||||
|
||||
if (enterpriseStore.isOpenEnterprise) {
|
||||
await getUserEnterpriseInfo(); // 初始化企业信息
|
||||
chatStore.getAgentInfo(); // 初始化智能体信息
|
||||
|
||||
sidebarStore.startUnreadInfoPolling(); // 初始化未读信息
|
||||
|
||||
@ -105,7 +105,7 @@
|
||||
import { Button, Checkbox, Form, FormItem, Input, message, Tabs, Typography } from 'ant-design-vue';
|
||||
import PuzzleVerification from '../PuzzleVerification.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 { joinEnterpriseByInviteCode } from '@/api/all';
|
||||
import { computed, onUnmounted, reactive, ref } from 'vue';
|
||||
@ -268,7 +268,7 @@ const onTabChange = () => {
|
||||
|
||||
// 获取用户信息
|
||||
const getProfileInfo = async () => {
|
||||
const { code, data } = await fetchProfileInfo();
|
||||
const { code, data } = await fetchUserInfo();
|
||||
if (code === 200) {
|
||||
const enterprises = data['enterprises'];
|
||||
mobileNumber.value = data['mobile'];
|
||||
@ -283,6 +283,7 @@ const getProfileInfo = async () => {
|
||||
selectAccountModalRef.value.open();
|
||||
}
|
||||
} else {
|
||||
userStore.setUserInfo(data);
|
||||
router.push({ name: 'Trial' });
|
||||
}
|
||||
}
|
||||
|
||||
@ -92,7 +92,7 @@ import PuzzleVerification from '../PuzzleVerification.vue';
|
||||
import SelectAccountModal from '../select-account-modal/index.vue';
|
||||
import { postClearRateLimiter } from '@/api/all/common';
|
||||
import {
|
||||
fetchProfileInfo,
|
||||
fetchUserInfo,
|
||||
postForgetPassword,
|
||||
postForgetPasswordCaptcha,
|
||||
postRegister,
|
||||
@ -295,8 +295,9 @@ const handleVerificationSubmit = async () => {
|
||||
|
||||
// 获取用户信息
|
||||
const getProfileInfo = async () => {
|
||||
const { code, data } = await fetchProfileInfo();
|
||||
const { code, data } = await fetchUserInfo();
|
||||
if (code === 200) {
|
||||
|
||||
const enterprises = data['enterprises'];
|
||||
mobileNumber.value = data['mobile'];
|
||||
accounts.value = enterprises;
|
||||
@ -311,6 +312,7 @@ const getProfileInfo = async () => {
|
||||
selectAccountModalRef.value.open();
|
||||
}
|
||||
} else {
|
||||
userStore.setUserInfo(data);
|
||||
router.push({ name: 'Trial' });
|
||||
}
|
||||
}
|
||||
@ -348,7 +350,7 @@ const handleSubmit = async () => {
|
||||
}, 1500);
|
||||
return;
|
||||
}
|
||||
;
|
||||
|
||||
|
||||
userStore.setToken(data.access_token);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user