Browse Source

master: Fixed 打包优化

gitboyzcf 5 months ago
parent
commit
ce9ceab39b

+ 4 - 1
config/vite.config.prod.ts

@@ -20,11 +20,14 @@ export default mergeConfig(
           manualChunks: {
             arco: ['@arco-design/web-vue'],
             chart: ['echarts', 'vue-echarts'],
-            vue: ['vue', 'vue-router', 'pinia', '@vueuse/core', 'vue-i18n'],
+            lodash: ['lodash'],
+            vue: ['vue', 'vue-router', 'pinia'],
+            vuelibs: ['@vueuse/core', 'vue-i18n'],
           },
         },
       },
       chunkSizeWarningLimit: 2000,
+      sourcemap: false,
     },
   },
   baseConfig

+ 1 - 1
package.json

@@ -85,7 +85,7 @@
     "postcss-html": "^1.5.0",
     "prettier": "^2.7.1",
     "rollup": "^3.9.1",
-    "rollup-plugin-visualizer": "^5.8.2",
+    "rollup-plugin-visualizer": "^5.9.0",
     "sass-embedded": "^1.79.3",
     "stylelint": "^14.13.0",
     "stylelint-config-prettier": "^9.0.3",

+ 1 - 1
pnpm-lock.yaml

@@ -172,7 +172,7 @@ devDependencies:
     specifier: ^2.56.3
     version: 2.79.1
   rollup-plugin-visualizer:
-    specifier: ^5.8.2
+    specifier: ^5.9.0
     version: 5.9.0(rollup@2.79.1)
   sass-embedded:
     specifier: ^1.79.3

+ 3 - 2
src/api/interceptor.ts

@@ -1,7 +1,8 @@
 import axios from 'axios';
 import type { AxiosRequestConfig, AxiosResponse } from 'axios';
-import { Message, Modal } from '@arco-design/web-vue';
-import { useUserStore } from '@/store';
+// import { Message, Modal } from '@arco-design/web-vue';
+// import { useUserStore } from '@/store';
+import { Message } from '@arco-design/web-vue';
 import { getToken } from '@/utils/auth';
 
 export interface HttpResponse<T = unknown> {

+ 13 - 13
src/components/navbar/index.vue

@@ -192,9 +192,9 @@
 
 <script lang="ts" setup>
   import { computed, ref, inject } from 'vue';
-  import { Message } from '@arco-design/web-vue';
+  // import { Message } from '@arco-design/web-vue';
   import { useDark, useToggle, useFullscreen } from '@vueuse/core';
-  import { useAppStore, useUserStore } from '@/store';
+  import { useAppStore } from '@/store';
   import { LOCALE_OPTIONS } from '@/locale';
   import useLocale from '@/hooks/locale';
   import useUser from '@/hooks/user';
@@ -202,14 +202,14 @@
   // import MessageBox from '../message-box/index.vue';
 
   const appStore = useAppStore();
-  const userStore = useUserStore();
+  // const userStore = useUserStore();
   const { logout } = useUser();
   const { changeLocale, currentLocale } = useLocale();
   const { isFullscreen, toggle: toggleFullScreen } = useFullscreen();
   const locales = [...LOCALE_OPTIONS];
-  const avatar = computed(() => {
-    return userStore.avatar;
-  });
+  // const avatar = computed(() => {
+  //   return userStore.avatar;
+  // });
   const theme = computed(() => {
     return appStore.theme;
   });
@@ -229,9 +229,9 @@
   const handleToggleTheme = () => {
     toggleTheme();
   };
-  const setVisible = () => {
-    appStore.updateSettings({ globalSettings: true });
-  };
+  // const setVisible = () => {
+  //   appStore.updateSettings({ globalSettings: true });
+  // };
   // const refBtn = ref();
   const triggerBtn = ref();
   // const setPopoverVisible = () => {
@@ -253,10 +253,10 @@
     });
     triggerBtn.value.dispatchEvent(event);
   };
-  const switchRoles = async () => {
-    const res = await userStore.switchRoles();
-    Message.success(res as string);
-  };
+  // const switchRoles = async () => {
+  //   const res = await userStore.switchRoles();
+  //   Message.success(res as string);
+  // };
   const toggleDrawerMenu = inject('toggleDrawerMenu') as () => void;
 </script>
 

+ 13 - 17
src/store/modules/user/index.ts

@@ -1,11 +1,7 @@
 import { defineStore } from 'pinia';
-import {
-  login as userLogin,
-  logout as userLogout,
-  getUserInfo,
-  LoginData,
-} from '@/api/user';
-import { setToken, clearToken } from '@/utils/auth';
+// import { LoginData } from '@/api/user';
+// import { setToken, clearToken } from '@/utils/auth';
+import { clearToken } from '@/utils/auth';
 import { removeRouteListener } from '@/utils/route-listener';
 import { UserState } from './types';
 import useAppStore from '../app';
@@ -62,16 +58,16 @@ const useUserStore = defineStore('user', {
     },
 
     // Login
-    async login(loginForm: LoginData) {
-      try {
-        // const res = await userLogin(loginForm);
-        // setToken(res.data.token);
-        setToken('token');
-      } catch (err) {
-        clearToken();
-        throw err;
-      }
-    },
+    // async login(loginForm: LoginData) {
+    //   try {
+    //     // const res = await userLogin(loginForm);
+    //     // setToken(res.data.token);
+    //     setToken('token');
+    //   } catch (err) {
+    //     clearToken();
+    //     throw err;
+    //   }
+    // },
     logoutCallBack() {
       const appStore = useAppStore();
       this.resetInfo();

+ 1 - 1
src/views/dashboard/workplace/components/channel-chart.vue

@@ -23,7 +23,7 @@
 <script lang="ts" setup>
   import useLoading from '@/hooks/loading';
   import useChartOption from '@/hooks/chart-option';
-  import { ref, toRefs } from 'vue';
+  import { ref } from 'vue';
   import { useI18n } from 'vue-i18n';
   import { queryPolicyList, PolicyParams } from '@/api/list';
 

+ 2 - 0
src/views/preview-list/locale/en-US.ts

@@ -26,6 +26,8 @@ export default {
   'previewList.jt': 'Screenshot',
   'previewList.lx': 'Recording',
   'previewList.fp': 'Split screen',
+  'previewList.hh': 'Hold to talk',
+  'previewList.bt': 'Play/Stop',
   'previewList.msqh': 'Mode switching',
   'previewList.tip2': 'AI alarm connection failed, please check the device',
   'previewList.tip3':

+ 2 - 0
src/views/preview-list/locale/zh-CN.ts

@@ -26,6 +26,8 @@ export default {
   'previewList.jt': '截图',
   'previewList.lx': '录像',
   'previewList.fp': '分屏',
+  'previewList.hh': '按住说话',
+  'previewList.bt': '播放/停止',
   'previewList.msqh': '模式切换',
   'previewList.tip2': 'AI 报警连接失败,请检查设备',
   'previewList.tip3': '禁用说明设备有存在问题',