nieyuge 2 år sedan
förälder
incheckning
304af5e7b7

+ 3 - 0
src/uilts/messageCenter/iframe/messageEnum.js

@@ -30,6 +30,9 @@ const RECEIVE_MESSAGE_ENUM = {
     IFRAME_RUNTIME_CONNECT_POPUP: 'IFRAME_RUNTIME_CONNECT_POPUP',
     IFRAME_MESSAGE_PAGE_CREATE_TAB: 'IFRAME_MESSAGE_PAGE_CREATE_TAB',
     IFRAME_MESSAGE_PAGE_PUBLISH_TWITTER: 'IFRAME_MESSAGE_PAGE_PUBLISH_TWITTER',
+    IFRAME_ACH_PAYMENT: 'IFRAME_ACH_PAYMENT',
+    IFRAME_WITHDRAW: 'IFRAME_WITHDRAW',
+    IFRAME_DEPOSIT: 'IFRAME_DEPOSIT',
     POPUP_SHOW_DENET_PUBLISH_DIALOG: 'POPUP_SHOW_DENET_PUBLISH_DIALOG',
 }
 

+ 74 - 3
src/view/popup/tabbar-page/wallter/popup.vue

@@ -6,15 +6,22 @@
 import { ref, onBeforeMount, onMounted, inject } from "vue";
 import { iframeHost } from '@/http/configAPI';
 import { getInnerIframeURL } from '@/uilts/help';
+import router from "@/router/popup.js";
 import messageCenter from '@/uilts/messageCenter/iframe';
 import MESSAGE_ENUM from "@/uilts/messageCenter/iframe/messageEnum";
 import { setBadgeInfo, hideBadge } from "@/logic/background/twitter";
 import { getExtensionStorgeDataForIframe } from "@/logic/content/twitter.js";
+import { setChromeStorage, chromeExtensionUrl } from "@/uilts/chromeExtension"
 
 let iframeId = ref('de-nav-wallet-index-page');
 let iframeSrc = ref('');
 let showMenu = inject('showMenu');
 let withdraw_info = inject('withdraw_info');
+let top_up_info = inject('top_up_info');
+
+const setLocalSelectCurrencyInfo = (params = {}) => {
+    setChromeStorage({ selectCurrencyInfo: JSON.stringify(params) })
+}
 
 onBeforeMount(() => {
     iframeSrc.value = getInnerIframeURL(`${iframeHost}/nav-wallet-index` + `?iframeID=${iframeId.value}`)
@@ -42,12 +49,76 @@ window.onmessage = (res) => {
                 break;
             case MESSAGE_ENUM.IFRAME_RUNTIME_CONNECT_POPUP:
                 chrome.runtime.connect({ name: "popup_transactions" });
+                break;
             case MESSAGE_ENUM.POPUP_SHOW_DENET_PUBLISH_DIALOG:
-                chrome.runtime.sendMessage({
-                    actionType: "POPUP_SHOW_DENET_PUBLISH_DIALOG",
-                    data: {}
+                setLocalSelectCurrencyInfo(data.params)
+                setTimeout(() => {
+                    chrome.runtime.sendMessage({
+                        actionType: "POPUP_SHOW_DENET_PUBLISH_DIALOG",
+                        data: {}
+                    });
+                }, 600)
+                break;
+            case MESSAGE_ENUM.IFRAME_ACH_PAYMENT:
+                let achPayInfo = {
+                    amountValue: data.amountValue
+                };
+                let guideUrl = chromeExtensionUrl + ('iframe/ach-cashier.html');
+                setChromeStorage({ achPayInfo: JSON.stringify(achPayInfo) });
+                let str = window.location.hash + '&refresh=true';
+                let path = str.substring(1, str.length);
+                setChromeStorage({
+                    achPayData: JSON.stringify({
+                        form: 'popupPage',
+                        path
+                    })
+                });
+                chrome.tabs.create({
+                    url: guideUrl,
                 });
                 break;
+            case MESSAGE_ENUM.IFRAME_WITHDRAW:
+                let _params = data.params;
+
+                withdraw_info.icon_net = require('@/assets/svg/icon-BNB.svg');
+                withdraw_info.chainInfo = _params.chainInfo;
+                withdraw_info.source = 'home';
+                withdraw_info.balance = _params.balance;
+                withdraw_info.token_symbol = _params.tokenSymbol || '';
+                withdraw_info.currency_name = _params.currencyName || '';
+                withdraw_info.token_chain = _params.tokenChain || '';
+                withdraw_info.currency_code = _params.currencyCode;
+                withdraw_info.icon_token = _params.iconPath || '';
+
+                // USD
+                if (_params.currencyCode == 'USD') {
+                    withdraw_info.currency_code = _params.currencyCode
+                    withdraw_info.paypal = {
+                        amount_value: _params.balance
+                    }
+                }
+
+                // jump
+                if (withdraw_info.currency_code == 'USD') {
+                    router.push('/withdraw/paypal')
+                } else {
+                    router.push('/withdraw/info')
+                }
+                break;
+            case MESSAGE_ENUM.IFRAME_DEPOSIT:
+                let _param = data.params;
+                top_up_info.token = _param.currencyName || ''
+                top_up_info.token_chain = _param.tokenChain
+                top_up_info.token_symbol = _param.tokenSymbol || ''
+                top_up_info.currency_code = _param.currencyCode
+                top_up_info.icon_token = _param.iconPath || ''
+                top_up_info.icon_net = require('@/assets/svg/icon-BNB.svg')
+                top_up_info.chainInfo = {
+                    ..._param.chainInfo
+                };
+
+                router.push('/top-up/info');
+                break;
         }
     }
 };