'admin-22.02.25:更新版本v2.0.1,更新内容查看根目录CHANGELOG.md'

This commit is contained in:
lyt 2022-02-25 23:19:12 +08:00
parent 4408b04b0f
commit 49c5eaf1bc
9 changed files with 57 additions and 55 deletions

View File

@ -2,6 +2,16 @@
🎉🎉🔥 `vue-next-admin` 基于 vue3.x 、Typescript、vite、Element plus 等适配手机、平板、pc 的后台开源免费模板库vue2.x 请切换 vue-prev-admin 分支) 🎉🎉🔥 `vue-next-admin` 基于 vue3.x 、Typescript、vite、Element plus 等适配手机、平板、pc 的后台开源免费模板库vue2.x 请切换 vue-prev-admin 分支)
## 2.0.1
`2022.02.25`
- 🌟 更新 依赖更新最新版本
- 🎯 优化 svgIcon 图标组件
- 🎯 优化 vite.config.ts 打包,感谢群友@YourObjec
- 🐞 修复 tagViews 开启图标不显示问题(风格 5感谢群友@坏人
- 🐞 修复 [Element Plus 1.2.0-beta.6 以后的版本 el-table 在移动端无法左右滑动](https://gitee.com/lyt-top/vue-next-admin/issues/I4UPTP),感谢@YGDada
## 2.0.0 ## 2.0.0
`2022.02.21` `2022.02.21`

View File

@ -1,6 +1,6 @@
{ {
"name": "vue-next-admin", "name": "vue-next-admin",
"version": "2.0.0", "version": "2.0.1",
"description": "vue3 vite next admin template", "description": "vue3 vite next admin template",
"author": "lyt_20201208", "author": "lyt_20201208",
"license": "MIT", "license": "MIT",
@ -17,7 +17,7 @@
"echarts": "^5.3.0", "echarts": "^5.3.0",
"echarts-gl": "^2.0.8", "echarts-gl": "^2.0.8",
"echarts-wordcloud": "^2.0.0", "echarts-wordcloud": "^2.0.0",
"element-plus": "^2.0.2", "element-plus": "^2.0.3",
"jsplumb": "^2.15.6", "jsplumb": "^2.15.6",
"mitt": "^3.0.0", "mitt": "^3.0.0",
"nprogress": "^0.2.0", "nprogress": "^0.2.0",
@ -25,32 +25,32 @@
"qrcodejs2-fixes": "^0.0.2", "qrcodejs2-fixes": "^0.0.2",
"screenfull": "^6.0.1", "screenfull": "^6.0.1",
"sortablejs": "^1.14.0", "sortablejs": "^1.14.0",
"splitpanes": "^3.0.6", "splitpanes": "^3.1.1",
"vue": "^3.2.31", "vue": "^3.2.31",
"vue-clipboard3": "^1.0.1", "vue-clipboard3": "^1.0.1",
"vue-grid-layout": "^3.0.0-beta1", "vue-grid-layout": "^3.0.0-beta1",
"vue-i18n": "^9.1.9", "vue-i18n": "^9.1.9",
"vue-router": "^4.0.12", "vue-router": "^4.0.12",
"vuex": "^4.0.2", "vuex": "^4.0.2",
"wangeditor": "^4.7.11" "wangeditor": "^4.7.12"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^17.0.19", "@types/node": "^17.0.21",
"@types/nprogress": "^0.2.0", "@types/nprogress": "^0.2.0",
"@types/sortablejs": "^1.10.7", "@types/sortablejs": "^1.10.7",
"@typescript-eslint/eslint-plugin": "^5.12.0", "@typescript-eslint/eslint-plugin": "^5.12.1",
"@typescript-eslint/parser": "^5.12.0", "@typescript-eslint/parser": "^5.12.1",
"@vitejs/plugin-vue": "^2.2.2", "@vitejs/plugin-vue": "^2.2.2",
"@vue/compiler-sfc": "^3.2.31", "@vue/compiler-sfc": "^3.2.31",
"dotenv": "^16.0.0", "dotenv": "^16.0.0",
"eslint": "^8.9.0", "eslint": "^8.9.0",
"eslint-plugin-vue": "^8.4.1", "eslint-plugin-vue": "^8.5.0",
"prettier": "^2.5.1", "prettier": "^2.5.1",
"sass": "^1.49.8", "sass": "^1.49.9",
"sass-loader": "^12.6.0", "sass-loader": "^12.6.0",
"typescript": "^4.5.5", "typescript": "^4.5.5",
"vite": "^2.8.4", "vite": "^2.8.4",
"vue-eslint-parser": "^8.2.0" "vue-eslint-parser": "^8.3.0"
}, },
"browserslist": [ "browserslist": [
"> 1%", "> 1%",

View File

@ -28,7 +28,7 @@ export default {
}, },
setup(props: SvgIconProps) { setup(props: SvgIconProps) {
// //
const linesString: string[] = ['https', 'http', '/src', '/assets']; const linesString: any[] = ['https', 'http', '/src', '/assets', import.meta.env.VITE_PUBLIC_PATH];
const onLineStyle: string = `font-size: ${props.size}px;color: ${props.color}`; const onLineStyle: string = `font-size: ${props.size}px;color: ${props.color}`;
const localsStyle: string = `width: ${props.size}px;height: ${props.size}px`; const localsStyle: string = `width: ${props.size}px;height: ${props.size}px`;

View File

@ -16,8 +16,8 @@
} }
" "
> >
<i class="iconfont icon-webicon318 layout-navbars-tagsview-ul-li-iconfont font14" v-if="isActive(v)"></i> <i class="iconfont icon-webicon318 layout-navbars-tagsview-ul-li-iconfont" v-if="isActive(v)"></i>
<SvgIcon :name="v.meta.icon" class="layout-navbars-tagsview-ul-li-iconfont" v-if="!isActive(v) && getThemeConfig.isTagsviewIcon" /> <SvgIcon :name="v.meta.icon" v-if="!isActive(v) && getThemeConfig.isTagsviewIcon" class="pr5" />
<span>{{ $t(v.meta.title) }}</span> <span>{{ $t(v.meta.title) }}</span>
<template v-if="isActive(v)"> <template v-if="isActive(v)">
<SvgIcon <SvgIcon

View File

@ -193,7 +193,6 @@
z-index: 4; z-index: 4;
} }
.el-scrollbar__wrap { .el-scrollbar__wrap {
overflow-x: hidden !important;
max-height: 100%; /*防止页面切换时,滚动条高度不变的问题(滚动条高度非滚动条滚动高度)*/ max-height: 100%; /*防止页面切换时,滚动条高度不变的问题(滚动条高度非滚动条滚动高度)*/
} }
.el-select-dropdown .el-scrollbar__wrap { .el-select-dropdown .el-scrollbar__wrap {

View File

@ -102,6 +102,27 @@ export function isMobile() {
} }
} }
/**
*
* @description @感谢大黄
* @param list
* @returns
*/
export function handleEmpty(list: any) {
const arr = [];
for (const i in list) {
const d = [];
for (const j in list[i]) {
d.push(list[i][j]);
}
const leng = d.filter((item) => item === '').length;
if (leng !== d.length) {
arr.push(list[i]);
}
}
return arr;
}
/** /**
* *
* @method elSvg element plus svg * @method elSvg element plus svg
@ -110,6 +131,7 @@ export function isMobile() {
* @method globalComponentSize element plus * @method globalComponentSize element plus
* @method deepClone * @method deepClone
* @method isMobile * @method isMobile
* @method handleEmpty
*/ */
const other = { const other = {
elSvg: (app: App) => { elSvg: (app: App) => {
@ -128,6 +150,9 @@ const other = {
isMobile: () => { isMobile: () => {
return isMobile(); return isMobile();
}, },
handleEmpty: (list: any) => {
return handleEmpty(list);
},
}; };
// 统一批量导出 // 统一批量导出

View File

@ -14,7 +14,7 @@ service.interceptors.request.use(
(config) => { (config) => {
// 在发送请求之前做些什么 token // 在发送请求之前做些什么 token
if (Session.get('token')) { if (Session.get('token')) {
config.headers.common['Authorization'] = `${Session.get('token')}`; (<any>config.headers).common['Authorization'] = `${Session.get('token')}`;
} }
return config; return config;
}, },

View File

@ -1,31 +0,0 @@
import dotenv from 'dotenv';
// 定义接口类型声明
export interface ViteEnv {
VITE_PORT: number;
VITE_OPEN: boolean;
VITE_PUBLIC_PATH: string;
}
/**
* vite
* @link https://cn.vitejs.dev/guide/env-and-mode.html
* @returns `VITE_xxx`
*/
export function loadEnv(): ViteEnv {
const env = process.env.NODE_ENV;
const ret: any = {};
const envList = [`.env.${env}.local`, `.env.${env}`, '.env.local', '.env'];
envList.forEach((e) => {
dotenv.config({ path: e });
});
for (const envName of Object.keys(process.env)) {
let realName = (process.env as any)[envName].replace(/\\n/g, '\n');
realName = realName === 'true' ? true : realName === 'false' ? false : realName;
if (envName === 'VITE_PORT') realName = Number(realName);
if (envName === 'VITE_OPEN') realName = Boolean(realName);
ret[envName] = realName;
process.env[envName] = realName;
}
return ret;
}

View File

@ -1,33 +1,30 @@
import vue from '@vitejs/plugin-vue'; import vue from '@vitejs/plugin-vue';
import { resolve } from 'path'; import { resolve } from 'path';
import type { UserConfig, ConfigEnv } from 'vite'; import { defineConfig, loadEnv, ConfigEnv } from 'vite';
import { defineConfig } from 'vite';
import { loadEnv } from './src/utils/viteBuild';
const pathResolve = (dir: string): any => { const pathResolve = (dir: string): any => {
return resolve(__dirname, '.', dir); return resolve(__dirname, '.', dir);
}; };
const { VITE_PORT, VITE_OPEN, VITE_PUBLIC_PATH } = loadEnv();
const alias: Record<string, string> = { const alias: Record<string, string> = {
'/@': pathResolve('./src/'), '/@': pathResolve('./src/'),
'vue-i18n': 'vue-i18n/dist/vue-i18n.cjs.js', 'vue-i18n': 'vue-i18n/dist/vue-i18n.cjs.js',
}; };
export default defineConfig(({ command }: ConfigEnv): UserConfig => { const viteConfig = defineConfig((mode: ConfigEnv) => {
const env = loadEnv(mode.mode, process.cwd());
return { return {
plugins: [vue()], plugins: [vue()],
root: process.cwd(), root: process.cwd(),
resolve: { alias }, resolve: { alias },
base: command === 'build' ? VITE_PUBLIC_PATH : './', base: mode.command === 'serve' ? './' : env.VITE_PUBLIC_PATH,
optimizeDeps: { optimizeDeps: {
include: ['element-plus/lib/locale/lang/zh-cn', 'element-plus/lib/locale/lang/en', 'element-plus/lib/locale/lang/zh-tw'], include: ['element-plus/lib/locale/lang/zh-cn', 'element-plus/lib/locale/lang/en', 'element-plus/lib/locale/lang/zh-tw'],
}, },
server: { server: {
host: '0.0.0.0', host: '0.0.0.0',
port: VITE_PORT, port: env.VITE_PORT as unknown as number,
open: VITE_OPEN, open: env.VITE_OPEN,
proxy: { proxy: {
'/gitee': { '/gitee': {
target: 'https://gitee.com', target: 'https://gitee.com',
@ -87,3 +84,5 @@ export default defineConfig(({ command }: ConfigEnv): UserConfig => {
}, },
}; };
}); });
export default viteConfig;