diff --git a/src/layouts/components/navbar/components/middle-side/index.vue b/src/layouts/components/navbar/components/middle-side/index.vue
index 88cdee1..199c676 100644
--- a/src/layouts/components/navbar/components/middle-side/index.vue
+++ b/src/layouts/components/navbar/components/middle-side/index.vue
@@ -3,15 +3,17 @@ import { Input } from 'ant-design-vue';
// import { handleUserHome } from '@/utils/user.ts';
import { useChatStore } from '@/stores/modules/chat';
import { useUserStore } from '@/stores';
+import { useEnterpriseStore } from '@/stores/modules/enterprise';
export default {
setup(props, { emit, expose }) {
const chatStore = useChatStore();
const userStore = useUserStore();
+ const enterpriseStore = useEnterpriseStore();
const keyWord = ref('');
- const hasOpenEnterprise = computed(() => userStore.isOpenEnterprise);
+ const hasOpenEnterprise = computed(() => enterpriseStore.isOpenEnterprise);
const handleSearch = () => {
chatStore.setSearchValue(keyWord.value);
diff --git a/src/layouts/components/navbar/components/right-side/index.vue b/src/layouts/components/navbar/components/right-side/index.vue
index cb1b0a1..c2f5d50 100644
--- a/src/layouts/components/navbar/components/right-side/index.vue
+++ b/src/layouts/components/navbar/components/right-side/index.vue
@@ -98,7 +98,7 @@ const route = useRoute();
const router = useRouter();
const hasUnreadInfo = computed(() => sideBarStore.unreadInfo.length);
-const hasOpenEnterprise = computed(() => userStore.isOpenEnterprise);
+const hasOpenEnterprise = computed(() => enterpriseStore.isOpenEnterprise);
const exitAccountModalRef = ref(null);
const downloadCenterModalRef = ref(null);
diff --git a/src/layouts/components/navbar/index.vue b/src/layouts/components/navbar/index.vue
index d577208..7e672c5 100644
--- a/src/layouts/components/navbar/index.vue
+++ b/src/layouts/components/navbar/index.vue
@@ -1,16 +1,14 @@
-
-

+
-
+
-
+
-
@@ -19,13 +17,15 @@ import MiddleSide from './components/middle-side';
import RightSide from './components/right-side';
import { useUserStore } from '@/stores';
+import { useEnterpriseStore } from '@/stores/modules/enterprise';
import { handleUserHome } from '@/utils/user.ts';
import router from '@/router';
const route = useRoute();
const userStore = useUserStore();
+const enterpriseStore = useEnterpriseStore();
-const hasOpenEnterprise = computed(() => userStore.isOpenEnterprise);
+const hasOpenEnterprise = computed(() => enterpriseStore.isOpenEnterprise);
const isAgentRoute = computed(() => {
return route.meta?.isAgentRoute;
});
@@ -39,8 +39,8 @@ const onLogoClick = () => {
handleUserHome();
} else {
router.push({
- name: 'Trial'
- })
+ name: 'Trial',
+ });
}
};
diff --git a/src/layouts/components/siderBar/index.vue b/src/layouts/components/siderBar/index.vue
index e620e3c..342ae5e 100644
--- a/src/layouts/components/siderBar/index.vue
+++ b/src/layouts/components/siderBar/index.vue
@@ -8,6 +8,7 @@ import { useSidebarStore } from '@/stores/modules/side-bar';
import type { typeMenuItem } from './menu-list';
import { MENU_LIST } from './menu-list';
import { handleUserHome } from '@/utils/user';
+import { useEnterpriseStore } from '@/stores/modules/enterprise';
import icon1 from '@/assets/img/agent/icon1.png';
@@ -21,6 +22,7 @@ export default defineComponent({
const sidebarStore = useSidebarStore();
const appStore = useAppStore();
const userStore = useUserStore();
+ const enterpriseStore = useEnterpriseStore();
// const currentMenuList = ref([]);
const currentMenuModInfo = ref({});
@@ -30,7 +32,7 @@ export default defineComponent({
const isHomeRoute = computed(() => currentRouteName.value === 'Home');
const showAiSearch = computed(() => !route.meta?.hideAiSearch);
const currentMenuList = computed(() => sidebarStore.currentMenuList);
- const hasOpenEnterprise = computed(() => userStore.isOpenEnterprise);
+ const hasOpenEnterprise = computed(() => enterpriseStore.isOpenEnterprise);
const collapsed = computed(() => {
return sidebarStore.menuCollapse;
diff --git a/src/permission/permission.ts b/src/permission/permission.ts
index ab83cab..cfcab97 100644
--- a/src/permission/permission.ts
+++ b/src/permission/permission.ts
@@ -1,13 +1,13 @@
-import { useUserStore } from '@/stores/modules/user';
+// import { useUserStore } from '@/stores/modules/user';
+import { useEnterpriseStore } from '@/stores/modules/enterprise';
export function checkRoutePermission(routeName: string) {
-
- const userStore = useUserStore();
+ const enterpriseStore = useEnterpriseStore();
if (!routeName) return false;
- if (!userStore.isOpenEnterprise) {
- return false
+ if (!enterpriseStore.isOpenEnterprise) {
+ return false;
}
return true;
diff --git a/src/stores/modules/enterprise/index.ts b/src/stores/modules/enterprise/index.ts
index 1517998..44b5477 100644
--- a/src/stores/modules/enterprise/index.ts
+++ b/src/stores/modules/enterprise/index.ts
@@ -1,7 +1,5 @@
import { fetchEnterpriseInfo } from '@/api/all/login';
-import { useSidebarStore } from '@/stores/modules/side-bar';
-import { useUserStore } from '@/stores/modules/user';
-import { glsWithCatch, slsWithCatch, rlsWithCatch } from '@/utils/stroage';
+import { glsWithCatch, slsWithCatch } from '@/utils/stroage';
interface EnterpriseInfo {
id: number | string;
@@ -11,6 +9,8 @@ interface EnterpriseInfo {
sub_account_quota: number;
used_sub_account_count: number;
permissions: string[];
+
+ [key: string]: any;
}
interface EnterpriseState {
@@ -21,6 +21,12 @@ export const useEnterpriseStore = defineStore('enterprise', {
state: (): EnterpriseState => ({
enterpriseInfo: (glsWithCatch('enterpriseInfo') && JSON.parse(glsWithCatch('enterpriseInfo') as string)) || null,
}),
+ getters: {
+ // 企业已开通/试用中
+ isOpenEnterprise(): boolean {
+ return [1, 2].includes(this.enterpriseInfo?.subscribe_status);
+ },
+ },
actions: {
setEnterpriseInfo(enterpriseInfo: EnterpriseInfo) {
this.enterpriseInfo = enterpriseInfo;
diff --git a/src/stores/modules/user/index.ts b/src/stores/modules/user/index.ts
index e07c809..96df719 100644
--- a/src/stores/modules/user/index.ts
+++ b/src/stores/modules/user/index.ts
@@ -39,10 +39,6 @@ export const useUserStore = defineStore('user', {
isLogin(): boolean {
return !!this.token;
},
- // 是否开通企业
- isOpenEnterprise(): boolean {
- return [1, 2].includes(this.userInfo?.primary_enterprise?.subscribe_status);
- },
},
actions: {
// 设置 Token
diff --git a/src/utils/user.ts b/src/utils/user.ts
index 13542d5..abf8131 100644
--- a/src/utils/user.ts
+++ b/src/utils/user.ts
@@ -15,6 +15,18 @@ export function goUserLogin(query?: any) {
router.push({ name: 'UserLogin', query });
}
+// 首页
+export function handleUserHome(params?: any) {
+ const enterpriseStore = useEnterpriseStore();
+ console.log(enterpriseStore.enterpriseInfo);
+ // 已开通
+ if (enterpriseStore.isOpenEnterprise) {
+ router.push({ name: 'Home', params });
+ } else {
+ router.push({ name: 'Trial' });
+ }
+}
+
export const getUserEnterpriseInfo = async () => {
const enterpriseStore = useEnterpriseStore();
// const sidebarStore = useSidebarStore();
@@ -29,12 +41,14 @@ export async function initApp() {
const userStore = useUserStore();
const chatStore = useChatStore();
const sidebarStore = useSidebarStore();
+ const enterpriseStore = useEnterpriseStore();
+
await userStore.getUserInfo(); // 初始化用户信息
- if (!userStore.isOpenEnterprise) return;
+ if (!enterpriseStore.isOpenEnterprise) return;
await getUserEnterpriseInfo(); // 初始化企业信息、navbar菜单、允许访问的路由
- await chatStore.getAgentInfo(); // 初始化智能体信息
+ // await chatStore.getAgentInfo(); // 初始化智能体信息
sidebarStore.startUnreadInfoPolling(); // 初始化未读信息
}
@@ -46,13 +60,10 @@ export async function handleUserLogin() {
handleUserHome();
}
-// 首页
-export function handleUserHome(params?: any) {
- router.push({ name: 'Home', params });
-}
-
// 登出处理
export function handleUserLogout() {
+ goUserLogin();
+
const userStore = useUserStore();
const enterpriseStore = useEnterpriseStore();
const sidebarStore = useSidebarStore();
@@ -66,6 +77,4 @@ export function handleUserLogout() {
sidebarStore.stopUnreadInfoPolling(); // 清除未读消息
sidebarStore.clearActiveMenuKey(); // 清除active菜单id
sidebarStore.clearMenuCollapse(); // 清除active菜单id
-
- goUserLogin();
}
diff --git a/src/views/login/components/login-form/index.vue b/src/views/login/components/login-form/index.vue
index ea1adb8..f7b3f43 100644
--- a/src/views/login/components/login-form/index.vue
+++ b/src/views/login/components/login-form/index.vue
@@ -108,7 +108,6 @@ import { computed, onUnmounted, reactive, ref } from 'vue';
import { useUserStore } from '@/stores';
import { useEnterpriseStore } from '@/stores/modules/enterprise';
import { handleUserLogin } from '@/utils/user';
-import router from '@/router';
import { useRoute } from 'vue-router';
import icon1 from '@/assets/img/login/icon-close.png';
@@ -265,24 +264,18 @@ const onTabChange = () => {
const getProfileInfo = async () => {
const { code, data } = await fetchProfileInfo();
if (code === 200) {
- userStore.setUserInfo(data);
- // 已开通
- if (userStore.isOpenEnterprise) {
- const enterprises = data['enterprises'];
- mobileNumber.value = data['mobile'];
- accounts.value = enterprises;
+ const enterprises = data['enterprises'];
+ mobileNumber.value = data['mobile'];
+ accounts.value = enterprises;
- if (enterprises.length > 0) {
- enterpriseStore.setEnterpriseInfo(data.enterprises[0]);
- if (enterprises.length === 1) {
- handleUserLogin();
- } else {
- // 多个企业时候需要弹窗让用户选择企业
- selectAccountModalRef.value.open();
- }
+ if (enterprises.length > 0) {
+ enterpriseStore.setEnterpriseInfo(data.enterprises[0]);
+ if (enterprises.length === 1) {
+ handleUserLogin();
+ } else {
+ // 多个企业时候需要弹窗让用户选择企业
+ selectAccountModalRef.value.open();
}
- } else {
- router.push({ name: 'Trial' });
}
}
};
diff --git a/src/views/login/components/register-form/index.vue b/src/views/login/components/register-form/index.vue
index f18e86c..dae2294 100644
--- a/src/views/login/components/register-form/index.vue
+++ b/src/views/login/components/register-form/index.vue
@@ -85,37 +85,30 @@