nieyuge 2 gadi atpakaļ
vecāks
revīzija
2b5ce4915a
2 mainītis faili ar 24 papildinājumiem un 36 dzēšanām
  1. 12 11
      src/components/header.vue
  2. 12 25
      src/pages/close.vue

+ 12 - 11
src/components/header.vue

@@ -17,7 +17,7 @@
 <script lang="ts" setup>
 import Api from '../static/http/api'
 import { postRequest } from '../static/http'
-import { getOauthUrl, createWindow, callBackUrl, getCookie, removeCookie } from '../static/utils'
+import { getOauthUrl, createWindow, callBackUrl } from '../static/utils'
 import { getStorage, removeStorage, setStorage, storageKey } from '../static/utils/storage'
 import { ref } from 'vue'
 import { ElMessage } from 'element-plus'
@@ -89,14 +89,15 @@ const twitterAuth = () => {
         if ( code === 0 )  {
             let url = getOauthUrl(data.authToken);
             let win = createWindow(url);
-            // timer
-            clearInterval(timer.value);
-            timer.value = setInterval(() => {
-                if (win && win.closed) {
-                    clearInterval(timer.value);
-                    twitterLogin(data);
-                }
-            }, 500)
+            win?.addEventListener('message', (e) => {
+                console.log(333, e)
+            })
+            // timer.value = setInterval(() => {
+            //     if (win && win.closed) {
+            //         clearInterval(timer.value);
+            //         twitterLogin(data);
+            //     }
+            // }, 500)
         } else {
             ElMessage({
                 type: 'error',
@@ -107,7 +108,7 @@ const twitterAuth = () => {
 }
 
 const twitterLogin = (data: { authToken: string, consumerKey: string }) => {
-    let verifier = JSON.parse(getCookie(storageKey.verifier));
+    let verifier = getStorage(storageKey.verifier)
     if (verifier) {
         postRequest(Api.twitterLogin,  {
             params: {
@@ -119,7 +120,7 @@ const twitterLogin = (data: { authToken: string, consumerKey: string }) => {
             let { code, data, msg } = res;
             if ( code === 0 ) {
                 setStorage(storageKey.userInfo, data);
-                removeCookie(storageKey.verifier);
+                removeStorage(storageKey.verifier);
                 location.href = `/nft/list`
             } else {
                 ElMessage({

+ 12 - 25
src/pages/close.vue

@@ -5,43 +5,30 @@
 </template>
 
 <script lang="ts" setup>
-import { onMounted, nextTick } from 'vue';
-import { setStorage, getStorage, storageKey } from '../static/utils/storage'
-import { getCookie, setCookie } from '../static/utils/index'
+import { onMounted } from 'vue';
+import { setStorage, storageKey } from '../static/utils/storage'
 
 const close = () => {
     window.close()
 }
 
-const setParams = () => {
+onMounted(() => {
     let url = new URL(window.location.href);
     let search = url.search;
     let urlParams  = new URLSearchParams(search);
     let verifier: any = urlParams.get('oauth_verifier');
     // set
     if (verifier) {
-        setCookie(storageKey.verifier, verifier)
-        let val = getCookie(storageKey.verifier)
-        if (val) {
-            setTimeout(() => {
-                close()
-            }, 500)
-        } else {
-            setTimeout(() => {
-                setParams()
-            }, 500)
-        }
-    } else {
-        setTimeout(() => {
-            setParams()
-        }, 500)
-    }
-}
 
-onMounted(() => {
-    nextTick(() => {
-        setParams()
-    })
+        window.postMessage('11111')
+
+        // setStorage(storageKey.verifier, verifier)
+        // // @ts-ignore
+        // let time = process.env.NODE_ENV === 'production' ? 500 : 500;
+        // setTimeout(() => {
+        //     close()
+        // }, time)
+    }
 })
 </script>