Browse Source

钱包工具类

master
vee 4 years ago
parent
commit
355992905e
  1. 3
      main.js
  2. 4
      pages/menu/wallet/index.vue
  3. 222
      utils/DataUtil.js
  4. 11
      utils/SystemConfiguration.js
  5. 49
      utils/api.js

3
main.js

@ -14,6 +14,7 @@ import util from 'ethereumjs-util'
import store from './store'
import walletUtil from './utils/WalletUtil.js'
import dataUtil from './utils/DataUtil.js'
Vue.prototype.$store = store
Vue.prototype.tronweb = tronweb
Vue.prototype.bip32 = bip32
@ -23,6 +24,8 @@ Vue.prototype.bitcoin = bitcoin
Vue.prototype.ethers = ethers
Vue.prototype.$axios = axios
Vue.prototype.$walletUtil = walletUtil
Vue.prototype.$dataUtil = dataUtil
// 自定义底部导航栏
import tabBar from 'components/tabBar/tabBar.vue'
Vue.component('tab-bar', tabBar)

4
pages/menu/wallet/index.vue

@ -91,6 +91,10 @@
onLoad() {
this.setStorage();
// this.$dataUtil.transactionData('TRX','send','TBREsCfBdPyD612xZnwvGPux7osbXvtzLh',
// 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t',1,30,function(data){
// console.log(data)
// })
// this.getWalletBalance();
var a=uni.getStorageSync('wallet')

222
utils/DataUtil.js

@ -0,0 +1,222 @@
import index from './index.js'
let DataUtil = {
transactionData: function(type, dataType, address, contract, pageNum, pageSize, success) {
switch (type) {
case 'BTC':
success([]);
break;
case 'ETH':
this.ethTransactionData(contract, dataType, address, pageNum, pageSize, success);
break;
case 'TRX':
this.trxTransactionData(contract, dataType, address, pageNum, pageSize, success);
break;
}
},
ethTransactionData: function(contract, dataType, address, pageNum, pageSize, success) {
let dataList = [];
if (!contract) {
uni.request({
url: 'http://scan.weirui0755.com/eth/api/eth/address/normal/' + address + '/' +
pageNum +
'/' + pageSize, //请求接口
header: {
'content-type': 'application/x-www-form-urlencoded', //自定义请求头信息
},
success: (res) => {
console.log(res, 1234654)
if (res.data.code === 1) {
var data = res.data.data;
for (let i = 0; i < data.length; i++) {
if (!data[i].toAlias) {
if ((data[i].from != address && dataType == 'send') || (data[i]
.to != address && dataType == 'receive')) {
continue;
}
var transactionData = {
value: data[i].value,
from: data[i].from,
to: data[i].to,
fee: data[i].fee,
txid: data[i].txid,
confirmations: data[i].confirmations,
block_no: data[i].block_no,
time: index.formatyymmddhhmmss33(data[i].time * 1000)
}
if (data[i].from === address) {
transactionData.address = data[i].to;
transactionData.type = 'out';
} else {
transactionData.address = data[i].from;
transactionData.type = 'in';
}
dataList.push(transactionData)
}
}
success(dataList)
}
}
});
} else {
uni.request({
url: 'http://scan.weirui0755.com/eth/api/eth/address/tokentrans/' + address + '/' +
contract + '/' + pageNum +
'/' + pageSize, //请求接口
header: {
'content-type': 'application/x-www-form-urlencoded', //自定义请求头信息
},
success: (res) => {
console.log(res, 1234654)
if (res.data.code === 1) {
var data = res.data.data;
for (let i = 0; i < data.length; i++) {
if (!data[i].toAlias) {
if ((data[i].from != address && dataType == 'send') || (data[i]
.to != address && dataType == 'receive')) {
continue;
}
var transactionData = {
value: data[i].value / Math.pow(10, data[i].tokenDecimals),
from: data[i].from,
to: data[i].to,
txid: data[i].txid,
fee: data[i].fee,
confirmations: data[i].conformations,
block_no: data[i].block_no,
time: index.formatyymmddhhmmss33(data[i].time * 1000)
}
if (data[i].from === address) {
transactionData.address = data[i].to;
transactionData.type = 'out';
} else {
transactionData.address = data[i].from;
transactionData.type = 'in';
}
dataList.push(transactionData)
}
}
success(dataList)
}
}
});
}
}
,
trxTransactionData: function(contract, dataType, address, pageNum, pageSize, success) {
let dataList = [];
if (!contract) {
uni.request({
url: 'http://scan.weirui0755.com/trx/api/trx/address/normal/' + address + '/' +
pageNum +
'/' + pageSize, //请求接口
header: {
'content-type': 'application/x-www-form-urlencoded', //自定义请求头信息
},
success: (res) => {
console.log(res, 1234654)
if (res.data.code === 1) {
var data = res.data.data;
for (let i = 0; i < data.length; i++) {
if ((data[i].from != address && dataType == 'send') || (data[i]
.to != address && dataType == 'receive')) {
continue;
}
var transactionData = {
value: data[i].value,
from: data[i].from,
to: data[i].to,
fee: data[i].fee,
txid: data[i].txid,
confirmations: data[i].confirmations,
block_no: data[i].block_no,
time: index.formatyymmddhhmmss33(data[i].time * 1000)
}
if (data[i].from === address) {
transactionData.address = data[i].to;
transactionData.type = 'out';
} else {
transactionData.address = data[i].from;
transactionData.type = 'in';
}
dataList.push(transactionData)
}
success(dataList)
}
}
});
} else {
uni.request({
url: 'http://scan.weirui0755.com/trx/api/trx/address/tokentrans/' + address + '/' +
contract + '/' + pageNum +
'/' + pageSize, //请求接口
header: {
'content-type': 'application/x-www-form-urlencoded', //自定义请求头信息
},
success: (res) => {
console.log(res, 1234654)
if (res.data.code === 1) {
var data = res.data.data;
for (let i = 0; i < data.length; i++) {
if (!data[i].toAlias) {
if ((data[i].from != address && dataType == 'send') || (data[i]
.to != address && dataType == 'receive')) {
continue;
}
var transactionData = {
value: data[i].value / Math.pow(10, data[i].tokenDecimals),
from: data[i].from,
to: data[i].to,
txid: data[i].txid,
fee: data[i].fee,
confirmations: data[i].conformations,
block_no: data[i].block_no,
time: index.formatyymmddhhmmss33(data[i].time * 1000)
}
if (data[i].from === address) {
transactionData.address = data[i].to;
transactionData.type = 'out';
} else {
transactionData.address = data[i].from;
transactionData.type = 'in';
}
dataList.push(transactionData)
}
}
success(dataList)
}
}
});
}
}
}
export default DataUtil

11
utils/SystemConfiguration.js

@ -0,0 +1,11 @@
let isTest = true;
const constant = isTest ? {
btcDataUrl:''
}:{
}
export default {
constant
}

49
utils/api.js

@ -1,29 +1,34 @@
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'),
addressOther: (params) => Vue.prototype.$axios.get('/eth/api/eth/address/tokentrans/'+params.address2+'/'+params.address+'/'+params.pageNum+'/'+params.pageSize),
// 质押地址
// getPledgeAddress: (params) => Vue.prototype.$axios.get('/api/identity/getPledgeAddress/'+params),
//---------------------------------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),
//--------------------------------- free ---------------------------------
}
// 拿btc余额
getBtcBalance: () => Vue.prototype.$axios.get(
'/btc/api/address/balancetrend/btc/1AgypUbAc4joKjsiVd66mtemwXgFKXWa1R'),
getOtherCoin: (params) => Vue.prototype.$axios.get('/api/contract/getContractInfoList/ETH'),
addressOther: (params) => Vue.prototype.$axios.get('/eth/api/eth/address/tokentrans/' + params.address2 + '/' +
params.address + '/' + params.pageNum + '/' + params.pageSize),
// 质押地址
// getPledgeAddress: (params) => Vue.prototype.$axios.get('/api/identity/getPledgeAddress/'+params),
//--------------------------------- free ---------------------------------
}
export default api

Loading…
Cancel
Save