diff --git a/.env.dev b/.env.dev index a52eec30b..843ea0180 100644 --- a/.env.dev +++ b/.env.dev @@ -1,5 +1,5 @@ # 开发环境 -NODE_ENV=production +NODE_ENV=development VITE_DEV=false @@ -19,13 +19,13 @@ VITE_API_URL=/admin-api VITE_BASE_PATH=/ # 是否删除debugger -VITE_DROP_DEBUGGER=false +VITE_DROP_DEBUGGER=true # 是否删除console.log VITE_DROP_CONSOLE=false # 是否sourcemap -VITE_SOURCEMAP=true +VITE_SOURCEMAP=false # 输出路径 VITE_OUT_DIR=dist-dev diff --git a/.eslintrc.js b/.eslintrc.js index 244dbbbff..5a7245aca 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,6 +1,4 @@ -// @ts-check -const { defineConfig } = require('eslint-define-config') -module.exports = defineConfig({ +module.exports = { root: true, env: { browser: true, @@ -8,6 +6,7 @@ module.exports = defineConfig({ es6: true }, parser: 'vue-eslint-parser', + plugins: ['vue'], parserOptions: { parser: '@typescript-eslint/parser', ecmaVersion: 2020, @@ -17,16 +16,9 @@ module.exports = defineConfig({ jsx: true } }, - extends: [ - 'plugin:vue/vue3-recommended', - 'plugin:@typescript-eslint/recommended', - 'prettier', - 'plugin:prettier/recommended', - './.eslintrc-auto-import.json' - ], + extends: ['plugin:vue/vue3-recommended', 'prettier', 'plugin:@typescript-eslint/recommended', 'plugin:prettier/recommended'], rules: { 'vue/script-setup-uses-vars': 'error', - 'vue/no-reserved-component-names': 'off', '@typescript-eslint/ban-ts-ignore': 'off', '@typescript-eslint/explicit-function-return-type': 'off', '@typescript-eslint/no-explicit-any': 'off', @@ -39,8 +31,20 @@ module.exports = defineConfig({ '@typescript-eslint/ban-types': 'off', '@typescript-eslint/no-non-null-assertion': 'off', '@typescript-eslint/explicit-module-boundary-types': 'off', - '@typescript-eslint/no-unused-vars': 'error', - 'no-unused-vars': 'error', + '@typescript-eslint/no-unused-vars': [ + 'error', + { + argsIgnorePattern: '^_', + varsIgnorePattern: '^_' + } + ], + 'no-unused-vars': [ + 'error', + { + argsIgnorePattern: '^_', + varsIgnorePattern: '^_' + } + ], 'space-before-function-paren': 'off', 'vue/attributes-order': 'off', @@ -66,4 +70,4 @@ module.exports = defineConfig({ ], 'vue/multi-word-component-names': 'off' } -}) +} diff --git a/.vscode/extensions.json b/.vscode/extensions.json index d1530933a..5d7e57f38 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,15 +1,19 @@ { "recommendations": [ - "voorjaar.windicss-intellisense", + "christian-kohler.path-intellisense", "vscode-icons-team.vscode-icons", "davidanson.vscode-markdownlint", "stylelint.vscode-stylelint", "dbaeumer.vscode-eslint", "esbenp.prettier-vscode", - "vue.volar", + "mrmlnc.vscode-less", "lokalise.i18n-ally", + "redhat.vscode-yaml", + "csstools.postcss", "mikestead.dotenv", "eamodio.gitlens", - "antfu.iconify" + "antfu.iconify", + "antfu.unocss", + "Vue.volar" ] } diff --git a/.vscode/settings.json b/.vscode/settings.json index 3036ebf1c..3a9abed7e 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,36 +1,98 @@ { - "typescript.tsdk": "node_modules/typescript/lib", - "prettier.enable": true, - "editor.formatOnType": true, - "editor.formatOnSave": true, - "editor.formatOnPaste": true, - "editor.codeActionsOnSave": { - "source.fixAll.eslint": true + "typescript.tsdk": "./node_modules/typescript/lib", + "volar.tsPlugin": true, + "volar.tsPluginStatus": false, + "npm.packageManager": "pnpm", + "editor.tabSize": 2, + "prettier.printWidth": 100, // 超过最大值换行 + "editor.defaultFormatter": "esbenp.prettier-vscode", + "files.eol": "\n", + "search.exclude": { + "**/node_modules": true, + "**/*.log": true, + "**/*.log*": true, + "**/bower_components": true, + "**/dist": true, + "**/elehukouben": true, + "**/.git": true, + "**/.gitignore": true, + "**/.svn": true, + "**/.DS_Store": true, + "**/.idea": true, + "**/.vscode": false, + "**/yarn.lock": true, + "**/tmp": true, + "out": true, + "dist": true, + "node_modules": true, + "CHANGELOG.md": true, + "examples": true, + "res": true, + "screenshots": true, + "yarn-error.log": true, + "**/.yarn": true }, - "[vue]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" + "files.exclude": { + "**/.cache": true, + "**/.editorconfig": true, + "**/.eslintcache": true, + "**/bower_components": true, + "**/.idea": true, + "**/tmp": true, + "**/.git": true, + "**/.svn": true, + "**/.hg": true, + "**/CVS": true, + "**/.DS_Store": true }, - "[javascript]": { + "files.watcherExclude": { + "**/.git/objects/**": true, + "**/.git/subtree-cache/**": true, + "**/.vscode/**": true, + "**/node_modules/**": true, + "**/tmp/**": true, + "**/bower_components/**": true, + "**/dist/**": true, + "**/yarn.lock": true + }, + "stylelint.enable": true, + "stylelint.validate": ["css", "less", "postcss", "scss", "vue", "sass"], + "path-intellisense.mappings": { + "@/": "${workspaceRoot}/src" + }, + "[javascriptreact]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[typescript]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" + "editor.defaultFormatter": "rvest.vs-code-prettier-eslint" }, - "[json]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[jsonc]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" + "[typescriptreact]": { + "editor.defaultFormatter": "rvest.vs-code-prettier-eslint" }, "[html]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[css]": { + "editor.defaultFormatter": "rvest.vs-code-prettier-eslint" + }, + "[less]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[scss]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, + "[markdown]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "editor.codeActionsOnSave": { + "source.fixAll.eslint": true + }, + "[vue]": { + "editor.codeActionsOnSave": { + "source.fixAll.eslint": true, + "source.fixAll.stylelint": true + } + }, "i18n-ally.localesPaths": ["src/locales"], "i18n-ally.keystyle": "nested", "i18n-ally.sortKeys": true, @@ -39,16 +101,67 @@ "i18n-ally.sourceLanguage": "en", "i18n-ally.displayLanguage": "zh-CN", "i18n-ally.enabledFrameworks": ["vue", "react"], - "god.tsconfig": "./tsconfig.json", - "vue-i18n.i18nPaths": "src/locales", + "cSpell.words": [ + "xingyu", + "yudao", + "unocss", + "browserslist", + "esnext", + "unplugin", + "qrcode", + "sider", + "pinia", + "sider", + "nprogress", + "INTLIFY", + "stylelint", + "esno", + "vitejs", + "sortablejs", + "codemirror", + "iconify", + "commitlint", + "videojs", + "echarts", + "wangeditor", + "cropperjs", + "logicflow", + "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 + } + ], + // 控制相关文件嵌套展示 "explorer.fileNesting.enabled": true, "explorer.fileNesting.expand": false, "explorer.fileNesting.patterns": { "*.ts": "$(capture).test.ts, $(capture).test.tsx", "*.tsx": "$(capture).test.ts, $(capture).test.tsx", "*.env": "$(capture).env.*", - "CHANGELOG.md": "CHANGELOG*", - "package.json": "pnpm-lock.yaml,pnpm-workspace.yaml,LICENSE,.gitattributes,.gitignore,.gitpod.yml,CNAME,README*,.npmrc,.browserslistrc,vite.config.*,windi.*,tailwind.*,tsconfig.*,postcss*", - ".eslintrc.js": ".eslintignore,.eslintrc-*,.prettierignore,.stylelintignore,.commitlintrc.js,.prettierrc.js,.stylelint*,stylelint*,prettier.*,.editorconfig" - } + "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" + }, + "terminal.integrated.scrollback": 10000 } diff --git a/README.md b/README.md index f5619e8bc..eb93ac388 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ ## 🐶 新手必读 -* nodejs > 16.0.0 && pnpm > 7.30.0 +* nodejs > 16.0.0 && pnpm > 8.6.0 (强制使用pnpm) * 演示地址【Vue3 + element-plus】: * 演示地址【Vue3 + vben(ant-design-vue)】: * 演示地址【Vue2 + element-ui】: @@ -24,7 +24,7 @@ * 改换 saas,自动引入等功能 * 使用 Element Plus 免费开源的中后台模版,具备如下特性: -![首页](preview/home.png) +![首页](public/home.png) * **最新技术栈**:使用 Vue3、Vite4 等前端前沿技术开发 * **TypeScript**: 应用程序级 JavaScript 的语言 @@ -38,16 +38,16 @@ | 框架 | 说明 | 版本 | |----------------------------------------------------------------------|------------------|--------| -| [Vue](https://staging-cn.vuejs.org/) | Vue 框架 | 3.2.47 | -| [Vite](https://cn.vitejs.dev//) | 开发与构建工具 | 4.3.1 | -| [Element Plus](https://element-plus.org/zh-CN/) | Element Plus | 2.3.3 | -| [TypeScript](https://www.typescriptlang.org/docs/) | JavaScript 的超集 | 5.0.4 | -| [pinia](https://pinia.vuejs.org/) | Vue 存储库 替代 vuex5 | 2.0.35 | -| [vueuse](https://vueuse.org/) | 常用工具集 | 10.1.0 | +| [Vue](https://staging-cn.vuejs.org/) | Vue 框架 | 3.3.4 | +| [Vite](https://cn.vitejs.dev//) | 开发与构建工具 | 4.4.7 | +| [Element Plus](https://element-plus.org/zh-CN/) | Element Plus | 2.3.8 | +| [TypeScript](https://www.typescriptlang.org/docs/) | JavaScript 的超集 | 5.1.6 | +| [pinia](https://pinia.vuejs.org/) | Vue 存储库 替代 vuex5 | 2.1.6 | +| [vueuse](https://vueuse.org/) | 常用工具集 | 10.2.1 | | [vue-i18n](https://kazupon.github.io/vue-i18n/zh/introduction.html/) | 国际化 | 9.2.2 | -| [vue-router](https://router.vuejs.org/) | Vue 路由 | 4.1.6 | -| [windicss](https://cn.windicss.org/) | 下一代工具优先的 CSS 框架 | 3.5.6 | -| [iconify](https://icon-sets.iconify.design/) | 在线图标库 | 3.1.0 | +| [vue-router](https://router.vuejs.org/) | Vue 路由 | 4.2.4 | +| [unocss](https://uno.antfu.me/) | 原子 css | 0.54.0 | +| [iconify](https://icon-sets.iconify.design/) | 在线图标库 | 3.1.1 | | [wangeditor](https://www.wangeditor.com/) | 富文本编辑器 | 5.1.23 | ## 开发工具 @@ -56,14 +56,14 @@ | 插件名 | 功能 | |-------------------------------|--------------------------| -| TypeScript Vue Plugin (Volar) | 用于 TypeScript 的 Vue 插件 | +| TypeScript Vue Plugin (Volar) | 用于 TypeScript 的 Vue 插件 | | Vue Language Features (Volar) | Vue3.0 语法支持 | -| WindiCSS IntelliSense | 自动完成、语法突出显示、代码折叠和构建等高级功能 | -| Iconify IntelliSense | Iconify 预览和搜索 | -| i18n Ally | 国际化智能提示 | +| unocss | unocss for vscode | +| Iconify IntelliSense | Iconify 预览和搜索 | +| i18n Ally | 国际化智能提示 | | Stylelint | Css 格式化 | -| Prettier | 代码格式化 | -| ESLint | 脚本代码检查 | +| Prettier | 代码格式化 | +| ESLint | 脚本代码检查 | | DotENV | env 文件高亮 | ## 内置功能 @@ -136,7 +136,7 @@ ps:核心功能已经实现,正在对接微信小程序中... | | 表单构建 | 拖动表单元素生成相应的 HTML 代码,支持导出 JSON、Vue 文件 | | 🚀 | 配置管理 | 对系统动态配置常用参数,支持 SpringBoot 加载 | | ⭐️ | 定时任务 | 在线(添加、修改、删除)任务调度包含执行结果日志 | -| 🚀 | 文件服务 | 支持将文件存储到 S3(MinIO、阿里云、腾讯云、七牛云)、本地、FTP、数据库等 | +| 🚀 | 文件服务 | 支持将文件存储到 S3(MinIO、阿里云、腾讯云、七牛云)、本地、FTP、数据库等 | | 🚀 | API 日志 | 包括 RESTful API 访问日志、异常日志两部分,方便排查 API 相关的问题 | | | MySQL 监控 | 监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈 | | | Redis 监控 | 监控 Redis 数据库的使用情况,使用的 Redis Key 管理 | diff --git a/build/vite/index.ts b/build/vite/index.ts index 574a0d616..020671079 100644 --- a/build/vite/index.ts +++ b/build/vite/index.ts @@ -1,7 +1,6 @@ import { resolve } from 'path' import Vue from '@vitejs/plugin-vue' import VueJsx from '@vitejs/plugin-vue-jsx' -import WindiCSS from 'vite-plugin-windicss' import progress from 'vite-plugin-progress' import EslintPlugin from 'vite-plugin-eslint' import PurgeIcons from 'vite-plugin-purge-icons' @@ -13,9 +12,9 @@ import Components from 'unplugin-vue-components/vite' import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' import viteCompression from 'vite-plugin-compression' import topLevelAwait from 'vite-plugin-top-level-await' -import vueSetupExtend from 'vite-plugin-vue-setup-extend-plus' import VueI18nPlugin from '@intlify/unplugin-vue-i18n/vite' import { createSvgIconsPlugin } from 'vite-plugin-svg-icons' +import UnoCSS from 'unocss/vite' export function createVitePlugins() { const root = process.cwd() @@ -28,10 +27,9 @@ export function createVitePlugins() { return [ Vue(), VueJsx(), - WindiCSS(), + UnoCSS(), progress(), PurgeIcons(), - vueSetupExtend(), ElementPlus({}), AutoImport({ include: [ diff --git a/build/vite/optimize.ts b/build/vite/optimize.ts index 9d5761912..d34e1b375 100644 --- a/build/vite/optimize.ts +++ b/build/vite/optimize.ts @@ -8,11 +8,10 @@ const include = [ 'pinia', 'dayjs', 'qrcode', - 'windicss', + 'unocss', 'vue-router', 'vue-types', 'vue-i18n', - 'xe-utils', 'crypto-js', 'cropperjs', 'lodash-es', @@ -102,7 +101,8 @@ const include = [ 'element-plus/es/components/timeline-item/style/css', 'element-plus/es/components/collapse/style/css', 'element-plus/es/components/collapse-item/style/css', - 'element-plus/es/components/button-group/style/css' + 'element-plus/es/components/button-group/style/css', + 'element-plus/es/components/text/style/css' ] const exclude = ['@iconify/json'] diff --git a/package.json b/package.json index 7a00c122e..e6be32f82 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "yudao-ui-admin-vue3", - "version": "1.7.2-snapshot", + "version": "1.8.0-snapshot", "description": "基于vue3、vite4、element-plus、typesScript", "author": "xingyu", "private": false, @@ -9,15 +9,16 @@ "dev": "vite --mode base", "front": "vite --mode front", "ts:check": "vue-tsc --noEmit", - "build:pro": "node --max_old_space_size=8000 ./node_modules/vite/bin/vite.js build --mode pro", - "build:dev": "node --max_old_space_size=8000 ./node_modules/vite/bin/vite.js build --mode dev", - "build:stage": "node --max_old_space_size=8000 ./node_modules/vite/bin/vite.js build --mode stage", - "build:test": "node --max_old_space_size=8000 ./node_modules/vite/bin/vite.js build --mode test", - "build:static": "node --max_old_space_size=8000 ./node_modules/vite/bin/vite.js build --mode static", - "build:front": "node --max_old_space_size=8000 ./node_modules/vite/bin/vite.js build --mode front", + "build:pro": "node --max_old_space_size=8192 ./node_modules/vite/bin/vite.js build --mode pro", + "build:dev": "node --max_old_space_size=8192 ./node_modules/vite/bin/vite.js build --mode dev", + "build:stage": "node --max_old_space_size=8192 ./node_modules/vite/bin/vite.js build --mode stage", + "build:test": "node --max_old_space_size=8192 ./node_modules/vite/bin/vite.js build --mode test", + "build:static": "node --max_old_space_size=8192 ./node_modules/vite/bin/vite.js build --mode static", + "build:front": "node --max_old_space_size=8192 ./node_modules/vite/bin/vite.js build --mode front", "serve:pro": "vite preview --mode pro", "serve:dev": "vite preview --mode dev", "serve:test": "vite preview --mode test", + "preview": "pnpm build && vite preview", "npm:check": "npx npm-check-updates", "clean": "npx rimraf node_modules", "clean:cache": "npx rimraf node_modules/.cache", @@ -31,106 +32,103 @@ "@element-plus/icons-vue": "^2.1.0", "@form-create/designer": "^3.1.0", "@form-create/element-ui": "^3.1.17", - "@iconify/iconify": "^3.1.0", + "@iconify/iconify": "^3.1.1", "@videojs-player/vue": "^1.0.0", - "@vueuse/core": "^10.1.0", + "@vueuse/core": "^10.2.1", "@wangeditor/editor": "^5.1.23", "@wangeditor/editor-for-vue": "^5.1.10", - "@zxcvbn-ts/core": "^2.2.1", + "@zxcvbn-ts/core": "^3.0.3", "animate.css": "^4.1.1", - "axios": "^1.3.6", + "axios": "^1.4.0", "benz-amr-recorder": "^1.1.5", "bpmn-js-token-simulation": "^0.10.0", "camunda-bpmn-moddle": "^7.0.1", "cropperjs": "^1.5.13", "crypto-js": "^4.1.1", - "dayjs": "^1.11.7", + "dayjs": "^1.11.9", "diagram-js": "^11.6.0", - "echarts": "^5.4.2", + "echarts": "^5.4.3", "echarts-wordcloud": "^2.1.0", - "element-plus": "2.3.3", - "fast-xml-parser": "^4.2.2", - "highlight.js": "^11.7.0", + "element-plus": "2.3.8", + "fast-xml-parser": "^4.2.6", + "highlight.js": "^11.8.0", "intro.js": "^7.0.1", "jsencrypt": "^3.3.2", "lodash-es": "^4.17.21", - "min-dash": "^4.1.0", - "mitt": "^3.0.0", + "min-dash": "^4.1.1", + "mitt": "^3.0.1", "nprogress": "^0.2.0", - "pinia": "^2.0.35", + "pinia": "^2.1.6", "qrcode": "^1.5.3", - "qs": "^6.11.1", + "qs": "^6.11.2", "steady-xml": "^0.1.0", - "url": "^0.11.0", - "video.js": "^8.0.4", - "vue": "3.2.47", + "url": "^0.11.1", + "video.js": "^7.21.5", + "vue": "3.3.4", + "vue-dompurify-html": "^4.1.4", "vue-i18n": "9.2.2", - "vue-router": "^4.1.6", - "vue-types": "^5.0.2", + "vue-router": "^4.2.4", + "vue-types": "^5.1.1", "vuedraggable": "^4.1.0", "web-storage-cache": "^1.1.1", - "xe-utils": "^3.5.7", "xml-js": "^1.6.11" }, "devDependencies": { - "@commitlint/cli": "^17.6.1", - "@commitlint/config-conventional": "^17.6.1", - "@iconify/json": "^2.2.54", - "@intlify/unplugin-vue-i18n": "^0.10.0", + "@commitlint/cli": "^17.6.7", + "@commitlint/config-conventional": "^17.6.7", + "@iconify/json": "^2.2.95", + "@intlify/unplugin-vue-i18n": "^0.12.2", "@purge-icons/generated": "^0.9.0", "@types/intro.js": "^5.1.1", - "@types/lodash-es": "^4.17.7", - "@types/node": "^18.16.0", + "@types/lodash-es": "^4.17.8", + "@types/node": "^20.4.0", "@types/nprogress": "^0.2.0", - "@types/qrcode": "^1.5.0", + "@types/qrcode": "^1.5.1", "@types/qs": "^6.9.7", - "@typescript-eslint/eslint-plugin": "^5.59.0", - "@typescript-eslint/parser": "^5.59.0", - "@vitejs/plugin-legacy": "^4.0.2", - "@vitejs/plugin-vue": "^4.1.0", + "@typescript-eslint/eslint-plugin": "^6.2.0", + "@typescript-eslint/parser": "^6.2.0", + "@unocss/transformer-variant-group": "^0.51.4", + "@vitejs/plugin-legacy": "^4.1.1", + "@vitejs/plugin-vue": "^4.2.3", "@vitejs/plugin-vue-jsx": "^3.0.1", + "@vue-macros/volar": "^0.12.3", "autoprefixer": "^10.4.14", "bpmn-js": "^8.9.0", "bpmn-js-properties-panel": "^0.46.0", - "consola": "^3.1.0", - "eslint": "^8.39.0", - "eslint-config-prettier": "^8.8.0", - "eslint-define-config": "^1.18.0", - "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-vue": "^9.11.0", - "lint-staged": "^13.2.1", - "postcss": "^8.4.23", + "consola": "^3.2.3", + "eslint": "^8.46.0", + "eslint-config-prettier": "^8.9.0", + "eslint-define-config": "^1.21.0", + "eslint-plugin-prettier": "^5.0.0", + "eslint-plugin-vue": "^9.15.1", + "lint-staged": "^13.2.3", + "postcss": "^8.4.27", "postcss-html": "^1.5.0", "postcss-scss": "^4.0.6", - "prettier": "^2.8.8", - "rimraf": "^5.0.0", - "rollup": "^3.20.7", - "sass": "^1.62.0", - "stylelint": "^15.6.0", - "stylelint-config-html": "^1.1.0", - "stylelint-config-recommended": "^12.0.0", - "stylelint-config-standard": "^33.0.0", + "prettier": "^3.0.0", + "rimraf": "^5.0.1", + "rollup": "^3.27.0", + "sass": "^1.64.1", + "stylelint": "^15.10.2", + "stylelint-config-recommended": "^13.0.0", + "stylelint-config-recommended-vue": "^1.5.0", + "stylelint-config-standard": "^34.0.0", "stylelint-order": "^6.0.3", - "terser": "^5.17.1", - "typescript": "5.0.4", - "unplugin-auto-import": "^0.15.3", - "unplugin-element-plus": "^0.7.1", - "unplugin-vue-components": "^0.24.1", - "vite": "4.3.1", + "terser": "^5.19.2", + "typescript": "5.1.6", + "unocss": "^0.54.0", + "unplugin-auto-import": "^0.16.6", + "unplugin-element-plus": "^0.7.2", + "unplugin-vue-components": "^0.25.1", + "vite": "4.4.7", "vite-plugin-compression": "^0.5.1", "vite-plugin-ejs": "^1.6.4", "vite-plugin-eslint": "^1.8.1", "vite-plugin-progress": "^0.0.7", "vite-plugin-purge-icons": "^0.9.2", "vite-plugin-svg-icons": "^2.0.1", - "vite-plugin-top-level-await": "^1.3.0", - "vite-plugin-vue-setup-extend-plus": "^0.1.0", - "vite-plugin-windicss": "^1.8.10", - "vue-tsc": "^1.4.4", - "windicss": "^3.5.6" - }, - "engines": { - "node": ">=16.0.0" + "vite-plugin-top-level-await": "^1.3.1", + "vue-tsc": "^1.8.8" }, "license": "MIT", "repository": { @@ -140,5 +138,10 @@ "bugs": { "url": "https://gitee.com/yudaocode/yudao-ui-admin-vue3/issues" }, - "homepage": "https://gitee.com/yudaocode/yudao-ui-admin-vue3" + "homepage": "https://gitee.com/yudaocode/yudao-ui-admin-vue3", + "packageManager": "pnpm@8.6.0", + "engines": { + "node": ">= 16.0.0", + "pnpm": ">=8.6.0" + } } diff --git a/preview/home.png b/public/home.png old mode 100755 new mode 100644 similarity index 100% rename from preview/home.png rename to public/home.png diff --git a/src/App.vue b/src/App.vue index 75edd24f3..7407d97ad 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,8 +1,11 @@ - diff --git a/src/components/Echart/src/Echart.vue b/src/components/Echart/src/Echart.vue index 31f2eea00..fd3342dd0 100644 --- a/src/components/Echart/src/Echart.vue +++ b/src/components/Echart/src/Echart.vue @@ -1,4 +1,4 @@ - - + + diff --git a/src/views/mp/autoReply/components/ReplyTable.vue b/src/views/mp/autoReply/components/ReplyTable.vue index e3e539059..2abe9f24e 100644 --- a/src/views/mp/autoReply/components/ReplyTable.vue +++ b/src/views/mp/autoReply/components/ReplyTable.vue @@ -93,7 +93,7 @@ - diff --git a/src/views/mp/components/wx-account-select/main.vue b/src/views/mp/components/wx-account-select/main.vue index 8dbad499a..2a6ca50fd 100644 --- a/src/views/mp/components/wx-account-select/main.vue +++ b/src/views/mp/components/wx-account-select/main.vue @@ -4,17 +4,20 @@ - diff --git a/src/views/mp/components/wx-msg/components/MsgEvent.vue b/src/views/mp/components/wx-msg/components/MsgEvent.vue new file mode 100644 index 000000000..77beda48a --- /dev/null +++ b/src/views/mp/components/wx-msg/components/MsgEvent.vue @@ -0,0 +1,49 @@ + + + diff --git a/src/views/mp/components/wx-msg/components/MsgList.vue b/src/views/mp/components/wx-msg/components/MsgList.vue new file mode 100644 index 000000000..5c5f88316 --- /dev/null +++ b/src/views/mp/components/wx-msg/components/MsgList.vue @@ -0,0 +1,62 @@ + + + + diff --git a/src/views/mp/components/wx-msg/main.vue b/src/views/mp/components/wx-msg/main.vue index 19763245c..b09030ea8 100644 --- a/src/views/mp/components/wx-msg/main.vue +++ b/src/views/mp/components/wx-msg/main.vue @@ -7,123 +7,22 @@ --> - diff --git a/src/views/mp/components/wx-news/main.vue b/src/views/mp/components/wx-news/main.vue index 779a446fa..154291b3d 100644 --- a/src/views/mp/components/wx-news/main.vue +++ b/src/views/mp/components/wx-news/main.vue @@ -38,7 +38,9 @@ -