From fe9a1fa88e7f7093f1e83b0b3ac3d85e11e6ce43 Mon Sep 17 00:00:00 2001
From: zouzhibin <3517876561@qq.com>
Date: Wed, 31 Aug 2022 22:07:41 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9tagsView?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.env | 5 +++++
.env.development | 3 +++
package.json | 4 ++++
src/api/index.ts | 1 +
src/layout/TagsView/index.vue | 12 ++++++------
src/router/index.ts | 1 +
src/store/modules/tagsView.ts | 9 +++++----
vite.config.ts | 9 +++++----
8 files changed, 30 insertions(+), 14 deletions(-)
create mode 100644 .env
create mode 100644 src/api/index.ts
diff --git a/.env b/.env
new file mode 100644
index 0000000..c7cc7b5
--- /dev/null
+++ b/.env
@@ -0,0 +1,5 @@
+
+# port
+VITE_PORT = 8100
+
+
diff --git a/.env.development b/.env.development
index 42e2996..54366d4 100644
--- a/.env.development
+++ b/.env.development
@@ -1,2 +1,5 @@
# 本地环境
NODE_ENV = 'development'
+
+# 本地环境接口地址
+VITE_API_URL = '/api'
diff --git a/package.json b/package.json
index 212f834..cda7cf2 100644
--- a/package.json
+++ b/package.json
@@ -5,8 +5,12 @@
"type": "module",
"scripts": {
"dev": "vite",
+ "build:dev": "vite build --mode development",
+ "build:test": "vite build --mode test",
+ "build:prod": "vite build --mode production",
"build": "vite build",
"preview": "vite preview",
+ "build:ts": "vue-tsc --noEmit --skipLibCheck && vite build",
"lint": "eslint . --ext .vue,.js,.ts,.jsx,.tsx --fix",
"lint:prettier": "prettier --write \"src/**/*.{js,json,tsx,css,less,scss,vue,html,md}\""
},
diff --git a/src/api/index.ts b/src/api/index.ts
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/src/api/index.ts
@@ -0,0 +1 @@
+
diff --git a/src/layout/TagsView/index.vue b/src/layout/TagsView/index.vue
index af108c9..e0e8be7 100644
--- a/src/layout/TagsView/index.vue
+++ b/src/layout/TagsView/index.vue
@@ -16,7 +16,9 @@
@click="routerGo(tag)"
>
{{ tag.title }}
- closeSelectedTag(e, tag)" class="tag-icon">
+ closeSelectedTag(e, tag)" class="tag-icon">
@@ -169,11 +171,9 @@
}
// 关闭所有 去首页
- const closeAllTab = ()=>{
- if(route.fullPath!=='/home'){
- TagsViewStore.delAllViews()
- }
- router.push('/')
+ const closeAllTab = async ()=>{
+ let visitedViews = await TagsViewStore.delAllViews()
+ toLastView(visitedViews,route)
}
const routerGo = (tag) => {
diff --git a/src/router/index.ts b/src/router/index.ts
index ca76621..4aac19d 100644
--- a/src/router/index.ts
+++ b/src/router/index.ts
@@ -31,6 +31,7 @@ import externalLink from './modules/externalLink'
* meta ==> 路由元信息
* meta.title ==> 路由标题
* meta.icon ==> 菜单icon
+ * meta.affix ==> 如果设置为true将会出现在 标签栏中
*/
export const constantRoutes: Array = [
diff --git a/src/store/modules/tagsView.ts b/src/store/modules/tagsView.ts
index f006622..c762d05 100644
--- a/src/store/modules/tagsView.ts
+++ b/src/store/modules/tagsView.ts
@@ -47,10 +47,10 @@ export const useTagsViewStore = defineStore({
delVisitedView(view){
return new Promise(resolve => {
this.visitedViews = this.visitedViews.filter(v=>{
- return v.path !== view.path
+ return (v.path !== view.path||v.meta.affix)
})
this.cachedViews = this.cachedViews.filter(v=>{
- return v.path !== view.path
+ return (v.path !== view.path||v.meta.affix)
})
resolve([...this.visitedViews])
})
@@ -69,8 +69,9 @@ export const useTagsViewStore = defineStore({
},
delAllViews(){
return new Promise((resolve) => {
- this.visitedViews = []
- this.visitedViews = []
+ this.visitedViews = this.visitedViews.filter(v=>v.meta.affix)
+ console.log('===============',this.visitedViews)
+ this.cachedViews = this.visitedViews.filter(v=>v.meta.affix)
resolve([...this.visitedViews])
})
},
diff --git a/vite.config.ts b/vite.config.ts
index af15f0d..4e90d17 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -1,4 +1,5 @@
-import { defineConfig,ConfigEnv, UserConfig } from 'vite'
+import { defineConfig,ConfigEnv, UserConfig,loadEnv } from 'vite'
+// vite.config.ts中无法使用import.meta.env 所以需要引入
import vue from '@vitejs/plugin-vue'
// import AutoImport from 'unplugin-auto-import/vite'
// import Components from 'unplugin-vue-components/vite'
@@ -75,9 +76,9 @@ export default defineConfig(({ mode }: ConfigEnv): UserConfig => {
},
// 生产环境打包配置
//去除 console debugger
- esbuild: {
- pure:mode==='production' ? ["console.log", "debugger"] : []
- },
+ // esbuild: {
+ // pure:mode==='production' ? ["console.log", "debugger"] : []
+ // },
// build: {
// terserOptions: {