perf: 申请试用后 初始化权限列表

This commit is contained in:
rd
2025-07-09 15:27:28 +08:00
parent e48681a4ec
commit eb81cb04c3
4 changed files with 22 additions and 14 deletions

View File

@ -8,12 +8,12 @@
<script setup lang="ts">
import { useUserStore } from '@/stores';
import { useEnterpriseStore } from '@/stores/modules/enterprise';
import { useSidebarStore } from '@/stores/modules/side-bar';
import { getUserEnterpriseInfo } from '@/utils/user';
import zhCN from '@arco-design/web-vue/es/locale/lang/zh-cn';
const userStore = useUserStore();
const enterpriseStore = useEnterpriseStore();
const redTheme = {
token: {
@ -25,14 +25,10 @@ const redTheme = {
const init = async () => {
const { isLogin, getUserInfo } = userStore;
const { getUserEnterpriseInfo } = enterpriseStore;
const sidebarStore = useSidebarStore();
if (isLogin) {
await getUserInfo(); // 初始化用户信息
await getUserEnterpriseInfo(); // 初始化企业信息
sidebarStore.getUserNavbarMenuList(); // 初始化navbar菜单
userStore.getUserAllowAccessRoutes(); // 初始化允许访问的路由
await getUserEnterpriseInfo();
}
};

View File

@ -45,7 +45,7 @@ export const useEnterpriseStore = defineStore('enterprise', {
this.enterpriseInfo.used_sub_account_count++;
}
},
async getUserEnterpriseInfo() {
async getEnterpriseInfo() {
if (this.enterpriseInfo) {
const { code, data } = await fetchEnterpriseInfo(this.enterpriseInfo!.id);
if (code === 200) {

View File

@ -12,17 +12,23 @@ import { useSidebarStore } from '@/stores/modules/side-bar';
export function goUserLogin(query?: any) {
router.push({ name: 'UserLogin', query });
}
// 初始化企业信息、navbar菜单、允许访问的路由
export const getUserEnterpriseInfo = async () => {
const enterpriseStore = useEnterpriseStore();
const sidebarStore = useSidebarStore();
const userStore = useUserStore();
await enterpriseStore.getEnterpriseInfo();
sidebarStore.getUserNavbarMenuList(); // 初始化navbar菜单
userStore.getUserAllowAccessRoutes(); // 初始化允许访问的路由
};
// 登录处理
export async function handleUserLogin() {
const userStore = useUserStore();
const enterpriseStore = useEnterpriseStore();
const sidebarStore = useSidebarStore();
await userStore.getUserInfo(); // 初始化用户信息
await enterpriseStore.getUserEnterpriseInfo(); // 初始化企业信息
sidebarStore.getUserNavbarMenuList(); // 初始化navbar菜单
userStore.getUserAllowAccessRoutes(); // 初始化允许访问的路由
await getUserEnterpriseInfo();
handleUserHome();
}

View File

@ -70,8 +70,11 @@ import { trialProduct } from '@/api/all';
import { useRouter } from 'vue-router';
import CustomerServiceModal from '@/components/customer-service-modal.vue';
import { appRoutes } from '@/router/routes';
import { useSidebarStore } from '@/stores/modules/side-bar';
import { useEnterpriseStore } from '@/stores/modules/enterprise';
import { useUserStore } from '@/stores';
import { getUserEnterpriseInfo } from '@/utils/user';
const props = defineProps<{
product: Product;
@ -98,11 +101,14 @@ interface Product {
const visible = ref(false);
const router = useRouter();
const enterpriseStore = useEnterpriseStore();
const userStore = useUserStore();
const sidebarStore = useSidebarStore();
const handleTrial = async (id: any) => {
const { code } = await trialProduct(id);
if (code === 200) {
enterpriseStore.getUserEnterpriseInfo();
getUserEnterpriseInfo();
AMessage.success('试用成功!');
emit('refresh');
}