From 67d0ff0e251f584883d50fd71b2413b6ca94729d Mon Sep 17 00:00:00 2001
From: 陈文彬 <anncwb@126.com>
Date: Thu, 8 Oct 2020 01:38:41 +0800
Subject: [PATCH] feat(setting): add openNProgress setting

---
 package.json                   | 2 +-
 src/router/guard/index.ts      | 7 +++++--
 src/settings/projectSetting.ts | 3 +++
 src/types/config.d.ts          | 2 ++
 4 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/package.json b/package.json
index 59727d7..c48e975 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "vben-admin-2.0",
-  "version": "2.0.0-beta.2",
+  "version": "2.0.0-beta.3",
   "scripts": {
     "bootstrap": "yarn install",
     "serve": "ts-node --project ./build/tsconfig.json  ./build/script/preserve && cross-env NODE_ENV=development vite",
diff --git a/src/router/guard/index.ts b/src/router/guard/index.ts
index bf0b6bf..46d4c1f 100644
--- a/src/router/guard/index.ts
+++ b/src/router/guard/index.ts
@@ -6,9 +6,12 @@ import { createPageTitleGuard } from './pageTitleGuard';
 import { createProgressGuard } from './progressGuard';
 import { createPermissionGuard } from './permissionGuard';
 import { createPageLoadingGuard } from './pageLoadingGuard';
+import { useSetting } from '/@/hooks/core/useSetting';
 
-const axiosCanceler = new AxiosCanceler();
+const { projectSetting } = useSetting();
 export function createGuard(router: Router) {
+  const axiosCanceler = new AxiosCanceler();
+
   router.beforeEach(async () => {
     try {
       Modal.destroyAll();
@@ -20,7 +23,7 @@ export function createGuard(router: Router) {
       console.warn('basic guard error:' + error);
     }
   });
-  createProgressGuard(router);
+  projectSetting.openNProgress && createProgressGuard(router);
   createPermissionGuard(router);
   createPageTitleGuard(router);
   createPageLoadingGuard(router);
diff --git a/src/settings/projectSetting.ts b/src/settings/projectSetting.ts
index 4ed2417..e5b0cdd 100644
--- a/src/settings/projectSetting.ts
+++ b/src/settings/projectSetting.ts
@@ -111,6 +111,9 @@ const setting: ProjectConfig = {
   // 是否开启回到顶部
   useOpenBackTop: true,
 
+  // 开启顶部进度条
+  openNProgress: isProdMode(),
+
   //  是否可以嵌入iframe页面
   canEmbedIFramePage: true,
 };
diff --git a/src/types/config.d.ts b/src/types/config.d.ts
index 5ad5bdf..9f0c33c 100644
--- a/src/types/config.d.ts
+++ b/src/types/config.d.ts
@@ -98,6 +98,8 @@ export interface ProjectConfig {
   openPageLoading: boolean;
   // 是否开启回到顶部
   useOpenBackTop: boolean;
+  // 开启顶部进度条
+  openNProgress: boolean;
   // 是否可以嵌入iframe页面
   canEmbedIFramePage: boolean;
 }
--
libgit2 0.23.3