فهرست منبع

关闭扫码也清楚请求

Zimo 1 هفته پیش
والد
کامیت
247eb9e749
1فایلهای تغییر یافته به همراه18 افزوده شده و 3 حذف شده
  1. 18 3
      src/views/Login/components/QrCodeForm.vue

+ 18 - 3
src/views/Login/components/QrCodeForm.vue

@@ -36,13 +36,13 @@ watch(getShow, (show) => {
   if (show && !hasInitDingLogin.value) {
     initDingLogin()
     hasInitDingLogin.value = true
+  } else if (!show && hasInitDingLogin.value) {
+    destroyDingLogin()
   }
 })
 
 onBeforeUnmount(() => {
-  if (messageHandler.value) {
-    window.removeEventListener('message', messageHandler.value, false)
-  }
+  destroyDingLogin()
 })
 const _getRandomString = (len) => {
   len = len || 10
@@ -71,6 +71,8 @@ const initDingLogin = () => {
   )
 
   nextTick(() => {
+    if (!getShow.value) return
+
     var obj = window.DDLogin({
       id: 'login_container',
       goto: gotoUrl,
@@ -116,4 +118,17 @@ const initDingLogin = () => {
   messageHandler.value = handleMessage
   // }
 }
+
+const destroyDingLogin = () => {
+  if (messageHandler.value) {
+    window.removeEventListener('message', messageHandler.value, false)
+    messageHandler.value = null
+  }
+
+  const box = document.getElementById('login_container')
+  if (box) {
+    box.innerHTML = ''
+  }
+  hasInitDingLogin.value = false
+}
 </script>