nieyuge пре 2 година
родитељ
комит
7d58b401a7
2 измењених фајлова са 45 додато и 8 уклоњено
  1. 42 6
      pages/toolbox/index.vue
  2. 3 2
      plugins/vant.js

+ 42 - 6
pages/toolbox/index.vue

@@ -42,6 +42,11 @@
 			</div>
 			</div>
 		</template>
 		</template>
 
 
+		<div class="mask" v-if="showLoading">
+			<van-loading color="#ffffff" size="40"></van-loading>
+			<div class="text">Jumping to the original page, please wait a few seconds</div>
+		</div>
+
 		<!-- 移动端 -->
 		<!-- 移动端 -->
 		<div v-if="device == 'ios' || device == '安卓'" class="mobile">
 		<div v-if="device == 'ios' || device == '安卓'" class="mobile">
 			<div class="mobile-content">
 			<div class="mobile-content">
@@ -82,6 +87,7 @@ export default {
 			img_url: '',
 			img_url: '',
 			scale: 1,
 			scale: 1,
 			userInfo: {},
 			userInfo: {},
+			showLoading: false,
 		};
 		};
 	},
 	},
 	head() {
 	head() {
@@ -155,6 +161,11 @@ export default {
 			};
 			};
 		}
 		}
 	},
 	},
+	created() {
+		this.$nextTick(() => {
+			this.mobileLink();
+		})
+	},
 	mounted() {
 	mounted() {
 		if (this.detail.postBizData.linkImagePath.indexOf('default') > 0) {
 		if (this.detail.postBizData.linkImagePath.indexOf('default') > 0) {
 			this.img_url = '/img/img-default.png';
 			this.img_url = '/img/img-default.png';
@@ -190,7 +201,6 @@ export default {
 		if (this.device == 'chrome') {
 		if (this.device == 'chrome') {
 			this.setCookie();
 			this.setCookie();
 		}
 		}
-		this.mobileLink();
 		// 计算缩放
 		// 计算缩放
 		this.sumScale();
 		this.sumScale();
 		window.onresize = function() {
 		window.onresize = function() {
@@ -308,12 +318,17 @@ export default {
 		},
 		},
 		mobileLink() {
 		mobileLink() {
 			if (this.device == 'ios' || this.device == '安卓') {
 			if (this.device == 'ios' || this.device == '安卓') {
-				if (this.detail.postBizData.originUrl) {
-					window.location.href = this.detail.postBizData.originUrl
+				this.showLoading = true;
+				if (!('certNftProjectId' in this.detail.postBizData)) {
+					if (this.detail.postBizData.originUrl) {
+						window.location.href = this.detail.postBizData.originUrl
+					} else {
+						setTimeout(() => {
+							this.mobileLink()
+						}, 200)
+					}
 				} else {
 				} else {
-					setTimeout(() => {
-						this.mobileLink()
-					}, 200)
+					this.showLoading = false;
 				}
 				}
 			}
 			}
 		},
 		},
@@ -500,6 +515,27 @@ body,
 	}
 	}
 }
 }
 
 
+.mask {
+	position: absolute;
+	z-index: 99;
+	display: flex;
+	flex-direction: column;
+	align-items: center;
+	justify-content: center;
+	top: 0;
+	left: 0;
+	width: 100%;
+	height: 100%;
+	background-color: rgba($color: #000000, $alpha: .8);
+	.text {
+		color: #ffffff;
+		text-align: center;
+		font-size: 14px;
+		font-weight: 500;
+		margin: 40px 20px 0 20px;
+	}
+}
+
 @keyframes leftRight {
 @keyframes leftRight {
 	0% {
 	0% {
 		transform: translateX(0);
 		transform: translateX(0);

+ 3 - 2
plugins/vant.js

@@ -1,4 +1,5 @@
 import Vue from 'vue';
 import Vue from 'vue';
-import { Toast } from 'vant';
+import { Toast, Loading } from 'vant';
 import 'vant/lib/index.css'
 import 'vant/lib/index.css'
-Vue.use(Toast);
+Vue.use(Toast);
+Vue.use(Loading);