Browse Source

完善

master
vee 4 years ago
parent
commit
a44b319db3
  1. 30
      pages/menu/sendToken/transfer/index.vue
  2. 48
      pages/menu/setting/currency/index.vue
  3. 19
      pages/menu/setting/index.vue
  4. 13
      pages/menu/setting/lang/index.vue
  5. 10
      pages/menu/token/btc/index.vue
  6. 20
      pages/menu/wallet/index.vue
  7. 8
      unpackage/dist/dev/app-plus/app-service.js
  8. 13
      utils/BtcUtil.js
  9. 20
      utils/EthUtil.js
  10. 146
      utils/WalletUtil.js
  11. 1
      utils/api.js
  12. 1
      utils/locales/en.js
  13. 1
      utils/locales/zh-F.js
  14. 1
      utils/locales/zh.js

30
pages/menu/sendToken/transfer/index.vue

@ -49,7 +49,7 @@
<text> </text> <text> </text>
<view class="inputc flex"> <view class="inputc flex">
<view class="textt"> <view class="textt">
USD {{currency}}
</view> </view>
<input type="text" :value="(price*transInfoPass.amount).toFixed(2)" disabled="disabled" <input type="text" :value="(price*transInfoPass.amount).toFixed(2)" disabled="disabled"
placeholder-style="font-size: 30rpx; color: #D0D0D2;" placeholder="0.0000000" placeholder-style="font-size: 30rpx; color: #D0D0D2;" placeholder="0.0000000"
@ -250,6 +250,7 @@
fee: 0, fee: 0,
show: false, show: false,
show2: false, show2: false,
currency:'USD',
showFinger: false, showFinger: false,
showBottom: false, showBottom: false,
fingerSuccess: false, fingerSuccess: false,
@ -434,8 +435,7 @@
}) })
return return
} }
this.showBottom = true;
this.show = true;
let that = this let that = this
if (this.coin.type === 'ETH') { if (this.coin.type === 'ETH') {
this.$EthUtil.getGas().then((res) => { this.$EthUtil.getGas().then((res) => {
@ -458,12 +458,14 @@
console.log(size.toString().length, "size") console.log(size.toString().length, "size")
that.transInfoPass.fee = Number(size) * (size.toString().length + 1) * 1000 / Math.pow(10, that.transInfoPass.fee = Number(size) * (size.toString().length + 1) * 1000 / Math.pow(10,
6) 6)
that.showBottom = true;
that.show = true;
}).catch(err => { }).catch(err => {
console.log(err) console.log(err)
that.showFinger = false; that.showFinger = false;
that.showBottom = true;
uni.showToast({ uni.showToast({
title: 'address error', title: that.i18n.ReceivingaddressError + 'error',
icon: 'none', icon: 'none',
duration: 1500 duration: 1500
}) })
@ -626,9 +628,7 @@
this.coin = uni.getStorageSync('coin') this.coin = uni.getStorageSync('coin')
if (this.coin.balancePrice) {
this.price = (this.coin.balancePrice / this.coin.balance).toFixed(2)
}
// //
this.transInfoPass.fromAddress = this.coin.address; this.transInfoPass.fromAddress = this.coin.address;
this.transInfoPass.privateKey = this.coin.privateKey; this.transInfoPass.privateKey = this.coin.privateKey;
@ -639,7 +639,19 @@
if (uni.getStorageSync('fingerPass')) { if (uni.getStorageSync('fingerPass')) {
this.passShow = uni.getStorageSync('fingerPass') this.passShow = uni.getStorageSync('fingerPass')
} }
let currency=uni.getStorageSync('currency');
if(currency){
this.currency=currency;
}
if(this.currency==='USD'){
if (this.coin.balancePrice) {
this.price = (this.coin.balancePrice / this.coin.balance).toFixed(2)
}
}else{
if (this.coin.balanceCnyPrice) {
this.price = (this.coin.balanceCnyPrice / this.coin.balance).toFixed(2)
}
}
} }
}; };

48
pages/menu/setting/currency/index.vue

@ -8,23 +8,19 @@
<u-radio-group v-model="value" @change="radioGroupChange"> <u-radio-group v-model="currency" @change="radioGroupChange">
<view class="item flex" v-for="(item, index) in list" :key="index" @click="handove('en')"> <view class="item flex" v-for="(item, index) in list" :key="index" @click="handove('en')">
<view class="text1"> <view class="text1">
{{item.lang}} {{item.lang}}
</view> </view>
<u-radio <u-radio @change="radioChange" :name="item.name" :disabled="item.disabled"
@change="radioChange" active-color="#5B53FF">
:name="item.name"
:disabled="item.disabled"
active-color="#5B53FF"
>
</u-radio> </u-radio>
</view> </view>
</u-radio-group> </u-radio-group>
<view class="select_btn"> <view class="select_btn" @click="confirmCurrency">
Select Select
</view> </view>
</view> </view>
@ -39,30 +35,38 @@
data() { data() {
return { return {
checked: false, checked: false,
list: [ currency:'USD',
{ list: [{
lang: 'USD', lang: 'USD',
disabled: false, disabled: false,
name:"b" name: "USD"
},
{
lang:'JPY',
disabled: false,
name:"a"
}, },
{ {
lang:'EUR', lang: 'CNY',
disabled: false, disabled: false,
name:"c" name: "CNY"
}, },
], ],
// u-radio-groupv-modelradioname // u-radio-groupv-modelradioname
value: '',
}; };
}, },
onLoad(){
let currency=uni.getStorageSync('currency');
if(currency){
this.currency=currency;
}else{
uni.setStorageSync('currency',this.currency)
}
},
methods: { methods: {
confirmCurrency(){
uni.setStorageSync('currency',this.currency)
uni.reLaunch({
url: '/pages/menu/setting/index'
})
},
handove(item) { handove(item) {
// if(item){ // if(item){
@ -80,7 +84,7 @@
}, },
// radioradio-group // radioradio-group
radioGroupChange(e) { radioGroupChange(e) {
// console.log(e); console.log(this.currency)
}, },
change(status) { change(status) {
// console.log(status); // console.log(status);
@ -100,7 +104,5 @@ page {
</style> </style>
<style> <style>
@import './index.css'; @import './index.css';
</style> </style>

19
pages/menu/setting/index.vue

@ -19,7 +19,8 @@
</view> </view>
<view class=""> <view class="">
<text class="text2">{{value}}</text> <text class="text2">{{value}}</text>
<image src="../../../static/tongyonh/chevron_right_24px.png" mode="aspectFit" class="img1"></image> <image src="../../../static/tongyonh/chevron_right_24px.png" mode="aspectFit" class="img1">
</image>
</view> </view>
</view> </view>
<view class="item flex" @click="goCurr()"> <view class="item flex" @click="goCurr()">
@ -27,8 +28,9 @@
{{i18n.curr}} {{i18n.curr}}
</view> </view>
<view class=""> <view class="">
<text class="text2">USD</text> <text class="text2">{{currency}}</text>
<image src="../../../static/tongyonh/chevron_right_24px.png" mode="aspectFit" class="img1"></image> <image src="../../../static/tongyonh/chevron_right_24px.png" mode="aspectFit" class="img1">
</image>
</view> </view>
</view> </view>
<view class="item flex"> <view class="item flex">
@ -85,6 +87,7 @@
fingerSuccess: false, fingerSuccess: false,
fingerFail: false, fingerFail: false,
hou_jia_w: false, hou_jia_w: false,
currency: 'USD',
value: 'English', value: 'English',
}; };
}, },
@ -273,6 +276,13 @@
} else { } else {
uni.setStorageSync('langTrue', this.value) uni.setStorageSync('langTrue', this.value)
} }
let currency = uni.getStorageSync('currency');
if (currency) {
this.currency = currency;
console.log(this.currency)
} else {
uni.setStorageSync('currency', this.currency)
}
}, },
onLoad() { onLoad() {
// //
@ -281,6 +291,7 @@
} }
}, },
computed: { computed: {
i18n() { i18n() {
@ -296,7 +307,5 @@ page {
</style> </style>
<style> <style>
@import './index.css'; @import './index.css';
</style> </style>

13
pages/menu/setting/lang/index.vue

@ -10,12 +10,8 @@
<view class="text1"> <view class="text1">
{{item.lang}} {{item.lang}}
</view> </view>
<u-radio <u-radio @change="radioChange" :name="item.name" :disabled="item.disabled"
@change="radioChange" active-color="#5B53FF">
:name="item.name"
:disabled="item.disabled"
active-color="#5B53FF"
>
</u-radio> </u-radio>
</view> </view>
@ -39,8 +35,7 @@
checked: false, checked: false,
langInfo: {}, langInfo: {},
lang: '', lang: '',
list: [ list: [{
{
lang: this.$t('index').langfan, lang: this.$t('index').langfan,
disabled: false, disabled: false,
name: "b", name: "b",
@ -128,7 +123,5 @@ page {
</style> </style>
<style> <style>
@import './index.css'; @import './index.css';
</style> </style>

10
pages/menu/token/btc/index.vue

@ -15,7 +15,10 @@
<view class=""> <view class="">
{{coin.balance}} {{coin.name}} {{coin.balance}} {{coin.name}}
</view> </view>
<text class="text2"> $ {{coin.balancePrice?coin.balancePrice:0}}</text> <text class="text2">
{{currency=='USD'?'$ '+(!coin.balancePrice?0.00:coin.balancePrice):'¥ '+(!coin.balanceCnyPrice?0.00:coin.balanceCnyPrice)}}
</text>
</text> </text>
<image src="../../../../static/tongyonh/ethereum.png" mode="aspectFit" class="img1" <image src="../../../../static/tongyonh/ethereum.png" mode="aspectFit" class="img1"
v-if="coin.type=='ETH'&&!coin.contractAddress"></image> v-if="coin.type=='ETH'&&!coin.contractAddress"></image>
@ -114,6 +117,7 @@
// address // address
trxs: [], trxs: [],
coin: {}, coin: {},
currency:'USD',
isNoData:false, isNoData:false,
showInfo: false, showInfo: false,
list: [{ list: [{
@ -231,6 +235,10 @@
onLoad() { onLoad() {
this.coin = uni.getStorageSync('coin'); this.coin = uni.getStorageSync('coin');
this.change(0); this.change(0);
let currency=uni.getStorageSync('currency');
if(currency){
this.currency=currency;
}
} }
}; };

20
pages/menu/wallet/index.vue

@ -26,7 +26,7 @@
v-if="showMoney2"></image> v-if="showMoney2"></image>
</view> </view>
<view class="textcon2" v-if="showMoney1"> <view class="textcon2" v-if="showMoney1">
$ {{!userObj.balancePrice?0.00:userObj.balancePrice}} {{currency=='USD'?'$ '+(!userObj.totalBalancePrice?0.00:userObj.totalBalancePrice):'¥ '+(!userObj.totalBalanceCnyPrice?0.00:userObj.totalBalanceCnyPrice)}}
</view> </view>
<view class="textcon2" v-if="showMoney2"> <view class="textcon2" v-if="showMoney2">
*** ***
@ -63,7 +63,8 @@
{{item.balance}} {{item.balance}}
</view> </view>
<view class="text2" v-if="item.balancePrice"> <view class="text2" v-if="item.balancePrice">
$ {{item.balancePrice}}
{{currency=='USD'?'$ '+(!item.balancePrice?0.00:item.balancePrice):'¥ '+(!item.balanceCnyPrice?0.00:item.balanceCnyPrice)}}
</view> </view>
<view class="text2" v-if="!item.balancePrice"> <view class="text2" v-if="!item.balancePrice">
$ 0.00 $ 0.00
@ -91,6 +92,7 @@
return { return {
eth: '', eth: '',
trc: 'Hello', trc: 'Hello',
currency:'USD',
walletInfo: {}, walletInfo: {},
userObj: {}, userObj: {},
userObj2: {}, userObj2: {},
@ -104,14 +106,16 @@
this.isStop = true this.isStop = true
}, },
onLoad() { onLoad() {
let currency=uni.getStorageSync('currency');
if(currency){
this.currency=currency;
}
// //
this.$walletUtil.updateBalance();
this.userObj = uni.getStorageSync('wallet'); this.userObj = uni.getStorageSync('wallet');
let that = this;
this.$walletUtil.updateBalance(function() {
that.userObj = uni.getStorageSync('wallet');
that.userObj2 = uni.getStorageSync('wallet');
});
}, },
computed: { computed: {
i18n() { i18n() {

8
unpackage/dist/dev/app-plus/app-service.js

File diff suppressed because one or more lines are too long

13
utils/BtcUtil.js

@ -1,14 +1,13 @@
let BtcUtil = { let BtcUtil = {
getBalance: function(address,success) { getBalance:async function(address,success) {
let balance=0; let balance=0;
try{ try{
uni.request({ let res= await uni.request({
url: 'http://scan.weirui0755.com/btc/api/address/balancetrend/btc/' + address, //请求接口 url: 'http://scan.weirui0755.com/btc/api/address/balancetrend/btc/' + address, //请求接口
header: { header: {
'content-type': 'application/x-www-form-urlencoded', //自定义请求头信息 'content-type': 'application/x-www-form-urlencoded', //自定义请求头信息
}, }
success: (res) => { });
if (res.data.code === 1) { if (res.data.code === 1) {
if(res.data.data.length>0){ if(res.data.data.length>0){
var data=res.data.data[0]; var data=res.data.data[0];
@ -18,12 +17,10 @@ let BtcUtil = {
} }
} }
} }
}
});
}catch(e){ }catch(e){
//TODO handle the exception //TODO handle the exception
} }
success(balance); return balance;
} }
} }
export default BtcUtil export default BtcUtil

20
utils/EthUtil.js

@ -48,14 +48,12 @@ let eth = {
'params': [address, "latest"] 'params': [address, "latest"]
}; };
let res =await uni.request({ let res =await uni.request({
url: 'http://47.245.25.82:8545', //仅为示例,并非真实接口地址。 url: systemConfiguration.constant.ethNode, //仅为示例,并非真实接口地址。
method: 'POST', method: 'POST',
data: data, data: data,
dataType: 'json'}); dataType: 'json'});
try { try {
let balance = Number(web3.utils.hexToNumberString(res[1].data.result)) / Math.pow(10, 18) let balance = Number(web3.utils.hexToNumberString(res[1].data.result)) / Math.pow(10, 18)
console.log(balance,45465465)
return balance return balance
} catch (e) { } catch (e) {
return 0; return 0;
@ -70,7 +68,7 @@ let eth = {
return s + num; return s + num;
}, },
// 获取bms,bmdt,usdt/erc余额 // 获取bms,bmdt,usdt/erc余额
getTokenBalance: function(address, contract,success) { getTokenBalance:async function(address, contract,success) {
web3 = new Web3(); web3 = new Web3();
const data = { const data = {
'jsonrpc': '2.0', 'jsonrpc': '2.0',
@ -83,19 +81,15 @@ let eth = {
}; };
uni.request({ let res =await uni.request({
url: 'https://mainnet.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161', //仅为示例,并非真实接口地址。 url: 'https://mainnet.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161', //仅为示例,并非真实接口地址。
method: 'POST', method: 'POST',
data: data, data: data,
dataType: 'json', dataType: 'json'
success: (res) => {
console.log(res,45454)
let balance = Number(web3.utils.hexToNumberString(res['data']['result'])) / Math.pow(10, 18)
console.log(balance,45454)
success(balance)
}
}); });
let balance = Number(web3.utils.hexToNumberString(res['data']['result'])) / Math.pow(10, 18)
return balance;
}, },

146
utils/WalletUtil.js

@ -2,6 +2,7 @@ import TokenUtil from './TokenUtil.js'
import BtcUtil from './BtcUtil.js' import BtcUtil from './BtcUtil.js'
import TronUtil from './TronUtil.js' import TronUtil from './TronUtil.js'
import EthUtil from './EthUtil.js' import EthUtil from './EthUtil.js'
import api from './api.js'
let fullWallet = { let fullWallet = {
"BTC": [{ "BTC": [{
@ -65,7 +66,8 @@ let WalletUtil = {
walletInfo.BTC[0].mnemonic = mnemonic; walletInfo.BTC[0].mnemonic = mnemonic;
walletInfo.BTC[0].privateKey = btc.privateKey; walletInfo.BTC[0].privateKey = btc.privateKey;
walletInfo.BTC[0].address = btc.address; walletInfo.BTC[0].address = btc.address;
walletInfo.BTC[0].ellipsisAddress =walletInfo.BTC[0].address.substring(0, 6) + '...' + walletInfo.BTC[0].address.substring(25, walletInfo.BTC[0].ellipsisAddress = walletInfo.BTC[0].address.substring(0, 6) + '...' + walletInfo.BTC[
0].address.substring(25,
walletInfo.BTC[0].address.length) walletInfo.BTC[0].address.length)
let eth = TokenUtil.generateEth(mnemonic) let eth = TokenUtil.generateEth(mnemonic)
walletInfo.ETH[0].password = password; walletInfo.ETH[0].password = password;
@ -205,100 +207,98 @@ let WalletUtil = {
} }
}, },
updateBalance: function(success) { updateBalance: async function(success) {
const wallet = uni.getStorageSync('wallet'); const wallet = uni.getStorageSync('wallet');
console.log(wallet, '更新余额') let params = {
const walletInfo = uni.getStorageSync('walletInfo'); coinName: wallet.type
for (var k = 0, length = walletInfo[wallet.type].length; k < length; k++) {
if (walletInfo[wallet.type][k].address === wallet.address) {
walletInfo[wallet.type][k] = wallet;
break;
}
} }
uni.setStorageSync('walletInfo', walletInfo); const mainCoinP = await api.getCoinRate(params);
let that = this params.coinName = 'USDT';
this.getPrice(wallet.type, function(rr) { const usdtU = await api.getCoinRate(params);
that.getPrice('USDT', function(usdt) { wallet.totalBalancePrice = 0
wallet.totalBalanceCnyPrice=0
console.log(usdtU, 8888)
switch (wallet.type) { switch (wallet.type) {
case 'BTC': case 'BTC':
console.log("进来BTC") console.log("进来BTC")
BtcUtil.getBalance(wallet.address, function(balance) { wallet.balance = await BtcUtil.getBalance(wallet.address)
wallet.balance = balance;
wallet.balancePrice = (balance * rr).toFixed(2);
wallet.coinList[0].balance = balance
wallet.coinList[0].balancePrice = wallet.balancePrice
uni.setStorageSync('wallet', wallet);
success()
})
break; break;
case 'ETH': case 'ETH':
console.log("进来ETH") console.log("进来ETH")
EthUtil.getBalance(wallet.address, function(balance) { wallet.balance = await EthUtil.getBalance(wallet.address);
wallet.balance = balance;
wallet.balancePrice = (balance * rr).toFixed(2);
wallet.coinList[0].balance = balance
wallet.coinList[0].balancePrice = wallet.balancePrice
for (let i = 1; i < wallet.coinList.length; i++) { for (let i = 1; i < wallet.coinList.length; i++) {
EthUtil.getTokenBalance(wallet.address, wallet.coinList[ wallet.coinList[i].balance = EthUtil.getTokenBalance(wallet.address, wallet.coinList[
i].contractAddress, function(b) { i].contractAddress);
wallet.coinList[i].balance = b;
wallet.coinList[1].balancePrice = (wallet
.coinList[1].balance * usdt)
.toFixed(2);
uni.setStorageSync('wallet', wallet);
success()
});
} }
}); wallet.totalBalancePrice = wallet.coinList[1].balancePrice
wallet.totalBalanceCnyPrice=wallet.coinList[1].balanceCnyPrice
wallet.coinList[1].balancePrice = (wallet
.coinList[1].balance * usdtU.data.priceInUsd).toFixed(2);
wallet.coinList[1].balanceCnyPrice = (wallet
.coinList[1].balance * usdtU.data.priceCny).toFixed(2);
break; break;
case 'TRX': case 'TRX':
console.log("进来TRX") console.log("进来TRX")
TronUtil.getTronBalance(wallet.address).then((res) => { wallet.balance = await TronUtil.getTronBalance(wallet.address);
wallet.balance = res; params.address = wallet.address;
wallet.balancePrice = (res * rr).toFixed(2); params.chainName = wallet.type;
wallet.coinList[0].balance = res const tronCoin = await api.getBalance(params);
wallet.coinList[0].balancePrice = wallet.balancePrice var newList=[];
TronUtil.getContract(wallet.address, wallet.coinList, newList.push(wallet.coinList[0])
function(list) { newList.push(wallet.coinList[1])
wallet.coinList = list; for (let i = 1; i < tronCoin.data.length; i++) {
wallet.coinList[1].balancePrice = (wallet if (tronCoin.data[i].tokenAbbr === 'USDT') {
.coinList[1].balance * usdt).toFixed(2); newList[1].balance = (Number(tronCoin.data[i].balance) / Math.pow(10, tronCoin
console.log(wallet.coinList) .data[i].tokenDecimal));
uni.setStorageSync('wallet', wallet); newList[1].balanceCnyPrice = (newList[1].balance * usdtU.data.priceCny).toFixed(2);
success() newList[1].balancePrice = (newList[1].balance * usdtU.data.priceInUsd).toFixed(2);
}) wallet.totalBalancePrice = newList[1].balancePrice
wallet.totalBalanceCnyPrice=newList[1].balanceCnyPrice
}) } else {
console.log(Number(tronCoin.data[i].balance) / Math.pow(10, tronCoin.data[i]
break; .tokenDecimal))
var coin = {
name: tronCoin.data[i].tokenAbbr,
xname: tronCoin.data[i].tokenName,
balance: (Number(tronCoin.data[i].balance) / Math.pow(10, tronCoin.data[i]
.tokenDecimal)),
icon: tronCoin.data[i].tokenLogo,
} }
if (tronCoin.data[i].tokenType === 'trc20') {
}) coin.contractAddress = tronCoin.data[i].tokenId
} else {
}) coin.contractAddress = tronCoin.data[i].owner_address
}
}, newList.push(coin)
getPrice: function(type, success) { }
uni.request({
url: 'https://apilist.tronscan.org/api/token/price?token=' + type.toLowerCase(), //请求接口
header: {
'content-type': 'application/x-www-form-urlencoded', //自定义请求头信息
},
success: (res) => {
console.log(res.data.price_in_usd)
success(res.data.price_in_usd)
}
wallet.coinList=newList;
break;
} }
});
wallet.balancePrice = (wallet.balance * mainCoinP.data.priceInUsd).toFixed(2);
wallet.balanceCnyPrice = (wallet.balance * mainCoinP.data.priceCny).toFixed(2);
wallet.totalBalancePrice=Number(wallet.totalBalancePrice)+Number(wallet.balancePrice);
wallet.totalBalanceCnyPrice=Number(wallet.totalBalanceCnyPrice)+Number(wallet.balanceCnyPrice);
wallet.coinList[0].balance = wallet.balance
wallet.coinList[0].balancePrice = wallet.balancePrice
wallet.coinList[0].balanceCnyPrice = wallet.balanceCnyPrice
uni.setStorageSync('wallet',wallet);
const walletInfo = uni.getStorageSync('walletInfo');
for (var k = 0, length = walletInfo[wallet.type].length; k < length; k++) {
if (walletInfo[wallet.type][k].address === wallet.address) {
walletInfo[wallet.type][k] = wallet;
break;
}
}
uni.setStorageSync('walletInfo', walletInfo);
return wallet;
}, },
// 封装地址方法 // 封装地址方法
updateAddress: function(type, value, bigAddress, addressName) { updateAddress: function(type, value, bigAddress, addressName) {
let that = this let that = this

1
utils/api.js

@ -12,6 +12,7 @@ const api = {
getCoinRate: (params) => Vue.prototype.$axios.get('/api/coinRate/getCoinRate?' + qs.stringify(params)), getCoinRate: (params) => Vue.prototype.$axios.get('/api/coinRate/getCoinRate?' + qs.stringify(params)),
getChainDataList: (params) => Vue.prototype.$axios.get('/api/chainData/getChainDataList?' + qs.stringify(params)), getChainDataList: (params) => Vue.prototype.$axios.get('/api/chainData/getChainDataList?' + qs.stringify(params)),
getCoinTickerList: (params) => Vue.prototype.$axios.get('/api/coinTicker/getCoinTickerList'), getCoinTickerList: (params) => Vue.prototype.$axios.get('/api/coinTicker/getCoinTickerList'),
getBalance: (params) => Vue.prototype.$axios.get('/api/balance/getBalance?' + qs.stringify(params))
//--------------------------------- free --------------------------------- //--------------------------------- free ---------------------------------
} }

1
utils/locales/en.js

@ -140,6 +140,7 @@ export default {
Receive:'Receive', Receive:'Receive',
// sendToken index // sendToken index
Receivingaddress:'Receiving address', Receivingaddress:'Receiving address',
ReceivingaddressError:'Receiving address error',
ScanQR:'Scan the QR code to transfer to the asset', ScanQR:'Scan the QR code to transfer to the asset',
Copyaddress:'Copy address', Copyaddress:'Copy address',
CopySuccessful:'Copy address Successful!', CopySuccessful:'Copy address Successful!',

1
utils/locales/zh-F.js

@ -140,6 +140,7 @@ export default {
Receive:'接收', Receive:'接收',
// sendToken index // sendToken index
Receivingaddress:'接收地址', Receivingaddress:'接收地址',
ReceivingaddressError:'接受地址錯誤',
ScanQR:'掃描二維碼以轉移到資產', ScanQR:'掃描二維碼以轉移到資產',
Copyaddress:'複製地址', Copyaddress:'複製地址',
CopySuccessful:'複製地址成功!', CopySuccessful:'複製地址成功!',

1
utils/locales/zh.js

@ -138,6 +138,7 @@ export default {
Receive:'接收', Receive:'接收',
// sendToken index // sendToken index
Receivingaddress:'接受地址', Receivingaddress:'接受地址',
ReceivingaddressError:'接受地址错误',
ScanQR:'扫描二维码以转移到资产', ScanQR:'扫描二维码以转移到资产',
Copyaddress:'复制地址', Copyaddress:'复制地址',
CopySuccessful:'复制地址成功!', CopySuccessful:'复制地址成功!',

Loading…
Cancel
Save