Selaa lähdekoodia

调整登陆判断、

code4eat 3 vuotta sitten
vanhempi
commit
44c8dd277b
2 muutettua tiedostoa jossa 68 lisäystä ja 16 poistoa
  1. 3 3
      config/proxy.js
  2. 65 13
      src/app.jsx

+ 3 - 3
config/proxy.js

@@ -1,8 +1,8 @@
 /*
  * @Author: your name
  * @Date: 2021-07-22 15:04:09
- * @LastEditTime: 2021-08-28 19:28:16
- * @LastEditors: Please set LastEditors
+ * @LastEditTime: 2023-04-25 10:24:22
+ * @LastEditors: code4eat awesomedema@gmail.com
  * @Description: In User Settings Edit
  * @FilePath: /TracerMethodology_PC/config/proxy.js
  */
@@ -26,7 +26,7 @@ export default {
   },
   dev: {
     '/api/': {
-      target: 'http://112.124.59.133:8082',    //开发本地:192.168.51.76 ,dev:112.124.59.133:8082  hr:192.168.51.80
+      target: 'http://47.96.149.190:8082',    //开发本地:192.168.51.76 ,dev:112.124.59.133:8082  hr:192.168.51.80
       changeOrigin: true,
       pathRewrite: {
         '^/api': '',

+ 65 - 13
src/app.jsx

@@ -45,17 +45,22 @@ let urlStr = search.split('?')[1]
 const urlSearchParams = new URLSearchParams(urlStr)
 const urlParamsResult = Object.fromEntries(urlSearchParams.entries());
 
-const {token} = urlParamsResult
+const {token:urlToken} = urlParamsResult
+
 
 
-const userData = {
-  avatar: "https://gw.alipayobjects.com/zos/antfincdn/XAosXuNZyF/BiazfanxmamNRoxxVxka.png",
-  name: "中台管理员",
-  token:token,
-  userid: 103
-}
 
-localStorage.setItem('userData', JSON.stringify(userData))
+if(urlToken){
+  //嵌入中台暂时模拟
+  const userData = {
+    avatar: "https://gw.alipayobjects.com/zos/antfincdn/XAosXuNZyF/BiazfanxmamNRoxxVxka.png",
+    name: "中台管理员",
+    token:urlToken,
+    userid: 103
+  }
+
+  localStorage.setItem('userData', JSON.stringify(userData))
+}
 
 export const initialStateConfig = {
   loading: <PageLoading />,
@@ -68,7 +73,7 @@ export async function getInitialState() {
 
   const fetchUserInfo = async () => {
 
-    //const userData = localStorage.getItem('userData');
+    const userData = localStorage.getItem('userData');
     if (userData) {
       return userData;
     }
@@ -151,8 +156,9 @@ const authHeaderInterceptor = (url, options) => {
     requestMethod = 'get'
   }
   let authHeader = {};
+  const userData = localStorage.getItem('userData');
   if (userData) {
-    const { token } = userData;
+    const { token } = JSON.parse(userData);
     authHeader.token = token;
   }
 
@@ -285,9 +291,55 @@ const mappingIcon = menuData => {
 
 export const layout = async ({ initialState }) => {
 
-  return {
-    headerTitleRender: false,
-    headerRender: false,
+  return urlToken?{
+    headerTitleRender:false,
+    headerRender:false,
+    rightContentRender: () => <RightContent />,
+    disableContentMargin: false,
+    waterMarkProps: {
+      content: '',
+    },
+    actionRef: layoutActionRef,
+    footerRender: () => <Footer />,
+    onPageChange: () => {
+      const { location } = history; // 如果没有登录,重定向到 login
+      if (!initialState?.currentUser && location.pathname !== '/user/login') {
+        history.push(loginPath);
+      }
+    },
+    menu: {
+
+      params: {
+        userId: initialState,
+      },
+      request: async (params, defaultMenuData) => {
+        // initialState.currentUser 中包含了所有用户信息
+        const { currentUser, isDev } = initialState;
+        if (isDev || currentUser.userid == 96) {
+          //开发环境或超级账号
+          return []
+        }
+
+        if (currentUser) {
+          const resp = await getMenus();
+          const { data: menu } = resp;
+
+          return mappingIcon(menu);
+        } else {
+          return [
+            {
+              component: './404',
+            }
+          ]
+        }
+      },
+    },
+    menuHeaderRender: undefined,
+    // 自定义 403 页面
+    // unAccessible: <div>unAccessible</div>,
+    ...initialState?.settings,
+  }:{
+
     rightContentRender: () => <RightContent />,
     disableContentMargin: false,
     waterMarkProps: {