refactor(projects): 代码优化
ISSUES CLOSED: \
This commit is contained in:
parent
be45d83766
commit
4c2f535a9b
@ -101,11 +101,8 @@ pnpm dev
|
||||
pnpm build
|
||||
```
|
||||
|
||||
::: warning 注意
|
||||
|
||||
**本地环境需要安装 pnpm 6.x 、Node.js 14.x 和 Git**
|
||||
|
||||
:::
|
||||
|
||||
## 如何贡献
|
||||
|
||||
|
@ -76,7 +76,7 @@
|
||||
"eslint-config-prettier": "^8.5.0",
|
||||
"eslint-plugin-import": "^2.26.0",
|
||||
"eslint-plugin-prettier": "^4.0.0",
|
||||
"eslint-plugin-vue": "8.7.1",
|
||||
"eslint-plugin-vue": "8.7.1",
|
||||
"husky": "^8.0.1",
|
||||
"lint-staged": "^12.4.2",
|
||||
"mockjs": "^1.1.0",
|
||||
@ -95,7 +95,6 @@
|
||||
"vite-plugin-compression": "^0.5.1",
|
||||
"vite-plugin-html": "^3.2.0",
|
||||
"vite-plugin-mock": "^2.9.6",
|
||||
"vue-tsc": "^0.34.16",
|
||||
"vueuc": "^0.4.37"
|
||||
"vue-tsc": "^0.34.16"
|
||||
}
|
||||
}
|
||||
|
@ -67,7 +67,6 @@ specifiers:
|
||||
vue: 3.2.36
|
||||
vue-router: ^4.0.15
|
||||
vue-tsc: ^0.34.16
|
||||
vueuc: ^0.4.37
|
||||
wangeditor: ^4.7.15
|
||||
xgplayer: ^2.31.6
|
||||
|
||||
@ -142,7 +141,6 @@ devDependencies:
|
||||
vite-plugin-html: 3.2.0_vite@2.9.9
|
||||
vite-plugin-mock: 2.9.6_mockjs@1.1.0+vite@2.9.9
|
||||
vue-tsc: 0.34.16_typescript@4.7.2
|
||||
vueuc: 0.4.37_vue@3.2.36
|
||||
|
||||
packages:
|
||||
|
||||
@ -659,9 +657,11 @@ packages:
|
||||
vue: ^3.0.11
|
||||
dependencies:
|
||||
vue: 3.2.36
|
||||
dev: false
|
||||
|
||||
/@emotion/hash/0.8.0:
|
||||
resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==}
|
||||
dev: false
|
||||
|
||||
/@eslint/eslintrc/1.3.0:
|
||||
resolution: {integrity: sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==}
|
||||
@ -779,6 +779,7 @@ packages:
|
||||
|
||||
/@juggle/resize-observer/3.3.1:
|
||||
resolution: {integrity: sha512-zMM9Ds+SawiUkakS7y94Ymqx+S0ORzpG3frZirN3l+UlXUmSUR7hF4wxCVqW+ei94JzV5kt0uXBcoOEAuiydrw==}
|
||||
dev: false
|
||||
|
||||
/@nodelib/fs.scandir/2.1.5:
|
||||
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
|
||||
@ -902,6 +903,7 @@ packages:
|
||||
dependencies:
|
||||
jest-matcher-utils: 27.5.1
|
||||
pretty-format: 27.5.1
|
||||
dev: false
|
||||
|
||||
/@types/json-schema/7.0.11:
|
||||
resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==}
|
||||
@ -1537,6 +1539,7 @@ packages:
|
||||
/ansi-styles/5.2.0:
|
||||
resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
|
||||
engines: {node: '>=10'}
|
||||
dev: false
|
||||
|
||||
/ansi-styles/6.1.0:
|
||||
resolution: {integrity: sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==}
|
||||
@ -2193,6 +2196,7 @@ packages:
|
||||
'@emotion/hash': 0.8.0
|
||||
'@types/node': 17.0.36
|
||||
csstype: 3.0.11
|
||||
dev: false
|
||||
|
||||
/css-render/0.15.9:
|
||||
resolution: {integrity: sha512-FMVcWsVipKEBR/mVf1+pIjCRQdztILVKxbp8TN5/Vf0Q/fdTq0OIb8JRW/pk7PP1eeWnB/ejQ0MNBe7ELjLblg==}
|
||||
@ -2236,6 +2240,7 @@ packages:
|
||||
|
||||
/csstype/3.0.11:
|
||||
resolution: {integrity: sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==}
|
||||
dev: false
|
||||
|
||||
/cz-conventional-changelog/3.2.0:
|
||||
resolution: {integrity: sha512-yAYxeGpVi27hqIilG1nh4A9Bnx4J3Ov+eXy4koL3drrR+IO9GaWPsKjik20ht608Asqi8TQPf0mczhEeyAtMzg==}
|
||||
@ -2452,6 +2457,7 @@ packages:
|
||||
/diff-sequences/27.5.1:
|
||||
resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==}
|
||||
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
|
||||
dev: false
|
||||
|
||||
/diff/4.0.2:
|
||||
resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==}
|
||||
@ -3186,6 +3192,7 @@ packages:
|
||||
|
||||
/evtd/0.2.3:
|
||||
resolution: {integrity: sha512-tmiT1YUVqFjTY+BSBOAskL83xNx41iUfpvKP6Gcd/xMHjg3mnER98jXGXJyKnxCG19uPc6EhZiUC+MUyvoqCtw==}
|
||||
dev: false
|
||||
|
||||
/execa/5.1.1:
|
||||
resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
|
||||
@ -4061,10 +4068,12 @@ packages:
|
||||
diff-sequences: 27.5.1
|
||||
jest-get-type: 27.5.1
|
||||
pretty-format: 27.5.1
|
||||
dev: false
|
||||
|
||||
/jest-get-type/27.5.1:
|
||||
resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==}
|
||||
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
|
||||
dev: false
|
||||
|
||||
/jest-matcher-utils/27.5.1:
|
||||
resolution: {integrity: sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==}
|
||||
@ -4074,6 +4083,7 @@ packages:
|
||||
jest-diff: 27.5.1
|
||||
jest-get-type: 27.5.1
|
||||
pretty-format: 27.5.1
|
||||
dev: false
|
||||
|
||||
/jiti/1.13.0:
|
||||
resolution: {integrity: sha512-/n9mNxZj/HDSrincJ6RP+L+yXbpnB8FybySBa+IjIaoH9FIxBbrbRT5XUbe8R7zuVM2AQqNMNDDqz0bzx3znOQ==}
|
||||
@ -4979,6 +4989,7 @@ packages:
|
||||
ansi-regex: 5.0.1
|
||||
ansi-styles: 5.2.0
|
||||
react-is: 17.0.2
|
||||
dev: false
|
||||
|
||||
/print-js/1.6.0:
|
||||
resolution: {integrity: sha512-BfnOIzSKbqGRtO4o0rnj/K3681BSd2QUrsIZy/+WdCIugjIswjmx3lDEZpXB2ruGf9d4b3YNINri81+J0FsBWg==}
|
||||
@ -5016,6 +5027,7 @@ packages:
|
||||
|
||||
/react-is/17.0.2:
|
||||
resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
|
||||
dev: false
|
||||
|
||||
/read-pkg-up/3.0.0:
|
||||
resolution: {integrity: sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==}
|
||||
@ -5268,6 +5280,7 @@ packages:
|
||||
resolution: {integrity: sha512-mAyqemz41e9HiZPMXAn7NtTExJgztwco5cdZjrt/iViU/oFeav+Q8K1c93M/tIZZ00QkT65JMr4xXQk7Vv5hWQ==}
|
||||
dependencies:
|
||||
'@types/jest': 27.5.1
|
||||
dev: false
|
||||
|
||||
/select/1.1.2:
|
||||
resolution: {integrity: sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==}
|
||||
@ -6062,6 +6075,7 @@ packages:
|
||||
dependencies:
|
||||
evtd: 0.2.3
|
||||
vue: 3.2.36
|
||||
dev: false
|
||||
|
||||
/vditor/3.8.15:
|
||||
resolution: {integrity: sha512-BYSBNUuhtvOfu1OU+NhS7R6TcrNP0UmQ8Vtbzq9BnLoG1uIHPZaTjtJIv00OPqHEcZa4KpR7mU+n9P+i+9SHuA==}
|
||||
@ -6157,6 +6171,7 @@ packages:
|
||||
dependencies:
|
||||
evtd: 0.2.3
|
||||
vue: 3.2.36
|
||||
dev: false
|
||||
|
||||
/vue-demi/0.12.5_vue@3.2.36:
|
||||
resolution: {integrity: sha512-BREuTgTYlUr0zw0EZn3hnhC3I6gPWv+Kwh4MCih6QcAeaTlaIX0DwOVN0wHej7hSvDPecz4jygy/idsgKfW58Q==}
|
||||
@ -6232,6 +6247,7 @@ packages:
|
||||
vdirs: 0.1.8_vue@3.2.36
|
||||
vooks: 0.2.12_vue@3.2.36
|
||||
vue: 3.2.36
|
||||
dev: false
|
||||
|
||||
/wangeditor/4.7.15:
|
||||
resolution: {integrity: sha512-aPTdREd8BxXVyJ5MI+LU83FQ7u1EPd341iXIorRNYSOvoimNoZ4nPg+yn3FGbB93/owEa6buLw8wdhYnMCJQLg==}
|
||||
|
@ -2,27 +2,27 @@
|
||||
<div v-if="showTooltip">
|
||||
<n-tooltip :placement="placement" trigger="hover">
|
||||
<template #trigger>
|
||||
<div class="flex-center h-full cursor-pointer dark:hover:bg-[#333]" :class="computedClass">
|
||||
<div class="flex-center h-full cursor-pointer dark:hover:bg-[#333]" :class="contentClassName">
|
||||
<slot></slot>
|
||||
</div>
|
||||
</template>
|
||||
{{ tooltipContent }}
|
||||
</n-tooltip>
|
||||
</div>
|
||||
<div v-else class="flex-center cursor-pointer dark:hover:bg-[#333]" :class="computedClass">
|
||||
<div v-else class="flex-center cursor-pointer dark:hover:bg-[#333]" :class="contentClassName">
|
||||
<slot></slot>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { computed } from 'vue';
|
||||
import type { FollowerPlacement } from 'vueuc';
|
||||
import type { PopoverPlacement } from 'naive-ui';
|
||||
|
||||
interface Props {
|
||||
/** tooltip显示文本 */
|
||||
tooltipContent?: string;
|
||||
/** tooltip的位置 */
|
||||
placement?: FollowerPlacement;
|
||||
placement?: PopoverPlacement;
|
||||
/** class类 */
|
||||
contentClass?: string;
|
||||
/** 反转模式下 */
|
||||
@ -37,8 +37,8 @@ const props = withDefaults(defineProps<Props>(), {
|
||||
|
||||
const showTooltip = computed(() => Boolean(props.tooltipContent));
|
||||
|
||||
const computedClass = computed(() =>
|
||||
[props.contentClass, props.inverted ? 'hover:bg-primary' : 'hover:bg-[#f6f6f6]'].join(' ')
|
||||
const contentClassName = computed(
|
||||
() => `${props.contentClass} ${props.inverted ? 'hover:bg-primary' : 'hover:bg-[#f6f6f6]'}`
|
||||
);
|
||||
</script>
|
||||
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
<script setup lang="ts">
|
||||
import { computed } from 'vue';
|
||||
import type { FollowerPlacement } from 'vueuc';
|
||||
import type { PopoverPlacement } from 'naive-ui';
|
||||
import type { EnumThemeLayoutMode } from '@/enum';
|
||||
|
||||
interface Props {
|
||||
@ -34,7 +34,7 @@ const props = defineProps<Props>();
|
||||
type LayoutConfig = Record<
|
||||
EnumType.ThemeLayoutMode,
|
||||
{
|
||||
placement: FollowerPlacement;
|
||||
placement: PopoverPlacement;
|
||||
menuClass: string;
|
||||
mainClass: string;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user