Explorar o código

feat(api): temp save

gemercheung %!s(int64=3) %!d(string=hai) anos
pai
achega
8ef84ace2b

+ 4 - 3
src/enums/roleEnum.ts

@@ -1,7 +1,8 @@
 export enum RoleEnum {
   // super admin
   SUPER = 'super',
-
-  // tester
-  TEST = 'test',
+  PLAT_ADMIN = 'plat_admin',
+  COMPANY_ADMIN = 'company_admin',
+  STAFF = 'staff',
+  HOST = 'host',
 }

+ 1 - 0
src/router/menus/index.ts

@@ -85,6 +85,7 @@ export async function getShallowMenus(): Promise<Menu[]> {
     const routes = router.getRoutes();
     return shallowMenuList.filter(basicFilter(routes));
   }
+  console.log('shallowMenuList', shallowMenuList);
   return shallowMenuList;
 }
 

+ 5 - 1
src/router/routes/modules/corporation.ts

@@ -1,5 +1,5 @@
 import type { AppRouteModule } from '/@/router/types';
-
+import { RoleEnum } from '/@/enums/roleEnum';
 import { LAYOUT } from '/@/router/constant';
 import { t } from '/@/hooks/web/useI18n';
 
@@ -8,11 +8,13 @@ const corporation: AppRouteModule = {
   name: 'Corporation',
   component: LAYOUT,
   redirect: '/corporation/index',
+
   meta: {
     // hideChildrenInMenu: true,
     icon: 'carbon:location-company',
     title: t('routes.dashboard.corporation'),
     orderNo: 11,
+    roles: [RoleEnum.SUPER, RoleEnum.PLAT_ADMIN, RoleEnum.COMPANY_ADMIN],
   },
   children: [
     {
@@ -22,6 +24,7 @@ const corporation: AppRouteModule = {
       meta: {
         title: t('routes.dashboard.corporationAccount'),
         icon: 'ic:baseline-account-tree',
+        roles: [RoleEnum.SUPER, RoleEnum.PLAT_ADMIN, RoleEnum.COMPANY_ADMIN],
         // hideMenu: true,
       },
     },
@@ -32,6 +35,7 @@ const corporation: AppRouteModule = {
       meta: {
         title: t('routes.dashboard.corporationVerify'),
         icon: 'ic:outline-verified',
+        roles: [RoleEnum.SUPER, RoleEnum.PLAT_ADMIN, RoleEnum.COMPANY_ADMIN],
         // hideMenu: true,
       },
     },

+ 3 - 1
src/router/routes/modules/scenes.ts

@@ -1,5 +1,5 @@
 import type { AppRouteModule } from '/@/router/types';
-
+import { RoleEnum } from '/@/enums/roleEnum';
 import { LAYOUT } from '/@/router/constant';
 import { t } from '/@/hooks/web/useI18n';
 
@@ -12,6 +12,7 @@ const scenes: AppRouteModule = {
     icon: 'mdi:drama-masks',
     title: t('routes.dashboard.scenes'),
     orderNo: 101,
+    roles: [RoleEnum.SUPER, RoleEnum.STAFF],
   },
   children: [
     // {
@@ -30,6 +31,7 @@ const scenes: AppRouteModule = {
       meta: {
         title: t('routes.dashboard.scenesList'),
         icon: 'mdi:drama-masks',
+        roles: [RoleEnum.SUPER, RoleEnum.STAFF],
       },
     },
     // {

+ 1 - 1
src/settings/projectSetting.ts

@@ -25,7 +25,7 @@ const setting: ProjectConfig = {
 
   // Permission mode
   // permissionMode: PermissionModeEnum.BACK,
-  permissionMode: PermissionModeEnum.ROUTE_MAPPING,
+  permissionMode: PermissionModeEnum.ROLE,
   // Permission-related cache is stored in sessionStorage or localStorage
   permissionCacheType: CacheTypeEnum.LOCAL,
 

+ 1 - 0
src/store/modules/permission.ts

@@ -215,6 +215,7 @@ export const usePermissionStore = defineStore({
 
       routes.push(ERROR_LOG_ROUTE);
       patchHomeAffix(routes);
+      console.log('routes', routes);
       return routes;
     },
   },

+ 16 - 3
src/store/modules/user.ts

@@ -131,9 +131,22 @@ export const useUserStore = defineStore({
       if (!this.getToken) return null;
 
       const userInfo = await getUserInfo();
-      const { roles = [] } = userInfo;
-      if (isArray(roles)) {
-        const roleList = roles.map((item) => item.value) as RoleEnum[];
+      const { roleIds = [] } = userInfo;
+      if (isArray(roleIds)) {
+        const roleList = roleIds.map((item) => {
+          switch (item) {
+            case 0:
+              return RoleEnum.SUPER;
+            case 5:
+              return RoleEnum.PLAT_ADMIN;
+            case 6:
+              return RoleEnum.COMPANY_ADMIN;
+            case 8:
+              return RoleEnum.STAFF;
+            case 9:
+              return RoleEnum.HOST;
+          }
+        }) as RoleEnum[];
         this.setRoleList(roleList);
       } else {
         userInfo.roles = [];

+ 1 - 2
types/store.d.ts

@@ -52,8 +52,7 @@ export interface UserInfo {
   message: string;
   nickName: string;
   phone: string;
-  roleIdList: number[];
-  roleList: string;
+  roleIds: number[];
   roleName: string;
   state: string;
   token: string;