From 8546bb149f2ff7aca6a8bdfe76ad602dbd3d5cd3 Mon Sep 17 00:00:00 2001 From: aiwenmo <32723967+aiwenmo@users.noreply.github.com> Date: Sat, 2 Sep 2023 23:06:34 +0800 Subject: [PATCH] [Optimization-2284][web] Optimize dinky web and fix some bugs (#2285) * [Optimization-2284][web] Optimize dinky web and fix some bugs * spotless apply * Resolve code conflicts --------- Co-authored-by: wenmo <32723967+wenmo@users.noreply.github.com> --- .../org/dinky/data/model/TaskExtConfig.java | 7 +- dinky-web/src/app.tsx | 37 +-- .../src/components/RightContent/index.tsx | 69 +++-- dinky-web/src/global.less | 20 +- dinky-web/src/locales/en-US/pages.ts | 2 + dinky-web/src/locales/zh-CN/pages.ts | 2 + .../LeftContainer/Project/JobModal/index.tsx | 1 - .../LeftContainer/Project/function.tsx | 4 +- dinky-web/src/pages/DataStudio/index.tsx | 243 +++++++++--------- .../src/pages/Home/DevOverView/index.tsx | 14 +- .../Home/JobOverView/JobErrorView/index.tsx | 2 +- .../src/pages/Home/JobOverView/index.tsx | 44 ++-- .../Login/LoginForm/MainWithStyle/index.tsx | 5 +- .../RegCenter/Cluster/Configuration/index.tsx | 6 +- .../RegCenter/Cluster/Instance/index.tsx | 6 +- .../src/pages/RegCenter/DataSource/index.tsx | 6 +- .../src/pages/RegCenter/Resource/index.tsx | 6 +- .../SettingCenter/GlobalSetting/index.tsx | 5 +- 18 files changed, 247 insertions(+), 232 deletions(-) diff --git a/dinky-admin/src/main/java/org/dinky/data/model/TaskExtConfig.java b/dinky-admin/src/main/java/org/dinky/data/model/TaskExtConfig.java index 0d501ef9ea..f1a309139f 100644 --- a/dinky-admin/src/main/java/org/dinky/data/model/TaskExtConfig.java +++ b/dinky-admin/src/main/java/org/dinky/data/model/TaskExtConfig.java @@ -19,8 +19,11 @@ package org.dinky.data.model; +import org.dinky.assertion.Asserts; + import java.io.Serializable; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -54,7 +57,9 @@ public List getCustomConfigKeys() { // 获取自定义配置的所有key-value public Map getCustomConfigMaps() { - return customConfig.stream().collect(Collectors.toMap(ConfigItem::getKey, ConfigItem::getValue)); + return Asserts.isNotNullCollection(customConfig) + ? customConfig.stream().collect(Collectors.toMap(ConfigItem::getKey, ConfigItem::getValue)) + : new HashMap<>(); } // 是否包含某个key diff --git a/dinky-web/src/app.tsx b/dinky-web/src/app.tsx index deadf7444e..993a743cc9 100644 --- a/dinky-web/src/app.tsx +++ b/dinky-web/src/app.tsx @@ -61,7 +61,6 @@ const queryUserInfo = async () => { return getDataByParamsReturnResult(API_CONSTANTS.CURRENT_USER).then( (result) => { const { user, roleList, tenantList, currentTenant, menuList, saTokenInfo } = result.datas; - extraRoutes = menuList; const currentUser: API.CurrentUser = { user: { ...user, @@ -74,17 +73,10 @@ const queryUserInfo = async () => { tokenInfo: saTokenInfo }; return currentUser; - }, - (error) => { - history.push(loginPath); - console.log(error); - return undefined; } ); }; -const fetchUserInfo = async () => await queryUserInfo(); - /** * @see https://umijs.org/zh-CN/plugins/plugin-initial-state * */ @@ -94,10 +86,21 @@ export async function getInitialState(): Promise<{ loading?: boolean; fetchUserInfo?: () => Promise; }> { + + const fetchUserInfo = async () => { + try { + return await queryUserInfo(); + } catch (error) { + history.push(loginPath); + } + return undefined; + }; + // 如果不是登录页面,执行 const { location } = history; if (location.pathname !== loginPath) { const currentUser = await fetchUserInfo(); + extraRoutes = currentUser?.menuList; return { fetchUserInfo, currentUser, @@ -129,11 +132,11 @@ export const layout: RunTimeLayoutConfig = ({ initialState }) => { rightContentRender: () => , footerRender: () =>