Sfoglia il codice sorgente

超过3个月审核通过的历史流程数据进行冷数据处理。
前端界面版本更新优化调整

徐滕 1 mese fa
parent
commit
1aa22f89ba
3 ha cambiato i file con 34 aggiunte e 5 eliminazioni
  1. 1 1
      package.json
  2. 17 0
      src/layout/index.vue
  3. 16 4
      src/router/index.js

+ 1 - 1
package.json

@@ -4,7 +4,7 @@
   "private": true,
   "scripts": {
     "dev": "vite",
-    "build": "node --max-old-space-size=8192 node_modules/vite/bin/vite.js build",
+    "build": "node scripts/generate-version.js && node --max-old-space-size=8192 node_modules/vite/bin/vite.js build",
     "preview": "vite preview"
   },
   "dependencies": {

+ 17 - 0
src/layout/index.vue

@@ -332,6 +332,7 @@ import NavMenu from "./components/NavMenu.vue";
 import NavMenu2 from "./components/NavMenu2.vue";
 import userbar from "./components/userbar.vue";
 import iframeView from "./components/iframeView.vue";
+import { checkVersion, startPolling, stopPolling } from "@/utils/versionCheck";
 export default {
 	name: "index",
 	components: {
@@ -385,6 +386,18 @@ export default {
 		var menu = this.$router.getMenu();
 		this.menu = this.filterUrl(menu);
 		this.showThis();
+		checkVersion().then(hasUpdate => {
+			if (hasUpdate) {
+				this.$notify.info({
+					title: '系统更新',
+					message: '检测到新版本,正在刷新...',
+					duration: 2000,
+				});
+				setTimeout(() => {
+					window.location.reload();
+				}, 2000);
+			}
+		});
 	},
 	watch: {
 		$route() {
@@ -408,6 +421,10 @@ export default {
 			this.fixTopMenu();
 			window.addEventListener("resize", this.fixTopMenu);
 		}
+		startPolling();
+	},
+	beforeDestroy() {
+		stopPolling();
 	},
 	methods: {
 		fixTopMenu() {

+ 16 - 4
src/router/index.js

@@ -93,10 +93,22 @@ router.afterEach((to, from) => {
 
 router.onError((error) => {
 	NProgress.done();
-	ElNotification.error({
-		title: "路由错误",
-		message: error.message,
-	});
+	if (error.message.includes('Failed to fetch dynamically imported module') || 
+	    error.message.includes('Importing a module script failed')) {
+		ElNotification.warning({
+			title: '系统更新',
+			message: '检测到版本更新,正在刷新页面...',
+			duration: 2000,
+		});
+		setTimeout(() => {
+			window.location.reload();
+		}, 2000);
+	} else {
+		ElNotification.error({
+			title: "路由错误",
+			message: error.message,
+		});
+	}
 });
 
 //入侵追加自定义方法、对象