diff --git a/.eslintrc.js b/.eslintrc.js index 31c239b6..72d4664b 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -22,7 +22,8 @@ module.exports = defineConfig({ 'plugin:vue/vue3-recommended', 'plugin:@typescript-eslint/recommended', 'prettier', - 'plugin:prettier/recommended' + 'plugin:prettier/recommended', + '@unocss' ], rules: { 'vue/script-setup-uses-vars': 'error', diff --git a/.vscode/settings.json b/.vscode/settings.json index 3a9abed7..45156944 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,7 +1,5 @@ { "typescript.tsdk": "./node_modules/typescript/lib", - "volar.tsPlugin": true, - "volar.tsPluginStatus": false, "npm.packageManager": "pnpm", "editor.tabSize": 2, "prettier.printWidth": 100, // 超过最大值换行 @@ -102,57 +100,35 @@ "i18n-ally.displayLanguage": "zh-CN", "i18n-ally.enabledFrameworks": ["vue", "react"], "cSpell.words": [ - "xingyu", - "yudao", - "unocss", + "brotli", "browserslist", + "codemirror", + "commitlint", + "cropperjs", + "echarts", "esnext", - "unplugin", + "esno", + "iconify", + "INTLIFY", + "lintstagedrc", + "logicflow", + "nprogress", + "pinia", + "pnpm", "qrcode", "sider", - "pinia", - "sider", - "nprogress", - "INTLIFY", - "stylelint", - "esno", - "vitejs", "sortablejs", - "codemirror", - "iconify", - "commitlint", + "stylelint", + "unocss", + "unplugin", + "unref", "videojs", - "echarts", - "wangeditor", - "cropperjs", - "logicflow", + "vitejs", "vueuse", - "zxcvbn", - "lintstagedrc", - "brotli", - "sider", - "pnpm" - ], - "vetur.format.scriptInitialIndent": true, - "vetur.format.styleInitialIndent": true, - "vetur.validation.script": false, - "MicroPython.executeButton": [ - { - "text": "▶", - "tooltip": "运行", - "alignment": "left", - "command": "extension.executeFile", - "priority": 3.5 - } - ], - "MicroPython.syncButton": [ - { - "text": "$(sync)", - "tooltip": "同步", - "alignment": "left", - "command": "extension.execute", - "priority": 4 - } + "wangeditor", + "xingyu", + "yudao", + "zxcvbn" ], // 控制相关文件嵌套展示 "explorer.fileNesting.enabled": true, @@ -161,7 +137,8 @@ "*.ts": "$(capture).test.ts, $(capture).test.tsx", "*.tsx": "$(capture).test.ts, $(capture).test.tsx", "*.env": "$(capture).env.*", - "package.json": "pnpm-lock.yaml,yarn.lock,LICENSE,README*,CHANGELOG*,CNAME,.gitattributes,.gitignore,prettier.config.js,stylelint.config.js,commitlint.config.js,.stylelintignore,.prettierignore,.gitpod.yml,.eslintrc.js,.eslintignore" + "package.json": "pnpm-lock.yaml,yarn.lock,LICENSE,README*,CHANGELOG*,CNAME,.gitattributes,.eslintrc-auto-import.json,.gitignore,prettier.config.js,stylelint.config.js,commitlint.config.js,.stylelintignore,.prettierignore,.gitpod.yml,.eslintrc.js,.eslintignore" }, - "terminal.integrated.scrollback": 10000 + "terminal.integrated.scrollback": 10000, + "nuxt.isNuxtApp": false } diff --git a/README.md b/README.md index 5e6a43e0..8466bbc3 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ ## 🐶 新手必读 -* nodejs > 16.0.0 && pnpm > 8.6.0 (强制使用pnpm) +* nodejs > 16.18.0 && pnpm > 8.6.0 (强制使用pnpm) * 演示地址【Vue3 + element-plus】: * 演示地址【Vue3 + vben(ant-design-vue)】: * 演示地址【Vue2 + element-ui】: @@ -40,13 +40,13 @@ |----------------------------------------------------------------------|------------------|--------| | [Vue](https://staging-cn.vuejs.org/) | Vue 框架 | 3.3.4 | | [Vite](https://cn.vitejs.dev//) | 开发与构建工具 | 4.4.9 | -| [Element Plus](https://element-plus.org/zh-CN/) | Element Plus | 2.3.12 | -| [TypeScript](https://www.typescriptlang.org/docs/) | JavaScript 的超集 | 5.1.6 | +| [Element Plus](https://element-plus.org/zh-CN/) | Element Plus | 2.3.14 | +| [TypeScript](https://www.typescriptlang.org/docs/) | JavaScript 的超集 | 5.2.2 | | [pinia](https://pinia.vuejs.org/) | Vue 存储库 替代 vuex5 | 2.1.6 | | [vueuse](https://vueuse.org/) | 常用工具集 | 10.4.1 | -| [vue-i18n](https://kazupon.github.io/vue-i18n/zh/introduction.html/) | 国际化 | 9.2.2 | -| [vue-router](https://router.vuejs.org/) | Vue 路由 | 4.2.4 | -| [unocss](https://uno.antfu.me/) | 原子 css | 0.55.3 | +| [vue-i18n](https://kazupon.github.io/vue-i18n/zh/introduction.html/) | 国际化 | 9.4.1 | +| [vue-router](https://router.vuejs.org/) | Vue 路由 | 4.2.5 | +| [unocss](https://uno.antfu.me/) | 原子 css | 0.56.1 | | [iconify](https://icon-sets.iconify.design/) | 在线图标库 | 3.1.1 | | [wangeditor](https://www.wangeditor.com/) | 富文本编辑器 | 5.1.23 | diff --git a/package.json b/package.json index 798aa6d1..eb34ec17 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "yudao-ui-admin-vue3", - "version": "1.8.0-snapshot", + "version": "1.8.1-snapshot", "description": "基于vue3、vite4、element-plus、typesScript", "author": "xingyu", "private": false, @@ -22,32 +22,32 @@ "clean:cache": "npx rimraf node_modules/.cache", "lint:eslint": "eslint --fix --ext .js,.ts,.vue ./src", "lint:format": "prettier --write --loglevel warn \"src/**/*.{js,ts,json,tsx,css,less,scss,vue,html,md}\"", - "lint:style": "stylelint --fix \"**/*.{vue,less,postcss,css,scss}\" --cache --cache-location node_modules/.cache/stylelint/", + "lint:style": "stylelint --fix \"./src/**/*.{vue,less,postcss,css,scss}\" --cache --cache-location node_modules/.cache/stylelint/", "lint:lint-staged": "lint-staged -c " }, "dependencies": { "@element-plus/icons-vue": "^2.1.0", - "@form-create/designer": "^3.1.0", - "@form-create/element-ui": "^3.1.17", + "@form-create/designer": "^3.1.3", + "@form-create/element-ui": "^3.1.24", "@iconify/iconify": "^3.1.1", "@videojs-player/vue": "^1.0.0", "@vueuse/core": "^10.4.1", "@wangeditor/editor": "^5.1.23", "@wangeditor/editor-for-vue": "^5.1.10", - "@zxcvbn-ts/core": "^3.0.3", + "@zxcvbn-ts/core": "^3.0.4", "animate.css": "^4.1.1", "axios": "^1.5.0", "benz-amr-recorder": "^1.1.5", "bpmn-js-token-simulation": "^0.10.0", "camunda-bpmn-moddle": "^7.0.1", - "cropperjs": "^1.6.0", + "cropperjs": "^1.6.1", "crypto-js": "^4.1.1", - "dayjs": "^1.11.9", + "dayjs": "^1.11.10", "diagram-js": "^12.3.0", "echarts": "^5.4.3", "echarts-wordcloud": "^2.1.0", - "element-plus": "2.3.12", - "fast-xml-parser": "^4.2.7", + "element-plus": "2.3.14", + "fast-xml-parser": "^4.3.0", "highlight.js": "^11.8.0", "intro.js": "^7.2.0", "jsencrypt": "^3.3.2", @@ -59,12 +59,12 @@ "qrcode": "^1.5.3", "qs": "^6.11.2", "steady-xml": "^0.1.0", - "url": "^0.11.1", + "url": "^0.11.3", "video.js": "^7.21.5", - "vue": "3.3.4", + "vue": "^3.3.4", "vue-dompurify-html": "^4.1.4", - "vue-i18n": "9.2.2", - "vue-router": "^4.2.4", + "vue-i18n": "^9.4.1", + "vue-router": "^4.2.5", "vue-types": "^5.1.1", "vuedraggable": "^4.1.0", "web-storage-cache": "^1.1.1", @@ -73,50 +73,51 @@ "devDependencies": { "@commitlint/cli": "^17.7.1", "@commitlint/config-conventional": "^17.7.0", - "@iconify/json": "^2.2.107", - "@intlify/unplugin-vue-i18n": "^0.12.3", + "@iconify/json": "^2.2.119", + "@intlify/unplugin-vue-i18n": "^1.2.0", "@purge-icons/generated": "^0.9.0", "@types/intro.js": "^5.1.1", - "@types/lodash-es": "^4.17.8", - "@types/node": "^20.5.0", + "@types/lodash-es": "^4.17.9", + "@types/node": "^20.6.0", "@types/nprogress": "^0.2.0", - "@types/qrcode": "^1.5.1", - "@types/qs": "^6.9.7", - "@typescript-eslint/eslint-plugin": "^6.4.1", - "@typescript-eslint/parser": "^6.4.1", - "@unocss/transformer-variant-group": "^0.55.3", + "@types/qrcode": "^1.5.2", + "@types/qs": "^6.9.8", + "@typescript-eslint/eslint-plugin": "^6.7.2", + "@typescript-eslint/parser": "^6.7.2", + "@unocss/transformer-variant-group": "^0.56.1", + "@unocss/eslint-config": "^0.56.1", "@vitejs/plugin-legacy": "^4.1.1", - "@vitejs/plugin-vue": "^4.3.3", + "@vitejs/plugin-vue": "^4.3.4", "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue-macros/volar": "^0.14.2", - "autoprefixer": "^10.4.15", - "bpmn-js": "^8.9.0", - "bpmn-js-properties-panel": "^0.46.0", + "@vue-macros/volar": "^0.14.3", + "autoprefixer": "^10.4.16", + "bpmn-js": "8.9.0", + "bpmn-js-properties-panel": "0.46.0", "consola": "^3.2.3", - "eslint": "^8.48.0", + "eslint": "^8.49.0", "eslint-config-prettier": "^9.0.0", "eslint-define-config": "^1.23.0", "eslint-plugin-prettier": "^5.0.0", "eslint-plugin-vue": "^9.17.0", "lint-staged": "^14.0.1", - "postcss": "^8.4.28", + "postcss": "^8.4.30", "postcss-html": "^1.5.0", - "postcss-scss": "^4.0.7", - "prettier": "^3.0.2", + "postcss-scss": "^4.0.8", + "prettier": "^3.0.3", "rimraf": "^5.0.1", - "rollup": "^3.28.1", - "sass": "^1.66.1", + "rollup": "^3.29.2", + "sass": "^1.68.0", "stylelint": "^15.10.3", "stylelint-config-html": "^1.1.0", "stylelint-config-recommended": "^13.0.0", "stylelint-config-standard": "^34.0.0", "stylelint-order": "^6.0.3", - "terser": "^5.19.2", - "typescript": "5.1.6", - "unocss": "^0.55.3", + "terser": "^5.20.0", + "typescript": "5.2.2", + "unocss": "^0.56.1", "unplugin-auto-import": "^0.16.6", "unplugin-element-plus": "^0.8.0", - "unplugin-vue-components": "^0.25.1", + "unplugin-vue-components": "^0.25.2", "vite": "4.4.9", "vite-plugin-compression": "^0.5.1", "vite-plugin-ejs": "^1.6.4", @@ -126,7 +127,7 @@ "vite-plugin-svg-icons": "^2.0.1", "vite-plugin-top-level-await": "^1.3.1", "vue-eslint-parser": "^9.3.1", - "vue-tsc": "^1.8.8" + "vue-tsc": "^1.8.13" }, "license": "MIT", "repository": { diff --git a/src/components/Card/src/CardTitle.vue b/src/components/Card/src/CardTitle.vue index 041c116a..5b122f49 100644 --- a/src/components/Card/src/CardTitle.vue +++ b/src/components/Card/src/CardTitle.vue @@ -19,17 +19,18 @@ const { title } = defineProps({ .card-title { font-size: 14px; font-weight: 600; + &::before { - content: ''; + position: relative; + top: 8px; + left: -5px; display: inline-block; width: 3px; height: 14px; //background-color: #105cfb; background: var(--el-color-primary); - position: relative; - left: -5px; - top: 8px; border-radius: 5px; + content: ''; transform: translateY(-50%); } } diff --git a/src/components/Cropper/src/CropperAvatar.vue b/src/components/Cropper/src/CropperAvatar.vue index 414ba144..55a7d34b 100644 --- a/src/components/Cropper/src/CropperAvatar.vue +++ b/src/components/Cropper/src/CropperAvatar.vue @@ -1,7 +1,7 @@