shenwu 6 月之前
父節點
當前提交
a98aefa4e0
共有 4 個文件被更改,包括 18 次插入11 次删除
  1. 11 9
      config/routes.tsx
  2. 2 2
      src/access.ts
  3. 4 0
      src/app.tsx
  4. 1 0
      src/pages/User/Login/index.tsx

+ 11 - 9
config/routes.tsx

@@ -1,4 +1,5 @@
-/**
+
+/**
  * @name umi 的路由配置
  * @description 只支持 path,component,routes,redirect,wrappers,name,icon 的配置
  * @param path  path 只支持两种占位符配置,第一种是动态参数 :id 的形式,第二种是 * 通配符,通配符只能出现路由字符串的最后。
@@ -44,7 +45,7 @@ const newMenu = [
     access: "isShow",
     component: './Distributor/CorpManage',
   },
-  
+
   // {
   //   name: 'distributor.wxMiniApp',
   //   icon: 'icon-weixin',
@@ -98,7 +99,7 @@ const newMenu = [
   },
   // 公众号
   {
-    name:"miniApp.EmsCnpl",
+    name: "miniApp.EmsCnpl",
     icon: 'icon-gongzhonghao-wx',
     path: '/miniApp/emsCnpl',
     access: "isShow",
@@ -108,12 +109,12 @@ const newMenu = [
         redirect: '/miniApp/emsCnpl/auth',
       },
       {
-        path:'/miniApp/emsCnpl/auth',
+        path: '/miniApp/emsCnpl/auth',
         name: "auth",
         component: './MiniApp/EmsCnpl/Auth',
       },
       {
-        path:'/miniApp/emsCnpl/users',
+        path: '/miniApp/emsCnpl/users',
         name: "users",
         component: './MiniApp/EmsCnpl/Users',
       },
@@ -121,7 +122,7 @@ const newMenu = [
   },
   // 企微
   {
-    name:"miniApp.EntWeChat",
+    name: "miniApp.EntWeChat",
     icon: 'icon-qiyeweixin-wx',
     path: '/miniApp/entWeChat',
     access: "isShow",
@@ -149,7 +150,7 @@ const newMenu = [
   },
   // 推广运营
   {
-    name:"miniApp.Extend",
+    name: "miniApp.Extend",
     icon: 'icon-zizhutuiguang-wx',
     path: '/miniApp/extend',
     access: "isShow",
@@ -172,7 +173,7 @@ const newMenu = [
   },
   // 数据统计中心
   {
-    name:"miniApp.dataManage",
+    name: "miniApp.dataManage",
     icon: 'icon-shuju-wx',
     path: '/miniApp/dataManage',
     access: "isShow",
@@ -206,6 +207,7 @@ const newMenu = [
     component: './MiniApp/AdBack',
   },
 ]
+
 export default [
   {
     path: '/user',
@@ -220,7 +222,7 @@ export default [
   },
   {
     path: '/',
-    redirect: '/distributor/account',
+    redirect: '/distributor/account'
   },
   {
     path: '*',

+ 2 - 2
src/access.ts

@@ -7,8 +7,8 @@ export default function access(initialState: { menuType: "distributor" | "miniAp
       if (initialState?.menuType) {
         const { menuType, currentUser } = initialState;
         let regex = new RegExp(`^${menuType}\\.`);
-        if (route.name.match(/(distributor.appManage)|(distributor.account)/ig)) {
-          return currentUser?.manageAccount
+        if (route.name.match(/(distributor.appManage)|(distributor.account)|(distributor.corpManage)/ig)) {
+          return currentUser?.manageAccount && route.name.match(regex)
         }
         return route.name.match(regex)
       }

+ 4 - 0
src/app.tsx

@@ -110,6 +110,10 @@ export const layout: RunTimeLayoutConfig = ({ initialState, setInitialState }) =
       if (!localStorage.getItem("Token") && location?.pathname !== loginPath) {
         history.push(loginPath);
       }
+      // 假如普通用户重定向至应用列表
+      if(!initialState?.currentUser?.manageAccount && location?.pathname === "/distributor/account"){
+        history.push("/distributor/appList");
+      }
     },
     bgLayoutImgList: [
       {

+ 1 - 0
src/pages/User/Login/index.tsx

@@ -109,6 +109,7 @@ const Login: React.FC = () => {
           await fetchUserInfo({ userInfo: res.data.userInfo, token: res.data.token });
           console.log(res.data.token)
           localStorage.setItem("Token", res.data.token)
+          localStorage.setItem("manageAccount",res.data.userInfo.manageAccount)
           // 管理员跳转
           if(res.data.userInfo?.manageAccount){
             history.push(urlParams.get('redirect') || '/');