Browse Source

合并

master
j1ack 3 years ago
parent
commit
e1c9c35eb6
  1. 10
      App.vue
  2. 135
      components/entrustOrderList/entrustOrderList.vue
  3. 15
      components/transaction/transaction.vue
  4. 21
      manifest.json
  5. 2
      pages/charity/details.vue
  6. 69
      pages/charity/index.vue
  7. 81
      pages/home/index.vue
  8. 61
      pages/login/forget.vue
  9. 8
      pages/login/register.vue
  10. 86
      pages/markets/index.vue
  11. 106
      pages/markets/kLine.vue
  12. 40
      pages/markets/trade.vue
  13. 5
      pages/me/aboutUs.vue
  14. 76
      pages/me/accountInfo.vue
  15. 37
      pages/me/changeLoginPassword.vue
  16. 32
      pages/me/changeWithdrawalPassword.vue
  17. 2
      pages/me/donateRecord.vue
  18. 247
      pages/me/index.vue
  19. 81
      pages/me/myTeam.vue
  20. 70
      pages/me/notification.vue
  21. 56
      pages/me/notificationDetails.vue
  22. 6
      pages/me/transfer.vue
  23. 15
      pages/me/walletHistory.vue
  24. 2
      pages/mine/mineRecord.vue
  25. 9
      pages/recharge/recharge.vue
  26. 13
      pages/recharge/rechargeRecord.vue
  27. 67
      pages/subscription/index.vue
  28. 2
      pages/withdrawal/addAddress.vue
  29. 56
      pages/withdrawal/addOrEditBankCard.vue
  30. 11
      pages/withdrawal/chooseAddress.vue
  31. 8
      pages/withdrawal/withdrawal.vue
  32. 8
      pages/withdrawal/withdrawalRecord.vue
  33. 23
      utils/index.js
  34. 4
      utils/language/en_US.js
  35. 5
      utils/language/vi_VN.js
  36. 9
      utils/language/zh_TW.js
  37. 2
      utils/qrCode/wxqrcode.js

10
App.vue

@ -30,10 +30,14 @@
} }
console.log('ss' + JSON.stringify(uni.getSystemInfoSync())) console.log('ss' + JSON.stringify(uni.getSystemInfoSync()))
const response = await this.$api.appVersion(param) const response = await this.$api.appVersion(param)
// console.log(response)
if(!response.isUpgrade){
return;
}
plus.runtime.getProperty(plus.runtime.appid, (wgtinfo) => { plus.runtime.getProperty(plus.runtime.appid, (wgtinfo) => {
console.log('当前版本号' + wgtinfo.versionCode) // console.log('' + wgtinfo.versionCode)
console.log((wgtinfo.versionCode < response.versionCode)) // console.log((wgtinfo.versionCode < response.versionCode))
console.log(wgtinfo.versionCode, response.versionCode) // console.log(wgtinfo.versionCode, response.versionCode)
if (wgtinfo.versionCode < response.versionCode) { if (wgtinfo.versionCode < response.versionCode) {
console.log('更新了吗') console.log('更新了吗')
let that = this; let that = this;

135
components/entrustOrderList/entrustOrderList.vue

@ -16,9 +16,9 @@
<view class="card" v-for="(item, index) in list" :key="index"> <view class="card" v-for="(item, index) in list" :key="index">
<view class="header"> <view class="header">
<text class="dealType" :class="{ long: item.direction === 'long' }">{{item.direction}}</text> <text class="dealType" :class="{ long: item.direction === 'long' }">{{item.direction}}</text>
<text class="time">02-17 09:18:20</text> <text class="time">{{item.timestr}}</text>
<text class="closeTimeTitle" v-show="type === 2 || type === 3">{{ i18n.CloseTime }}</text> <text class="closeTimeTitle" v-show="type === 2 || type === 3">{{ i18n.CloseTime }}</text>
<text class="closeTime" v-show="type === 2 || type === 3">02-17 16:11:35</text> <text class="closeTime" v-show="type === 2 || type === 3">{{item.timestr2}}</text>
<view class="closeBtn" v-show="type === 0 || type === 1" @click="closeItem(item,index)">{{ <view class="closeBtn" v-show="type === 0 || type === 1" @click="closeItem(item,index)">{{
i18n.close i18n.close
}}</view> }}</view>
@ -29,47 +29,51 @@
<!-- 公共的 --> <!-- 公共的 -->
<view class="left"> <view class="left">
<view class="title">{{ item.pair }}</view> <view class="title">{{ item.pair }}</view>
<view class="value">1 * 10</view> <view class="value">{{item.openedPrice}}</view>
<view class="title">{{ i18n.Bond }}</view> <view class="title">{{ i18n.Bond }}</view>
<view class="value">{{item.bondAmount}}</view> <view class="value">{{item.bondAmount}}</view>
<view class="title" v-show="type !== 3">{{ i18n.StyPrice }}</view> <view class="title" v-show="type !== 3">{{ i18n.StyPrice }}</view>
<view class="value" v-show="type !== 3">0.00</view> <view class="value" v-show="type !== 3">{{item.winStopPrice}}</view>
</view> </view>
<!-- 公共的 --> <!-- 公共的 -->
<view class="center"> <view class="center">
<view class="title">{{ i18n.AmountLeverage }}</view> <view class="title">{{ i18n.AmountLeverage }}</view>
<view class="value">40700</view> <view class="value">{{getHand(item)}}</view>
<view class="title">{{ i18n.Fee }}</view> <view class="title">{{ i18n.Fee }}</view>
<view class="value">{{item.fee}}</view> <view class="value">{{item.fee}}</view>
<view class="title" v-show="type !== 3">{{ i18n.StsPrice }}</view> <view class="title" v-show="type !== 3">{{ i18n.StsPrice }}</view>
<view class="value" v-show="type !== 3">0.00</view> <view class="value" v-show="type !== 3">{{item.lossStopPrice}}</view>
</view> </view>
<!-- Current Entrust Position--> <!-- Current Entrust Position-->
<view class="right" v-show="type === 0 || type === 1"> <view class="right" v-show="type === 0 || type === 1">
<view class="title">{{ i18n.CurrentPrice }}</view> <view class="title">{{ i18n.CurrentPrice }}</view>
<view class="value" style="color:#F4506A;">39952.64</view> <view class="value" style="color:#F4506A;">{{item.currentPrice}}</view>
<view class="title" v-show="type === 0">{{ i18n.status }}</view> <view class="title" v-show="type === 0">{{ i18n.status }}</view>
<view class="value" v-show="type === 0">{{item.status}}</view> <view class="value" v-show="type === 0">{{item.status}}</view>
<view class="title" v-show="type === 1">{{ i18n.do }}</view> <view class="title" v-show="type === 1">{{ i18n.do }}</view>
<view class="value" style="color:#00E8A2;" v-show="type === 1" <view class="value" style="color:#00E8A2;" v-show="type === 1" @click="getStopLimit(item)">
@click="stopModalShow = true">
Stop/Limit</view> Stop/Limit</view>
<view class="title">{{ i18n.ExpectProfit }}</view> <view class="title">{{ i18n.ExpectProfit }}</view>
<view class="value" style="color:#F4506A;">{{parseInt(item.profitAmount,16)}}</view> <view class="value" v-show="type === 1" :style="parseFloat(getItem(item.direction=='buy'?(marketDetail.close-item.openedPrice)*item.hand:(item.openedPrice-marketDetail.close)*item.hand))>=0?'color:#00E8A2':'color:#F4506A'">
{{getItem(item.direction=='buy'?(marketDetail.close-item.openedPrice)*item.hand:(item.openedPrice-marketDetail.close)*item.hand)}}
</view>
<view class="value" style="color:#00E8A2;" v-show="type === 2">0</view>
</view> </view>
<!-- Closed --> <!-- Closed -->
<view class="right" v-show="type === 2"> <view class="right" v-show="type === 2">
<view class="title">{{ i18n.ClosePrice }}</view> <view class="title">{{ i18n.ClosePrice }}</view>
<view class="value" style="color:#00E8A2;">39952.64</view> <view class="value" style="color:#00E8A2;">{{item.currentPrice}}</view>
<view class="title">{{ i18n.status }}</view> <view class="title">{{ i18n.status }}</view>
<view class="value">{{item.status}}</view> <view class="value">{{item.status}}</view>
<view class="title">{{ i18n.PL }}</view> <view class="title">{{ i18n.PL }}</view>
<view class="value" style="color:#00E8A2;">112.02</view> <view class="value" :style="item.profitAmount-item.fee>=0?'color:#00E8A2;':'color:#F4506A'">{{item.profitAmount-item.fee}}</view>
</view> </view>
<!-- Revoked --> <!-- Revoked -->
<view class="right" v-show="type === 3"> <view class="right" v-show="type === 3">
<view class="title">{{ i18n.status }}</view> <view class="title">{{ i18n.status }}</view>
<view class="value" style="color:#F4506A;">{{item.status}}</view> <view class="value" style="color:#F4506A;">{{item.status}}</view>
<view class="title">{{ i18n.PL }}</view>
<view class="value" style="color:#00E8A2;"><!-- {{item.currentPl}} --> 0</view>
</view> </view>
</view> </view>
</view> </view>
@ -78,7 +82,6 @@
</view> </view>
</view> </view>
<u-empty :text="i18n.Dataisempty" mode="data" v-if="!list.length"></u-empty>
<!-- close确认框 --> <!-- close确认框 -->
<u-modal :show="closeModalShow" :confirmText="i18n.Confirm" :cancelText="i18n.Cancel" :showCancelButton="true" <u-modal :show="closeModalShow" :confirmText="i18n.Confirm" :cancelText="i18n.Cancel" :showCancelButton="true"
@ -89,11 +92,11 @@
<!-- stop确认框 --> <!-- stop确认框 -->
<u-modal :show="stopModalShow" :confirmText="i18n.Confirm" :cancelText="i18n.Cancel" :showCancelButton="true" <u-modal :show="stopModalShow" :confirmText="i18n.Confirm" :cancelText="i18n.Cancel" :showCancelButton="true"
:title="i18n.StopLimit" :content='i18n.WarmTipsText' @confirm="stopConfirm" @cancel="stopModalShow = false" :title="i18n.StopLimit" :content='i18n.WarmTipsText' @confirm="stopConfirm" @cancel="stopModalShow = false"
confirmColor="#00E8A2"> confirmColor="#00E8A2" cancelColor="#96959E">
<view class="stopModel"> <view class="stopModel">
<view class="title"> <view class="title">
<text class="left">{{ i18n.StyPrice }}</text> <text class="left">{{ i18n.StyPrice }}</text>
<text class="right">{{ i18n.ExpectProfit }} {{ 0.01 }}</text> <text class="right">{{ i18n.ExpectProfit }} {{ stopLimitData.winStopPrice }}</text>
</view> </view>
<view class="numberInput"> <view class="numberInput">
<button class="btn sub" :class="{ disabled: stySubBtnDisabled || styValue <= 0 }" <button class="btn sub" :class="{ disabled: stySubBtnDisabled || styValue <= 0 }"
@ -103,7 +106,7 @@
</view> </view>
<view class="title"> <view class="title">
<text class="left">{{ i18n.StsPrice }}</text> <text class="left">{{ i18n.StsPrice }}</text>
<text class="right">{{ i18n.ExpectLoss }} {{ 0.01 }}</text> <text class="right">{{ i18n.ExpectLoss }} {{ stopLimitData.lossStopPrice }}</text>
</view> </view>
<view class="numberInput"> <view class="numberInput">
<button class="btn sub" :class="{ disabled: stsSubBtnDisabled || stsValue <= 0 }" <button class="btn sub" :class="{ disabled: stsSubBtnDisabled || stsValue <= 0 }"
@ -116,7 +119,7 @@
</u-modal> </u-modal>
<u-empty :text="i18n.Dataisempty" mode="data" v-if="!list.length"></u-empty>
</view> </view>
</template> </template>
@ -126,9 +129,18 @@ const COMPONENT_NAME = 'transaction'
let timer1 = null; let timer1 = null;
let timer2 = null; let timer2 = null;
export default { export default {
components: { KeyValueRow }, components: {
KeyValueRow
},
name: COMPONENT_NAME, name: COMPONENT_NAME,
props: { props: {
marketDetail: {
type: Object,
default () {
}
},
symbol: { symbol: {
type: Object, type: Object,
default () { default () {
@ -168,20 +180,21 @@ export default {
stopModalShow: false, stopModalShow: false,
type: 0, type: 0,
test: 0, test: 0,
dealList: [ dealList: [{
{
dealType: 'long' dealType: 'long'
}, },
{ {
dealType: 'long' dealType: 'long'
}, },
], ],
styValue: 2.55, styValue: 0,
stsValue: 0.3284974928739487, stsValue: 0,
stySubBtnDisabled: false, stySubBtnDisabled: false,
stsSubBtnDisabled: false, stsSubBtnDisabled: false,
// //
itemData: {}, itemData: {},
//
stopLimitData: {},
} }
}, },
computed: { computed: {
@ -191,9 +204,9 @@ export default {
}, },
watch: { watch: {
symbol: { symbol: {
handler: function () { handler: function() {}
} },
}
}, },
mounted() { mounted() {
this.getContractOrderList() this.getContractOrderList()
@ -205,6 +218,29 @@ export default {
timer2 = null; timer2 = null;
}, },
methods: { methods: {
getItem(i) {
i = parseFloat(i.toPrecision(10))
i = String(i)
return i.substring(0, i.indexOf(".") + 9);
},
//
getStopLimit(i) {
this.stopLimitData = i
this.stopModalShow = true
},
getHand(e) {
let i = e.leverage * e.hand
// i = '' + i
// i = parseFloat(i)
// let eformat = i.toExponential() //
// let tmpArray = eformat.match(/\d(?:\.(\d*))?e([+-]\d+)/) //
// let number = i.toFixed(Math.max(0, (tmpArray[1] || '').length - tmpArray[2]))
i = parseFloat(i.toPrecision(10))
// number = String(number)
i = String(i)
// return number.substring(0, number.indexOf(".") + 9);
return i.substring(0, i.indexOf(".") + 9);
},
// //
closeItem(item, i) { closeItem(item, i) {
this.itemData = item this.itemData = item
@ -218,6 +254,17 @@ export default {
}); });
orderList.then(res => { orderList.then(res => {
this.list = res.data this.list = res.data
for (var i = 0; i < this.list.length; i++) {
if (this.list[i].addTime) {
this.list[i].timestr = this.$index.getformatyymmddhhmmss(this.list[
i].addTime)
}
if (this.list[i].closedTime) {
this.list[i].timestr2 = this.$index.getformatyymmddhhmmss(this.list[
i].closedTime)
}
}
}); });
}, },
/** /**
@ -244,13 +291,30 @@ export default {
* close确认弹窗 * close确认弹窗
*/ */
closeConfirm() { closeConfirm() {
// undo
if (this.type == 0) {
const orderList = this.$api.contractCancel({ const orderList = this.$api.contractCancel({
"orderNo": this.itemData.orderNo, "orderNo": this.itemData.orderNo,
}); });
orderList.then(res => { orderList.then(res => {
uni.$u.toast(res.errMsg) uni.$u.toast(this.$t("markets").Succeeded)
this.closeModalShow = false
this.getContractOrderList()
});
}
// opened
if (this.type == 1) {
const orderList = this.$api.contractClosed({
"orderNo": this.itemData.orderNo,
});
orderList.then(res => {
uni.$u.toast(this.$t("markets").Succeeded)
this.closeModalShow = false this.closeModalShow = false
setTimeout(() => {
this.getContractOrderList()
}, 600)
}); });
}
}, },
/** /**
* stop确认弹窗 * stop确认弹窗
@ -264,7 +328,18 @@ export default {
}) })
return; return;
} }
const orderList = this.$api.setWinOrLossStopPrice({
"orderNo": this.stopLimitData.orderNo,
"winStopPrice": this.styValue,
"lossStopPrice": this.stsValue,
});
orderList.then(res => {
uni.$u.toast(this.$t("markets").Succeeded)
this.stopModalShow = false this.stopModalShow = false
setTimeout(() => {
this.getContractOrderList()
}, 600)
});
}, },
/** /**
* styValue值变化 * styValue值变化
@ -320,14 +395,14 @@ export default {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
/deep/ .u-empty {
top: 500% !important;
}
/deep/ .u-modal__content__text { /deep/ .u-modal__content__text {
color: #96959E !important; color: #96959E !important;
} }
/deep/ .u-empty{
top: 60% !important;
}
.entrustOrderList { .entrustOrderList {
position: relative;
.tab { .tab {
display: flex; display: flex;
background: #211F32; background: #211F32;

15
components/transaction/transaction.vue

@ -56,12 +56,12 @@
</key-value-row> </key-value-row>
<!-- 债券 Bond--> <!-- 债券 Bond-->
<key-value-row class="text" :keyName="i18n.Bond" <key-value-row class="text" :keyName="i18n.Bond"
:value="`${(priceTypeValue === 0?marketDetail.close/leverageValue:coinPrice/leverageValue).toFixed(4)}${symbol.baseSymbol}`" :value="`${(priceTypeValue === 0?coinAmount*marketDetail.close/leverageValue:coinAmount*coinPrice/leverageValue).toFixed(4)}${symbol.baseSymbol}`"
lineHeight="30rpx" size="24rpx" rightColor="#A1A0A8"> lineHeight="30rpx" size="24rpx" rightColor="#A1A0A8">
</key-value-row> </key-value-row>
<!-- 手续费 --> <!-- 手续费 -->
<key-value-row class="text" :keyName="i18n.Fee" <key-value-row class="text" :keyName="i18n.Fee"
:value="`${(priceTypeValue === 0?marketDetail.close/leverageValue*contractConfig.rate:coinPrice/leverageValue*contractConfig.rate).toFixed(4)}${symbol.baseSymbol}`" :value="`${(priceTypeValue === 0?coinAmount*marketDetail.close/leverageValue*contractConfig.rate:coinAmount*coinPrice/leverageValue*contractConfig.rate).toFixed(4)}${symbol.baseSymbol}`"
lineHeight="30rpx" size="24rpx" rightColor="#A1A0A8"> lineHeight="30rpx" size="24rpx" rightColor="#A1A0A8">
</key-value-row> </key-value-row>
@ -90,7 +90,7 @@
contractConfig: { contractConfig: {
type: Object, type: Object,
default: () => { default: () => {
leverage: [10]
} }
}, },
symbol: { symbol: {
@ -112,6 +112,7 @@
} }
}, },
}, },
data() { data() {
return { return {
math:null, math:null,
@ -137,6 +138,14 @@
return this.$t("markets"); return this.$t("markets");
}, },
}, },
watch: {
contractConfig: {
deep: true,
handler: function (n,i) {
this.leverageValue = n.leverage[0];
}
}
},
mounted() { mounted() {
this.leverageValue = this.contractConfig.leverage[0]; this.leverageValue = this.contractConfig.leverage[0];
this.coinPrice = this.marketDetail.close this.coinPrice = this.marketDetail.close

21
manifest.json

@ -46,26 +46,9 @@
/* ios */ /* ios */
"ios" : {}, "ios" : {},
/* SDK */ /* SDK */
"sdkConfigs" : { "sdkConfigs" : {}
"ad" : {}
}
}, },
"nativePlugins" : { "nativePlugins" : {}
"HF-Step" : {
"__plugin_info__" : {
"name" : "原生计步器(Android和IOS) - [试用版,仅用于自定义调试基座]",
"description" : "计步器,原生计步器插件,安卓,IOS",
"platforms" : "Android,iOS",
"url" : "https://ext.dcloud.net.cn/plugin?id=6632",
"android_package_name" : "",
"ios_bundle_id" : "",
"isCloud" : true,
"bought" : 0,
"pid" : "6632",
"parameters" : {}
}
}
}
}, },
"h5" : { "h5" : {
"publicPath" : "/", "publicPath" : "/",

2
pages/charity/details.vue

@ -45,7 +45,7 @@
<!-- coin选择框 --> <!-- coin选择框 -->
<u-form-item class="input-item" prop="coinCode" ref="item1"> <u-form-item class="input-item" prop="coinCode" ref="item1">
<u-input class="input" color="#fff" fontSize="32rpx" <u-input class="input" color="#fff" fontSize="32rpx"
border="none" :placeholder="i18n.PleaseChooseCoin" :disabled="true"> border="none" :placeholder="i18n.PleaseChooseCoin" v-model="coinInfo.coinCode" :disabled="true">
</u-input> </u-input>
<view class="selectCoinBtn" @click="USDTPopupShow = true">{{coinInfo.coinCode}} <view class="selectCoinBtn" @click="USDTPopupShow = true">{{coinInfo.coinCode}}
</view> </view>

69
pages/charity/index.vue

@ -1,7 +1,16 @@
<template> <template>
<view class="main"> <view class="main">
<!-- 列表 --> <!-- 列表 -->
<!-- #ifdef APP-PLUS -->
<view class="charityList"> <view class="charityList">
<!-- #endif -->
<!-- #ifdef H5 -->
<view class="charityListH5">
<!-- #endif -->
<view class="item" v-for="(item, index) in userInfoObj" :key="index" @click="goto(item.id)"> <view class="item" v-for="(item, index) in userInfoObj" :key="index" @click="goto(item.id)">
<u--image class="img" :showLoading="true" :src="baseURL+item.img" width="318rpx" <u--image class="img" :showLoading="true" :src="baseURL+item.img" width="318rpx"
height="230rpx"></u--image> height="230rpx"></u--image>
@ -162,6 +171,66 @@
} }
.charityListH5{
// width: 318rpx;
margin: 40rpx 38rpx 0 40rpx;
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
.item {
position: relative;
width: 318rpx;
height: 430rpx;
box-sizing: border-box;
background-color: #323045;
border-radius: 20rpx;
margin-bottom: 32rpx;
/deep/.img {
overflow: hidden;
border-radius: 20rpx;
}
.title {
height: 72rpx;
line-height: 35rpx;
font-size: 32rpx;
margin: 24rpx 20rpx 12rpx;
// ...
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box; //
word-wrap: break-word;
white-space: normal !important;
-webkit-line-clamp: 2; //
-webkit-box-orient: vertical;
}
.target {
height: 40rpx;
line-height: 40rpx;
color: $mainColor;
font-size: 26rpx;
margin-left: 20rpx;
}
.progressbar {
margin: 12rpx 20rpx 0;
/deep/.u-line-progress__text {
color: #000;
font-size: 16rpx;
transform: scale(0.66) // 12px 8/12 =0.666
}
}
}
}
} }

81
pages/home/index.vue

@ -7,7 +7,8 @@
<!-- #ifdef H5 --> <!-- #ifdef H5 -->
<view class="nav-head-H5"> <view class="nav-head-H5">
<!-- #endif --> <!-- #endif -->
<u-button class="serviceButton" color="#323045" @click="getContact">{{ i18n.customerService }}</u-button> <u-button class="serviceButton" color="#323045" @click="getContact">{{ i18n.customerService }}
</u-button>
<view class="languageBtn" @click.stop="languageShow = true"> <view class="languageBtn" @click.stop="languageShow = true">
{{ langTrue }} {{ langTrue }}
</view> </view>
@ -18,14 +19,14 @@
</u-overlay> </u-overlay>
</view> </view>
<!-- 轮播图 --> <!-- 轮播图 -->
<u-swiper class="swiper" :list="swiperList" previousMargin="48rpx" nextMargin="80rpx" circular :autoplay="true" <u-swiper class="swiper" :list="swiperList" previousMargin="48rpx" nextMargin="80rpx" circular
radius="32rpx" bgColor="rgba(0,0,0,0)" height="360rpx"></u-swiper> :autoplay="true" radius="32rpx" bgColor="rgba(0,0,0,0)" height="360rpx"></u-swiper>
<!-- 消息 --> <!-- 消息 -->
<view class="message"> <view class="message" @click="go('/pages/me/notification')">
<u-icon class="icon" name="../../static/home/ic_proclamation.png" size="60rpx" width="60rpx"></u-icon> <u-icon class="icon" name="../../static/home/ic_proclamation.png" size="60rpx" width="60rpx"></u-icon>
<!-- <view class="text">{{ i18n.homeMessage }}</view> --> <!-- <view class="text">{{ i18n.homeMessage }}</view> -->
<u-notice-bar class="notice" :text="messageList" icon="" fontSize="24rpx" bgColor="#211F32" color="#fff" <u-notice-bar class="notice" :text="messageList" icon="" fontSize="24rpx" bgColor="#211F32" color="#fff"
direction="column" @click="go('/pages/me/notification')"> direction="column" >
</u-notice-bar> </u-notice-bar>
</view> </view>
<!-- 三个按钮 --> <!-- 三个按钮 -->
@ -51,11 +52,20 @@
<view class="content"> <view class="content">
<view class="title">{{ i18n.TodaySteps }}</view> <view class="title">{{ i18n.TodaySteps }}</view>
<view id="chart" :stepsNum="stepsNum" :stepTarget="stepTarget" :change:stepTarget="echarts.receive" <view id="chart" :stepsNum="stepsNum" :stepTarget="stepTarget" :change:stepTarget="echarts.receive"
:change:stepsNum="echarts.receive" style="width: 280rpx;height:280rpx; font-size: 40rpx;"></view> :change:stepsNum="echarts.receive" style="width: 280rpx;height:280rpx; font-size: 40rpx;">
</view>
<!-- <canvas id="chart" ref="chart" style="width: 280rpx;height:280rpx; font-size: 40rpx;"></canvas> --> <!-- <canvas id="chart" ref="chart" style="width: 280rpx;height:280rpx; font-size: 40rpx;"></canvas> -->
<u-button class="button" color="#00E8A2">{{ i18n.ReceiveEarnings }}</u-button> <u-button class="button" color="#00E8A2" @click="closeModalShow=true">{{ i18n.ReceiveEarnings }}
</u-button>
</view> </view>
</view> </view>
<!-- close确认框 -->
<u-modal :show="closeModalShow" :confirmText="i18n.Confirm" :cancelText="i18n.Cancel"
:showCancelButton="true" :title="i18n.WarmTips" :content='i18n.WarmTipsText' @confirm="closeConfirm"
@cancel="closeModalShow = false" confirmColor="#00E8A2" cancelColor="#96959E">
</u-modal>
<!-- 播放器 --> <!-- 播放器 -->
<view class="videoList" v-for="(item, index) in videoList" :key="index" @click="playVideo(item.adText)"> <view class="videoList" v-for="(item, index) in videoList" :key="index" @click="playVideo(item.adText)">
<view class="videoImage" :style="`background-image: url(${baseURL+item.adImgPath});background-repeat: no-repeat; <view class="videoImage" :style="`background-image: url(${baseURL+item.adImgPath});background-repeat: no-repeat;
@ -82,12 +92,12 @@
</view> </view>
</u-popup> </u-popup>
<view class="" @click="startStep"> <!-- <view class="" @click="startStep">
开始记步 开始记步
</view> </view>
<view class="" @click="startStep"> <view class="" @click="startStep">
步数{{stepCount}} 步数{{stepCount}}
</view> </view> -->
<!-- tabBar --> <!-- tabBar -->
<tab-bar :selectActive="1"></tab-bar> <tab-bar :selectActive="1"></tab-bar>
</view> </view>
@ -103,7 +113,7 @@
// let videoPlayerObj = {}; // let videoPlayerObj = {};
let videoPlayer; let videoPlayer;
let myChart; let myChart;
let StepCounter = uni.requireNativePlugin('HF-Step-module'); // let StepCounter = uni.requireNativePlugin('HF-Step-module');
export default { export default {
name: 'home', name: 'home',
components: { components: {
@ -111,6 +121,7 @@
}, },
data() { data() {
return { return {
closeModalShow: false,
stepCount: '', stepCount: '',
stepResult: '', stepResult: '',
// //
@ -134,18 +145,23 @@
videoUrl: '', videoUrl: '',
videoList: [], videoList: [],
option: null, option: null,
stepsNum: 5000, // stepsNum: 0, //
stepsNumString:'', //
stepTarget: 10000, // stepTarget: 10000, //
myChart: null, myChart: null,
} }
}, },
onLoad() { onLoad() {
this.stepsNum=uni.getStorageSync('coinTypeInfo').system_total_steps
this.stepsNum=parseInt(this.stepsNum)
this.stepsNumString=uni.getStorageSync('coinTypeInfo').system_total_steps
this.baseURL = constant.BASE_URL this.baseURL = constant.BASE_URL
this.getbanner(); this.getbanner();
this.noticeList(); this.noticeList();
this.getUserInfoBalance();
}, },
onShow() { onShow() {
this.getSept() // this.getSept()
// //
// this.videoList.forEach((item, index) => { // this.videoList.forEach((item, index) => {
// const VideoPlayer = uni.createVideoContext(`video-${index}`, this) // const VideoPlayer = uni.createVideoContext(`video-${index}`, this)
@ -171,11 +187,27 @@
} }
}, },
methods: { methods: {
//
getUserInfoBalance() {
api.userAccount().then(res => {
})
},
//
closeConfirm() {
this.$api.updateSteps({
steps: this.stepsNumString
}).then(res => {
this.$api.receivStepsAward().then(res => {
uni.$u.toast(this.$t("markets").Succeeded)
this.closeModalShow=false
})
})
},
// //
getSept() { getSept() {
// //
StepCounter.startStep((res) => { StepCounter.startStep((res) => {
console.log(123123)
console.log(res, '步数res'); console.log(res, '步数res');
this.stepCount = res.stepCount this.stepCount = res.stepCount
//res.stepCount //res.stepCount
@ -266,6 +298,7 @@
// //
noticeList() { noticeList() {
api.noticeList({}).then(res => { api.noticeList({}).then(res => {
this.notice = res; this.notice = res;
for (var i = 0; i < res.length; i++) { for (var i = 0; i < res.length; i++) {
@ -280,10 +313,12 @@
api.indexBanner({ api.indexBanner({
'mark': 'APP_INDEX' 'mark': 'APP_INDEX'
}).then(res => { }).then(res => {
this.videoList = res
for (var i = 0; i < res.length; i++) { for (var i = 0; i < res.length; i++) {
this.swiperList.push(this.baseURL + res[i].adImgPath) this.swiperList.push(this.baseURL + res[i].adImgPath)
} }
this.videoList = res
// banner
this.videoList = this.videoList.reverse();
}) })
}, },
// //
@ -324,7 +359,7 @@
* @param {*} data * @param {*} data
*/ */
playVideo(data) { playVideo(data) {
this.videoUrl = data.url; this.videoUrl = data;
this.videoShow = true; this.videoShow = true;
videoPlayer.requestFullScreen({ videoPlayer.requestFullScreen({
direction: 0 direction: 0
@ -564,6 +599,22 @@
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
/deep/.u-popup__content {
background: #323045;
.u-modal__title {
color: #fff;
}
.u-modal__content__text {
text-align: center;
}
}
/deep/ .u-modal__content__text {
color: #96959E !important;
}
.main { .main {
padding-bottom: 198rpx; // TabBar padding-bottom: 198rpx; // TabBar

61
pages/login/forget.vue

@ -1,7 +1,12 @@
<template> <template>
<view class="main"> <view class="main">
<navigation>{{ i18n.ForgotPassword }}</navigation> <navigation>{{ i18n.ForgotPassword }}</navigation>
<!-- #ifdef H5 -->
<view class="body"> <view class="body">
<!-- #endif -->
<!-- #ifdef APP-PLUS -->
<view class="bodyApp">
<!-- #endif -->
<u--form class="form" :model="userInfo" :rules="rules" ref="uForm" errorType="toast"> <u--form class="form" :model="userInfo" :rules="rules" ref="uForm" errorType="toast">
<!-- 邮箱 --> <!-- 邮箱 -->
<u-form-item class="input-item" prop="email" ref="item1"> <u-form-item class="input-item" prop="email" ref="item1">
@ -275,6 +280,62 @@
} }
.bodyApp{
margin-top: 204rpx !important;
padding: 0 64rpx;
overflow: hidden;
.form {
font-size: 32rpx;
margin-top: 48rpx;
.input-item {
height: 112rpx;
line-height: 112rpx;
background: #211F32;
margin-bottom: 48rpx;
border-radius: 32rpx;
.icon {
margin: 0 24rpx;
}
/deep/.u-form-item__body {
padding: 0;
}
.input {
height: 112rpx;
}
}
.vCode {
.getVCodeBtn {
// position: absolute;
width: 154rpx;
height: 56rpx;
right: 28rpx;
// top: 14px;
border-radius: 8px;
line-height: 56rpx;
font-size: 24rpx;
color: #00E8A2 !important;
padding: 0;
}
}
}
.button {
margin-top: 64rpx;
height: 112rpx;
line-height: 112rpx;
border-radius: 32rpx;
font-size: 32rpx;
color: #15141F !important;
}
}
} }
</style> </style>

8
pages/login/register.vue

@ -108,7 +108,7 @@
password: "", password: "",
email: '', email: '',
payPassword: '', payPassword: '',
inviteCode: 'gyUafm', inviteCode: '',
code: '', code: '',
lang: '', lang: '',
}, },
@ -159,8 +159,10 @@
return this.$t("login"); return this.$t("login");
}, },
}, },
onLoad() { onLoad(res) {
// console.log(this.$t('login.emailInputMessage')); if(res){
this.userInfo.inviteCode=res.inviteCode
}
}, },
watch: { watch: {
'userInfo.email': { 'userInfo.email': {

86
pages/markets/index.vue

@ -12,7 +12,12 @@
<view class="right">{{ i18n.RiseAndfall }}</view> <view class="right">{{ i18n.RiseAndfall }}</view>
</view> </view>
<!-- 列表 --> <!-- 列表 -->
<!-- #ifdef APP-PLUS -->
<view class="coinList"> <view class="coinList">
<!-- #endif -->
<!-- #ifdef H5 -->
<view class="coinListH5">
<!-- #endif -->
<view class="coin" v-for="(item, index) in symbolList" :key="index" @click="goto(item)"> <view class="coin" v-for="(item, index) in symbolList" :key="index" @click="goto(item)">
<view class="icon"> <view class="icon">
<u-icon :name="BASE_URL+item.coinSymbol+'.png'" size="40rpx" width="40rpx"></u-icon> <u-icon :name="BASE_URL+item.coinSymbol+'.png'" size="40rpx" width="40rpx"></u-icon>
@ -111,6 +116,7 @@
<style lang="scss" scoped> <style lang="scss" scoped>
.main { .main {
padding-bottom: 198rpx; // TabBar padding-bottom: 198rpx; // TabBar
.nav-head-H5 { .nav-head-H5 {
overflow: hidden; overflow: hidden;
position: fixed; position: fixed;
@ -126,6 +132,7 @@
background-color: #15141F; background-color: #15141F;
border-bottom: 4rpx solid #323045; border-bottom: 4rpx solid #323045;
} }
.nav-head { .nav-head {
overflow: hidden; overflow: hidden;
position: fixed; position: fixed;
@ -225,7 +232,86 @@
} }
} }
.coinListH5 {
margin: 122rpx 32rpx 0;
overflow: hidden;
.coin {
overflow: hidden;
position: relative;
height: 64rpx;
padding: 12rpx 0;
.icon {
vertical-align: top;
overflow: hidden;
display: inline-block;
box-sizing: border-box;
width: 64rpx;
height: 64rpx;
background: #211F32;
border-radius: 20rpx;
padding: 12rpx;
}
.name {
display: inline-block;
width: 180rpx;
height: 100%;
line-height: 64rpx;
font-size: 28rpx;
margin-left: 16rpx;
}
.price {
display: inline-block;
width: 180rpx;
height: 100%;
line-height: 64rpx;
font-size: 28rpx;
color: #A1A0A8;
}
.priceChange {
position: absolute;
right: 0;
display: inline-block;
width: 164rpx;
height: 64rpx;
border-radius: 20rpx;
line-height: 64rpx;
background-color: $mainColor;
font-size: 24rpx;
text-align: right;
padding-right: 16rpx;
box-sizing: border-box;
&::before {
display: block;
position: absolute;
content: '';
background-image: url(../../static/maskets/ic_arrow_up.png);
background-repeat: no-repeat;
background-size: contain;
width: 28rpx;
height: 28rpx;
top: 18rpx;
left: 16rpx;
}
&.down {
background-color: $assistRed;
&::before {
background-image: url(../../static/maskets/ic_arrow_down.png);
}
}
}
}
}
} }

106
pages/markets/kLine.vue

@ -3,7 +3,15 @@
<!-- nav --> <!-- nav -->
<navigation>{{ symbol.pair }}</navigation> <navigation>{{ symbol.pair }}</navigation>
<!-- 价格百分比 --> <!-- 价格百分比 -->
<!-- #ifdef APP-PLUS -->
<view class="header"> <view class="header">
<!-- #endif -->
<!-- #ifdef H5 -->
<view class="headerH5">
<!-- #endif -->
<view class="top"> <view class="top">
<!-- 实时价格 --> <!-- 实时价格 -->
<text class="price">{{parseFloat(marketDetail.close).toFixed(marketDetail.baseCoinScale)}}</text> <text class="price">{{parseFloat(marketDetail.close).toFixed(marketDetail.baseCoinScale)}}</text>
@ -182,23 +190,24 @@
}, },
formateDate(time) { formateDate(time) {
var date = new Date(parseInt(time * 1000)); // var date = new Date(parseInt(time * 1000));
var Y = date.getFullYear(); // var Y = date.getFullYear();
var M = '-' + (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1); // var M = '-' + (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1);
var D = '-' + date.getDate(); // var D = '-' + date.getDate();
var h = ' ' + date.getHours(); // var h = ' ' + date.getHours();
var m = ':' + date.getMinutes(); // var m = ':' + date.getMinutes();
var s = ':' + date.getSeconds(); // var s = ':' + date.getSeconds();
var time; // var time;
if (this.type.indexOf('min') > -1) { // if (this.type.indexOf('min') > -1) {
time = Y + M + D + h + m; // time = Y + M + D + h + m;
} else if (this.type === '1day' || this.type === '1week') { // } else if (this.type === '1day' || this.type === '1week') {
time = Y + M + D; // time = Y + M + D;
} else { // } else {
time = Y + M; // time = Y + M;
} // }
return time; // return time;
var time; time=this.$index.formatyymmddhhmmss(parseInt(time * 1000)) if (this.type === '1mon' ) { time = time.split(' ')[0]; time=time.substring(time.indexOf('/')+1,time.length) } else if (this.type === '1day' || this.type === '1week') { time = time.split(' ')[0]; } return time;
}, },
getBboList() { getBboList() {
const bboList = this.$api.bboList({ const bboList = this.$api.bboList({
@ -715,6 +724,69 @@
} }
} }
.headerH5{
background: #000000;
margin-top: 122rpx;
padding: 0 32rpx;
.top {
height: 80rpx;
border-bottom: 2rpx solid #A1A0A8;
.price {
line-height: 80rpx;
font-size: 40rpx;
}
.percent {
vertical-align: text-top;
margin-left: 20rpx;
padding: 8rpx 20rpx;
border-radius: 8rpx;
font-size: 24rpx;
background-color: rgba($color: #F26666, $alpha: 0.2);
color: #F26666;
&.rise {
color: #00E8A2;
background-color: rgba($color: #00E8A2, $alpha: 0.2);
}
}
}
.bottom {
display: flex;
font-size: 24rpx;
.title {
margin-top: 24rpx;
line-height: 32rpx;
}
.value {
margin: 24rpx 0;
color: #A1A0A8;
}
.left {
flex: 1;
text-align: left;
}
.center {
flex: 1;
text-align: center;
}
.right {
flex: 1;
text-align: right;
}
}
}
.tab { .tab {
display: flex; display: flex;
background: #000000; background: #000000;

40
pages/markets/trade.vue

@ -5,18 +5,26 @@
<view class="leftMenuBtn" @click="popupShow = true">{{symbol.pair}}</view> <view class="leftMenuBtn" @click="popupShow = true">{{symbol.pair}}</view>
<view slot="right" class="right" @click="goto('kLine')"></view> <view slot="right" class="right" @click="goto('kLine')"></view>
</navigation> </navigation>
<!-- #ifdef APP-PLUS -->
<view class="content"> <view class="content">
<!-- #endif -->
<!-- #ifdef H5 -->
<view class="contentH5">
<!-- #endif -->
<view class="transactionSide"> <view class="transactionSide">
<transaction v-on:onChangeType="onChangeType" :contractConfig="contractConfig" :symbol="symbol" :marketDetail="marketDetail" <transaction v-on:onChangeType="onChangeType" :contractConfig="contractConfig" :symbol="symbol"
:type="type" ></transaction> :marketDetail="marketDetail" :type="type"></transaction>
</view> </view>
<view class="positionSide"> <view class="positionSide">
<positionList v-on:depthChange="depthChange" :sum="sum" :marketDetail="marketDetail" :bboList="bboList"> <positionList v-on:depthChange="depthChange" :sum="sum" :marketDetail="marketDetail"
:bboList="bboList">
</positionList> </positionList>
</view> </view>
</view> </view>
<view class="orderList"> <view class="orderList">
<entrustOrderList :symbol="symbol"></entrustOrderList> <entrustOrderList :symbol="symbol" :marketDetail="marketDetail"></entrustOrderList>
</view> </view>
<u-popup class="popup" :show="popupShow" mode="left" @close="popupShow = false" @open="popupShow = true" <u-popup class="popup" :show="popupShow" mode="left" @close="popupShow = false" @open="popupShow = true"
@ -57,7 +65,7 @@
popupShow: false, popupShow: false,
symbolList: [], symbolList: [],
contractConfig: { contractConfig: {
leverage:[] leverage: [10]
}, },
symbol: {}, symbol: {},
marketDetail: { marketDetail: {
@ -296,6 +304,28 @@
} }
}
.contentH5 {
margin-top: 122rpx;
padding-top: 20rpx;
padding-bottom: 40rpx;
margin-bottom: 32rpx;
background: #211F32;
display: flex;
.transactionSide {
width: 444rpx;
margin-left: 28rpx;
}
.positionSide {
width: 242rpx;
margin-left: 36rpx;
}
} }
.orderList {} .orderList {}

5
pages/me/aboutUs.vue

@ -3,7 +3,12 @@
<!-- nav --> <!-- nav -->
<navigation :bgTransparent="true">{{ i18n.AboutUs }}</navigation> <navigation :bgTransparent="true">{{ i18n.AboutUs }}</navigation>
<!-- 列表 --> <!-- 列表 -->
<!-- #ifdef APP-PLUS -->
<view class="content"> <view class="content">
<!-- #endif -->
<!-- #ifdef H5 -->
<view class="content" style="margin-top: 50rpx;">
<!-- #endif -->
<view class="card" v-for="(item, index) in aboutus" :key="index"> <view class="card" v-for="(item, index) in aboutus" :key="index">
<view class="title">{{ item.title }}</view> <view class="title">{{ item.title }}</view>
<view class="text" v-html="item.content"></view> <view class="text" v-html="item.content"></view>

76
pages/me/accountInfo.vue

@ -2,7 +2,14 @@
<view class="main"> <view class="main">
<!-- nav --> <!-- nav -->
<navigation>{{ i18n.AccountInfo }}</navigation> <navigation>{{ i18n.AccountInfo }}</navigation>
<!-- #ifdef APP-PLUS -->
<view class="bodyApp" @click="goto">
<!-- #endif -->
<!-- #ifdef H5 -->
<view class="body" @click="goto"> <view class="body" @click="goto">
<!-- #endif -->
<!-- 修改登录密码按钮 --> <!-- 修改登录密码按钮 -->
<u-button class="button" color="#211F32" throttleTime="500" id="ChangeLoginPassword"> <u-button class="button" color="#211F32" throttleTime="500" id="ChangeLoginPassword">
<view class="content">{{ i18n.ChangeLoginPassword }}</view> <view class="content">{{ i18n.ChangeLoginPassword }}</view>
@ -142,5 +149,74 @@ export default {
} }
.bodyApp{
overflow: hidden;
margin-top: 200rpx !important;
padding: 0 64rpx;
.button {
position: relative;
height: 112rpx;
margin-top: 32rpx;
border-radius: 32rpx;
.content {
width: 440rpx;
height: 112rpx;
line-height: 112rpx;
font-weight: 600;
font-size: 28rpx;
padding-left: 70rpx;
text-align: left;
&::before {
display: block;
position: absolute;
content: '';
background-image: url(../../static/me/img_accountinfo01.png);
background-repeat: no-repeat;
background-size: 80rpx;
width: 80rpx;
height: 80rpx;
top: 16rpx;
left: 24rpx;
}
&::after {
display: block;
position: absolute;
content: '';
background-image: url(../../static/me/ic_arrow_g.png);
background-repeat: no-repeat;
background-size: 32rpx;
width: 32rpx;
height: 32rpx;
top: 40rpx;
right: 24rpx;
}
}
&:nth-child(2) .content::before {
background-image: url(../../static/me/img_accountinfo02.png);
}
&:nth-child(3) .content::before {
background-image: url(../../static/me/img_accountinfo03.png);
}
&:nth-child(4) .content::before {
background-image: url(../../static/me/img_accountinfo04.png);
}
}
}
} }
</style> </style>

37
pages/me/changeLoginPassword.vue

@ -2,7 +2,13 @@
<view class="main"> <view class="main">
<!-- nav --> <!-- nav -->
<navigation>{{ i18n.ChangeLoginPassword }}</navigation> <navigation>{{ i18n.ChangeLoginPassword }}</navigation>
<!-- #ifdef APP-PLUS -->
<view class="bodyApp">
<!-- #endif -->
<!-- #ifdef H5 -->
<view class="body"> <view class="body">
<!-- #endif -->
<u-input class="input" type="password" v-model="oldPassword" color="#A1A0A8" fontSize="28rpx" border="none" <u-input class="input" type="password" v-model="oldPassword" color="#A1A0A8" fontSize="28rpx" border="none"
:placeholder="i18n.PleaseEnterTheOldPassword"> :placeholder="i18n.PleaseEnterTheOldPassword">
</u-input> </u-input>
@ -118,7 +124,36 @@ export default {
.button { .button {
position: relative; position: relative;
height: 112rpx; height: 112rpx;
margin-top: 680rpx; // margin-top: 680rpx;
border-radius: 32rpx;
font-weight: 600;
color: #15141F !important;
font-size: 32rpx !important;
}
}
.bodyApp{
overflow: hidden;
margin-top: 200rpx !important;
padding: 0 64rpx;
.input {
height: 112rpx;
line-height: 112rpx;
background: #211F32;
margin: 32rpx 0;
border-radius: 32rpx;
padding-left: 32rpx !important;
}
.button {
position: relative;
height: 112rpx;
// margin-top: 680rpx;
border-radius: 32rpx; border-radius: 32rpx;
font-weight: 600; font-weight: 600;
color: #15141F !important; color: #15141F !important;

32
pages/me/changeWithdrawalPassword.vue

@ -2,7 +2,12 @@
<view class="main"> <view class="main">
<!-- nav --> <!-- nav -->
<navigation>{{ i18n.ModifyWithdrawalPassword }}</navigation> <navigation>{{ i18n.ModifyWithdrawalPassword }}</navigation>
<!-- #ifdef APP-PLUS -->
<view class="bodyApp">
<!-- #endif -->
<!-- #ifdef H5 -->
<view class="body"> <view class="body">
<!-- #endif -->
<u-input class="input" type="password" v-model="oldPassword" color="#A1A0A8" fontSize="28rpx" border="none" <u-input class="input" type="password" v-model="oldPassword" color="#A1A0A8" fontSize="28rpx" border="none"
:placeholder="i18n.PleaseEnterTheOldPassword"> :placeholder="i18n.PleaseEnterTheOldPassword">
</u-input> </u-input>
@ -114,7 +119,6 @@
.button { .button {
position: relative; position: relative;
height: 112rpx; height: 112rpx;
margin-top: 680rpx;
border-radius: 32rpx; border-radius: 32rpx;
font-weight: 600; font-weight: 600;
color: #15141F !important; color: #15141F !important;
@ -124,6 +128,32 @@
} }
.bodyApp{
overflow: hidden;
margin-top: 200rpx !important;
padding: 0 64rpx;
.input {
height: 112rpx;
line-height: 112rpx;
background: #211F32;
margin: 32rpx 0;
border-radius: 32rpx;
padding-left: 32rpx !important;
}
.button {
position: relative;
height: 112rpx;
border-radius: 32rpx;
font-weight: 600;
color: #15141F !important;
font-size: 32rpx !important;
}
}
} }
</style> </style>

2
pages/me/donateRecord.vue

@ -87,7 +87,7 @@
} else { } else {
this.isLoadMore = true this.isLoadMore = true
this.loadStatus = 'nomore' this.loadStatus = 'nomore'
this.userInfoObj = [] // this.userInfoObj = []
} }
this.$forceUpdate() this.$forceUpdate()

247
pages/me/index.vue

@ -1,5 +1,12 @@
<template> <template>
<!-- #ifdef APP-PLUS -->
<view class="main"> <view class="main">
<!-- #endif -->
<!-- #ifdef H5 -->
<view class="mainH5">
<!-- #endif -->
<view class="contentBody"> <view class="contentBody">
<!-- 用户头像和id --> <!-- 用户头像和id -->
<view class="userInfo"> <view class="userInfo">
@ -32,18 +39,18 @@
<view class="balanceRow"> <view class="balanceRow">
<!-- 可用余额 --> <!-- 可用余额 -->
<view class="item"> <view class="item">
<view class="number">{{userInfoBalance.balance || 0 }} <text style="font-size: 24rpx;">{{coinTypeInfo.system_cropto_code}}</text> </view>
<view class="title">{{ i18n.Balance }}</view> <view class="title">{{ i18n.Balance }}</view>
<view class="number">{{userInfoBalance.balance || 0 }} </view>
</view> </view>
<!-- 质押余额 --> <!-- 质押余额 -->
<view class="item"> <view class="item">
<view class="number">{{userInfoBalance.pledge || 0 }} <text style="font-size: 24rpx;">{{coinTypeInfo.system_cropto_code}}</text></view>
<view class="title">{{ i18n.Pledge }}</view> <view class="title">{{ i18n.Pledge }}</view>
<view class="number">{{userInfoBalance.pledge || 0 }}</view>
</view> </view>
<!-- 合约余额 --> <!-- 合约余额 -->
<view class="item"> <view class="item">
<view class="number">{{userInfoBalance.contract || 0 }} <text style="font-size: 24rpx;">{{coinTypeInfo.system_cropto_code}}</text></view>
<view class="title">{{ i18n.Contarct }}</view> <view class="title">{{ i18n.Contarct }}</view>
<view class="number">{{userInfoBalance.contract || 0 }} </view>
</view> </view>
</view> </view>
<!-- General --> <!-- General -->
@ -322,23 +329,243 @@
background: #323045; background: #323045;
border-radius: 52rpx; border-radius: 52rpx;
box-sizing: border-box; box-sizing: border-box;
padding: 20rpx 32rpx;
.item {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 30rpx;
.number {
font-size: 44rpx;
}
&:last-child{
margin-bottom: 0rpx;
}
.title {
font-size: 28rpx;
}
}
}
.GeneralPart {
.General {
font-size: 28rpx;
color: #A1A0A8;
}
.list {
font-size: #fff;
.item {
position: relative;
height: 116rpx;
font-size: 32rpx;
line-height: 116rpx;
border-bottom: 2rpx solid #323045;
&::after {
display: block;
position: absolute;
content: '';
background-image: url(../../static/me/arrow-right.png);
background-repeat: no-repeat;
background-size: 48rpx;
width: 48rpx;
height: 48rpx;
top: 32rpx;
right: 0rpx;
}
&:last-child {
border-bottom: none;
}
}
}
}
.logOutButton {
position: relative;
margin-top: 14rpx;
height: 112rpx;
line-height: 112rpx;
border-radius: 32rpx;
font-size: 36rpx;
color: #A1A0A8 !important;
.title {
padding-left: 80rpx;
&::before {
display: block;
position: absolute;
content: '';
background-image: url(../../static/me/ic_logout.png);
background-repeat: no-repeat;
background-size: 48rpx;
width: 48rpx;
height: 48rpx;
top: 30rpx;
left: 220rpx;
}
}
}
}
}
.mainH5{
padding-top: 0rpx;
padding-bottom: 198rpx; // TabBar
.contentBody {
box-sizing: border-box;
width: 100%;
background: #211F32;
border-radius: 64rpx 64rpx 0 0;
padding: 44rpx 48rpx;
overflow: hidden;
.userInfo {
height: 168rpx;
display: flex;
flex-wrap: wrap;
.headImg {
height: 160rpx;
width: 160rpx;
border-radius: 160rpx;
border: 4rpx solid #F6A609;
}
.idAndAccount {
margin-left: 40rpx;
flex: 1;
.id {
height: 56rpx;
// width: 400rpx;
font-weight: 600;
font-size: 40rpx;
margin: 16rpx 0;
}
.account {
position: relative;
// height: 56rpx;
line-height: 46rpx;
width: 390rpx;
overflow: hidden;
background: rgba(255, 188, 31, 0.1);
border-radius: 16rpx;
font-size: 24rpx;
color: #FFBC1F;
text-align: left;
padding: 4rpx 10rpx 8rpx 40rpx;
// ...
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box; //
word-wrap: break-word;
white-space: normal !important;
-webkit-line-clamp: 2; //
-webkit-box-orient: vertical;
&::before {
display: block;
position: absolute;
content: '';
background-image: url(../../static/me/ranking.png);
background-repeat: no-repeat;
background-size: 32rpx;
width: 32rpx;
height: 32rpx;
top: 12rpx;
left: 10rpx;
}
}
}
}
.btnDiv {
margin: 32rpx 0;
.item { .item {
display: inline-block; display: inline-block;
width: 218rpx; width: 200rpx;
height: 200rpx; height: 190rpx;
text-align: center; text-align: center;
background: #323045;
border-radius: 52rpx;
box-sizing: border-box;
.img {
.number { height: 64rpx;
width: 64rpx;
margin: 32rpx auto; margin: 32rpx auto;
font-size: 48rpx; background-image: url(../../static/me/ic_u_recharge.png);
background-repeat: no-repeat;
background-size: 64rpx;
}
&:nth-child(2) {
margin: 0 26rpx;
.img {
background-image: url(../../static/me/ic_u_withdrawal.png);
}
}
&:nth-child(3) .img {
background-image: url(../../static/me/ic_u_transfer.png);
}
.title {
font-size: 26rpx;
}
}
}
.balanceRow {
margin: 32rpx 0;
background: #323045;
border-radius: 52rpx;
box-sizing: border-box;
padding: 20rpx 32rpx;
.item {
display: flex; display: flex;
justify-content: space-between;
align-items: center; align-items: center;
justify-content: center; margin-bottom: 30rpx;
.number {
font-size: 44rpx;
} }
&:last-child{
margin-bottom: 0rpx;
}
.title { .title {
font-size: 28rpx; font-size: 28rpx;

81
pages/me/myTeam.vue

@ -41,23 +41,17 @@
</tr> </tr>
</thead> </thead>
<tbody class="tbody"> <tbody class="tbody">
<tr> <tr v-for="item,index in userInfoObj" :key="index">
<td>98374354705</td> <td>{{item.email}}</td>
<td>349849</td> <td v-if="curNow==0">{{item.tranAmt}}{{coinTypeInfo.system_coin_code}}</td>
<td>2021.10.14</td> <td v-if="curNow==1">{{item.amount}}{{coinTypeInfo.system_coin_code}}</td>
</tr> <td>{{item.timestr}}</td>
<tr>
<td>98374354705</td>
<td>349849</td>
<td>2021.10.14</td>
</tr>
<tr>
<td>98374354705</td>
<td>349849</td>
<td>2021.10.14</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<u-empty :text="i18n.Dataisempty" mode="data" v-if="userInfoObj.length==0"></u-empty>
<u-loadmore :status="loadStatus" :loading-text="loadingText" :loadmore-text="loadmoreText"
:nomore-text="nomoreText" v-if="userInfoObj.length" height="80" />
</view> </view>
</view> </view>
</view> </view>
@ -93,6 +87,10 @@
i18n() { i18n() {
return this.$t("me"); return this.$t("me");
}, },
//
coinTypeInfo(){
return uni.getStorageSync('coinTypeInfo')
}
}, },
onReachBottom() { onReachBottom() {
if (!this.isLoadMore) { if (!this.isLoadMore) {
@ -106,10 +104,60 @@
}, },
onShow() {}, onShow() {},
methods: { methods: {
//
reset(){
this.form={
pageNumber: 1,
pageSize: 20,
}
this.isLoadMore=false //
this.loadStatus='loadmore'
this.loadingText=this.$t("login").toload
this.loadmoreText=this.$t("login").pullup
this.nomoreText=this.$t("login").Nomore
this.userInfoObj=[]
},
// //
getList() { getList() {
this.isLoadMore = true this.isLoadMore = true
api.promotionRecords(this.form).then(res => { api.promotionRecords(this.form).then(res => {
if (res.content.length) {
if (this.form.pageNumber > 1) {
this.userInfoObj = this.userInfoObj.concat(res.content)
for (var i = 0; i < this.userInfoObj.length; i++) {
if (this.userInfoObj[i].addTime) {
this.userInfoObj[i].timestr = this.$index.formatyymmddhhmmss(this.userInfoObj[
i].addTime)
}
}
} else {
this.userInfoObj = res.content
for (var i = 0; i < this.userInfoObj.length; i++) {
if (this.userInfoObj[i].addTime) {
this.userInfoObj[i].timestr = this.$index.formatyymmddhhmmss(this.userInfoObj[
i].addTime)
}
}
}
if (this.userInfoObj.length >= Number(res.totalElements)) { //
this.isLoadMore = true
this.loadStatus = 'nomore'
} else {
this.isLoadMore = false
}
} else {
this.isLoadMore = true
this.loadStatus = 'nomore'
// this.userInfoObj = []
}
this.$forceUpdate()
})
},
//
getListRecord(){
this.isLoadMore = true
api.bonusRecords(this.form).then(res => {
if (res.content.length) { if (res.content.length) {
if (this.form.pageNumber > 1) { if (this.form.pageNumber > 1) {
this.userInfoObj = this.userInfoObj.concat(res.content) this.userInfoObj = this.userInfoObj.concat(res.content)
@ -152,6 +200,11 @@
}, },
sectionChange(index) { sectionChange(index) {
this.curNow = index; this.curNow = index;
if(this.curNow==0){
this.getList()
}else{
this.getListRecord()
}
} }
}, },
} }

70
pages/me/notification.vue

@ -2,7 +2,12 @@
<view class="main"> <view class="main">
<!-- nav --> <!-- nav -->
<navigation>{{ i18n.Notification }}</navigation> <navigation>{{ i18n.Notification }}</navigation>
<!-- #ifdef H5 -->
<view class="bodyH5">
<!-- #endif -->
<!-- #ifdef APP-PLUS -->
<view class="body"> <view class="body">
<!-- #endif -->
<view class="userItem" v-for="(item, index) in userInfoObj" :key="index" @click="gotoDetails(item.id)"> <view class="userItem" v-for="(item, index) in userInfoObj" :key="index" @click="gotoDetails(item.id)">
<u-icon class="icon" :name="'../../static/home/ic_proclamation.png'" size="60rpx" width="60rpx"> <u-icon class="icon" :name="'../../static/home/ic_proclamation.png'" size="60rpx" width="60rpx">
</u-icon> </u-icon>
@ -104,7 +109,7 @@
.body { .body {
overflow: hidden; overflow: hidden;
margin-top: 200rpx; margin-top: 200rpx !important;
padding: 0 24rpx; padding: 0 24rpx;
.userItem { .userItem {
@ -163,5 +168,68 @@
} }
.bodyH5{
overflow: hidden;
margin-top: 100rpx !important;
padding: 0 24rpx;
.userItem {
position: relative;
background: #211F32;
border-radius: 32rpx;
display: flex;
margin-top: 32rpx;
height: 218rpx;
overflow: hidden;
box-sizing: border-box;
.icon {
height: 60rpx;
margin-left: 20rpx;
margin-right: 12rpx;
margin-top: 20rpx;
}
.content {
overflow: hidden;
margin-top: 20rpx;
height: 218rpx;
.title {
width: 574rpx;
height: 116rpx;
font-size: 28rpx;
padding-right: 36rpx;
// ...
overflow: hidden;
text-overflow: ellipsis;
word-wrap: break-word;
display: -webkit-box; //
white-space: normal !important;
-webkit-line-clamp: 3; //
-webkit-box-orient: vertical;
}
.date {
width: 610rpx;
height: 64rpx;
line-height: 64rpx;
font-size: 28rpx;
color: #A1A0A8;
border-top: 1px solid #323045;
margin-top: 16rpx;
}
}
}
}
} }
</style> </style>

56
pages/me/notificationDetails.vue

@ -3,14 +3,26 @@
<!-- nav --> <!-- nav -->
<navigation>{{ i18n.NotificationDetails }}</navigation> <navigation>{{ i18n.NotificationDetails }}</navigation>
<view class="body"> <view class="body">
<view class="userItem"> <!-- #ifdef H5 -->
<view class="userItemH5">
<view class="content"> <view class="content">
<view class="title">{{detail.title}}</view> <view class="title">{{detail.title}}</view>
<view class="article" v-html="detail.content"></view> <view class="article" v-html="detail.content"></view>
<view class="date">{{ i18n.Release }}: {{detail.timestr}}</view>
</view>
</view>
<!-- #endif -->
<!-- #ifdef APP-PLUS -->
<view class="userItem">
<view class="content">
<view class="title">{{detail.title}}</view>
<view class="article" v-html="detail.content"></view>
<view class="date">{{ i18n.Release }}: {{detail.timestr}}</view> <view class="date">{{ i18n.Release }}: {{detail.timestr}}</view>
</view> </view>
</view> </view>
<!-- #endif -->
</view> </view>
</view> </view>
</template> </template>
@ -51,10 +63,9 @@
.body { .body {
overflow: hidden; overflow: hidden;
margin-top: 200rpx;
padding: 0 24rpx; padding: 0 24rpx;
.userItem { .userItemH5{
position: relative; position: relative;
background: #211F32; background: #211F32;
border-radius: 32rpx; border-radius: 32rpx;
@ -91,6 +102,45 @@
} }
} }
}
.userItem {
position: relative;
background: #211F32;
border-radius: 32rpx;
margin-top: 130rpx;
overflow: hidden;
box-sizing: border-box;
.content {
overflow: hidden;
.title {
width: 640rpx;
font-size: 28rpx;
padding: 20rpx 32rpx;
}
.article {
border-top: 2rpx solid #323045;
padding: 20rpx 32rpx;
font-size: 28rpx;
color: #A1A0A8;
}
.date {
width: 610rpx;
height: 64rpx;
line-height: 64rpx;
font-size: 28rpx;
color: #A1A0A8;
border-top: 2rpx solid #323045;
margin-top: 16rpx;
padding: 0 32rpx;
}
}

6
pages/me/transfer.vue

@ -3,7 +3,13 @@
<!-- nav --> <!-- nav -->
<navigation>{{ i18n.Transfer }}</navigation> <navigation>{{ i18n.Transfer }}</navigation>
<view class="body"> <view class="body">
<!-- #ifdef APP-PLUS -->
<view class="form"> <view class="form">
<!-- #endif -->
<!-- #ifdef H5 -->
<view class="form" style="margin-top: 150rpx;">
<!-- #endif -->
<!-- coin选择框 --> <!-- coin选择框 -->
<view class="text">{{ i18n.SelectCurrency }}</view> <view class="text">{{ i18n.SelectCurrency }}</view>
<view class="input-item"> <view class="input-item">

15
pages/me/walletHistory.vue

@ -3,7 +3,13 @@
<!-- nav --> <!-- nav -->
<navigation>{{ i18n.WalletHistory }}</navigation> <navigation>{{ i18n.WalletHistory }}</navigation>
<!-- headBtn --> <!-- headBtn -->
<!-- #ifdef H5 -->
<view class="head" style="margin-top: 100rpx;">
<!-- #endif -->
<!-- #ifdef APP-PLUS -->
<view class="head"> <view class="head">
<!-- #endif -->
<view class="headItem" @click="getType('exchange')" :class="{ select: form.ways === 'exchange' }"> <view class="headItem" @click="getType('exchange')" :class="{ select: form.ways === 'exchange' }">
{{ i18n.Balance }} {{ i18n.Balance }}
</view> </view>
@ -95,6 +101,11 @@
}, },
methods: { methods: {
getType(type){ getType(type){
this.userInfoObj=[]
this.form={
pageNumber: 1,
pageSize: 20,
}
this.form.ways=type this.form.ways=type
this.getRecordList() this.getRecordList()
}, },
@ -117,7 +128,7 @@
} else { } else {
this.isLoadMore = true this.isLoadMore = true
this.loadStatus = 'nomore' this.loadStatus = 'nomore'
this.userInfoObj = [] // this.userInfoObj = []
} }
this.$forceUpdate() this.$forceUpdate()
@ -134,7 +145,7 @@
.main { .main {
.head { .head {
margin-top: 200rpx; margin-top: 160rpx;
margin-left: 60rpx; margin-left: 60rpx;
width: 632rpx; width: 632rpx;
display: flex; display: flex;

2
pages/mine/mineRecord.vue

@ -100,7 +100,7 @@ export default {
} else { } else {
this.isLoadMore = true this.isLoadMore = true
this.loadStatus = 'nomore' this.loadStatus = 'nomore'
this.userInfoObj = [] // this.userInfoObj = []
} }
this.$forceUpdate() this.$forceUpdate()
}) })

9
pages/recharge/recharge.vue

@ -7,7 +7,14 @@
</view> </view>
</navigation> </navigation>
<!-- headBtn --> <!-- headBtn -->
<!-- #ifdef H5 -->
<view class="head" style="margin-top: 120rpx;">
<!-- #endif -->
<!-- #ifdef APP-PLUS -->
<view class="head"> <view class="head">
<!-- #endif -->
<view class="headItem" @click="pageState = 'crypto',getRechargeInfo()" <view class="headItem" @click="pageState = 'crypto',getRechargeInfo()"
:class="{ select: pageState === 'crypto' }"> :class="{ select: pageState === 'crypto' }">
{{ i18n.CoinRecharge }} {{ i18n.CoinRecharge }}
@ -244,7 +251,7 @@
content: value, content: value,
success: (res) => { success: (res) => {
uni.showToast({ uni.showToast({
title: "复制成功", title: this.$t("login").copySuccess,
duration: 3000, duration: 3000,
}) })
}, },

13
pages/recharge/rechargeRecord.vue

@ -3,7 +3,13 @@
<!-- nav --> <!-- nav -->
<navigation>{{ i18n.RechargeRecord }}</navigation> <navigation>{{ i18n.RechargeRecord }}</navigation>
<!-- headBtn --> <!-- headBtn -->
<!-- #ifdef APP-PLUS -->
<view class="head"> <view class="head">
<!-- #endif -->
<!-- #ifdef H5 -->
<view class="head" style="margin-top: 100rpx;">
<!-- #endif -->
<view class="headItem" @click="form.type = 'crypto',getList()" <view class="headItem" @click="form.type = 'crypto',getList()"
:class="{ select: form.type === 'crypto' }"> :class="{ select: form.type === 'crypto' }">
{{ i18n.CoinRecharge }} {{ i18n.CoinRecharge }}
@ -127,6 +133,9 @@
console.log(e); console.log(e);
}, },
getList() { getList() {
this.form.pageNumber=1
this.form.pageSize=20
this.userInfoObj=[],
this.isLoadMore = true this.isLoadMore = true
api.rechargeList(this.form).then(res => { api.rechargeList(this.form).then(res => {
if (res.content.length) { if (res.content.length) {
@ -156,7 +165,7 @@
} else { } else {
this.isLoadMore = true this.isLoadMore = true
this.loadStatus = 'nomore' this.loadStatus = 'nomore'
this.userInfoObj = [] // this.userInfoObj = []
} }
this.$forceUpdate() this.$forceUpdate()
}) })
@ -170,7 +179,7 @@
.main { .main {
.head { .head {
margin-top: 200rpx; margin-top: 160rpx;
margin-left: 60rpx; margin-left: 60rpx;
width: 632rpx; width: 632rpx;
display: flex; display: flex;

67
pages/subscription/index.vue

@ -1,7 +1,13 @@
<template> <template>
<view class="main"> <view class="main">
<!-- nav --> <!-- nav -->
<!-- #ifdef APP-PLUS -->
<view class="nav-head"> <view class="nav-head">
<!-- #endif -->
<!-- #ifdef H5 -->
<view class="nav-head-H5">
<!-- #endif -->
<view class="navItem" @click="pageState = 'product',getInfo('product')" <view class="navItem" @click="pageState = 'product',getInfo('product')"
:class="{ select: pageState === 'product' }"> :class="{ select: pageState === 'product' }">
{{ i18n.Product }} {{ i18n.Product }}
@ -15,8 +21,14 @@
{{ i18n.Complete }} {{ i18n.Complete }}
</view> </view>
</view> </view>
<!-- Product 产品列表 -->
<!-- #ifdef APP-PLUS -->
<view class="cardList"> <view class="cardList">
<!-- #endif -->
<!-- #ifdef H5 -->
<view class="cardListH5">
<!-- #endif -->
<view class="card" v-for="(item, index) in info" :key="index" @click="gotoDetails(item,index)" <view class="card" v-for="(item, index) in info" :key="index" @click="gotoDetails(item,index)"
v-if="pageState === 'product'"> v-if="pageState === 'product'">
<!-- 卡片条件渲染 --> <!-- 卡片条件渲染 -->
@ -70,7 +82,7 @@
:nomore-text="nomoreText" v-if="info.length&&pageState=='product'" height="80" /> :nomore-text="nomoreText" v-if="info.length&&pageState=='product'" height="80" />
<!-- 申购记录的为空提示 --> <!-- 申购记录的为空提示 -->
<u-empty :text="i18n.Dataisempty" mode="data" v-if="userInfoObj.length==0" v-show="pageState=='undone'||pageState=='complete'"></u-empty> <u-empty :text="i18n.Dataisempty" mode="data" v-if="userInfoObj.length==0" v-show="pageState=='pending'||pageState=='complete'"></u-empty>
<u-loadmore :status="loadStatus2" :loading-text="loadingText2" :loadmore-text="loadmoreText2" <u-loadmore :status="loadStatus2" :loading-text="loadingText2" :loadmore-text="loadmoreText2"
:nomore-text="nomoreText2" v-if="userInfoObj.length" height="80" /> :nomore-text="nomoreText2" v-if="userInfoObj.length" height="80" />
@ -173,7 +185,7 @@
} else { } else {
this.isLoadMore2 = true this.isLoadMore2 = true
this.loadStatus2 = 'nomore' this.loadStatus2 = 'nomore'
this.userInfoObj = [] // this.userInfoObj = []
} }
this.$forceUpdate() this.$forceUpdate()
}) })
@ -251,6 +263,38 @@
} }
.nav-head-H5{
overflow: hidden;
position: fixed;
top: 0rpx;
height: 80rpx;
font-size: 24rpx;
color: #fff;
display: flex;
justify-content: space-around;
align-items: center;
z-index: 8;
background-color: #15141F;
padding: 34rpx 48rpx 0;
.navItem {
width: 218rpx;
height: 80rpx;
line-height: 80rpx;
text-align: center;
color: #0b7e60;
font-size: 28rpx;
border-bottom: 10rpx solid #0b7e60;
}
.select {
color: #00E8A2;
border-bottom: 10rpx solid #00E8A2;
}
}
.cardList { .cardList {
margin-top: 212rpx; margin-top: 212rpx;
@ -271,6 +315,23 @@
.cardListH5{
margin-top: 142rpx;
.card {
background: #211F32;
border-radius: 32rpx;
margin: 32rpx;
.dataBody {
box-sizing: border-box;
padding: 32rpx;
}
}
}
} }

2
pages/withdrawal/addAddress.vue

@ -188,7 +188,7 @@ export default {
content: value, content: value,
success: (res) => { success: (res) => {
uni.showToast({ uni.showToast({
title: "复制成功", title: this.$t("login").copySuccess,
duration: 3000, duration: 3000,
}) })
}, },

56
pages/withdrawal/addOrEditBankCard.vue

@ -2,7 +2,13 @@
<view class="main"> <view class="main">
<!-- nav --> <!-- nav -->
<navigation>{{ pageState === 'addBank' ? i18n.AddBankInformation : i18n.EditBankInformation }}</navigation> <navigation>{{ pageState === 'addBank' ? i18n.AddBankInformation : i18n.EditBankInformation }}</navigation>
<!-- #ifdef APP-PLUS -->
<view class="content"> <view class="content">
<!-- #endif -->
<!-- #ifdef H5 -->
<view class="contentH5">
<!-- #endif -->
<u--form class="form" :model="bankInfo" :rules="rules" ref="uForm" errorType="toast"> <u--form class="form" :model="bankInfo" :rules="rules" ref="uForm" errorType="toast">
<view class="inputBody"> <view class="inputBody">
<view class="title">{{ i18n.FirstName }}</view> <view class="title">{{ i18n.FirstName }}</view>
@ -207,5 +213,55 @@
} }
} }
.contentH5{
margin-top: 100rpx;
padding: 32rpx;
.inputBody {
overflow: hidden;
background: #211F32;
border-radius: 32rpx;
padding: 32rpx;
margin-bottom: 32rpx;
.title {
font-size: 32rpx;
color: #A1A0A8;
margin-bottom: 20rpx;
}
.input-item {
height: 112rpx;
background: #323045;
border-radius: 32rpx;
padding-left: 40rpx;
margin-bottom: 20rpx;
.input {
height: 112rpx;
}
}
}
.button {
position: fixed;
bottom: 40rpx;
width: 686rpx;
box-sizing: border-box;
height: 112rpx;
background: #00E8A2;
border-radius: 32rpx;
font-weight: 700;
font-size: 32rpx;
color: #15141F !important;
}
}
} }
</style> </style>

11
pages/withdrawal/chooseAddress.vue

@ -7,7 +7,14 @@
}} }}
</view> </view>
</navigation> </navigation>
<!-- #ifdef APP-PLUS -->
<view class="content"> <view class="content">
<!-- #endif -->
<!-- #ifdef H5 -->
<view class="content" style="margin-top: 100rpx;">
<!-- #endif -->
<view class="message-item"> <view class="message-item">
{{ i18n.message4 }} {{ i18n.message4 }}
</view> </view>
@ -136,7 +143,7 @@
} else { } else {
this.isLoadMore = true this.isLoadMore = true
this.loadStatus = 'nomore' this.loadStatus = 'nomore'
this.userInfoObj = [] // this.userInfoObj = []
} }
this.$forceUpdate() this.$forceUpdate()
}) })
@ -334,8 +341,6 @@
.buttonBg { .buttonBg {
position: fixed; position: fixed;
bottom: 0rpx; bottom: 0rpx;
background-color: #15141F;
.button { .button {
width: 670rpx; width: 670rpx;
box-sizing: border-box; box-sizing: border-box;

8
pages/withdrawal/withdrawal.vue

@ -8,7 +8,13 @@
</view> </view>
</navigation> </navigation>
<!-- headBtn --> <!-- headBtn -->
<!-- #ifdef H5 -->
<view class="head" style="margin-top: 100rpx;">
<!-- #endif -->
<!-- #ifdef APP-PLUS -->
<view class="head"> <view class="head">
<!-- #endif -->
<view class="headItem" @click="pageState = 'crypto',getWithConfig()" <view class="headItem" @click="pageState = 'crypto',getWithConfig()"
:class="{ select: pageState === 'crypto' }"> :class="{ select: pageState === 'crypto' }">
{{ i18n.DigitalCurrency }} {{ i18n.DigitalCurrency }}
@ -353,7 +359,7 @@
content: value, content: value,
success: (res) => { success: (res) => {
uni.showToast({ uni.showToast({
title: "复制成功", title: this.$t("login").copySuccess,
duration: 3000, duration: 3000,
}) })
}, },

8
pages/withdrawal/withdrawalRecord.vue

@ -3,7 +3,13 @@
<!-- nav --> <!-- nav -->
<navigation>{{ i18n.WithdrawalRecord }}</navigation> <navigation>{{ i18n.WithdrawalRecord }}</navigation>
<!-- headBtn --> <!-- headBtn -->
<!-- #ifdef H5 -->
<view class="head" style="margin-top: 100rpx;">
<!-- #endif -->
<!-- #ifdef APP-PLUS -->
<view class="head"> <view class="head">
<!-- #endif -->
<view class="headItem" @click="form.type = 'crypto',getList()" <view class="headItem" @click="form.type = 'crypto',getList()"
:class="{ select: form.type === 'crypto' }"> :class="{ select: form.type === 'crypto' }">
{{ i18n.DigitalCurrency }} {{ i18n.DigitalCurrency }}
@ -163,7 +169,7 @@
} else { } else {
this.isLoadMore = true this.isLoadMore = true
this.loadStatus = 'nomore' this.loadStatus = 'nomore'
this.userInfoObj = [] // this.userInfoObj = []
} }
this.$forceUpdate() this.$forceUpdate()
}) })

23
utils/index.js

@ -50,7 +50,7 @@ var utils = {
var localTime = date.getTime() var localTime = date.getTime()
var localOffset = date.getTimezoneOffset() * 60000 //获得当地时间偏移的毫秒数 var localOffset = date.getTimezoneOffset() * 60000 //获得当地时间偏移的毫秒数
var utc = localTime + localOffset; //utc即GMT时间 var utc = localTime + localOffset; //utc即GMT时间
var offset = 8 //东8区 var offset = uni.getStorageSync('coinTypeInfo').system_timezone //时区拿接口的
var beijing = utc + (3600000 * offset); var beijing = utc + (3600000 * offset);
date = new Date(beijing) date = new Date(beijing)
var Y = date.getFullYear() var Y = date.getFullYear()
@ -60,8 +60,27 @@ var utils = {
var m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes() var m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()
var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds() 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 Y + '/' + M + '/' + D + ' ' + h + ':' + m + ':' + s; return D + '/' + M + '/' + Y + ' ' + h + ':' + m + ':' + s;
}, },
getformatyymmddhhmmss: function(time) {
var date = new Date(time)
var localTime = date.getTime()
var localOffset = date.getTimezoneOffset() * 60000 //获得当地时间偏移的毫秒数
var utc = localTime + localOffset; //utc即GMT时间
var offset = uni.getStorageSync('coinTypeInfo').system_timezone //时区拿接口的
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 + ':' + s;
return D + '-' + M + ' ' + h + ':' + m + ':' + s;
},
formathhmm: function(time) { formathhmm: function(time) {
var date = new Date(time) var date = new Date(time)
var localTime = date.getTime(); var localTime = date.getTime();

4
utils/language/en_US.js

@ -85,6 +85,10 @@ export default {
Subcription: 'Subcription', Subcription: 'Subcription',
TodaySteps: "Today's steps", TodaySteps: "Today's steps",
ReceiveEarnings: "Receive yesterday's earnings", ReceiveEarnings: "Receive yesterday's earnings",
WarmTips: 'Warm Tips',
WarmTipsText: 'Are you sure to receive?',
Cancel: 'Cancel',
Confirm: 'Confirm',
}, },

5
utils/language/vi_VN.js

@ -83,7 +83,10 @@ export default {
Subcription: 'Đăng ký', Subcription: 'Đăng ký',
TodaySteps: "Các bước hôm nay", TodaySteps: "Các bước hôm nay",
ReceiveEarnings: "Nhận thu nhập của ngày hôm qua", ReceiveEarnings: "Nhận thu nhập của ngày hôm qua",
WarmTips: 'Cáo nóng',
WarmTipsText: 'Anh có chắc nhận được không?',
Cancel: 'Thôi',
Confirm: 'Xác nhận',
}, },

9
utils/language/zh_TW.js

@ -21,7 +21,7 @@ export default {
Insufficient:'可用餘額不足', Insufficient:'可用餘額不足',
pullup:'輕輕拉起', pullup:'輕輕拉起',
toload:'嘗試加載', toload:'嘗試加載',
Nomore:'不再', Nomore:'沒有更多了',
// 公共字段 // 公共字段
Login: '登錄', Login: '登錄',
SignUp: '報名', SignUp: '報名',
@ -83,7 +83,10 @@ export default {
Subcription: '訂閱', Subcription: '訂閱',
TodaySteps: "今天的步数", TodaySteps: "今天的步数",
ReceiveEarnings: "接收昨天的收益", ReceiveEarnings: "接收昨天的收益",
WarmTips: '溫馨提示',
WarmTipsText: '您確定要收到嗎?',
Cancel: '取消',
Confirm: '確認',
}, },
@ -355,7 +358,7 @@ export default {
Pledge: '保證(U)', Pledge: '保證(U)',
Contarct: '合約(U)', Contarct: '合約(U)',
General: '一般', General: '通用',
InviteFriends: '邀請朋友', InviteFriends: '邀請朋友',
AccountInfo: '帳戶信息', AccountInfo: '帳戶信息',
MyTeam: '我的團隊', MyTeam: '我的團隊',

2
utils/qrCode/wxqrcode.js

@ -1590,7 +1590,7 @@ var createImgTag = function(width, height, getPixel, alt) {
var createQrCodeImg = function(text, options) { var createQrCodeImg = function(text, options) {
console.log(text, options) console.log(text, options)
options = options || {}; options = options || {};
var typeNumber = options.typeNumber || 7; var typeNumber = options.typeNumber || 10;
var errorCorrectLevel = options.errorCorrectLevel || 'M'; var errorCorrectLevel = options.errorCorrectLevel || 'M';
var size = options.size || 500; var size = options.size || 500;

Loading…
Cancel
Save