Browse Source

1111

master
Dread 4 years ago
parent
commit
51bbea6e7e
  1. 8
      components/tabBar/tabBar.vue
  2. 8
      main.js
  3. 8
      manifest.json
  4. 32
      package-lock.json
  5. 56
      pages.json
  6. 465
      pages/menu/backUp/transPaw/index.vue
  7. 52
      pages/menu/collection/addCollection/index.css
  8. 70
      pages/menu/collection/addCollection/index.vue
  9. 27
      pages/menu/collection/collectionDetail/index.css
  10. 57
      pages/menu/collection/collectionDetail/index.vue
  11. 54
      pages/menu/collection/index.css
  12. 75
      pages/menu/collection/index.vue
  13. 7
      pages/menu/discover/index.css
  14. 10
      pages/menu/index/index.vue
  15. 1
      pages/menu/market/index.css
  16. 138
      pages/menu/market/index.vue
  17. 29
      pages/menu/sendToken/addAddress/index.vue
  18. 35
      pages/menu/sendToken/addAddress2/index.vue
  19. 3
      pages/menu/sendToken/address/index.css
  20. 81
      pages/menu/sendToken/address/index.vue
  21. 40
      pages/menu/sendToken/index.css
  22. 82
      pages/menu/sendToken/index.vue
  23. 182
      pages/menu/sendToken/transfer2/index.css
  24. 244
      pages/menu/sendToken/transfer2/index.vue
  25. 3
      pages/menu/token/btc/index.css
  26. 444
      pages/menu/token/btc/index.vue
  27. 185
      pages/menu/token/btctrue/index.css
  28. 337
      pages/menu/token/btctrue/index.vue
  29. 1
      pages/menu/transction/detail/index.css
  30. 21
      pages/menu/transction/detail/index.vue
  31. 109
      pages/menu/transction/detail2/index.css
  32. 128
      pages/menu/transction/detail2/index.vue
  33. 26
      pages/menu/wallet/cwallet/index.vue
  34. 8
      pages/menu/wallet/index.css
  35. 85
      pages/menu/wallet/index.vue
  36. 40
      pages/menu/wallet/mwallet/index.vue
  37. 54
      pages/menu/wallet/otherCoin/index.css
  38. 90
      pages/menu/wallet/otherCoin/index.vue
  39. BIN
      static/tongyonh/IconGroup.png
  40. BIN
      static/tongyonh/arrow-down-left.png
  41. BIN
      static/tongyonh/arrow-down-left1.png
  42. BIN
      static/tongyonh/arrow-up-left_1.png
  43. BIN
      static/tongyonh/copy_24px_2.png
  44. BIN
      static/tongyonh/lu.png
  45. BIN
      unpackage/cache/apk/__UNI__1ECBEE1_cm.apk
  46. 2
      unpackage/cache/apk/apkurl
  47. 2
      unpackage/cache/apk/cmManifestCache.json
  48. 16
      unpackage/cache/wgt/__UNI__1ECBEE1/app-service.js
  49. 2
      unpackage/cache/wgt/__UNI__1ECBEE1/app-view.js
  50. 2
      unpackage/cache/wgt/__UNI__1ECBEE1/manifest.json
  51. BIN
      unpackage/cache/wgt/__UNI__1ECBEE1/static/tongyonh/arrow-down-left.png
  52. BIN
      unpackage/cache/wgt/__UNI__1ECBEE1/static/tongyonh/arrow-down-left1.png
  53. 16
      unpackage/dist/build/app-plus/app-service.js
  54. 2
      unpackage/dist/build/app-plus/app-view.js
  55. BIN
      unpackage/dist/build/app-plus/static/tongyonh/arrow-down-left.png
  56. BIN
      unpackage/dist/build/app-plus/static/tongyonh/arrow-down-left1.png
  57. 4
      unpackage/dist/dev/app-plus/app-config-service.js
  58. 27045
      unpackage/dist/dev/app-plus/app-service.js
  59. 18635
      unpackage/dist/dev/app-plus/app-view.js
  60. BIN
      unpackage/dist/dev/app-plus/static/tongyonh/IconGroup.png
  61. BIN
      unpackage/dist/dev/app-plus/static/tongyonh/arrow-down-left.png
  62. BIN
      unpackage/dist/dev/app-plus/static/tongyonh/arrow-down-left1.png
  63. BIN
      unpackage/dist/dev/app-plus/static/tongyonh/arrow-up-left_1.png
  64. BIN
      unpackage/dist/dev/app-plus/static/tongyonh/copy_24px_2.png
  65. BIN
      unpackage/dist/dev/app-plus/static/tongyonh/lu.png
  66. BIN
      unpackage/release/apk/__UNI__1ECBEE1__20211106010454.apk
  67. 75
      unpackage/release/apk/index.css
  68. 191
      utils/EthUtil.js
  69. 3
      utils/TokenUtil.js
  70. 7
      utils/TronUtil.js
  71. 25
      utils/api.js
  72. 220
      utils/axios.js
  73. 14
      utils/constant.js
  74. 19
      utils/index.js

8
components/tabBar/tabBar.vue

@ -89,11 +89,9 @@
})
} else if (num == 2) {
uni.showToast({
title: 'Not yet open',
icon: 'none',
duration: 1500,
})
uni.reLaunch({
url: '/pages/menu/collection/index'
})
} else if (num == 3) {
uni.reLaunch({
url: '/pages/menu/market/index'

8
main.js

@ -3,8 +3,7 @@ import App from './App'
import uView from "uview-ui";
import VueClipboards from 'vue-clipboard2'
import VueI18n from 'vue-i18n'
import axios from './utils/axios.js'
import bip39 from 'bip39'
import bip32 from 'bip32'
import tronweb from 'tronweb'
@ -15,14 +14,13 @@ import util from 'ethereumjs-util'
import store from './store'
Vue.prototype.$store = store
Vue.prototype.tronweb = tronweb
Vue.prototype.bip32 = bip32
Vue.prototype.bip39 = bip39
Vue.prototype.Tx = Tx
Vue.prototype.bitcoin = bitcoin
Vue.prototype.ethers = ethers
Vue.prototype.$axios = axios
// 自定义底部导航栏
import tabBar from 'components/tabBar/tabBar.vue'
Vue.component('tab-bar', tabBar)
@ -33,9 +31,11 @@ Vue.use(VueClipboards);
import TokenUtil from './utils/TokenUtil.js'
import EthUtil from './utils/EthUtil.js'
import TronUtil from './utils/TronUtil.js'
import api from './utils/api.js'
Vue.prototype.$Token = TokenUtil
Vue.prototype.$EthUtil = EthUtil
Vue.prototype.$TronUtil = TronUtil
Vue.prototype.$api = api
// Vue.prototype.$showDialog = true
App.mpType = 'app'

8
manifest.json

@ -115,11 +115,11 @@
"devServer" : {
// "port" : 8083,
"disableHostCheck" : true,
"https" : true,
"https" : false,
"proxy" : {
"/start" : {
"ws" : false,
"target" : "",
"target" : "http://scan.weirui0755.com",
"changeOrigin" : true,
"secure" : false,
"pathRewrite" : {
@ -129,8 +129,8 @@
},
"port" : ""
},
"title" : "color",
"domain" : "https://wingold6.com"
"title" : "bitcooo",
"domain" : "http://scan.weirui0755.com"
}
}
// h5+runtime

32
package-lock.json

@ -886,7 +886,7 @@
},
"cids": {
"version": "0.7.5",
"resolved": "https://registry.nlark.com/cids/download/cids-0.7.5.tgz",
"resolved": "https://registry.npmmirror.com/cids/download/cids-0.7.5.tgz",
"integrity": "sha1-YKCBOKmb+2m2vkzrY7/vejlrKLI=",
"requires": {
"buffer": "^5.5.0",
@ -898,7 +898,7 @@
"dependencies": {
"multicodec": {
"version": "1.0.4",
"resolved": "https://registry.nlark.com/multicodec/download/multicodec-1.0.4.tgz",
"resolved": "https://registry.npmmirror.com/multicodec/download/multicodec-1.0.4.tgz",
"integrity": "sha1-RqwGRlfEA4DCg2fJAwTY7RdacU8=",
"requires": {
"buffer": "^5.6.0",
@ -1079,7 +1079,7 @@
},
"debug": {
"version": "2.6.9",
"resolved": "https://registry.nlark.com/debug/download/debug-2.6.9.tgz",
"resolved": "https://registry.npmmirror.com/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1636300872595&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz",
"integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"requires": {
"ms": "2.0.0"
@ -1157,7 +1157,7 @@
},
"duplexer3": {
"version": "0.1.4",
"resolved": "https://registry.nlark.com/duplexer3/download/duplexer3-0.1.4.tgz",
"resolved": "https://registry.npmmirror.com/duplexer3/download/duplexer3-0.1.4.tgz",
"integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI="
},
"ecc-jsbn": {
@ -1713,7 +1713,7 @@
},
"graceful-fs": {
"version": "4.2.8",
"resolved": "https://registry.nlark.com/graceful-fs/download/graceful-fs-4.2.8.tgz",
"resolved": "https://registry.npmmirror.com/graceful-fs/download/graceful-fs-4.2.8.tgz",
"integrity": "sha1-5BK40z9eAGWTy9PO5t+fLOu+gCo="
},
"har-schema": {
@ -1723,7 +1723,7 @@
},
"har-validator": {
"version": "5.1.5",
"resolved": "https://registry.nlark.com/har-validator/download/har-validator-5.1.5.tgz",
"resolved": "https://registry.npmmirror.com/har-validator/download/har-validator-5.1.5.tgz",
"integrity": "sha1-HwgDufjLIMD6E4It8ezds2veHv0=",
"requires": {
"ajv": "^6.12.3",
@ -2242,12 +2242,12 @@
},
"mkdirp": {
"version": "1.0.4",
"resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-1.0.4.tgz",
"resolved": "https://registry.npmmirror.com/mkdirp/download/mkdirp-1.0.4.tgz",
"integrity": "sha1-PrXtYmInVteaXw4qIh3+utdcL34="
},
"mkdirp-promise": {
"version": "5.0.1",
"resolved": "https://registry.nlark.com/mkdirp-promise/download/mkdirp-promise-5.0.1.tgz",
"resolved": "https://registry.npmmirror.com/mkdirp-promise/download/mkdirp-promise-5.0.1.tgz",
"integrity": "sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE=",
"requires": {
"mkdirp": "*"
@ -2265,7 +2265,7 @@
},
"multibase": {
"version": "0.6.1",
"resolved": "https://registry.nlark.com/multibase/download/multibase-0.6.1.tgz",
"resolved": "https://registry.npmmirror.com/multibase/download/multibase-0.6.1.tgz",
"integrity": "sha1-t232KYU2zBe59qbbU+yI+F+MwSs=",
"requires": {
"base-x": "^3.0.8",
@ -2274,7 +2274,7 @@
},
"multicodec": {
"version": "0.5.7",
"resolved": "https://registry.nlark.com/multicodec/download/multicodec-0.5.7.tgz",
"resolved": "https://registry.npmmirror.com/multicodec/download/multicodec-0.5.7.tgz",
"integrity": "sha1-H7P53YZqEKVdIm4ZSrui3MHun/0=",
"requires": {
"varint": "^5.0.0"
@ -2292,7 +2292,7 @@
"dependencies": {
"multibase": {
"version": "0.7.0",
"resolved": "https://registry.nlark.com/multibase/download/multibase-0.7.0.tgz",
"resolved": "https://registry.npmmirror.com/multibase/download/multibase-0.7.0.tgz",
"integrity": "sha1-Gt/BxQq+Be7+tQkawMJyjWuEWBs=",
"requires": {
"base-x": "^3.0.8",
@ -2598,7 +2598,7 @@
},
"request": {
"version": "2.88.2",
"resolved": "https://registry.nlark.com/request/download/request-2.88.2.tgz",
"resolved": "https://registry.npmmirror.com/request/download/request-2.88.2.tgz",
"integrity": "sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM=",
"requires": {
"aws-sign2": "~0.7.0",
@ -2938,7 +2938,7 @@
"dependencies": {
"mkdirp": {
"version": "0.5.5",
"resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz",
"resolved": "https://registry.npmmirror.com/mkdirp/download/mkdirp-0.5.5.tgz",
"integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=",
"requires": {
"minimist": "^1.2.5"
@ -3131,7 +3131,7 @@
},
"utf8": {
"version": "3.0.0",
"resolved": "https://registry.npm.taobao.org/utf8/download/utf8-3.0.0.tgz",
"resolved": "https://registry.npmmirror.com/utf8/download/utf8-3.0.0.tgz",
"integrity": "sha1-8FLu0TZNaW52nvBYsYPfiMh/adE="
},
"util": {
@ -3159,7 +3159,7 @@
},
"uuid": {
"version": "3.4.0",
"resolved": "https://registry.nlark.com/uuid/download/uuid-3.4.0.tgz?cache=0&sync_timestamp=1622213136953&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fuuid%2Fdownload%2Fuuid-3.4.0.tgz",
"resolved": "https://registry.npmmirror.com/uuid/download/uuid-3.4.0.tgz",
"integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4="
},
"validator": {
@ -3350,7 +3350,7 @@
},
"uuid": {
"version": "3.3.2",
"resolved": "https://registry.nlark.com/uuid/download/uuid-3.3.2.tgz?cache=0&sync_timestamp=1622213136953&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fuuid%2Fdownload%2Fuuid-3.3.2.tgz",
"resolved": "https://registry.npmmirror.com/uuid/download/uuid-3.3.2.tgz",
"integrity": "sha1-G0r0lV6zB3xQHCOHL8ZROBFYcTE="
}
}

56
pages.json

@ -3,6 +3,27 @@
"^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue"
},
"pages": [ //pageshttps://uniapp.dcloud.io/collocation/pages
{
"path": "pages/menu/collection/addCollection/index",
"style": {
"navigationStyle": "custom"
}
},
{
"path": "pages/menu/collection/collectionDetail/index",
"style": {
"navigationStyle": "custom"
}
},
{
"path": "pages/menu/collection/index",
"style": {
"navigationStyle": "custom"
}
},
{
"path": "pages/register/index",
"style": {
@ -10,27 +31,44 @@
}
},
{
"path": "pages/menu/backUp/index",
{
"path": "pages/menu/token/btctrue/index",
"style": {
"navigationStyle": "custom"
}
},
{
{
"path": "pages/menu/sendToken/transfer2/index",
"style": {
"navigationStyle": "custom"
}
},
{
"path": "pages/menu/wallet/otherCoin/index",
"style": {
"navigationStyle": "custom"
}
},
{
"path": "pages/menu/index/index",
"style": {
"navigationStyle": "custom"
}
},
{
"path": "pages/register/index",
"path": "pages/menu/backUp/index",
"style": {
"navigationStyle": "custom"
}
},
{
"path": "pages/menu/wallet/cwallet/index",
"style": {
@ -182,6 +220,12 @@
"navigationStyle": "custom"
}
},
{
"path": "pages/menu/transction/detail2/index",
"style": {
"navigationStyle": "custom"
}
},
{
"path": "pages/menu/transction/detail/index",
"style": {

465
pages/menu/backUp/transPaw/index.vue

@ -2,33 +2,36 @@
<view class="">
<navigation :showBack="true" :bgnum="false">
<text class="big_title">
Transaction password
Transaction password
</text>
</navigation>
<view class="main">
<view class="big_title" v-if="borNum">
Set transaction password
</view>
<view class="big_title" v-if="borNum2">
Please enter again
<view class="big_title" v-if="borNum2">
Please enter again
</view>
<view class="title">
Secure transaction passwords, <br>please do not disclose
</view>
<u-message-input @finish="finish" inactive-color="#E0E5F2" active-color="#5B53FF" :width="94" :maxlength="6"
mode="box" :focus="fes" :dot-fill="true" v-if="borNum"></u-message-input>
<u-message-input @finish="finish2" :inactive-color="info?'#F16063':'#E0E5F2'" active-color="#5B53FF"
:width="94" :maxlength="6" mode="box" :focus="fes" :dot-fill="true" v-if="borNum2" @change="back">
</u-message-input>
<view class="infoText" v-if="info">
Password discrepansies
</view>
</view>
<view class="title">
Secure transaction passwords, <br>please do not disclose
</view>
<u-message-input @finish="finish" inactive-color="#E0E5F2" active-color="#5B53FF" :width="94" :maxlength="6" mode="box" :focus="fes" :dot-fill="true" v-if="borNum"></u-message-input>
<u-message-input @finish="finish2" :inactive-color="info?'#F16063':'#E0E5F2'" active-color="#5B53FF" :width="94" :maxlength="6" mode="box" :focus="fes" :dot-fill="true" v-if="borNum2" @change="back"></u-message-input>
<view class="infoText" v-if="info">
Password discrepansies
</view>
</view>
</view>
</view>
</template>
@ -38,219 +41,295 @@
export default {
data() {
return {
password:'',
password2:'',
msg:'',
msgLength:0,
fes:false,
borNum:true,
borNum2:false,
info:false,
word:{},
walletInfo:{},
password: '',
password2: '',
msg: '',
msgLength: 0,
fes: false,
borNum: true,
borNum2: false,
info: false,
word: {},
walletInfo: {},
btcBalance: 0,
ethBbalance: 0,
trxBbalance: 0,
}
},
watch:{
},
methods: {
watch: {
setWalletInfo(e){
},
methods: {
//
setWalletInfo(e) {
this.word = uni.getStorageSync('word');
this.walletInfo=this.$Token.initialWallet(this.word,e)
uni.setStorageSync('walletInfo',this.walletInfo);
this.walletInfo = this.$Token.initialWallet(this.word, e)
this.$api.getBtcBalance().then((res) => {
var b = res.data.data[0]
for (var k in b) {
this.btcBalance = b[k]
}
})
this.walletInfo.BTC[0].balance = this.btcBalance
this.walletInfo.BTC[0].coinList = [{
name: "BTC",
xname: 'Bitcoin',
icon: require('@/static/tongyonh/bye.png'),
balance: this.btcBalance
}];
this.$EthUtil.getBalance(this.walletInfo.ETH[0].address).then((res) => {
this.walletInfo.ETH[0].balance = res
this.walletInfo.ETH[0].coinList = [{
name: "ETH",
xname: 'Ethereum',
icon: require('@/static/tongyonh/Frame3299.png'),
balance: res
}];
}).catch(err => {
console.log(err)
})
this.$TronUtil.getTronBalance(this.walletInfo.TRON[0].address).then((res) => {
this.walletInfo.TRON[0].balance = res
this.walletInfo.TRON[0].coinList = [{
name: "TRX",
xname: 'TRON',
icon: require('@/static/tongyonh/tron1.png'),
balance: res
}];
}).catch(err => {
console.log(err)
})
setTimeout(()=>{
uni.setStorageSync('walletInfo', this.walletInfo);
},1500)
},
//
back(e){
if(e.length<6){
this.info=false;
//
back(e) {
if (e.length < 6) {
this.info = false;
}
},
//
finish2(e) {
var a=uni.getStorageSync('createWalletName')
console.log(a);
console.log('222222')
if(a=='BTC'&&a!=''&&a!=undefined){
this.walletInfo=uni.getStorageSync('walletInfo');
var mnemonic=uni.getStorageSync('word');
console.log(mnemonic,7777777777)
let btc=this.$Token.generateBtc(mnemonic);
btc.mnemonic=mnemonic;
btc.password=e;
btc.coinList=[{
name:"BTC",
xname:'Bitcoin',
icon:require('@/static/tongyonh/bye.png')
}];
console.log(this.$store.state.btci,555566565)
this.$store.commit('addBtci',1)
uni.setStorageSync('wallet',btc)
uni.setStorageSync('walleti',btc.privateKey)
this.walletInfo.BTC[this.$store.state.btci]=btc;
//
console.log(this.$store.state.btci,555566565)
console.log(this.walletInfo,44444)
uni.setStorageSync('walletInfo',this.walletInfo);
if(this.password!=e){
this.info=true;
return;
}else{
uni.showToast({
title: 'successfully',
icon: 'success',
duration: 1500,
})
setTimeout(()=>{
uni.navigateTo({
url:'../../wallet/index'
})
},1500)
this.info=false;
//
finish2(e) {
var a = uni.getStorageSync('createWalletName')
if (a == 'BTC' && a != '' && a != undefined) {
this.walletInfo = uni.getStorageSync('walletInfo');
var mnemonic = uni.getStorageSync('word');
console.log(mnemonic, 7777777777)
let btc = this.$Token.generateBtc(mnemonic);
btc.mnemonic = mnemonic;
btc.password = e;
this.$api.getBtcBalance().then((res) => {
var b = res.data.data[0]
for (var k in b) {
this.btcBalance = b[k]
}
})
btc.coinList = [{
name: "BTC",
xname: 'Bitcoin',
icon: require('@/static/tongyonh/bye.png'),
balance: this.btcBalance
}];
btc.balance = this.btcBalance
console.log(this.$store.state.btci, 555566565)
this.$store.commit('addBtci', 1)
uni.setStorageSync('wallet', btc)
uni.setStorageSync('walleti', btc.privateKey)
this.walletInfo.BTC[this.$store.state.btci] = btc;
//
console.log(this.$store.state.btci, 555566565)
console.log(this.walletInfo, 44444)
uni.setStorageSync('walletInfo', this.walletInfo);
if (this.password != e) {
this.info = true;
return;
} else {
uni.showToast({
title: 'successfully',
icon: 'success',
duration: 1500,
})
setTimeout(() => {
uni.navigateTo({
url: '../../wallet/index'
})
}, 1500)
this.info = false;
}
return;
}
if (a == 'ETH' && a != '' && a != undefined) {
this.walletInfo = uni.getStorageSync('walletInfo');
var mnemonic = uni.getStorageSync('word');
let eth = this.$Token.generateEth(mnemonic);
eth.mnemonic = mnemonic;
eth.password = e;
this.$EthUtil.getBalance(eth.address).then((res) => {
eth.balance = res
this.ethBbalance = res;
console.log(eth,456465465)
}).catch(err => {
console.log(err)
})
if(a=='ETH'&&a!=''&&a!=undefined){
this.walletInfo=uni.getStorageSync('walletInfo');
var mnemonic=uni.getStorageSync('word');
console.log(mnemonic,7777777777)
let eth=this.$Token.generateEth(mnemonic);
eth.mnemonic=mnemonic;
eth.password=e;
eth.coinList=[{
name:"ETH",
xname:'Ethereum',
icon:require('@/static/tongyonh/Frame3299.png')
}];
console.log(this.$store.state.ethi,555566565)
this.$store.commit('addEthi',1)
uni.setStorageSync('wallet',eth)
uni.setStorageSync('walleti',eth.privateKey)
this.walletInfo.ETH[this.$store.state.ethi]=eth;
eth.coinList = [{
name: "ETH",
xname: 'Ethereum',
icon: require('@/static/tongyonh/Frame3299.png'),
balance: this.ethBbalance
}];
this.$store.commit('addEthi', 1)
uni.setStorageSync('walleti', eth.privateKey)
this.walletInfo.ETH[this.$store.state.ethi] = eth;
//
console.log(this.$store.state.ethi,555566565)
console.log(this.walletInfo,44444)
uni.setStorageSync('walletInfo',this.walletInfo);
if(this.password!=e){
this.info=true;
console.log(this.$store.state.ethi, 555566565)
console.log(this.walletInfo, 44444)
setTimeout(()=>{
uni.setStorageSync('walletInfo', this.walletInfo);
},1000)
setTimeout(()=>{
uni.setStorageSync('wallet', eth)
},1000)
if (this.password != e) {
this.info = true;
return;
}else{
} else {
uni.showToast({
title: 'successfully',
icon: 'success',
duration: 1500,
})
setTimeout(()=>{
uni.navigateTo({
url:'../../wallet/index'
})
},1500)
this.info=false;
setTimeout(() => {
uni.navigateTo({
url: '../../wallet/index'
})
}, 1500)
this.info = false;
}
return;
}
if(a=='TRX'&&a!=''&&a!=undefined){
this.walletInfo=uni.getStorageSync('walletInfo');
var mnemonic=uni.getStorageSync('word');
let tron=this.$Token.generateTron(mnemonic);
tron.mnemonic=mnemonic;
tron.password=e;
tron.coinList=[{
name:"TRX",
xname:'TRON',
icon:require('@/static/tongyonh/tron1.png')
}];
console.log(this.$store.state.troni,555566565)
//
this.$store.commit('addTroni',1)
uni.setStorageSync('wallet',tron)
uni.setStorageSync('walleti',tron.privateKey)
this.walletInfo.TRON[this.$store.state.troni]=tron;
uni.setStorageSync('walletInfo',this.walletInfo);
if(this.password!=e){
this.info=true;
return;
}else{
uni.showToast({
title: 'Set successfully',
icon: 'success',
duration: 1500,
})
setTimeout(()=>{
uni.navigateTo({
url:'../../wallet/index'
})
},1500)
this.info=false;
}
return;
}
if(this.password!=e){
this.info=true;
if (a == 'TRX' && a != '' && a != undefined) {
console.log(123123)
this.walletInfo = uni.getStorageSync('walletInfo');
var mnemonic = uni.getStorageSync('word');
let tron = this.$Token.generateTron(mnemonic);
tron.mnemonic = mnemonic;
tron.password = e;
this.$TronUtil.getTronBalance(tron.address).then((res) => {
tron.balance = res
this.trxBbalance = res
}).catch(err => {
console.log(err)
})
tron.coinList = [{
name: "TRX",
xname: 'TRON',
icon: require('@/static/tongyonh/tron1.png'),
balance: this.trxBbalance
}];
console.log(this.$store.state.troni, 555566565)
//
this.$store.commit('addTroni', 1)
setTimeout(()=>{
uni.setStorageSync('wallet', tron)
},1000)
uni.setStorageSync('walleti', tron.privateKey)
this.walletInfo.TRON[this.$store.state.troni] = tron;
setTimeout(()=>{
uni.setStorageSync('walletInfo', this.walletInfo);
},1000)
if (this.password != e) {
this.info = true;
return;
}else{
} else {
uni.showToast({
title: 'Set successfully',
icon: 'success',
duration: 1500,
})
this.setWalletInfo(e);
setTimeout(()=>{
setTimeout(() => {
uni.navigateTo({
url: '../../wallet/index'
})
}, 1500)
this.info = false;
}
return;
}
if (this.password != e) {
this.info = true;
return;
} else {
uni.showToast({
title: 'Set successfully',
icon: 'success',
duration: 1500,
})
this.setWalletInfo(e);
setTimeout(() => {
// uni.navigateTo({
// url:'../reSuccessful'
// })
uni.navigateTo({
url:'../../wallet/index'
})
},1500)
this.info=false;
}
},
//
url: '../../wallet/index'
})
}, 1500)
this.info = false;
}
},
//
finish(e) {
this.password=e
var that=this;
that.borNum=false;
that.borNum2=false;
// uni.setStorage({
// key: 'transPaw',
// data: e,
// success: function() {
//
// },
// });
setTimeout(()=>{
that.borNum2=true;
},50)
},
this.password = e
var that = this;
that.borNum = false;
that.borNum2 = false;
// uni.setStorage({
// key: 'transPaw',
// data: e,
// success: function() {
//
// },
// });
setTimeout(() => {
that.borNum2 = true;
}, 50)
},
},
onLoad() {
}
};
</script>

52
pages/menu/collection/addCollection/index.css

@ -0,0 +1,52 @@
page{
background-color: #fafafa;
}
.aaa{
background-color: #fafafa !important;
}
.main{
padding: 0 24rpx;
margin-top: 80rpx;
}
.main_con{
padding: 0 24rpx;
background-color: #fff;
border-radius: 24rpx;
padding-bottom: 160rpx;
}
.flex{
display: flex;
justify-content: space-between;
align-items: center;
}
.main_con .item{
padding: 32rpx 0;
border-bottom: 2rpx solid #F5F5F5;
margin-bottom: 48rpx;
}
.main_con .item .imgcon .img{
width: 54rpx;
height: 54rpx;
margin-right: 24rpx;
}
.flex2{
display: flex;
align-items: center;
}
.main_con .item2{
margin-bottom: 50rpx;
}
.main_con .item2 .title{
}
.main_con .item2 .input{
height: 100rpx;
border-bottom: 2rpx solid #F5F5F5;
}
.main_con .btn{
line-height: 96rpx;
background-color: #E9ECF5;
text-align: center;
color: #fff;
border-radius: 32rpx;
margin-top: 120rpx;
}

70
pages/menu/collection/addCollection/index.vue

@ -0,0 +1,70 @@
<template>
<view class="maintoP">
<navigation :showBack="true" :bgnum="true" class="aaa">
<text class="big_title">
Add collection
</text>
</navigation>
<view class="main">
<view class="main_con">
<view class="flex item">
<view class="imgcon flex2">
<image src="../../../../static/tongyonh/bye.png" mode="aspectFit" class="img"></image>
<text class="tex1">ETH</text>
</view>
<view class="text1">
TStUWD...mBmh
</view>
</view>
<view class="item2">
<view class="title">
Contract address
</view>
<input type="text" value="" class="input" placeholder-style="color:#BEBEBE;fontSize:14px" placeholder="Please enter the contract address"/>
</view>
<view class="item2">
<view class="title">
Token ID
</view>
<input type="text" value="" class="input" placeholder-style="color:#BEBEBE;fontSize:14px" placeholder="Please enter token ID"/>
</view>
<view class="btn">
Confirm
</view>
</view>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
import token from "@/utils/TokenUtil"
export default {
data() {
return {
}
},
onLoad() {
},
methods: {
},
};
</script>
<style scoped>
</style>
<style>
@import './index.css';
</style>

27
pages/menu/collection/collectionDetail/index.css

@ -0,0 +1,27 @@
.renYou2{
width: 48rpx;
height: 48rpx;
position: absolute;
right: 30rpx;
}
.main{
margin-top: 50rpx;
padding: 0 24rpx;
}
.main .item{
background-color: #F2F2F2;
border-radius: 8rpx;
padding: 24rpx;
}
.main .item .top{
margin-bottom: 20rpx;
font-size: 32rpx;
display: flex;
align-items: center;
word-break: break-word;
}
.main .item .top .img{
width: 48rpx;
height: 48rpx;
margin-right: 16rpx;
}

57
pages/menu/collection/collectionDetail/index.vue

@ -0,0 +1,57 @@
<template>
<view class="maintoP">
<navigation :showBack="true" :bgnum="true">
<image src="../../../../static/tongyonh/IconGroup.png" mode="aspectFit" class="renYou2" slot="logo"></image>
<text class="big_title">
Binance NFT
</text>
</navigation>
<view class="main">
<view class="item">
<view class="top">
<image src="../../../../static/tongyonh/bye.png" mode="aspectFit" class="img"></image>
0x0Cc6...08E9
</view>
<view class="top">
合约0xf7a2...490a
</view>
<view class="top">
ID624869217469673946369844112959321786979269186132
</view>
</view>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
import token from "@/utils/TokenUtil"
export default {
data() {
return {
}
},
onLoad() {
},
methods: {
},
};
</script>
<style scoped>
</style>
<style>
@import './index.css';
</style>

54
pages/menu/collection/index.css

@ -0,0 +1,54 @@
.maintoP{
margin-top: 100rpx;
}
/* .aaa{
background: #FAFAFA !important;
} */
/* page {
background: #FAFAFA;
} */
.main{
padding: 0 48rpx;
margin-top: 50rpx;
background: #fff;
}
.title{
height: 150rpx;
display: flex;
align-items: center;
font-size: 32rpx;
border-bottom: 2rpx solid #F6F8FD;
}
.flex{
display: flex;
align-items: center;
justify-content: space-between;
}
.flex2{
display: flex;
}
.main_con .item .left .img{
width: 80rpx;
height: 80rpx;
}
.main_con .item{
height: 150rpx;
border-bottom: 2rpx solid #F6F8FD;
border-radius: 24rpx;
}
.main_con .item .img{
width: 48rpx;
height: 48rpx;
}
.main_con .textcon{
margin-left: 20rpx;
}
.main_con .textcon .text1{
font-size: 30rpx;
}
.main_con .textcon .text2{
font-size: 24rpx;
color: #999;
}

75
pages/menu/collection/index.vue

@ -0,0 +1,75 @@
<template>
<view class="maintoP">
<navigation :showBack="true" :bgnum="true" class="aaa">
NFT collection
</navigation>
<view class="main">
<view class="main_con">
<view class="item flex">
<view class="left flex2">
<image src="../../../static/tongyonh/bye.png" mode="aspectFit" class="img"></image>
<view class="textcon">
<view class="text1">
Binance NFT
</view>
<view class="text2">
0 collections
</view>
</view>
</view>
</view>
<view class="item flex">
<view class="left flex2">
<image src="../../../static/tongyonh/bye.png" mode="aspectFit" class="img"></image>
<view class="textcon">
<view class="text1">
Binance NFT
</view>
<view class="text2">
0 collections
</view>
</view>
</view>
</view>
</view>
<tab-bar :selectActive="2"></tab-bar>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
import token from "@/utils/TokenUtil"
export default {
data() {
return {
}
},
onLoad() {
},
methods: {
},
};
</script>
<style scoped>
</style>
<style>
@import './index.css';
</style>

7
pages/menu/discover/index.css

@ -1,5 +1,7 @@
.main{
padding: 0 24rpx;
margin-top: 100rpx;
}
.custom-style {
background-color: #FAFAFA;
@ -136,4 +138,9 @@
font-size: 32rpx;
line-height: 96rpx;
margin-top: 52rpx;
}
/deep/ .uni-input-wrapper {
width: 100%;
height: 88% !important;
}

10
pages/menu/index/index.vue

@ -17,9 +17,15 @@
}
},
async onLoad() {
this.eth = await this.$EthUtil.getBalance('0x939cF3748a33deA9f64F7ac28910Bee3Cb2f0AbB')
this.$EthUtil.getBalance('0x939cF3748a33deA9f64F7ac28910Bee3Cb2f0AbB').then((res) => {
console.log(res,'eth')
}).catch(err => {
console.log(err)
})
this.$TronUtil.getTronBalance('TGPirBtr42YvWtwDNgVEgv3YYhiCkE8hJq').then((res) => {
// console.log(res)
console.log(res,'tron')
this.trc = res
}).catch(err => {
console.log(err)

1
pages/menu/market/index.css

@ -1,6 +1,7 @@
.main_con{
padding: 0 24rpx;
padding-bottom: 250rpx;
margin-top: 60rpx;
}
.main_con .title{
padding-top: 36rpx;

138
pages/menu/market/index.vue

@ -9,127 +9,42 @@
<view class="text1">Price/Vol</view>
<view class="text1 flex">
24h Chang
<view class="imgcon">
<image src="../../../static/tongyonh/Polygon2.png" mode="aspectFit" class="Colorimg"></image>
<image src="../../../static/tongyonh/Polygon3.png" mode="aspectFit" class="Colorimg"></image>
</view>
</view>
</view>
<view class="item flex">
<view class="item flex" v-for="(item,index) in recordInfo">
<view class="text2">
BTC/USDT
{{item.name}}/USDT
</view>
<view class="text2">
<view class="">
212,252.38
{{item.current_price_usd}}
</view>
<view class="t1">
1,164,103,333
{{item.current_price}}
</view>
</view>
<view class="btn green">
<image src="../../../static/tongyonh/arrow-down-left.png" mode="aspectFit" class="img1"></image>
3.23%
<view class="btn" :class="item.change_percent>0?'red':'green'">
<image src="../../../static/tongyonh/arrow-down-left1.png" mode="aspectFit" class="img1" v-if="item.change_percent>=0"></image>
<image src="../../../static/tongyonh/arrow-down-left.png" mode="aspectFit" class="img1" v-if="item.change_percent<0"></image>
{{item.change_percent}}%
</view>
</view>
<view class="item flex">
<view class="text2">
BTC/USDT
</view>
<view class="text2">
<view class="">
212,252.38
</view>
<view class="t1">
1,164,103,333
</view>
</view>
<view class="btn red">
<image src="../../../static/tongyonh/arrow-down-left.png" mode="aspectFit" class="img1"></image>
3.23%
</view>
</view>
<view class="item flex">
<view class="text2">
BTC/USDT
</view>
<view class="text2">
<view class="">
212,252.38
</view>
<view class="t1">
1,164,103,333
</view>
</view>
<view class="btn red">
<image src="../../../static/tongyonh/arrow-down-left.png" mode="aspectFit" class="img1"></image>
3.23%
</view>
</view>
<view class="item flex">
<view class="text2">
BTC/USDT
</view>
<view class="text2">
<view class="">
212,252.38
</view>
<view class="t1">
1,164,103,333
</view>
</view>
<view class="btn red">
<image src="../../../static/tongyonh/arrow-down-left.png" mode="aspectFit" class="img1"></image>
3.23%
</view>
</view>
<view class="item flex">
<view class="text2">
BTC/USDT
</view>
<view class="text2">
<view class="">
212,252.38
</view>
<view class="t1">
1,164,103,333
</view>
</view>
<view class="btn red">
<image src="../../../static/tongyonh/arrow-down-left.png" mode="aspectFit" class="img1"></image>
3.23%
</view>
</view>
<view class="item flex">
<view class="text2">
BTC/USDT
</view>
<view class="text2">
<view class="">
212,252.38
</view>
<view class="t1">
1,164,103,333
</view>
</view>
<view class="btn red">
<image src="../../../static/tongyonh/arrow-down-left.png" mode="aspectFit" class="img1"></image>
3.23%
</view>
</view>
@ -148,12 +63,35 @@
export default {
data() {
return {
recordInfo:[],
}
},
methods: {
getHomeSlideFunc(){
var _self = this;
uni.request({
url: 'https://dncapi.fxhapp.com/api/coin/web-coinrank?page=1&type=0&pagesize=10', //
header: {
'content-type': 'application/x-www-form-urlencoded', //
},
success: (res) => {
this.recordInfo=res.data.data
setTimeout(function(){_self.getHomeSlideFunc()},2000)
this.$forceUpdate()
}
});
},
},
onLoad() {
this.getHomeSlideFunc()
}
};

29
pages/menu/sendToken/addAddress/index.vue

@ -53,13 +53,13 @@
<u-mask z-index="10" :show="show" @click="show = false"></u-mask>
</view>
<view class="big_con w100" v-if="show">
<view class="tiao" @click="show=false"></view>
<view class="tiao" @click="show=false,value=''"></view>
<view class="title">
Please select currency
</view>
<view class="bottom_con zindex" v-if="show">
<u-radio-group v-model="value" >
<view class="item flex" v-for="(item, index) in list" :key="index" @click="handove2(item)">
<view class="item flex" v-for="(item, index) in list" :key="index" @click="handove2(item,index)">
<view class="text1 flex">
<image :src="item.url" mode="aspectFit" class="img"></image>
<view class="textcon">
@ -72,8 +72,7 @@
</view>
</view>
<u-radio
<u-radio
:name="item.name"
:disabled="item.disabled"
active-color="#5B53FF"
@ -82,7 +81,7 @@
</u-radio>
</view>
</u-radio-group>
<view class="select_btn">
<view class="select_btn" @click="selectA">
Select
</view>
</view>
@ -101,7 +100,6 @@
info:{},
addressName:'',
value:'',
bigAddress:'',
save:false,
show: false,
@ -132,9 +130,12 @@ show: false,
}
},
onLoad() {
},
methods: {
selectA(){
this.show=false
},
//
chooseImage() {
var _this = this
@ -148,9 +149,10 @@ show: false,
});
// ass()
},
handove2(item){
this.info=item;
this.show=false;
handove2(item,index){
this.value=item.name;
this.show=false;
},
showSave(){
if(this.bigAddress!=''&&this.name!=''&&this.value!=''){
@ -179,7 +181,8 @@ show: false,
return;
}
if(this.info.name=='BTC'){
if(this.value=='BTC'){
console.log(uni.getStorageSync('BTCAddressInfo'),777)
if(uni.getStorageSync('BTCAddressInfo').length>0){
let btc=new Object;
@ -233,7 +236,7 @@ show: false,
}
if(this.info.name=='ETH'){
if(this.value=='ETH'){
console.log(uni.getStorageSync('ETHAddressInfo'),777)
if(uni.getStorageSync('ETHAddressInfo').length>0){
let eth=new Object;
@ -290,7 +293,7 @@ show: false,
}
if(this.info.name=='TRX'){
if(this.value=='TRX'){
console.log(uni.getStorageSync('TRXAddressInfo'),777)
if(uni.getStorageSync('TRXAddressInfo').length>0){
let trx=new Object;

35
pages/menu/sendToken/addAddress2/index.vue

@ -136,9 +136,7 @@ show: false,
onLoad() {
if(uni.getStorageSync('AddressInfo',this.info)){
this.info=uni.getStorageSync('AddressInfo')
console.log(uni.getStorageSync('AddressInfo'),7777)
this.AddressInfo=uni.getStorageSync('AddressInfo')
console.log(this.AddressInfo)
this.addressName=this.AddressInfo.name
this.bigAddress=this.AddressInfo.address,
this.value=uni.getStorageSync('AddressName')
@ -160,8 +158,8 @@ show: false,
// ass()
},
handove2(item){
this.info=item;
this.show=false;
this.value=item.name;
this.show=false;
},
showSave(){
if(this.bigAddress!=''&&this.name!=''&&this.value!=''){
@ -171,10 +169,6 @@ show: false,
}
},
handove(item){
console.log(this.value)
console.log(this.bigAddress)
console.log(this.addressName)
console.log(this.info.name)
if(this.value==''){
this.save=false
uni.showToast({
@ -311,11 +305,34 @@ show: false,
let trx=new Object;
trx.address=this.bigAddress;
trx.name=this.addressName
trx.coinList=[{
name:"TRX",
xname:'TRON',
icon:require('@/static/tongyonh/tron1.png')
}];
// if(this.value=='BTC'){
// trx.coinList=[{
// name:"BTC",
// xname:'Bitcoin',
// icon:require('@/static/tongyonh/bye.png')
// }];
// }
// if(this.value=='ETH'){
// trx.coinList=[{
// name:"ETH",
// xname:'Ethereum',
// icon:require('@/static/tongyonh/Frame3299.png')
// }];
// }
// if(this.value=='TRX'){
// trx.coinList=[{
// name:"TRX",
// xname:'TRON',
// icon:require('@/static/tongyonh/tron1.png')
// }];
// }
let TRXAddressInfo=[]
TRXAddressInfo=uni.getStorageSync('TRXAddressInfo')
TRXAddressInfo[this.AddressIndex]=trx
@ -340,7 +357,7 @@ show: false,
xname:'TRON',
icon:require('@/static/tongyonh/tron1.png')
}];
console.log(trx,4444)
let TRXAddressInfo=[]
TRXAddressInfo.push(trx)
console.log(TRXAddressInfo,4444)

3
pages/menu/sendToken/address/index.css

@ -34,6 +34,8 @@ padding-bottom: 150rpx;
margin-bottom: 30rpx;
position: relative;
}
.main .itemcon{
}
.main .img1{
width: 30rpx;
height: 30rpx;
@ -96,6 +98,7 @@ padding-bottom: 150rpx;
position: absolute;
right: 30rpx;
top: 30rpx;
z-index: 9999;
}
.set_con .itemm .img{
width: 36rpx;

81
pages/menu/sendToken/address/index.vue

@ -1,7 +1,6 @@
<template>
<view class="">
<navigation :showBack="false" :bgnum="true">
<image src="../../../../static/tongyonh/Vector.png" mode="aspectFit" slot="address" @click="back()" class="renYou2"></image>
<navigation :showBack="true" :bgnum="true">
<image src="../../../../static/tongyonh/IconGroup.png" mode="aspectFit" class="renYou" slot="logo" @click="goAddress()"></image>
<text class="big_title">
Address
@ -10,7 +9,6 @@
<view class="main">
<view class="big_item">
<view class="item flex" v-for="(item,index) in BTCAddressInfo">
<view class="textcon flex">
<view class="bigcon">
@ -29,7 +27,20 @@
</image>
</view>
<view class="set_con" v-if="show" v-show="index==btcIndex">
<image src="../../../../static/tongyonh/xg.png" mode="aspectFit" class="img1" @click="show = false"></image>
<view class="itemm flexx" @click="editItem()">
<image src="../../../../static/tongyonh/create_24px.png" mode="aspectFit" class="img"></image>
Edit
</view>
<view class="itemm flexx red" @click="deleteItem()">
<image src="../../../../static/tongyonh/trash.png" mode="aspectFit" class="img"></image>
Delete
</view>
</view>
</view>
<view class="item flex" v-for="(item,index) in ETHAddressInfo">
<view class="textcon flex">
<view class="bigcon">
@ -47,8 +58,24 @@
<image src="../../../../static/tongyonh/more_vert_24px_outlined.svg" mode="aspectFit" class="img2" @click="showIndex(item,index)">
</image>
</view>
<view class="set_con" v-if="show2" v-show="index==ethIndex">
<image src="../../../../static/tongyonh/xg.png" mode="aspectFit" class="img1" @click="show2 = false"></image>
<view class="itemm flexx" @click="editItem()">
<image src="../../../../static/tongyonh/create_24px.png" mode="aspectFit" class="img"></image>
Edit
</view>
<view class="itemm flexx red" @click="deleteItem()">
<image src="../../../../static/tongyonh/trash.png" mode="aspectFit" class="img"></image>
Delete
</view>
</view>
</view>
<view class="item flex" v-for="(item,index) in TRXAddressInfo">
<view class="textcon flex">
<view class="bigcon">
@ -67,9 +94,8 @@
</image>
</view>
</view>
<view class="set_con" v-if="show">
<image src="../../../../static/tongyonh/xg.png" mode="aspectFit" class="img1" @click="show = false"></image>
<view class="set_con" v-if="show3" v-show="index==trxIndex">
<image src="../../../../static/tongyonh/xg.png" mode="aspectFit" class="img1" @click="show3 = false"></image>
<view class="itemm flexx" @click="editItem()">
<image src="../../../../static/tongyonh/create_24px.png" mode="aspectFit" class="img"></image>
Edit
@ -79,9 +105,8 @@
Delete
</view>
</view>
</view>
</view>
</view>
@ -101,8 +126,8 @@
<u-mask z-index="10" :show="show" ></u-mask>
<u-mask z-index="10" :show="show2" ></u-mask>
<u-mask z-index="10" :show="show3" ></u-mask>
</view>
@ -114,6 +139,9 @@
export default {
data() {
return {
ethIndex:0,
btcIndex:0,
trxIndex:0,
showImte:false,
BTCAddressInfo:{},
ETHAddressInfo:{},
@ -123,6 +151,8 @@
itemAddress:'',
info:{},
show: false,
show2: false,
show3: false,
list: [
{
name: 'Single address',
@ -157,14 +187,25 @@ show: false,
})
},
showIndex(item,index){
this.itemCoin=item.coinList[0].name
if(item.coinList[0].xname=='Bitcoin'){
this.btcIndex=index
this.show=true
}else if(item.coinList[0].xname=='Ethereum'){
this.show2=true
this.ethIndex=index
}else{
this.trxIndex=index
this.show3=true
}
this.info= item
this.itemCoin=item.coinList[0].name
this.itemAddress=item.address
this.show=true;
this.walletIndex=index;
},
deleteItem(){
if(this.itemCoin=='BTC'){
console.log(this.BTCAddressInfo.length,'length')
if(this.BTCAddressInfo.length==1){
let BTCAddressInfo=[]
uni.setStorageSync('BTCAddressInfo',BTCAddressInfo)
@ -174,11 +215,11 @@ show: false,
console.log(this.walletIndex,44444)
let BTCAddressInfo=[]
BTCAddressInfo=uni.getStorageSync('BTCAddressInfo')
console.log(BTCAddressInfo,'删除前')
BTCAddressInfo=BTCAddressInfo.splice(this.walletIndex,1)
console.log(BTCAddressInfo,77777)
console.log(BTCAddressInfo,'删除后')
uni.setStorageSync('BTCAddressInfo',BTCAddressInfo)
this.showImte=true;
console.log(BTCAddressInfo,2222)
this.show=false;
setTimeout(()=>{
uni.reLaunch({
@ -202,7 +243,7 @@ show: false,
uni.setStorageSync('ETHAddressInfo',ETHAddressInfo)
this.showImte=true;
console.log(ETHAddressInfo,2222)
this.show=false;
this.show2=false;
setTimeout(()=>{
uni.reLaunch({
url:'../address/index'
@ -225,7 +266,7 @@ show: false,
uni.setStorageSync('TRXAddressInfo',TRXAddressInfo)
this.showImte=true;
console.log(TRXAddressInfo,2222)
this.show=false;
this.show3=false;
setTimeout(()=>{
uni.reLaunch({
url:'../address/index'
@ -241,15 +282,15 @@ goAddress(){
}
},
onLoad() {
if(uni.getStorageSync('BTCAddressInfo')){
if(uni.getStorageSync('BTCAddressInfo').length>0){
this.BTCAddressInfo=uni.getStorageSync('BTCAddressInfo')
console.log(this.BTCAddressInfo,777)
}
if(uni.getStorageSync('ETHAddressInfo')){
if(uni.getStorageSync('ETHAddressInfo').length>0){
this.ETHAddressInfo=uni.getStorageSync('ETHAddressInfo')
console.log(this.ETHAddressInfo,777)
}
if(uni.getStorageSync('TRXAddressInfo')){
if(uni.getStorageSync('TRXAddressInfo').length>0){
this.TRXAddressInfo=uni.getStorageSync('TRXAddressInfo')
console.log(this.TRXAddressInfo,777)
}

40
pages/menu/sendToken/index.css

@ -16,7 +16,32 @@
display: block;
margin: 0 auto;
}
.info_con{
width: 702rpx;
height: 120rpx;
display: flex;
align-items: center;
position: fixed;
bottom: -150rpx;
z-index: 999;
border-radius: 26rpx;
padding: 0 48rpx;
color: #fff;
transition: .8s all;
}
.goTop{
position: fixed;
bottom: 60rpx !important;
}
.green{
background-color: #6AD6A8;
}
.info_con .text{
}
.info_con .text2{
font-size: 700;
font-size: 32rpx;
}
.title{
font-size: 36rpx;
text-align: center;
@ -46,13 +71,14 @@
border-radius: 10rpx;
padding: 32rpx;
border-radius: 20rpx;
word-break: break-word;
}
.bottom_con{
padding: 0 24rpx;
}
.copy{
margin-top:58rpx;
color:#7D87A6 !important;
color:#fff !important;
}
.main .text3{
color: #000;
@ -60,7 +86,7 @@
margin-bottom: 24rpx;
line-height: 112rpx;
text-align: center;
background-color: #F6F8FD;
background-color: #707EAE;
border-radius: 10rpx;
text-align: center;
border-radius: 20rpx;
@ -74,6 +100,10 @@
margin-right: 10rpx;
}
.main .text3:hover{
background-color: #fff;
border: 2rpx solid #F6F8FD;
}
.code_con{
display: flex;
justify-content: center;
margin-top: 80rpx;
}

82
pages/menu/sendToken/index.vue

@ -5,30 +5,42 @@
</navigation>
<view class="main">
<view class="main_con">
<image src="../../../static/tongyonh/tron1.png" mode="aspectFit" class="logoimg"></image>
<view class="title">
TRX Receiving address
<image src="../../../static/tongyonh/bye.png" mode="aspectFit" class="logoimg" v-if="addressInfo.coinList[0].xname=='Bitcoin'"></image>
<image src="../../../static/tongyonh/tron1.png" mode="aspectFit" class="logoimg" v-if="addressInfo.coinList[0].xname=='TRON'"></image>
<image src="../../../static/tongyonh/Frame3299.png" mode="aspectFit" class="logoimg" v-if="addressInfo.coinList[0].xname=='Ethereum'"></image>
<view class="title">
{{addressInfo.coinList[0].xname}} Receiving address
</view>
<image src="../../../static/tongyonh/image46.png" mode="aspectFit" class="code"></image>
<view class="code_con">
<tki-qrcode ref="qrcode" :val="addressInfo.address" :size="size" :unit="unit" :background="background"
:foreground="foreground" :pdground="pdground" :lv="lv" :onval="onval" :loadMake="loadMake"
:showLoading="showLoading" :loadingText="loadingText" :icon="icon" class="test" />
</view>
<view class="text1">
Scan the QR code to transfer to the asset
</view>
<view class="bottom_con">
<view class="text2">
TASD djhe u3y3 khkd khhg kie3 jhhs uehw ssdhd
{{addressInfo.address}}
</view>
<view class="text3 copy">
<image src="../../../static/tongyonh/copy_24px.png" mode="aspectFit" class="copyImg"></image>
<view class="text3 copy" @click="copyTextMethod">
<image src="../../../static/tongyonh/copy_24px_2.png" mode="aspectFit" class="copyImg"></image>
Copy address
</view>
<view class="text3">
<!-- <view class="text3">
<image src="../../../static/tongyonh/Frame58.png" mode="aspectFit" class="copyImg"></image>
Switching address
</view>
</view> -->
</view>
</view>
<view class="info_con green" :class="toTop?'goTop':''">
<image src="../../../static/tongyonh/copy_24px_2.png" mode="aspectFit" class="copyImg"></image>
Copy address Successful!
</view>
</view>
</view>
@ -36,14 +48,62 @@
<script>
import cont from "@/components/navigation/navigation.vue"
import tkiQrcode from "tki-qrcode"
export default {
components: {
tkiQrcode
},
data() {
return {
addressInfo:{},
toTop:false,
//
showErweiMask: false,
ercodeText: '',
size: 400,
background: '#ffffff',
foreground: '#000000',
pdground: '#000000',
iconsize: 30,
lv: 3,
onval: true,
unit: 'upx',
loadMake: true,
icon: '',
showLoading: true,
loadingText: 'One moment please',
//
}
},
methods: {
copyTextMethod() {
// #ifdef H5
this.$copyText(this.addressInfo.address).then(res => {
this.toTop=true;
setTimeout(()=>{
this.toTop=false;
},1500)
})
// #endif
// #ifdef APP-PLUS
uni.setClipboardData({
data: this.addressInfo.address,
success() {
this.toTop=true;
setTimeout(()=>{
this.toTop=false;
},1500)
}
})
// #endif
},
},
onLoad(item) {
let a= JSON.parse(item.item)
this.addressInfo=a
console.log(this.addressInfo,111)
}
};
</script>

182
pages/menu/sendToken/transfer2/index.css

@ -0,0 +1,182 @@
.renYou2{
width: 48rpx;
height: 48rpx;
position: absolute;
right: 30rpx;
}
.main{
padding: 0 24rpx;
margin-top: 60rpx;
}
.item{
margin-top: 30rpx;
}
.inputcon{
position: relative;
height: auto;
margin-top: 20rpx;
background-color:#fff;
}
.inputcon .input{
width: 80%;
padding-left: 30rpx;
line-height: 60rpx;
border-radius: 16rpx;
}
.inputcon .img{
width: 48rpx;
height: 48rpx;
position: absolute;
top: 50%;
right: 40rpx;
transform: translateY(-50%);
}
.inputcon2{
height: auto;
margin-top: 20rpx;
}
.inputcon2 .input_con{
}
.inputcon2 .input_con .input2{
padding: 0 40rpx;
height: 190rpx;
font-size: 75rpx;
background-color: #fff;
border-radius: 16rpx;
border-bottom: 2rpx solid #F4F7FE;
}
.inputcon2 .input_con .input1{
padding: 0 40rpx;
height: 100rpx;
background-color: #fff;
border-radius: 0 0 16rpx 16rpx;
}
.flex{
display: flex;
justify-content: space-between;
}
.all{
color: #5B53FF;
}
.aaa{
background-color: #fafafa !important;
}
.minitem{
padding: 0 30rpx;
height: 100rpx;
background-color:#fff;
border-radius: 16rpx;
align-items: center;
}
.item .rimg{
width: 24rpx;
height: 24rpx;
}
page {
background-color: #FAFAFA !important;
}
.main .btn{
line-height: 96rpx;
background-color: #5B53FF;
text-align: center;
color: #fff;
border-radius: 32rpx;
margin-top: 50rpx;
}
.ac .bottom_con{
position: absolute;
bottom: 0;
z-index: 9999;
}
.bottom_con{
width: 100%;
background-color:#F7F8FA;
padding: 0 24rpx;
border-radius: 16rpx 16rpx 0 0;
padding-bottom: 40rpx;
}
.title_con{
padding: 30rpx 0;
text-align: center;
color: #7A7A81;
}
.money_con{
background-color: #fff;
padding: 0 30rpx;
padding-top: 70rpx;
border-radius: 16rpx 16rpx 0 0;
}
.money_con .money{
display: flex;
justify-content: center;
align-items: center;
}
.money_con .money .tex1{
font-size: 64rpx;
margin-right: 10rpx;
}
.money_con .img{
width: 48rpx;
height: 48rpx;
position: absolute;
left: 12rpx;
top: 24rpx;
}
.money_con .img2{
width: 28rpx;
height: 28rpx;
position: absolute;
left: 32rpx;
top: 32rpx;
}
.money_con .money .tex2{
font-size: 42rpx;
}
.money_con .money .text{
}
.info_con{
margin-top: 40rpx;
}
.info_con .item{
display: flex;
padding-bottom: 24rpx;
border-bottom: 2rpx solid #DDDDDD;
}
.info_con .item:last-child{
border-bottom: none;
}
.info_con .item .text1{
color: #9B9C9E;
margin-right: 50rpx;
}
.info_con .item .text2{
word-break: break-word;
}
.bottom_con .btn{
line-height: 96rpx;
background-color: #5B53FF;
text-align: center;
color: #fff;
border-radius: 32rpx;
margin-top: 50rpx;
}
.money_con2{
height: 400rpx;
}
.btn2{
line-height: 96rpx;
background-color: #E9ECF5;
text-align: center;
color: #fff;
border-radius: 32rpx;
margin-top: 50rpx;
}
.btncolor{
background-color: #5B53FF;
}
.btncolor2{
background-color: #E9ECF5;
}

244
pages/menu/sendToken/transfer2/index.vue

@ -0,0 +1,244 @@
<template>
<view class="ac">
<navigation :showBack="true" :bgnum="true" class="aaa">
<text class="big_title">
{{info.coinList[0].name}} Transfer
</text>
<image src="../../../../static/tongyonh/erwei.png" mode="aspectFit" class="renYou2" slot="logo"
@click="chooseImage()"></image>
</navigation>
<view class="main">
<view class="item">
<view class="title">
Collection address
</view>
<view class="inputcon">
<input type="text" value="" :placeholder="addValue" placeholder-style="color:#D0D0D2" class="input" v-model="toAddress"/>
<image src="../../../../static/tongyonh/lu.png" mode="aspectFit" class="img" @click="goAddress"></image>
</view>
</view>
<view class="item">
<view class="title flex">
<text>Amount of Money</text>
<text class="all" @click="toAll">ALL</text>
</view>
<view class="inputcon2">
<view class="input_con">
<input type="text" value="" placeholder="0" placeholder-style="color:#D0D0D2" class="input2" v-model="toValue"/>
<!-- <input type="text" value="" placeholder="Remark" placeholder-style="color:#D0D0D2" class="input1"/> -->
</view>
</view>
</view>
<!-- <view class="item minitem flex">
<text>Miner's fee</text>
<view class="imgcon">
<image src="../../../../static/tongyonh/chevron_right_24px.png" mode="aspectFit" class="rimg"></image>
</view>
</view> -->
<view class="btn" @click="next">
Next step
</view>
</view>
<view class="bottom_con" v-if="show">
<view class="title_con">
Payment details
</view>
<view class="money_con">
<image src="../../../../static/tongyonh/xg.png" mode="aspectFit" class="img" @click="show=false"></image>
<view class="money">
<text class="tex1">{{toValue}}</text>
<text class="tex2">{{info.coinList[0].name}}</text>
</view>
<view class="info_con">
<view class="item">
<text class="text1">Payment information</text>
<text class="text2">{{info.coinList[0].name}} transfer</text>
</view>
<view class="item">
<text class="text1">Collection address</text>
<text class="text2">{{toAddress}}</text>
</view>
<view class="item">
<text class="text1">Payment address</text>
<text class="text2">{{info.address}}</text>
</view>
</view>
</view>
<view class="btn" @click="toNext">
Next step
</view>
</view>
<view class="bottom_con" v-if="show2">
<view class="title_con">
Password
</view>
<view class="money_con money_con2">
<image src="../../../../static/tongyonh/Vector.png" mode="aspectFit" class="img2" @click="back"></image>
<u-input placeholder="Wallet password" v-model="value" :type="type" :border="border" :password-icon="passwordIcon" @input="btnco()" />
</view>
<view class="btn2" :class="btntype?'btncolor':'btncolor2'" @click="confirm()">
Next step
</view>
</view>
<u-mask :show="show" z-index="10"></u-mask>
<u-mask :show="show2" z-index="10"></u-mask>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
export default {
data() {
return {
btntype:false,
addValue:'',
info:{},
toAddress:'',
toValue:null,
show:false,
show2:false,
value: '',
type: 'password',
passwordIcon: true,
border: true,
}
},
methods: {
toNext(){
this.show=false;
this.show2=true;
},
back(){
this.show2=false;
this.show=true
},
btnco(){
if(this.value.length==0){
this.btntype=false;
return;
}
this.btntype=true;
},
toAll(){
this.toValue=this.info.balance
},
succ(a,b){
console.log(a,4545)
console.log(b,45646)
},
next(){
if(this.toAddress==''){
uni.showToast({
title: 'Transfer receiving address cannot be blank',
icon: 'none',
duration: 1500
})
return
}
if(this.toValue==null){
uni.showToast({
title: 'Please enter the transfer amount',
icon: 'none',
duration: 1500
})
return
}
if(this.toValue<=0){
uni.showToast({
title: 'The transfer amount cannot be less than or equal to zero',
icon: 'none',
duration: 1500
})
return
}
this.show=true;
},
confirm(){
if(this.value!=this.info.password){
uni.showToast({
title: 'Password error',
icon: 'none',
duration: 1500
})
return
}
if(this.info.coinList[0].xname=='Ethereum'){
this.$EthUtil.transaction(this.info.address,this.toAddress,this.toValue,this.info.privateKey).then((res) => {
console.log(res,'钱包')
this.show2=false;
uni.reLaunch({
url:'../transfer2/index'
})
}).catch(err => {
console.log(err)
})
}
if(this.info.coinList[0].xname=='TRON'){
this.$TronUtil.sendTransaction(this.info.address,this.info.privateKey,this.toAddress,this.toValue,).then((res) => {
uni.showToast({
title: 'Successfully',
icon: 'success',
duration: 1500
})
this.show2=false;
uni.reLaunch({
url:'../transfer2/index'
})
}).catch(err => {
uni.showToast({
title: err,
icon: 'none',
duration: 1500
})
})
}
},
goAddress(){
uni.navigateTo({
url:'../address/index'
})
},
//
chooseImage() {
var _this = this
uni.chooseImage({
count: 1, //9
sizeType: ['original', 'compressed'], //
sourceType: ['album', 'camera'], //
success: function(res) {
_this.imgShow = res.tempFilePaths[0]
}
});
// ass()
},
},
onLoad(option) {
const item = JSON.parse(option.item);
this.info=item;
this.addValue=this.info.coinList[0].xname+' Address'
}
};
</script>
<style scoped>
</style>
<style>
@import './index.css';
</style>

3
pages/menu/token/btc/index.css

@ -179,4 +179,7 @@
.select_con .item1 .rig_con .text1 text{
margin-left: 10rpx;
}
/deep/ .u-empty {
padding: 30px !important;
}

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

@ -12,197 +12,323 @@
</text>
</navigation>
<view class="main">
<view class="money_con" :class="{'money_con': userObject.coinList[0].xname=='Ethereum', 'money_con2': userObject.coinList[0].xname=='Bitcoin', 'money_con3': userObject.coinList[0].xname=='TRON'}">
<view class="textcon1">
<text class="text1">
<view class="" v-if="userObject.coinList[0].xname=='Bitcoin'">
0.00 BTC
</view>
<view class="" v-if="userObject.coinList[0].xname=='Ethereum'">
0.00 ETH
</view>
<view class="" v-if="userObject.coinList[0].xname=='TRON'">
0.00 TRX
</view>
<text class="text2"> $0.0</text>
<view class="money_con"
:class="{'money_con': userObject.coinList[0].xname=='Ethereum', 'money_con2': userObject.coinList[0].xname=='Bitcoin', 'money_con3': userObject.coinList[0].xname=='TRON'}">
<view class="textcon1">
<text class="text1">
<view class="" v-if="userObject.coinList[0].xname=='Bitcoin'">
0.00 BTC
</view>
<view class="" v-if="userObject.coinList[0].xname=='Ethereum'">
0.00 ETH
</view>
<view class="" v-if="userObject.coinList[0].xname=='TRON'">
0.00 TRX
</view>
<text class="text2"> $0.0</text>
</text>
<image src="../../../../static/tongyonh/ethereum.png" mode="aspectFit" class="img1" v-if="userObject.coinList[0].xname=='Ethereum'"></image>
<image src="../../../../static/tongyonh/Frame28.png" mode="aspectFit" class="img1" v-if="userObject.coinList[0].xname=='Bitcoin'"></image>
<image src="../../../../static/tongyonh/tronicon.png" mode="aspectFit" class="img1" v-if="userObject.coinList[0].xname=='TRON'"></image>
</view>
<view class="textcon1">
<view class="v1">
<view class="t1">
0.0
</view>
<view class="t2">
Existing balance
</view>
<image src="../../../../static/tongyonh/ethereum.png" mode="aspectFit" class="img1"
v-if="userObject.coinList[0].xname=='Ethereum'"></image>
<image src="../../../../static/tongyonh/Frame28.png" mode="aspectFit" class="img1"
v-if="userObject.coinList[0].xname=='Bitcoin'"></image>
<image src="../../../../static/tongyonh/tronicon.png" mode="aspectFit" class="img1"
v-if="userObject.coinList[0].xname=='TRON'"></image>
</view>
<view class="v1 v2">
<view class="t1">
0.0
<view class="textcon1">
<view class="v1">
<view class="t1">
0.0
</view>
<view class="t2">
Existing balance
</view>
</view>
<view class="t2">
Freeze balance
<view class="v1 v2">
<view class="t1">
0.0
</view>
<view class="t2">
Freeze balance
</view>
</view>
</view>
</view>
</view>
<view class="select_con">
<view class="select">
<u-tabs height="120" bar-width="172" active-color="#6F69FF" inactive-color="#A3AED0" :list="list" :is-scroll="false" :current="current" @change="change"></u-tabs>
<view class="item1">
<view class="lef_con">
<image src="../../../../static/tongyonh/arrow-up-left.png" mode="aspectFit" class="img1"></image>
<view class="textcon">
<view class="text1">
TDJK ... gaad
</view>
<view class="text2">
00.01/ 00:00
</view>
<view class="select_con">
<view class="select">
<u-tabs height="120" bar-width="172" active-color="#6F69FF" inactive-color="#A3AED0" :list="list"
:is-scroll="false" :current="current" @change="change"></u-tabs>
<u-empty text="No content" mode="list" v-if="showInfo"></u-empty>
<view class="" v-if="!showInfo">
<view class="item1" v-for="(item,index) in trxs" v-if="current==1&&address==item.from"
@click="goDetail(item,index)">
<view class="lef_con">
<image src="../../../../static/tongyonh/arrow-up-left_1.png" mode="aspectFit"
class="img1" v-if="address==item.from"></image>
<view class="textcon">
<view class="text1" v-if="address==item.from">
{{item.to}}
</view>
<view class="text2" v-if="address==item.from">
{{item.time}}
</view>
</view>
</view>
<view class="rig_con">
<view class="text1">
<text v-if="address==item.from">-</text>
{{item.value}}
<text class="">
{{item.network}}
</text>
</view>
<image src="../../../../static/tongyonh/Shape.png" mode="aspectFit" class="img1">
</image>
</view>
</view>
<view class="item1" v-for="(item,index) in trxs" v-if="current==0"
@click="goDetail(item,index)">
<view class="lef_con">
<image src="../../../../static/tongyonh/arrow-up-left.png" mode="aspectFit" class="img1"
v-if="address==item.to"></image>
<image src="../../../../static/tongyonh/arrow-up-left_1.png" mode="aspectFit"
class="img1" v-if="address==item.from"></image>
<view class="textcon">
<view class="text1" v-if="address==item.from">
{{item.to}}
</view>
<view class="text1" v-if="address==item.to">
{{item.from}}
</view>
<view class="text2">
{{item.time}}
</view>
</view>
</view>
<view class="rig_con">
<view class="text1">
<text v-if="address==item.to">+</text>
<text v-if="address==item.from">-</text>
{{item.value}}
<text class="">
{{item.network}}
</text>
</view>
<image src="../../../../static/tongyonh/Shape.png" mode="aspectFit" class="img1">
</image>
</view>
</view>
<view class="item1" v-for="(item,index) in trxs" v-if="current==2&&address==item.to"
@click="goDetail(item,index)">
<view class="lef_con">
<image src="../../../../static/tongyonh/arrow-up-left.png" mode="aspectFit" class="img1"
v-if="address==item.to"></image>
<view class="textcon">
<view class="text1" v-if="address==item.to">
{{item.from}}
</view>
<view class="text2" v-if="address==item.to">
{{item.time}}
</view>
</view>
</view>
<view class="rig_con">
<view class="text1">
<text v-if="address==item.to">+</text>
{{item.value}}
<text class="">
{{item.network}}
</text>
</view>
<image src="../../../../static/tongyonh/Shape.png" mode="aspectFit" class="img1">
</image>
</view>
</view>
</view>
</view>
</view>
<view class="rig_con">
<view class="text1">
+0.0
<text class="" v-if="userObject.coinList[0].xname=='Bitcoin'">
BTC
</text>
<text class="" v-if="userObject.coinList[0].xname=='Ethereum'">
ETH
</text >
<text class="" v-if="userObject.coinList[0].xname=='TRON'">
TRX
</text >
<view class="btnconn">
<view class="btn active" @click="goSend">
<image src="../../../../static/tongyonh/arrow-up-leftw.png" mode="aspectFit" class="arrow-up-left">
</image>
Send
</view>
<view class="btn" @click="goReceive">
<image src="../../../../static/tongyonh/arrow-up-leftp.png" mode="aspectFit" class="arrow-up-left">
</image>
<text class="btn13">Receive</text>
</view>
<image src="../../../../static/tongyonh/Shape.png" mode="aspectFit" class="img1"></image>
</view>
</view>
<view class="item1">
<view class="lef_con">
<image src="../../../../static/tongyonh/arrow-up-left.png" mode="aspectFit" class="img1"></image>
<view class="textcon">
<view class="text1">
TDJK ... gaad
</view>
<view class="text2">
00.01/ 00:00
</view>
</view>
</view>
<view class="rig_con">
<view class="text1">
+0.0
<text class="" v-if="userObject.coinList[0].xname=='Bitcoin'">
BTC
</text>
<text class="" v-if="userObject.coinList[0].xname=='Ethereum'">
ETH
</text >
<text class="" v-if="userObject.coinList[0].xname=='TRON'">
TRX
</text >
</view>
<image src="../../../../static/tongyonh/Shape.png" mode="aspectFit" class="img1"></image>
</view>
</view>
<view class="item1">
<view class="lef_con">
<image src="../../../../static/tongyonh/arrow-up-left.png" mode="aspectFit" class="img1"></image>
<view class="textcon">
<view class="text1">
TDJK ... gaad
</view>
<view class="text2">
00.01/ 00:00
</view>
</view>
</view>
<view class="rig_con">
<view class="text1">
+0.0
<text class="" v-if="userObject.coinList[0].xname=='Bitcoin'">
BTC
</text>
<text class="" v-if="userObject.coinList[0].xname=='Ethereum'">
ETH
</text >
<text class="" v-if="userObject.coinList[0].xname=='TRON'">
TRX
</text >
</view>
<image src="../../../../static/tongyonh/Shape.png" mode="aspectFit" class="img1"></image>
</view>
</view>
</view>
</view>
<view class="btnconn">
<view class="btn active">
<image src="../../../../static/tongyonh/arrow-up-leftw.png" mode="aspectFit" class="arrow-up-left"></image>
Send
</view>
<view class="btn">
<image src="../../../../static/tongyonh/arrow-up-leftp.png" mode="aspectFit" class="arrow-up-left"></image>
<text class="btn13">Receive</text>
</view>
</view>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
import api from '@/utils/api'
import index from '@/utils/index.js'
export default {
data() {
return {
userObject:{},
list: [{
name: 'All'
}, {
name: 'Send'
}, {
name: 'Receive',
}],
current: 0
}
// address
coinInfo: {},
trxs: [],
trxs2: [],
address: '',
userObject: {},
showInfo: false,
list: [{
name: 'All'
}, {
name: 'Send'
}, {
name: 'Receive',
}],
infoWallet:{},
current: 0,
pageSize:10,
pageNum:1,
param : {
'address':'',
'pageNum':1,
'pageSize':10,
},
}
},
methods: {
change(index) {
this.current = index;
},
goSend(){
let itemm = JSON.stringify(this.infoWallet)
uni.navigateTo({
url: '/pages/menu/sendToken/transfer2/index?item=' + itemm
})
},
goReceive() {
let itemm = JSON.stringify(this.infoWallet)
uni.navigateTo({
url: '/pages/menu/sendToken/index?item=' + itemm
})
},
goDetail(item, index) {
let itemm = JSON.stringify(this.trxs2[index])
uni.navigateTo({
url: '/pages/menu/transction/detail/index?item=' + itemm
})
},
change(index) {
console.log(index)
this.current = index;
console.log(this.current)
},
getWalletInfo(){
if (this.infoWallet.coinList[0].xname == 'Ethereum') {
this.address = this.infoWallet.address
this.address2 = this.infoWallet.address
this.param.address=this.address
this.userObject = this.infoWallet
const post = api.address(
this.param
)
post.then(res => {
console.log(res, 77)
if (res.data.code == 404) {
this.showInfo = true;
return;
}
if (res.data.data.network == 'ETH') {
this.trxs = res.data.data.txs
for (var i = 0; i < this.trxs.length; i++) {
this.trxs[i].from = this.trxs[i].from.substring(0, 6) + '...' + this.trxs[i].from
.substring(35, this.trxs[i].from.length);
this.trxs[i].to = this.trxs[i].to.substring(0, 6) + '...' + this.trxs[i].to.substring(
35, this.trxs[i].to.length);
this.trxs[i].time = index.formatyymmddhhmmss(this.trxs[i].time);
this.trxs[i].value = parseFloat(this.trxs[i].value).toFixed(5)
}
}
})
this.address = this.address.substring(0, 6) + '...' + this.address.substring(35, this.address.length);
this.getInfo()
} else if (this.infoWallet.coinList[0].xname == 'TRON') {
this.address = this.infoWallet.address
this.param.address=this.address
this.address2 = this.infoWallet.address
this.userObject =this.infoWallet
const post = api.addresstrx(
this.param
)
post.then(res => {
if (res.data.code == 404) {
this.showInfo = true;
return;
}
if (res.data.data.network == 'TRX') {
this.trxs = res.data.data.txs
for (var i = 0; i < this.trxs.length; i++) {
this.trxs[i].from = this.trxs[i].from.substring(0, 6) + '...' + this.trxs[i].from
.substring(35, this.trxs[i].from.length);
this.trxs[i].to = this.trxs[i].to.substring(0, 6) + '...' + this.trxs[i].to.substring(
35, this.trxs[i].to.length);
this.trxs[i].time = index.formatyymmddhhmmss(this.trxs[i].time);
this.trxs[i].value = parseFloat(this.trxs[i].value).toFixed(5)
}
}
})
this.address = this.address.substring(0, 6) + '...' + this.address.substring(35, this.address.length);
}
},
getInfo() {
this.param.address=this.address2
const post = api.address(
this.param
)
post.then(res => {
this.trxs2 = res.data.data.txs
})
}
},
onLoad(option) {
const item = JSON.parse(option.item);
console.log(item,777)
this.userObject=item
this.infoWallet = item
this.getWalletInfo()
},
onReachBottom() {
this.param.pageSize+=5;
this.getWalletInfo()
}
};
</script>
<style scoped>
page{
page {
background: #FAFAFA;
}
</style>
<style>
@import './index.css';
</style>

185
pages/menu/token/btctrue/index.css

@ -0,0 +1,185 @@
.renYou{
width: 48rpx;
height: 48rpx;
position: absolute;
right: 30rpx;
}
.big_title{
font-size: 48rpx;
}
.main .money_con{
display: block;
width:95%;
margin: 0 auto;
margin-top: 50rpx;
margin-bottom: 50rpx;
height: 320rpx;
background-image: linear-gradient(to right, #FF820C , #FFB606);
padding: 40rpx 50rpx;
border-radius: 24rpx;
}
.textcon1{
display: flex;
align-items: center;
justify-content: space-between;
line-height: 56rpx;
}
.textcon1 .text1{
color: #fff;
font-size: 56rpx ;
}
.textcon1 .text1 .text2{
color: #fff;
font-size: 32rpx ;
}
.textcon1 .img1{
width: 100rpx;
height: 110rpx;
}
.textcon1 .v1{
}
.textcon1 .v1 .t1{
color: #fff;
font-size: 32rpx;
}
.textcon1 .v1 .t2{
color: #fff;
font-size: 24rpx;
}
.textcon1 .v2{
margin-right: 100rpx;
}
.select_con{
width: 100%;
padding-bottom: 260rpx;
}
.select_con .select{
margin: 0 12px;
border-radius: 30rpx;
background-color: #fff;
box-shadow: 0 0 30px #EBEEF1;
}
/deep/ .u-tabs{
border-bottom: 2rpx solid #F6F8FD;
border-radius: 30rpx 30rpx 0 0;
}
.select_con .item1{
display: flex;
justify-content: space-between;
padding-top: 60rpx;
padding-bottom: 50rpx;
border-bottom: 2rpx solid #F6F8FD;
padding-left: 40rpx;
padding-right: 24rpx;
}
.select_con .item1 .lef_con{
display: flex;
align-items: center;
}
.select_con .item1 .lef_con .img1{
width: 48rpx;
height: 48rpx;
}
.select_con .item1 .lef_con .textcon{
margin-left: 24rpx;
}
.select_con .item1 .lef_con .textcon .text1{
font-size: 32rpx;
}
.select_con .item1 .lef_con .textcon .text2{
font-size: 24rpx;
color: #999;
}
.select_con .item1 .rig_con .text1{
font-size: 32rpx;
}
.select_con .item1 .rig_con .img1{
width: 28rpx;
height: 20rpx;
float: right;
margin-top: 20rpx;
}
.select_con .item1 .rig_con .img2{
width: 28rpx;
height: 40rpx;
float: right;
margin-top: 20rpx;
}
.btnconn{
position: fixed;
bottom: 0;
background-color: #fff;
padding: 24rpx 24rpx;
width: 100%;
display: flex;
justify-content: space-between;
}
.btnconn .btn{
width: 334rpx;
line-height: 96rpx;
border-radius: 30rpx;
border: 2rpx solid #5B53FF;
text-align: center;
display: flex;
align-items: center;
color:#5B53FF;
justify-content: center;
font-size: 34rpx;
position: relative;
}
.active{
color: #fff !important;
background-color: #5B53FF;
}
.btnconn .btn .img1{
width: 48rpx;
height: 48rpx;
}
.arrow-up-left{
width: 48rpx;
height: 48rpx;
position: absolute;
top: 50%;
transform: translateY(-50%);
left: 68rpx;
}
.btn13{
margin-left: 40rpx;
}
.main .money_con{
margin-top: 32rpx;
background-image: linear-gradient(to right, #6441CF , #877BFE);
height: 320rpx;
padding: 40rpx 36rpx;
position: relative;
border-radius: 24rpx;
}
.main .money_con2{
margin-top: 32rpx;
background-image: linear-gradient(to right, #FF820C , #FFB606);
height: 320rpx;
padding: 40rpx 36rpx;
position: relative;
border-radius: 24rpx;
}
.main .money_con3{
margin-top: 32rpx;
background-image: linear-gradient(to right, #B6162A , #F96D7D);
height: 320rpx;
padding: 40rpx 36rpx;
position: relative;
border-radius: 24rpx;
}
.select_con .item1 .rig_con .text1 text{
margin-left: 10rpx;
}
/deep/ .u-empty {
padding: 30px !important;
}

337
pages/menu/token/btctrue/index.vue

@ -0,0 +1,337 @@
<template>
<view class="">
<navigation :showBack="true" :bgnum="true">
<text class="big_title" v-if="userObject.coinList[0].xname=='Bitcoin'">
BTC
</text>
<text class="big_title" v-if="userObject.coinList[0].xname=='Ethereum'">
ETH
</text>
<text class="big_title" v-if="userObject.coinList[0].xname=='TRON'">
TRX
</text>
</navigation>
<view class="main">
<view class="money_con"
:class="{'money_con': userObject.coinList[0].xname=='Ethereum', 'money_con2': userObject.coinList[0].xname=='Bitcoin', 'money_con3': userObject.coinList[0].xname=='TRON'}">
<view class="textcon1">
<text class="text1">
<view class="" v-if="userObject.coinList[0].xname=='Bitcoin'">
{{this.infoWallet.balance}} BTC
</view>
<view class="" v-if="userObject.coinList[0].xname=='Ethereum'">
0.00 ETH
</view>
<view class="" v-if="userObject.coinList[0].xname=='TRON'">
0.00 TRX
</view>
<text class="text2"> $0.0</text>
</text>
<image src="../../../../static/tongyonh/ethereum.png" mode="aspectFit" class="img1"
v-if="userObject.coinList[0].xname=='Ethereum'"></image>
<image src="../../../../static/tongyonh/Frame28.png" mode="aspectFit" class="img1"
v-if="userObject.coinList[0].xname=='Bitcoin'"></image>
<image src="../../../../static/tongyonh/tronicon.png" mode="aspectFit" class="img1"
v-if="userObject.coinList[0].xname=='TRON'"></image>
</view>
<view class="textcon1">
<view class="v1">
<view class="t1">
0.0
</view>
<view class="t2">
Existing balance
</view>
</view>
<view class="v1 v2">
<view class="t1">
0.0
</view>
<view class="t2">
Freeze balance
</view>
</view>
</view>
</view>
<view class="select_con">
<view class="select">
<u-tabs height="120" bar-width="172" active-color="#6F69FF" inactive-color="#A3AED0" :list="list"
:is-scroll="false" :current="current" @change="change"></u-tabs>
<u-empty text="No content" mode="list" v-if="showInfo"></u-empty>
<view class="" v-if="!showInfo">
<view class="item1" v-for="(item,index) in trxs" v-if="current==1&&item.outputs.address!=address"
@click="goDetail(item,index)">
<view class="lef_con">
<image src="../../../../static/tongyonh/arrow-up-left_1.png" mode="aspectFit"
v-if="item.outputs.address!=address" class="img1"></image>
<view class="textcon">
<view class="text1" v-if="item.outputs.address!=address">
{{item.outputs[0].address}}
</view>
<view class="text2">
{{item.time}}
</view>
</view>
</view>
<view class="rig_con">
<view class="text1">
<text class="text1" v-if="item.outputs.address!=address">
<text>-</text>
{{item.outputs[0].value}}
</text>
<text class="">
{{item.network}}
</text>
</view>
<image src="../../../../static/tongyonh/Shape.png" mode="aspectFit" class="img1">
</image>
</view>
</view>
<view class="item1" v-for="(item,index) in trxs" v-if="current==0"
@click="goDetail(item,index)">
<view class="lef_con">
<image src="../../../../static/tongyonh/arrow-up-left.png" mode="aspectFit" class="img1"
v-if="item.outputs.address==address"></image>
<image src="../../../../static/tongyonh/arrow-up-left_1.png" mode="aspectFit"
v-if="item.outputs.address!=address" class="img1"></image>
<view class="textcon">
<view class="text1" v-if="item.outputs.address==address">
{{item.inputs[0].address}}
</view>
<view class="text1" v-if="item.outputs.address!=address">
{{item.outputs[0].address}}
</view>
<view class="text2">
{{item.time}}
</view>
</view>
</view>
<view class="rig_con">
<view class="text1">
<text class="text1" v-if="item.outputs.address==address">
<text>+</text>
{{item.inputs[0].value}}
</text>
<text class="text1" v-if="item.outputs.address!=address">
<text>-</text>
{{item.outputs[0].value}}
</text>
<text class="">
{{item.network}}
</text>
</view>
<image src="../../../../static/tongyonh/Shape.png" mode="aspectFit" class="img1">
</image>
</view>
</view>
<view class="item1" v-for="(item,index) in trxs" v-if="current==2&&item.outputs.address==address"
@click="goDetail(item,index)">
<view class="lef_con">
<image src="../../../../static/tongyonh/arrow-up-left.png" mode="aspectFit" class="img1"
v-if="item.outputs.address==address"></image>
<view class="textcon">
<view class="text1" v-if="item.outputs.address==address">
{{item.inputs[0].address}}
</view>
<view class="text2">
{{item.time}}
</view>
</view>
</view>
<view class="rig_con">
<view class="text1">
<text class="text1" v-if="item.outputs.address==address">
<text>+</text>
{{item.inputs[0].value}}
</text>
<text class="">
{{item.network}}
</text>
</view>
<image src="../../../../static/tongyonh/Shape.png" mode="aspectFit" class="img1">
</image>
</view>
</view>
</view>
</view>
</view>
<view class="btnconn">
<view class="btn active" @click="goSend">
<image src="../../../../static/tongyonh/arrow-up-leftw.png" mode="aspectFit" class="arrow-up-left">
</image>
Send
</view>
<view class="btn" @click="goReceive">
<image src="../../../../static/tongyonh/arrow-up-leftp.png" mode="aspectFit" class="arrow-up-left">
</image>
<text class="btn13">Receive</text>
</view>
</view>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
import api from '@/utils/api'
import index from '@/utils/index.js'
export default {
data() {
return {
// address
coinInfo: {},
trxs: [],
trxs2: [],
address: '',
userObject: {},
showInfo: false,
list: [{
name: 'All'
}, {
name: 'Send'
}, {
name: 'Receive',
}],
infoWallet: {},
current: 0,
pageSize: 10,
pageNum: 1,
param: {
'address': '',
'pageNum': 1,
'pageSize': 10,
}
}
},
methods: {
goSend() {
uni.navigateTo({
url: '/pages/menu/sendToken/transfer2/index'
})
},
goReceive() {
let itemm = JSON.stringify(this.infoWallet)
uni.navigateTo({
url: '/pages/menu/sendToken/index?item=' + itemm
})
},
goDetail(item, index) {
let itemm = JSON.stringify(this.trxs2[index])
uni.navigateTo({
url: '/pages/menu/transction/detail2/index?item=' + itemm
})
},
change(index) {
console.log(index)
this.current = index;
console.log(this.current)
},
getInfo() {
this.param.address = this.address2
const post = api.addressbtc(
this.param
)
post.then(res => {
this.trxs2 = res.data.data[0].txs
})
},
// btc
getWalletInfo() {
if (this.infoWallet.coinList[0].xname == 'Bitcoin') {
// this.address = item.address
// this.address2 = item.address
this.address2 = '14sA8jqYQgMRQV9zUtGFvpeMEw7YDn77SK';
this.address = '14sA8jqYQgMRQV9zUtGFvpeMEw7YDn77SK';
this.param.address = this.address
this.userObject = this.infoWallet
const post = api.addressbtc(
this.param
)
post.then(res => {
if (res.data.code == 404) {
this.showInfo = true;
return;
}
if (res.data.data[0].network == 'BTC') {
this.trxs = res.data.data[0].txs
console.log(this.trxs, 7777)
for (var i = 0; i < this.trxs.length; i++) {
for (var j = 0; j < this.trxs[i].inputs.length; j++) {
this.trxs[i].inputs[j].address = this.trxs[i].inputs[j].address.substring(0,
6) + '...' + this.trxs[i].inputs[j].address.substring(30, this.trxs[i]
.inputs[j].address.length);
this.trxs[i].inputs[j].value = parseFloat(this.trxs[i].inputs[j].value)
.toFixed(5)
}
this.trxs[i].time = index.formatyymmddhhmmss(this.trxs[i].time);
}
for (var i = 0; i < this.trxs.length; i++) {
for (var j = 0; j < this.trxs[i].outputs.length; j++) {
if (this.trxs[i].outputs[j].address != undefined) {
this.trxs[i].outputs[j].address = this.trxs[i].outputs[j].address
.substring(0, 6) + '...' + this.trxs[i].outputs[j].address.substring(
30, this.trxs[i].outputs[j].address.length);
this.trxs[i].outputs[j].value = parseFloat(this.trxs[i].outputs[j].value)
.toFixed(5)
}
}
}
}
})
this.address = this.address.substring(0, 6) + '...' + this.address.substring(30, this.address.length);
this.getInfo()
}
}
},
onLoad(option) {
const item = JSON.parse(option.item);
this.infoWallet = item
this.getWalletInfo();
},
onReachBottom() {
this.param.pageSize += 5;
this.getWalletInfo()
}
};
</script>
<style scoped>
page {
background: #FAFAFA;
}
</style>
<style>
@import './index.css';
</style>

1
pages/menu/transction/detail/index.css

@ -42,6 +42,7 @@
.main_con .item .text2{
font-size: 32rpx;
margin-top: 8rpx;
word-wrap: break-word;
}
.main_con .item .text2 .img{
width: 48rpx;

21
pages/menu/transction/detail/index.vue

@ -18,7 +18,7 @@
Amount
</view>
<view class="text1">
0.1123123 BTC
{{info.value}} {{info.network}}
</view>
</view>
<view class="item">
@ -26,7 +26,7 @@
Time
</view>
<view class="text2">
2021.09.01 10:23:22
{{info.time}}
</view>
</view>
<view class="item">
@ -34,7 +34,7 @@
Tx Fee
</view>
<view class="text2">
0.001 ETH
{{info.fee}} {{info.network}}
</view>
</view>
<view class="item">
@ -42,7 +42,7 @@
Transaction ID
</view>
<view class="text2">
23583727538293753857923878
{{info.txid}}
<image src="../../../../static/tongyonh/copy_24px.png" mode="aspectFit" class="img" @click="show = true"></image>
</view>
</view>
@ -51,7 +51,7 @@
Send address (me)
</view>
<view class="text2">
TASD djhe u3y3 khkd khhg kie3 jhhs uehw sdahd
{{info.from}}
<image src="../../../../static/tongyonh/copy_24px.png" mode="aspectFit" class="img"></image>
</view>
</view>
@ -60,7 +60,7 @@
Receiving address (others)
</view>
<view class="text2">
TASD djhe u3y3 khkd khhg kie3 jhhs uehw ssdhd
{{info.to}}
<image src="../../../../static/tongyonh/copy_24px.png" mode="aspectFit" class="img"></image>
</view>
</view>
@ -96,14 +96,21 @@
<script>
import cont from "@/components/navigation/navigation.vue"
import index from '@/utils/index.js'
export default {
data() {
return {
show: true
show: false,
info:{},
}
},
methods: {
},
onLoad(option) {
const item = JSON.parse(option.item);
this.info=item
this.info.time = index.formatyymmddhhmmss33(this.info.time);
}
};
</script>

109
pages/menu/transction/detail2/index.css

@ -0,0 +1,109 @@
.main{
padding: 0 26rpx;
padding-bottom: 100rpx;
}
.main_con{
background-color: #fff;
border-radius: 26rpx;
padding-left: 26rpx;
padding-right: 40rpx;
margin-top: 98rpx;
box-shadow: 0 10rpx 30rpx 10rpx #EAEDF0;
position: relative;
}
.main_con .title{
text-align: center;
color: #6AD6A8;
font-size: 36rpx;
padding-top: 100rpx;
}
.flex{
display: flex;
justify-content: space-between;
align-items: center;
}
.main_con .title_con{
padding-top: 60rpx;
padding-bottom: 34rpx;
border-bottom: 2rpx solid #F6F8FD;
}
.main_con .title_con .text1{
font-size: 40rpx;
font-size: 500;
}
.main_con .item{
padding: 34rpx 0;
border-bottom: 2rpx solid #F6F8FD;
}
.main_con .item .text1{
font-size: 28rpx;
color: #7D87A6;
}
.main_con .item .text2{
font-size: 32rpx;
margin-top: 8rpx;
word-wrap: break-word;
}
.main_con .item .text2 .img{
width: 48rpx;
height: 48rpx;
margin-left: 12rpx;
vertical-align: middle;
}
.goto{
display: flex;
align-items: center;
justify-content: center;
font-size: 28rpx;
color: #2F80ED;
padding: 60rpx 0 !important;
}
.yuan{
width: 114rpx;
height: 114rpx;
border-radius: 50%;
background-color: #fff;
position: absolute;
top:-50rpx;
left: 50%;
transform: translateX(-50%);
}
.yuan .img1{
width: 82rpx;
height: 82rpx;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}
.sett{
width: 95%;
position: absolute;
bottom: -270rpx;
left: 50%;
transform: translateX(-50%);
z-index: 999;
}
.sett .top{
background-color: #fff;
border-radius: 26rpx;
}
.sett .top .item{
line-height: 120rpx;
text-align: center;
font-size: 34rpx;
color: #47548C;
border-bottom: 2rpx solid #A3AED0;
}
.sett .top .item:last-child{
border-bottom: none;
}
.sett .cancel{
line-height: 120rpx;
text-align: center;
border-radius: 26rpx;
background-color: #fff;
font-size: 34rpx;
color: #5B53FF;
margin-top: 30rpx;
}

128
pages/menu/transction/detail2/index.vue

@ -0,0 +1,128 @@
<template>
<view class="">
<navigation :showBack="true" :bgnum="true">
<text class="big_title">
Transaction details
</text>
</navigation>
<view class="main">
<view class="main_con">
<view class="yuan">
<image src="../../../../static/tongyonh/check-circle.png" mode="aspectFit" class="img1"></image>
</view>
<view class="title">
Confirmed
</view>
<view class="title_con flex">
<view class="text1">
Amount
</view>
<view class="text1">
{{info.value}} {{info.network}}
</view>
</view>
<view class="item">
<view class="text1">
Time
</view>
<view class="text2">
{{info.time}}
</view>
</view>
<view class="item">
<view class="text1">
Tx Fee
</view>
<view class="text2">
{{info.fee}} {{info.network}}
</view>
</view>
<view class="item">
<view class="text1">
Transaction ID
</view>
<view class="text2">
{{info.txid}}
<image src="../../../../static/tongyonh/copy_24px.png" mode="aspectFit" class="img" @click="show = true"></image>
</view>
</view>
<view class="item">
<view class="text1">
Send address (me)
</view>
<view class="text2">
{{info.outputs[0].address}}
<image src="../../../../static/tongyonh/copy_24px.png" mode="aspectFit" class="img"></image>
</view>
</view>
<view class="item">
<view class="text1">
Receiving address (others)
</view>
<view class="text2">
{{info.inputs[0].address}}
<image src="../../../../static/tongyonh/copy_24px.png" mode="aspectFit" class="img"></image>
</view>
</view>
<view class="item goto">
Go to your browser for more information
</view>
</view>
<view class="sett" v-if="show">
<view class="top">
<view class="item">
Copy address
</view>
<view class="item">
Add to Address Book
</view>
</view>
<view class="cancel" @click="show = false">
Cancel
</view>
</view>
<u-mask :show="show" z-index="10"></u-mask>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
import index from '@/utils/index.js'
export default {
data() {
return {
show: false,
info:{},
}
},
methods: {
},
onLoad(option) {
const item = JSON.parse(option.item);
console.log(item,78788)
this.info=item
this.info.time = index.formatyymmddhhmmss33(this.info.time);
}
};
</script>
<style scoped>
page {
background: #FAFAFA;
}
</style>
<style>
@import './index.css';
</style>

26
pages/menu/wallet/cwallet/index.vue

@ -36,7 +36,7 @@
<image src="../../../../static/tongyonh/Shape.png" mode="aspectFit" class="img"></image>
</view>
<view class="rig">
0.00
{{item.balance}}
</view>
</view>
@ -56,7 +56,7 @@
<image src="../../../../static/tongyonh/Shape.png" mode="aspectFit" class="img"></image>
</view>
<view class="rig">
0.00
{{item.balance}}
</view>
</view>
@ -76,7 +76,7 @@
</view>
<view class="gou" v-if="num==item.privateKey"> <image src="../../../../static/tongyonh/Shape.png" mode="aspectFit" class="img"></image> </view>
<view class="rig">
0.00
{{item.balance}}
</view>
</view>
@ -115,7 +115,7 @@
this.num=index.privateKey
uni.setStorageSync('walleti',this.num)
console.log(index)
if(index.coinList[0].name=='BTC'){
if(index.coinList[0].xname=='Bitcoin'){
console.log(this.walletInfoBTC2[i])
uni.setStorageSync('wallet',this.walletInfoBTC2[i])
setTimeout(()=>{
@ -124,7 +124,7 @@
})
},5)
}
if(index.coinList[0].name=='ETH'){
if(index.coinList[0].xname=='Ethereum'){
console.log(this.walletInfoETH2[i],777777777)
uni.setStorageSync('wallet',this.walletInfoETH2[i])
setTimeout(()=>{
@ -133,7 +133,7 @@
})
},5)
}
if(index.coinList[0].name=='TRX'){
if(index.coinList[0].xname=="TRON"){
console.log(this.walletInfoTRX2[i])
uni.setStorageSync('wallet',this.walletInfoTRX2[i])
setTimeout(()=>{
@ -153,34 +153,22 @@
this.typeBoll=false;
}
if(type=='eth'){
// var a=this.$refs.eth.$el.offsetTop;
// var b=a-57;
// console.log(b,77777777)
// this.$refs.tiao.$el.style.top=b+"px";
this.type='eth'
this.typeBoll=true;
}
if(type=='btc'){
// var a=this.$refs.btc.$el.offsetTop;
// var b=a-57;
// console.log(b,77777777)
// this.$refs.tiao.$el.style.top=b+"px";
this.type='btc'
this.typeBoll=true;
}
if(type=='trx'){
// console.log(this.$refs.trx.offsetTop,1111)
// var a=this.$refs.trx.$el.offsetTop;
// var b=a-57;
// console.log(b,77777777)
// this.$refs.tiao.$el.style.top=b+"px";
this.type='trx'
this.typeBoll=true;
}
},
getStorage(){
this.walletInfo2 = uni.getStorageSync('walletInfo');
console.log(this.walletInfo2,232323)
this.walletInfoBTC2=this.walletInfo2.BTC;
this.walletInfoETH2=this.walletInfo2.ETH;
this.walletInfoTRX2=this.walletInfo2.TRON;

8
pages/menu/wallet/index.css

@ -126,4 +126,12 @@
}
.opc{
opacity: .4;
}
.jiaimg{
width: 48rpx;
height: 48rpx;
}
.jiacon{
display: flex;
justify-content: space-between;
}

85
pages/menu/wallet/index.vue

@ -20,7 +20,7 @@
<image src="../../../static/tongyonh/eyeno.png" mode="aspectFit" class="img1" @click="showMoney22()" v-if="showMoney2"></image>
</view>
<view class="textcon2" v-if="showMoney1">
$0.00
$ {{userObj.balance}}
</view>
<view class="textcon2" v-if="showMoney2">
***
@ -31,14 +31,19 @@
</view>
<view class="bot_con">
<view class="title">
Assets
<view class="jiacon">
<view class="title">
Assets
</view>
<image src="../../../static/tongyonh/IconGroup.png" mode="aspectFit" class="jiaimg" v-if="userObj.coinList[0].xname!='Bitcoin'" @click="goOther"></image>
</view>
<view class="item flexx" @click="goTrans()" v-for="item,index in this.userObj.coinList">
<view class="left flex">
<image :src="item.icon" mode="aspectFit" class="img1"></image>
<view class="textcon">
<view class="text1">
<view class="text1">
{{item.name}}
</view>
<view class="text2">
{{item.xname}}
@ -47,7 +52,7 @@
</view>
<view class="rig">
<view class="text1">
0.00
{{item.balance}}
</view>
<view class="text2">
=$0.00
@ -73,23 +78,69 @@
export default {
data() {
return {
eth: '',
trc: 'Hello',
walletInfo:{},
userObj:{},
userObj2:{},
showMoney1:true,
showMoney2:false,
btcBalance:0,
}
},
onLoad() {
this.setStorage();
this.getWalletBalance();
var a=uni.getStorageSync('wallet')
console.log(a)
if(a!=''){
console.log(1111)
this.userObj=uni.getStorageSync('wallet');
console.log(this.userObj,777)
this.userObj2=uni.getStorageSync('wallet');
this.userObj.address = this.userObj.address.substring(0, 6)+'...'+this.userObj.address.substring(25,this.userObj.address.length);
}
},
methods: {
//
getWalletBalance(){
var walletInfo=uni.getStorageSync('walletInfo')
for(let i=0;i<walletInfo.BTC.length;i++){
this.$api.getBtcBalance().then((res) => {
var b = res.data.data[0]
for (var k in b) {
walletInfo.BTC[i].balance= b[k]
uni.setStorageSync('walletInfo',walletInfo)
}
})
}
var walletInfo=uni.getStorageSync('walletInfo')
for(let i=0;i<walletInfo.ETH.length;i++){
this.$EthUtil.getBalance(walletInfo.ETH[i].address).then((res) => {
walletInfo.ETH[i].balance= res
uni.setStorageSync('walletInfo',walletInfo)
}).catch(err => {
console.log(err)
})
}
var walletInfo=uni.getStorageSync('walletInfo')
for(let i=0;i<walletInfo.TRON.length;i++){
this.$TronUtil.getTronBalance(walletInfo.TRON[i].address).then((res) => {
walletInfo.TRON[i].balance= res
uni.setStorageSync('walletInfo',walletInfo)
}).catch(err => {
console.log(err)
})
}
},
goOther(){
uni.navigateTo({
url:'otherCoin/index'
})
},
showMoney(){
this.showMoney1=false
this.showMoney2=true
@ -104,13 +155,19 @@
this.userObj.address = this.userObj.address.substring(0, 6)+'...'+this.userObj.address.substring(25,this.userObj.address.length);
console.log(this.walletInfo.BTC[0])
},
goTrans() {
console.log(777777)
let item = JSON.stringify(this.userObj)
console.log(item,777777)
uni.navigateTo({
url:'/pages/menu/token/btc/index?item='+item
})
goTrans() {
let item = JSON.stringify(this.userObj2)
if(this.userObj2.coinList[0].xname=='Bitcoin'){
uni.navigateTo({
url:'/pages/menu/token/btctrue/index?item='+item
})
}else{
uni.navigateTo({
url:'/pages/menu/token/btc/index?item='+item
})
}
},
//
chooseImage() {

40
pages/menu/wallet/mwallet/index.vue

@ -34,7 +34,7 @@
</view>
<view class="rig">
<image src="../../../../static/tongyonh/ellipsis.png" mode="aspectFit" class="img1" @click="goManager(item,index)"></image>
0.00
{{item.balance}}
</view>
</view>
@ -52,7 +52,7 @@
</view>
<view class="rig">
<image src="../../../../static/tongyonh/ellipsis.png" mode="aspectFit" class="img1" @click="goManager(item,index)"></image>
0.00
{{item.balance}}
</view>
</view>
@ -72,7 +72,7 @@
</view>
<view class="rig">
<image src="../../../../static/tongyonh/ellipsis.png" mode="aspectFit" class="img1" @click="goManager(item,index)"></image>
0.00
{{item.balance}}
</view>
</view>
@ -98,6 +98,7 @@
walletInfoETH:[],
walletInfoTRX:[],
walletInfo:{},
walletInfo2:{},
}
},
methods: {
@ -114,28 +115,18 @@
this.typeBoll=false;
}
if(type=='eth'){
// var a=this.$refs.eth.$el.offsetTop;
// var b=a-57;
// console.log(b,77777777)
// this.$refs.tiao.$el.style.top=b+"px";
this.type='eth'
this.typeBoll=true;
}
if(type=='btc'){
// var a=this.$refs.btc.$el.offsetTop;
// var b=a-57;
// console.log(b,77777777)
// this.$refs.tiao.$el.style.top=b+"px";
this.type='btc'
this.typeBoll=true;
}
if(type=='trx'){
// console.log(this.$refs.trx.offsetTop,1111)
// var a=this.$refs.trx.$el.offsetTop;
// var b=a-57;
// console.log(b,77777777)
// this.$refs.tiao.$el.style.top=b+"px";
this.type='trx'
this.typeBoll=true;
}
@ -144,6 +135,7 @@
setStorage() {
// this.walletInfo.walletPassword = this.$store.state.noBackupWalletInfo.walletPassword
this.walletInfo = uni.getStorageSync('walletInfo');
this.walletInfo2 = uni.getStorageSync('walletInfo');
this.walletInfoBTC=this.walletInfo.BTC;
for(var i=0;i<this.walletInfoBTC.length;i++){
this.walletInfoBTC[i].address = this.walletInfoBTC[i].address.substring(0, 6)+'...'+this.walletInfoBTC[i].address.substring(25,this.walletInfoBTC[i].address.length);
@ -160,10 +152,24 @@
},
goManager(itemm,index){
uni.setStorageSync('nameIndex',index)
let item = JSON.stringify(itemm)
if(itemm.coinList[0].xname=='Bitcoin'){
let item = JSON.stringify(this.walletInfo2.BTC[index])
uni.navigateTo({
url:'../../../menu/wallet/mwallet/manage/index?item='+item
})
}
if(itemm.coinList[0].xname=='Ethereum'){
let item = JSON.stringify(this.walletInfo2.ETH[index])
uni.navigateTo({
url:'../../../menu/wallet/mwallet/manage/index?item='+item
})
}
if(itemm.coinList[0].xname=='TRON'){
let item = JSON.stringify(this.walletInfo2.TRON[index])
uni.navigateTo({
url:'../../../menu/wallet/mwallet/manage/index?item='+item
})
}
},

54
pages/menu/wallet/otherCoin/index.css

@ -0,0 +1,54 @@
.maintoP{
margin-top: 100rpx;
}
/* .aaa{
background: #FAFAFA !important;
} */
/* page {
background: #FAFAFA;
} */
.main{
padding: 0 48rpx;
margin-top: 50rpx;
background: #fff;
}
.title{
height: 150rpx;
display: flex;
align-items: center;
font-size: 32rpx;
border-bottom: 2rpx solid #F6F8FD;
}
.flex{
display: flex;
align-items: center;
justify-content: space-between;
}
.flex2{
display: flex;
}
.main_con .item .left .img{
width: 80rpx;
height: 80rpx;
}
.main_con .item{
height: 150rpx;
border-bottom: 2rpx solid #F6F8FD;
border-radius: 24rpx;
}
.main_con .item .img{
width: 48rpx;
height: 48rpx;
}
.main_con .textcon{
margin-left: 20rpx;
}
.main_con .textcon .text1{
font-size: 30rpx;
}
.main_con .textcon .text2{
font-size: 24rpx;
color: #999;
}

90
pages/menu/wallet/otherCoin/index.vue

@ -0,0 +1,90 @@
<template>
<view class="maintoP">
<navigation :showBack="true" :bgnum="true" class="aaa">
Add token
</navigation>
<view class="main">
<view class="title">
Hot assets
</view>
<view class="main_con">
<view class="item flex">
<view class="left flex2">
<image src="../../../../static/tongyonh/bye.png" mode="aspectFit" class="img"></image>
<view class="textcon">
<view class="text1">
LON
</view>
<view class="text2">
3KbDfh...uW8W9YsUS
</view>
</view>
</view>
<image src="../../../../static/tongyonh/IconGroup.png" mode="aspectFit" class="img"></image>
</view>
<view class="item flex">
<view class="left flex2">
<image src="../../../../static/tongyonh/bye.png" mode="aspectFit" class="img"></image>
<view class="textcon">
<view class="text1">
LON
</view>
<view class="text2">
3KbDfh...uW8W9YsUS
</view>
</view>
</view>
<image src="../../../../static/tongyonh/IconGroup.png" mode="aspectFit" class="img"></image>
</view>
</view>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
import token from "@/utils/TokenUtil"
export default {
data() {
return {
}
},
onLoad() {
var _self = this;
uni.request({
url: 'http://wallet-api.weirui0755.com/api/contract/getContractInfoList?chainName=ETH', //
header: {
'content-type': 'application/x-www-form-urlencoded', //
},
success: (res) => {
console.log(res,111)
}
});
},
methods: {
},
};
</script>
<style scoped>
</style>
<style>
@import './index.css';
</style>

BIN
static/tongyonh/IconGroup.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 709 B

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
static/tongyonh/arrow-down-left.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 235 B

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
static/tongyonh/arrow-down-left1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
static/tongyonh/arrow-up-left_1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 692 B

BIN
static/tongyonh/copy_24px_2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 638 B

BIN
static/tongyonh/lu.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

BIN
unpackage/cache/apk/__UNI__1ECBEE1_cm.apk

Binary file not shown.

2
unpackage/cache/apk/apkurl

@ -1 +1 @@
https://ide.dcloud.net.cn/build/download/be4eb480-3e4f-11ec-9ac3-33fd5f5b8cb1
https://ide.dcloud.net.cn/build/download/7f5439d0-3e5a-11ec-a595-9f7faa4d5fb0

2
unpackage/cache/apk/cmManifestCache.json

@ -1 +1 @@
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

16
unpackage/cache/wgt/__UNI__1ECBEE1/app-service.js

File diff suppressed because one or more lines are too long

2
unpackage/cache/wgt/__UNI__1ECBEE1/app-view.js

File diff suppressed because one or more lines are too long

2
unpackage/cache/wgt/__UNI__1ECBEE1/manifest.json

@ -1 +1 @@
{"@platforms":["android","iPhone","iPad"],"id":"__UNI__1ECBEE1","name":"BITCOOO","version":{"name":"1.0","code":"100"},"description":"","launch_path":"__uniappview.html","developer":{"name":"","email":"","url":""},"permissions":{"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"target":"id:1","autoclose":true,"waiting":true,"delay":0},"popGesture":"close","launchwebview":{"render":"always","id":"1","kernel":"WKWebview"},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#fff"},"compatible":{"ignoreVersion":true},"usingComponents":true,"nvueStyleCompiler":"uni-app","compilerVersion":3,"distribute":{"icons":{"android":{"hdpi":"icon-android-hdpi.png","xhdpi":"icon-android-xhdpi.png","xxhdpi":"icon-android-xxhdpi.png","xxxhdpi":"icon-android-xxxhdpi.png"},"ios":{"appstore":"unpackage/res/icons/1024x1024.png","ipad":{"app":"unpackage/res/icons/76x76.png","app@2x":"unpackage/res/icons/152x152.png","proapp@2x":"unpackage/res/icons/167x167.png","spotlight":"unpackage/res/icons/40x40.png","spotlight@2x":"unpackage/res/icons/80x80.png","settings":"unpackage/res/icons/29x29.png","settings@2x":"unpackage/res/icons/58x58.png","notification":"unpackage/res/icons/20x20.png","notification@2x":"unpackage/res/icons/40x40.png"},"iphone":{"app@2x":"unpackage/res/icons/120x120.png","app@3x":"unpackage/res/icons/180x180.png","spotlight@2x":"unpackage/res/icons/80x80.png","spotlight@3x":"unpackage/res/icons/120x120.png","settings@2x":"unpackage/res/icons/58x58.png","settings@3x":"unpackage/res/icons/87x87.png","notification@2x":"unpackage/res/icons/40x40.png","notification@3x":"unpackage/res/icons/60x60.png"},"prerendered":"false"}},"splashscreen":{"androidStyle":"default","iosStyle":"default"},"google":{"permissions":["<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>","<uses-permission android:name=\"android.permission.VIBRATE\"/>","<uses-permission android:name=\"android.permission.READ_LOGS\"/>","<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>","<uses-feature android:name=\"android.hardware.camera.autofocus\"/>","<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.CAMERA\"/>","<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>","<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>","<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>","<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>","<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>","<uses-feature android:name=\"android.hardware.camera\"/>","<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"],"packagename":"uni.UNI1ECBEE1","password":"owEUXhIlikr8dyWwHO6U9A==","aliasname":"jack501","keystore":"google-keystore","custompermissions":true},"apple":{"devices":"universal"},"plugins":{"ad":{},"audio":{"mp3":{"description":"Android平台录音支持MP3格式文件"}}},"orientation":["portrait-primary"]},"allowsInlineMediaPlayback":true,"uni-app":{"compilerVersion":"3.2.12","control":"uni-v3","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal"},"launch_path":"__uniappview.html","adid":"127964190008"}}
{"@platforms":["android","iPhone","iPad"],"id":"__UNI__1ECBEE1","name":"BITCOOO","version":{"name":"1.0","code":"100"},"description":"","launch_path":"__uniappview.html","developer":{"name":"","email":"","url":""},"permissions":{"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"target":"id:1","autoclose":true,"waiting":true,"delay":0},"popGesture":"close","launchwebview":{"render":"always","id":"1","kernel":"WKWebview"},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#fff"},"compatible":{"ignoreVersion":true},"usingComponents":true,"nvueStyleCompiler":"uni-app","compilerVersion":3,"distribute":{"icons":{"android":{"hdpi":"icon-android-hdpi.png","xhdpi":"icon-android-xhdpi.png","xxhdpi":"icon-android-xxhdpi.png","xxxhdpi":"icon-android-xxxhdpi.png"},"ios":{"appstore":"unpackage/res/icons/1024x1024.png","ipad":{"app":"unpackage/res/icons/76x76.png","app@2x":"unpackage/res/icons/152x152.png","proapp@2x":"unpackage/res/icons/167x167.png","spotlight":"unpackage/res/icons/40x40.png","spotlight@2x":"unpackage/res/icons/80x80.png","settings":"unpackage/res/icons/29x29.png","settings@2x":"unpackage/res/icons/58x58.png","notification":"unpackage/res/icons/20x20.png","notification@2x":"unpackage/res/icons/40x40.png"},"iphone":{"app@2x":"unpackage/res/icons/120x120.png","app@3x":"unpackage/res/icons/180x180.png","spotlight@2x":"unpackage/res/icons/80x80.png","spotlight@3x":"unpackage/res/icons/120x120.png","settings@2x":"unpackage/res/icons/58x58.png","settings@3x":"unpackage/res/icons/87x87.png","notification@2x":"unpackage/res/icons/40x40.png","notification@3x":"unpackage/res/icons/60x60.png"},"prerendered":"false"}},"splashscreen":{"androidStyle":"default","iosStyle":"default"},"google":{"permissions":["<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>","<uses-permission android:name=\"android.permission.VIBRATE\"/>","<uses-permission android:name=\"android.permission.READ_LOGS\"/>","<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>","<uses-feature android:name=\"android.hardware.camera.autofocus\"/>","<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.CAMERA\"/>","<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>","<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>","<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>","<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>","<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>","<uses-feature android:name=\"android.hardware.camera\"/>","<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"],"packagename":"com.bitcooo","password":"owEUXhIlikr8dyWwHO6U9A==","aliasname":"jack501","keystore":"google-keystore","custompermissions":true},"apple":{"devices":"universal"},"plugins":{"ad":{},"audio":{"mp3":{"description":"Android平台录音支持MP3格式文件"}}},"orientation":["portrait-primary"]},"allowsInlineMediaPlayback":true,"uni-app":{"compilerVersion":"3.2.12","control":"uni-v3","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal"},"launch_path":"__uniappview.html","adid":"127964190008"}}

BIN
unpackage/cache/wgt/__UNI__1ECBEE1/static/tongyonh/arrow-down-left.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 235 B

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
unpackage/cache/wgt/__UNI__1ECBEE1/static/tongyonh/arrow-down-left1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

16
unpackage/dist/build/app-plus/app-service.js

File diff suppressed because one or more lines are too long

2
unpackage/dist/build/app-plus/app-view.js

File diff suppressed because one or more lines are too long

BIN
unpackage/dist/build/app-plus/static/tongyonh/arrow-down-left.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 235 B

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
unpackage/dist/build/app-plus/static/tongyonh/arrow-down-left1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

4
unpackage/dist/dev/app-plus/app-config-service.js

@ -1,8 +1,8 @@
var isReady=false;var onReadyCallbacks=[];
var isServiceReady=false;var onServiceReadyCallbacks=[];
var __uniConfig = {"pages":["pages/register/index","pages/menu/backUp/index","pages/menu/index/index","pages/register/index","pages/menu/wallet/cwallet/index","pages/menu/backUp/transPawKeyOut/index","pages/menu/backUp/transPawMan/index","pages/menu/backUp/backUpWord/index","pages/menu/backUp/backUp5/index","pages/menu/backUp/backUp4/index","pages/menu/market/index","pages/menu/backUp/transPaw/index","pages/menu/address/backUp/index","pages/menu/backUp/backUp2/index","pages/menu/wallet/add/index","pages/menu/backUp/backUp3/index","pages/menu/backUp/reSuccessful","pages/menu/wallet/mwallet/manage/index","pages/menu/sendToken/addAddress/index","pages/menu/sendToken/addAddress2/index","pages/menu/profile/index","pages/menu/address/index","pages/menu/sendToken/address/index","pages/menu/sendToken/transfer/index","pages/menu/sendToken/enPassword/index","pages/menu/setting/index","pages/menu/wallet/mwallet/index","pages/menu/transction/detail/index","pages/menu/sendToken/index","pages/menu/address/addressMangement/index","pages/menu/token/btc/index","pages/menu/wallet/index","pages/menu/load/index","pages/menu/discover/index","pages/menu/address/showKey/index","pages/menu/setting/payPassword/index","pages/menu/setting/addBtcNode/index","pages/menu/setting/btcNodeSetting/index","pages/menu/setting/nodeSetting/index","pages/menu/setting/currency/index","pages/menu/setting/lang/index","pages/menu/about/index","pages/menu/about/Privacy/index","pages/menu/about/terms/index","pages/menu/address/improtKey/index"],"window":{"navigationBarTextStyle":"black","navigationBarBackgroundColor":"#fff","style":{"app-plus":{"titleNView":false}}},"nvueCompiler":"uni-app","nvueStyleCompiler":"uni-app","renderer":"auto","splashscreen":{"alwaysShowBeforeRender":true,"autoclose":false},"appname":"BITCOOO","compilerVersion":"3.2.12","entryPagePath":"pages/register/index","networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000}};
var __uniRoutes = [{"path":"/pages/register/index","meta":{"isQuit":true},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/backUp/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/index/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/wallet/cwallet/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/backUp/transPawKeyOut/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/backUp/transPawMan/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/backUp/backUpWord/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/backUp/backUp5/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/backUp/backUp4/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/market/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/backUp/transPaw/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/address/backUp/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/backUp/backUp2/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/wallet/add/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/backUp/backUp3/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/backUp/reSuccessful","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/wallet/mwallet/manage/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/sendToken/addAddress/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/sendToken/addAddress2/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/profile/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/address/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/sendToken/address/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/sendToken/transfer/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/sendToken/enPassword/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/setting/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/wallet/mwallet/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/transction/detail/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/sendToken/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/address/addressMangement/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/token/btc/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/wallet/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/load/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/discover/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/address/showKey/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/setting/payPassword/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/setting/addBtcNode/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/setting/btcNodeSetting/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/setting/nodeSetting/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/setting/currency/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/setting/lang/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/about/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/about/Privacy/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/about/terms/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/address/improtKey/index","meta":{},"window":{"navigationStyle":"custom"}}];
var __uniConfig = {"pages":["pages/menu/collection/addCollection/index","pages/menu/collection/collectionDetail/index","pages/menu/collection/index","pages/register/index","pages/menu/token/btctrue/index","pages/menu/sendToken/transfer2/index","pages/menu/wallet/otherCoin/index","pages/menu/index/index","pages/menu/backUp/index","pages/menu/wallet/cwallet/index","pages/menu/backUp/transPawKeyOut/index","pages/menu/backUp/transPawMan/index","pages/menu/backUp/backUpWord/index","pages/menu/backUp/backUp5/index","pages/menu/backUp/backUp4/index","pages/menu/market/index","pages/menu/backUp/transPaw/index","pages/menu/address/backUp/index","pages/menu/backUp/backUp2/index","pages/menu/wallet/add/index","pages/menu/backUp/backUp3/index","pages/menu/backUp/reSuccessful","pages/menu/wallet/mwallet/manage/index","pages/menu/sendToken/addAddress/index","pages/menu/sendToken/addAddress2/index","pages/menu/profile/index","pages/menu/address/index","pages/menu/sendToken/address/index","pages/menu/sendToken/transfer/index","pages/menu/sendToken/enPassword/index","pages/menu/setting/index","pages/menu/wallet/mwallet/index","pages/menu/transction/detail2/index","pages/menu/transction/detail/index","pages/menu/sendToken/index","pages/menu/address/addressMangement/index","pages/menu/token/btc/index","pages/menu/wallet/index","pages/menu/load/index","pages/menu/discover/index","pages/menu/address/showKey/index","pages/menu/setting/payPassword/index","pages/menu/setting/addBtcNode/index","pages/menu/setting/btcNodeSetting/index","pages/menu/setting/nodeSetting/index","pages/menu/setting/currency/index","pages/menu/setting/lang/index","pages/menu/about/index","pages/menu/about/Privacy/index","pages/menu/about/terms/index","pages/menu/address/improtKey/index"],"window":{"navigationBarTextStyle":"black","navigationBarBackgroundColor":"#fff","style":{"app-plus":{"titleNView":false}}},"nvueCompiler":"uni-app","nvueStyleCompiler":"uni-app","renderer":"auto","splashscreen":{"alwaysShowBeforeRender":true,"autoclose":false},"appname":"BITCOOO","compilerVersion":"3.2.12","entryPagePath":"pages/menu/collection/addCollection/index","networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000}};
var __uniRoutes = [{"path":"/pages/menu/collection/addCollection/index","meta":{"isQuit":true},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/collection/collectionDetail/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/collection/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/register/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/token/btctrue/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/sendToken/transfer2/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/wallet/otherCoin/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/index/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/backUp/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/wallet/cwallet/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/backUp/transPawKeyOut/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/backUp/transPawMan/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/backUp/backUpWord/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/backUp/backUp5/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/backUp/backUp4/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/market/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/backUp/transPaw/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/address/backUp/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/backUp/backUp2/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/wallet/add/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/backUp/backUp3/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/backUp/reSuccessful","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/wallet/mwallet/manage/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/sendToken/addAddress/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/sendToken/addAddress2/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/profile/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/address/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/sendToken/address/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/sendToken/transfer/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/sendToken/enPassword/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/setting/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/wallet/mwallet/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/transction/detail2/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/transction/detail/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/sendToken/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/address/addressMangement/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/token/btc/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/wallet/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/load/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/discover/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/address/showKey/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/setting/payPassword/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/setting/addBtcNode/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/setting/btcNodeSetting/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/setting/nodeSetting/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/setting/currency/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/setting/lang/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/about/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/about/Privacy/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/about/terms/index","meta":{},"window":{"navigationStyle":"custom"}},{"path":"/pages/menu/address/improtKey/index","meta":{},"window":{"navigationStyle":"custom"}}];
__uniConfig.onReady=function(callback){if(__uniConfig.ready){callback()}else{onReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"ready",{get:function(){return isReady},set:function(val){isReady=val;if(!isReady){return}const callbacks=onReadyCallbacks.slice(0);onReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});
__uniConfig.onServiceReady=function(callback){if(__uniConfig.serviceReady){callback()}else{onServiceReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"serviceReady",{get:function(){return isServiceReady},set:function(val){isServiceReady=val;if(!isServiceReady){return}const callbacks=onServiceReadyCallbacks.slice(0);onServiceReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});
service.register("uni-app-config",{create(a,b,c){if(!__uniConfig.viewport){var d=b.weex.config.env.scale,e=b.weex.config.env.deviceWidth,f=Math.ceil(e/d);Object.assign(__uniConfig,{viewport:f,defaultFontSize:Math.round(f/20)})}return{instance:{__uniConfig:__uniConfig,__uniRoutes:__uniRoutes,global:void 0,window:void 0,document:void 0,frames:void 0,self:void 0,location:void 0,navigator:void 0,localStorage:void 0,history:void 0,Caches:void 0,screen:void 0,alert:void 0,confirm:void 0,prompt:void 0,fetch:void 0,XMLHttpRequest:void 0,WebSocket:void 0,webkit:void 0,print:void 0}}}});

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

File diff suppressed because one or more lines are too long

18635
unpackage/dist/dev/app-plus/app-view.js

File diff suppressed because one or more lines are too long

BIN
unpackage/dist/dev/app-plus/static/tongyonh/IconGroup.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 709 B

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
unpackage/dist/dev/app-plus/static/tongyonh/arrow-down-left.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 235 B

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
unpackage/dist/dev/app-plus/static/tongyonh/arrow-down-left1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
unpackage/dist/dev/app-plus/static/tongyonh/arrow-up-left_1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 692 B

BIN
unpackage/dist/dev/app-plus/static/tongyonh/copy_24px_2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 638 B

BIN
unpackage/dist/dev/app-plus/static/tongyonh/lu.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

BIN
unpackage/release/apk/__UNI__1ECBEE1__20211106010454.apk

Binary file not shown.

75
unpackage/release/apk/index.css

@ -0,0 +1,75 @@
.main_con{
padding: 0 24rpx;
padding-bottom: 250rpx;
}
.main_con .title{
padding-top: 36rpx;
padding-bottom: 28rpx;
font-size: 36rpx;
font-weight: 500;
color: #0F1828;
}
.main{
background-color: #fff;
border-radius: 15rpx;
padding: 0 24rpx;
box-shadow: 0 20rpx 20rpx 20rpx #ECEFF2;
}
.flex{
display: flex;
justify-content: space-between;
}
.title_item{
padding-top: 32rpx;
padding-bottom: 20rpx;
border-bottom: 2rpx solid #F4F7FE;
color: #7D87A6;
font-size: 26rpx;
}
.title_item .imgcon{
}
.green{
background-color: #6FCF97;
}
.red{
background-color: #EB5757;
}
.main .item{
border-bottom: 2rpx solid #F4F7FE;
padding-top: 40rpx;
padding-bottom: 32rpx;
}
.main .item .text2{
color: #0F1828;
font-size: 30rpx;
font-weight: 500;
}
.main .item .text2 .t1{
color: #7D87A6;
font-size: 28rpx;
}
.main .item .btn{
display: flex;
align-items: center;
justify-content: center;
border-radius: 8rpx;
color: #fff;
font-size: 30rpx;
height: 80rpx;
width: 176rpx;
}
.main .item .btn .img1{
width: 48rpx;
height: 48rpx;
}
.Colorimg{
display: block;
width: 24rpx;
height: 24rpx;
}
.title_item .imgcon{
margin-left: 14rpx;
}

191
utils/EthUtil.js

@ -2,80 +2,143 @@ import abi from './EthAbi.js'
const Web3 = require('web3');
var Tx = require('ethereumjs-tx');
let web3;
if (typeof web3 !== 'undefined') {
web3 = new Web3(web3.currentProvider);
} else {
web3 = new Web3(new Web3.providers.HttpProvider("https://ropsten.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161"));
}
web3 = new Web3(new Web3.providers.HttpProvider("https://http-mainnet-node.huobichain.com"));
let eth = {
//获取主币eth余额
getBalance: async function(address, type) {
let balance = await web3.eth.getBalance(address);
console.log("余额:",balance)
return Number(balance) / Math.pow(10, 18);
}
,getTokenBalance: function(address,contract,resultfun){
},
//获取eth代币币余额
getTokenBalance: async function(address, contract) {
var myContract = new web3.eth.Contract(abi, contract, {
from: address
from: address
});
console.log(myContract);
myContract.methods.decimals().call()
.then(function(decimals) {
myContract.methods.balanceOf(address).call()
.then(function(balance) {
resultfun(Number(balance) / Math.pow(10, decimals));
});
});
}
,transaction: function(fromAddress,toAddress,value,privateKey){
// 先获取当前账号交易的nonce
web3.eth.getTransactionCount(fromAddress, web3.eth.defaultBlock.pending).then(function(nonce){
// 获取交易数据
var txData = {
// nonce每次++,以免覆盖之前pending中的交易
nonce: web3.utils.toHex(nonce++),
// 设置gasLimit和gasPrice
gasLimit: web3.utils.toHex(60000),
gasPrice: web3.utils.toHex(web3.eth.getGasPrice()),
// 要转账的哪个账号
to: toAddress,
// 从哪个账号转
from: fromAddress,
// 0.001 以太币
value: web3.utils.toHex(web3.utils.toWei(value, 'ether')),
data: '0x' + Buffer.from('asd').toString('hex')
}
var tx = new Tx(txData,{'chain':'ropsten'});
// 引入私钥,并转换为16进制
// 用私钥签署交易
console.log(Buffer.from(privateKey, 'hex'))
tx.sign( new Buffer(privateKey, 'hex'));
// 序列化
var serializedTx = tx.serialize().toString('hex');
web3.eth.sendSignedTransaction('0x' + serializedTx.toString('hex'), function(err, hash) {
if (!err) {
console.log(hash);
} else {
console.error(err);
}
});
var decimals = await myContract.methods.decimals().call();
var balance = await myContract.methods.balanceOf(address).call();
return Number(balance) / Math.pow(10, decimals);
},
getGas: async function() {
const gasPrice = await web3.eth.getGasPrice().then((v) => {
return v
});
return Number(nubmerJs.strip(gas * gasPrice / 10 ** 18).toFixed(6))
},
transaction: async function(fromAddress, toAddress, value, privateKey, success) {
var nonce = await web3.eth.getTransactionCount(fromAddress);
var gas = await web3.eth.estimateGas({
from: fromAddress
});
console.log(11111111111)
console.log(nonce)
console.log(fromAddress, toAddress, value, privateKey)
var txData = {
chainId: web3.utils.toHex(1899),
// nonce每次++,以免覆盖之前pending中的交易
nonce: web3.utils.toHex(nonce++),
// 设置gasLimit和gasPrice
gas: web3.utils.toHex(gas),
gasPrice: web3.utils.toHex(web3.eth.getGasPrice()),
// 要转账的哪个账号
to: toAddress,
// 从哪个账号转
from: fromAddress,
// 0.001 以太币
value: web3.utils.toHex(web3.utils.toWei(value, 'ether'))
}
// 引入私钥,并转换为16进制
// 用私钥签署交易
console.log(Buffer.from(privateKey).toString('hex'))
const tx = new Tx(txData);
tx.sign(Buffer.from(privateKey, 'hex'));
// 序列化
var serializedTx = tx.serialize().toString('hex');
web3.eth.sendSignedTransaction('0x' + serializedTx.toString('hex'), function(err,
hash) {
console.log('hash' + hash)
if (!err) {
success(hash, undefined);
} else {
console.log(err,789798)
success(undefined, err);
}
});
// 获取交易数据
},
sendTokenTransaction: async function(fromAddress, toAddress, value, privateKey, contract, success) {
var nonce = await web3.eth.getTransactionCount(fromAddress);
var gas = await web3.eth.estimateGas({
from: fromAddress
});
console.log('nonce' + nonce)
var myContract = new web3.eth.Contract(abi, contract)
myContract.methods.decimals().call()
.then(function(decimals) {
// 获取交易数据
console.log(Number(value) * Math.pow(10, decimals))
var txData = {
chainId: web3.utils.toHex(128),
// nonce每次++,以免覆盖之前pending中的交易
nonce: web3.utils.toHex(nonce++),
// 设置gasLimit和gasPrice
gas: web3.utils.toHex(gas),
gasPrice: web3.utils.toHex(web3.eth.getGasPrice()),
// 要转账的哪个账号
to: contract,
// 从哪个账号转
from: fromAddress,
// 0.001 以太币
value: "0x00",
data: myContract.methods.transfer(
toAddress, web3.utils.toWei(value, 'ether')).encodeABI()
}
// 引入私钥,并转换为16进制
// 用私钥签署交易
const tx = new Tx(txData, {
'chain': 'ropsten'
});
tx.sign(Buffer.from(privateKey, 'hex'));
console.log(Buffer.from(privateKey).toString('hex'))
// 序列化
var serializedTx = tx.serialize().toString('hex');
web3.eth.sendSignedTransaction('0x' + serializedTx.toString('hex'), function(
err,
hash) {
if (!err) {
success(hash, undefined);
} else {
success(undefined, err);
}
});
});
}
}
export default eth;

3
utils/TokenUtil.js

@ -123,6 +123,7 @@ let token = {
btc.password=password;
btc.coinList=[{
name:"BTC",
xname:'Bitcoin',
icon:require('@/static/tongyonh/bye.png')
}];
@ -131,6 +132,7 @@ let token = {
eth.mnemonic=mnemonic;
eth.coinList=[{
name:"ETH",
xname:'Ethereum',
icon:require('@/static/tongyonh/Frame3299.png')
}];
@ -139,6 +141,7 @@ let token = {
tron.mnemonic=mnemonic;
tron.coinList=[{
name:"TRX",
xname:'TRON',
icon:require('@/static/tongyonh/tron1.png')
}];

7
utils/TronUtil.js

@ -16,10 +16,13 @@ const tronWeb = new TronWeb(fullNode, solidityNode, eventServer, privateKey);
let tron = {
//查询TRX余额
getTronBalance: async function(address) {
console.log(fullNode)
console.log(solidityNode)
console.log(eventServer)
console.log(address)
console.log('查询trx余额');
let balance = await tronWeb.trx.getBalance(address);
console.log(balance)
console.log('查询trx余额',balance);
console.log(Number(tronWeb.fromSun(balance).toString()));
return Number(tronWeb.fromSun(balance).toString());
},

25
utils/api.js

@ -0,0 +1,25 @@
import Vue from 'vue';
import qs from 'qs'
const api = {
//---------------------------------account---------------------------------
siteInfo: () => Vue.prototype.$axios.get('/api/home/siteInfo'),
// address: (params) => Vue.prototype.$axios.post('/api/eth/address',params),
appVersion: (params) => Vue.prototype.$axios.get('/api/home/versionUpgrade?'+qs.stringify(params)),
address: (params) => Vue.prototype.$axios.get('/eth/api/eth/address/normal/'+params.address+'/'+params.pageNum+'/'+params.pageSize),
// appVersion: (params) => Vue.prototype.$axios.get('/api/home/versionUpgrade?'+qs.stringify(params))
// addressbtc: (params) => Vue.prototype.$axios.get('/btc/api/address/btc/?'+qs.stringify(params)),
addressbtc: (params) => Vue.prototype.$axios.get('/btc/api/address/btc/'+params.address+'/'+params.pageNum+'/'+params.pageSize),
addresstrx: (params) => Vue.prototype.$axios.get('/trx/api/trx/address/normal/'+params.address+'/'+params.pageNum+'/'+params.pageSize),
// 拿btc余额
getBtcBalance: () => Vue.prototype.$axios.get('/btc/api/address/balancetrend/btc/1AgypUbAc4joKjsiVd66mtemwXgFKXWa1R'),
getOtherCoin: (params) => Vue.prototype.$axios.get('/api/contract/getContractInfoList/ETH'),
// 质押地址
// getPledgeAddress: (params) => Vue.prototype.$axios.get('/api/identity/getPledgeAddress/'+params),
//--------------------------------- free ---------------------------------
}
export default api

220
utils/axios.js

@ -0,0 +1,220 @@
import Vue from 'vue'
import axios from 'axios'
import qs from 'qs'
import md5 from 'js-md5';
import constant from './constant.js';
// #ifdef H5
let baseURL = constant.H5
let key = constant.H5_KEY
// #endif
// #ifdef APP-PLUS
let baseURL = constant.APP
let key = constant.APP_KEY
// #endif
const service = axios.create({
withCredentials: true,
crossDomain: true,
baseURL,
timeout: 160000
})
// request拦截器,在请求之前做一些处理
// service.interceptors.request.use(
// config => {
// // console.log('showDialog' + Vue.prototype.$showDialog)
// if (Vue.prototype.$showDialog) {
// uni.showLoading({
// title: 'loading',
// mask: true
// })
// }
// const ticket = uni.getStorageSync('ticket')
// let dataStr = [];
// if (config.method == 'get') {
// if (config.url.split('?').length > 1) {
// dataStr = config.url.split('?')[1].split('&');
// }
// }
// if (config.method == 'post') {
// dataStr = qs.stringify(config.data).split('&');
// // dataStr = JSON.stringify(config.data);
// // dataStr = config.data;
// // dataStr = config.data.name;
// }
// config.data = {};
// dataStr.forEach(function(e) {
// console.log(e,666666)
// config.data[e.split('=')[0]] = e.split('=')[1];
// });
// // console.log(ticket)
// if (ticket != '') {
// config.data['ticket'] = ticket
// }
// var keys = [];
// let sign = '';
// for (var k in config.data)
// keys.push(k);
// keys.sort(function(a, b) {
// return a < b ? -1 : 1;
// })
// // console.log("keys===========");
// keys.forEach(function(e) {
// if (config.data[e] || config.data[e] == '') {
// sign += e + '=' + config.data[e] + '&'
// }
// });
// // console.log("签名参数===========");
// // console.log(config.url);
// // console.log(sign + key);
// sign = md5(sign + key);
// // console.log("提交参数===========");
// // console.log(qs.stringify(config.data));
// if (config.method == 'post') {
// // console.log(config.data,666666)
// config.data['sign'] = sign
// config.data = qs.stringify(config.data)
// // config.data = config.data.replace(/(\w+)\s*, \s*(\w+)/, "$2 $1");
// // if(config.url == ){
// // #ifdef H5
// if(config.url=='/api/index/goodsList'){
// config.data = config.data.replaceAll('20', "");
// config.data = config.data.replaceAll('26', "");
// config.data = config.data.replaceAll('2F', "/");
// config.data = config.data.replaceAll('28', "");
// config.data = config.data.replaceAll('29', "");
// // config.data = config.data.replaceAll('%C2%AE', "&reg;");
// }
// // #endif
// // #ifdef APP-PLUS
// if(config.url=='/api/index/goodsList'){
// config.data = config.data.replace(new RegExp('20',"gm"), "");
// config.data = config.data.replace(new RegExp('26',"gm"), "");
// config.data = config.data.replace(new RegExp('2F',"gm"), "/");
// config.data = config.data.replace(new RegExp('28',"gm"), "");
// config.data = config.data.replace(new RegExp('29',"gm"), "");
// // config.data = config.data.replaceAll('%C2%AE', "&reg;");
// }
// // #endif
// // config.data = config.data.replaceAll('2528',"(");
// // config.data = config.data.replaceAll('2529',")");
// // config.data = config.data.replaceAll('252',"%2F");
// // }
// }
// if (config.method == 'get') {
// if (ticket != '') {
// config.url = config.url + '&ticket=' + ticket + '&sign=' + sign
// } else {
// config.url = config.url + '?sign=' + sign
// }
// }
// // console.log(config)
// return config;
// },
// error => {
// // console.log(error); // for debug
// return Promise.reject(error);
// }
// );
// //配置成功后的拦截器
// service.interceptors.response.use(res => {
// console.log('过期了吗')
// uni.hideLoading()
// // console.log(res)
// // console.log(res.data)
// // console.log(res.data.data[0].nameAlias)
// if (res.data.success || res.data.errCode === 'USER.0017') {
// // console.log(res.data.success)
// return res.data
// } else {
// uni.showToast({
// title: res.data.errMsg,
// icon: 'none',
// duration: 1500
// })
// if (res.data.errCode === 'USER.0010') {
// uni.removeStorage({
// key: 'logInfo',
// success: function (res) {
// uni.reLaunch({url: '/pages/login/index'})
// },
// fail: (err) => {
// }
// });
// // #ifdef H5
// var url = location.href;
// if(url.indexOf('pages')>-1){
// uni.setStorage({
// key: 'url',
// data: url,
// success: function() {
// console.log('success')
// }
// });
// }else{
// uni.removeStorageSync('url')
// }
// // #endif
// }
// uni.$emit('refreshQrCode')
// return Promise.reject(res.data.errMsg);
// }
// }, error => {
// return Promise.reject(error)
// })
axios.defaults.adapter = function(config) { //自己定义个适配器,用来适配uniapp的语法
return new Promise((resolve, reject) => {
// console.log(config)
var settle = require('axios/lib/core/settle');
var buildURL = require('axios/lib/helpers/buildURL');
uni.request({
method: config.method.toUpperCase(),
// url: config.baseURL + buildURL(config.url, config.params, config.paramsSerializer),
url: config.baseURL + '/' + config.url,
header: config.headers,
data: config.data,
dataType: config.dataType,
responseType: config.responseType,
sslVerify: config.sslVerify,
complete: function complete(response) {
//console.log("执行完成:",config.baseURL + buildURL(config.url, config.params, config.paramsSerializer),response.data)
response = {
data: response.data,
status: response.statusCode,
errMsg: response.errMsg,
header: response.header,
config: config
};
settle(resolve, reject, response);
},
fail: res => {
uni.showToast({
title: res,
icon: 'none',
duration: 1500
})
}
})
})
}
export default service

14
utils/constant.js

@ -0,0 +1,14 @@
const H5 = '/start';
const H5_KEY = 'key=wHoUuIiQ8rOSNrxzl1WZJSymZlmXMJ7w';
const APP = 'https://api.wingold6.com'; //正式
// const APP = 'https://apitest.luck-work.com'; //测试
const APP_KEY = 'key=wHoUuIiQ8rOSNrxzl1WZJSymZlmXMJ7w';
const showDialog = true
export default {
H5,
H5_KEY,
APP,
APP_KEY,
showDialog,
}

19
utils/index.js

@ -59,7 +59,24 @@ var utils = {
var h = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
var m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()
var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()
return Y + '-' + M + '-' + D + ' ' + h + ':' + m + ':' + s;
// return Y + '-' + M + '-' + D + ' ' + h + ':' + m + ':' + s;
return M + '-' + D + ' ' + h + ':' + m ;
},
formatyymmddhhmmss33: function(time) {
var date = new Date(time)
var localTime = date.getTime()
var localOffset = date.getTimezoneOffset() * 60000 //获得当地时间偏移的毫秒数
var utc = localTime + localOffset; //utc即GMT时间
var offset = 8 //东8区
var beijing = utc + (3600000 * offset);
date = new Date(beijing)
var Y = date.getFullYear()
var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1)
var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate()
var h = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
var m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()
var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()
return Y + '-' + M + '-' + D + ' ' + h + ':' + m;
},
formathhmm: function(time) {
var date = new Date(time)

Loading…
Cancel
Save