From 968f791f4b7112730813c8c990379051c3f8340d Mon Sep 17 00:00:00 2001
From: vben <anncwb@126.com>
Date: 星期二, 20 十月 2020 21:06:12 +0800
Subject: [PATCH] perf: optimize the size of the first screen

---
 vite.config.ts                             |    3 -
 src/components/Table/src/hooks/useProps.ts |    9 ----
 src/layouts/default/index.tsx              |    7 +++
 src/layouts/default/setting/index.vue      |    2 
 src/setup/ant-design-vue/index.ts          |    4 +-
 src/useApp.ts                              |   11 +++++
 src/components/Table/src/props.ts          |    2 
 CHANGELOG.zh_CN.md                         |   11 +++++
 src/components/registerGlobComp.ts         |    9 ++--
 src/views/sys/login/Login.vue              |    4 +
 src/main.ts                                |    7 +--
 11 files changed, 43 insertions(+), 26 deletions(-)

diff --git a/CHANGELOG.zh_CN.md b/CHANGELOG.zh_CN.md
index b7c6812..17df41e 100644
--- a/CHANGELOG.zh_CN.md
+++ b/CHANGELOG.zh_CN.md
@@ -1,3 +1,14 @@
+# Wip
+
+### 鈿� Performance Improvements
+
+- 浼樺寲棣栧睆浣撶Н澶у皬
+
+### 馃悰 Bug Fixes
+
+- 淇涓�绾ц彍鍗曟姌鍙犳樉绀鸿彍鍗曞悕闂
+- 淇棰勮鍛戒护涓嶆墦鍖呴棶棰�
+
 # 2.0.0-rc.3 (2020-10-19)
 
 ### 鉁� Features
diff --git a/src/components/Table/src/hooks/useProps.ts b/src/components/Table/src/hooks/useProps.ts
index 109a100..404ecfb 100644
--- a/src/components/Table/src/hooks/useProps.ts
+++ b/src/components/Table/src/hooks/useProps.ts
@@ -1,12 +1,3 @@
-/*
- * @description:
- * @author: wenbin.chen
- * @Date: 2020-05-12 13:20:26
- * @LastEditors: vben
- * @LastEditTime: 2020-10-07 14:52:34
- * @email: 190848757@qq.com
- */
-
 import { Ref, ref, watch, unref } from 'vue';
 import { BasicTableProps } from '../types/table';
 
diff --git a/src/components/Table/src/props.ts b/src/components/Table/src/props.ts
index 87dfc83..c8a7a81 100644
--- a/src/components/Table/src/props.ts
+++ b/src/components/Table/src/props.ts
@@ -133,7 +133,7 @@
   },
   bordered: {
     type: Boolean as PropType<boolean>,
-    default: true,
+    default: false,
   },
   pagination: {
     type: [Object, Boolean] as PropType<PaginationProps | boolean>,
diff --git a/src/components/registerGlobComp.ts b/src/components/registerGlobComp.ts
index 202c2e7..15c2831 100644
--- a/src/components/registerGlobComp.ts
+++ b/src/components/registerGlobComp.ts
@@ -1,11 +1,12 @@
 import Icon from './Icon/index';
 import { BasicHelp, BasicTitle } from './Basic';
 import Button from './Button/index.vue';
-import { App } from 'vue';
+import { Button as AntButton } from 'ant-design-vue';
+import { getApp } from '/@/useApp';
 
-const compList = [Icon, BasicHelp, BasicTitle, Button];
-export function registerGlobComp(app: App<Element>) {
+const compList = [Icon, BasicHelp, BasicTitle, Button, AntButton.Group];
+export function registerGlobComp() {
   compList.forEach((comp: any) => {
-    app.component(comp.name, comp);
+    getApp().component(comp.name, comp);
   });
 }
diff --git a/src/layouts/default/index.tsx b/src/layouts/default/index.tsx
index 7702178..c3fc36a 100644
--- a/src/layouts/default/index.tsx
+++ b/src/layouts/default/index.tsx
@@ -13,12 +13,17 @@
 import { useFullContent } from '/@/hooks/web/useFullContent';
 
 import LockPage from '/@/views/sys/lock/index.vue';
+import { registerGlobComp } from '/@/components/registerGlobComp';
 
 import './index.less';
-// import { userStore } from '/@/store/modules/user';
 export default defineComponent({
   name: 'DefaultLayout',
   setup() {
+    // ! 鍦ㄨ繖閲屾墠娉ㄥ唽鍏ㄥ眬缁勪欢
+    // ! 鍙互鍑忓皯棣栧睆浠g爜浣撶Н
+    // default layout鏄湪鐧诲綍鍚庢墠鍔犺浇鐨勩�傛墍浠ヤ笉浼氭墦鍖呭埌棣栧睆鍘�
+    registerGlobComp();
+
     // 鑾峰彇椤圭洰閰嶇疆
     const { getFullContent } = useFullContent();
 
diff --git a/src/layouts/default/setting/index.vue b/src/layouts/default/setting/index.vue
index 497d87a..962fc50 100644
--- a/src/layouts/default/setting/index.vue
+++ b/src/layouts/default/setting/index.vue
@@ -1,6 +1,6 @@
 <template>
   <div @click="openDrawer" class="setting-button">
-    <SettingOutlined :spin="true" />
+    <SettingOutlined />
     <SettingDrawer @register="register" />
   </div>
 </template>
diff --git a/src/main.ts b/src/main.ts
index cb9fe31..723451d 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -6,9 +6,9 @@
 import { setupErrorHandle } from '/@/setup/error-handle/index';
 import { setupDirectives } from '/@/setup/directives/index';
 
-import { registerGlobComp } from '/@/components/registerGlobComp';
 import { isDevMode, isProdMode, isUseMock } from '/@/utils/env';
 import { setupProdMockServer } from '../mock/_createProductionServer';
+import { setApp } from './useApp';
 
 import App from './App.vue';
 import '/@/design/index.less';
@@ -26,8 +26,6 @@
 
 setupErrorHandle(app);
 
-registerGlobComp(app);
-
 router.isReady().then(() => {
   app.mount('#app');
 });
@@ -40,4 +38,5 @@
 if (isProdMode() && isUseMock()) {
   setupProdMockServer();
 }
-export default app;
+
+setApp(app);
diff --git a/src/setup/ant-design-vue/index.ts b/src/setup/ant-design-vue/index.ts
index ab48073..90d52b6 100644
--- a/src/setup/ant-design-vue/index.ts
+++ b/src/setup/ant-design-vue/index.ts
@@ -2,13 +2,13 @@
 
 import type { App } from 'vue';
 
-import { Form, Input, Button } from 'ant-design-vue';
+import { Form, Input } from 'ant-design-vue';
 import 'ant-design-vue/dist/antd.css';
 
 import './spin';
 
 export function setupAntd(app: App<Element>) {
-  app.component(Button.Group.name, Button.Group);
+  // 杩欎袱涓粍浠跺湪鐧诲綍涔熷氨鐢ㄣ�傚叏灞�娉ㄥ唽
   app.use(Form);
   app.use(Input);
 }
diff --git a/src/useApp.ts b/src/useApp.ts
index 74c1d4d..9525afc 100644
--- a/src/useApp.ts
+++ b/src/useApp.ts
@@ -1,5 +1,5 @@
 import type { ProjectConfig } from '/@/types/config';
-
+import type { App } from 'vue';
 import { computed, ref } from 'vue';
 
 import { ThemeModeEnum } from '/@/enums/appEnum';
@@ -17,6 +17,15 @@
 import { useTimeout } from '/@/hooks/core/useTimeout';
 import { ExceptionEnum } from '/@/enums/exceptionEnum';
 
+let app: App;
+export function setApp(_app: App): void {
+  app = _app;
+}
+
+export function getApp(): App {
+  return app;
+}
+
 // TODO 涓婚鍒囨崲
 export function useThemeMode(mode: ThemeModeEnum) {
   const modeRef = ref(mode);
diff --git a/src/views/sys/login/Login.vue b/src/views/sys/login/Login.vue
index 6e1bbd1..6206cae 100644
--- a/src/views/sys/login/Login.vue
+++ b/src/views/sys/login/Login.vue
@@ -49,8 +49,10 @@
   import { appStore } from '/@/store/modules/app';
   import { useMessage } from '/@/hooks/web/useMessage';
   import { useSetting } from '/@/hooks/core/useSetting';
+  import Button from '/@/components/Button/index.vue';
+
   export default defineComponent({
-    components: { BasicDragVerify },
+    components: { BasicDragVerify, AButton: Button },
     setup() {
       const { globSetting } = useSetting();
       const { notification } = useMessage();
diff --git a/vite.config.ts b/vite.config.ts
index 6faef8e..21789ff 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -133,8 +133,7 @@
       javascriptEnabled: true,
     },
   },
-  // 閰嶇疆Dep浼樺寲琛屼负
-  // 浼氫娇鐢� rollup 瀵� 鍖呴噸鏂扮紪璇戯紝灏嗙紪璇戞垚绗﹀悎 esm 妯″潡瑙勮寖鐨勬柊鐨勫寘鏀惧叆 node_modules 涓嬬殑 .
+  // 浼氫娇鐢� rollup 瀵� 鍖呴噸鏂扮紪璇戯紝灏嗙紪璇戞垚绗﹀悎 esm 妯″潡瑙勮寖鐨勬柊鐨勫寘鏀惧叆 node_modules/.vite_opt_cache
   optimizeDeps: {
     include: [
       'echarts',

--
Gitblit v1.8.0