feat: 前端全量更新 - 含所有本次需求
- 移除秒合约页面及UI - 合约页Tab改为Position Held/Transaction Record - 存款/提款/转账页增加BTC/ETH - 资产页重构(用户信息+盈亏+多语言) - 注册页改版(匹配新设计稿) - 日文全面翻译+首页菜单多语言 - 代理专属注册链接支持(?code=) - 10个locale文件同步更新
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
<template>
|
||||
<view class="">
|
||||
<!-- <myNav :title="titleName"></myNav> -->
|
||||
<u-navbar :title="titleName" z-index="10100" back-icon-color="#FFFFFF" title-color="#fff" :background="{ background: '#080A17' }"
|
||||
height="55" :border-bottom="false" :custom-back="goHome"></u-navbar>
|
||||
<view class="">
|
||||
<web-view :src="src"></web-view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
components: {
|
||||
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
src: '',
|
||||
titleName: "",
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
i18n() {
|
||||
return this.$t('message');
|
||||
},
|
||||
},
|
||||
onLoad(option) {
|
||||
this.src = "/hybrid/html/h5.html?symbol=" + option.symbol + "&title=" + option.title + '&bb_type='+ option.bb_type + "&lang=" + uni.getStorageSync('Language') + '&h5_url='+ uni.getStorageSync('h5_url')
|
||||
this.titleName = option.title
|
||||
},
|
||||
onShow() {
|
||||
|
||||
},
|
||||
methods: {
|
||||
goHome() {
|
||||
uni.reLaunch({
|
||||
url: '/pages/index/index'
|
||||
});
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
</style>
|
||||
@@ -0,0 +1,619 @@
|
||||
<template>
|
||||
<view :style="'background-color: #080A17;color: #FFFFFF;'">
|
||||
<!-- <myNav :title="titleName" ></myNav> -->
|
||||
<u-navbar :title="titleName" z-index="10100" back-icon-color="#FFFFFF" title-color="#fff"
|
||||
:background="{ background: '#080A17' }" height="55" :border-bottom="false"></u-navbar>
|
||||
<view style="height: 60px;" class="flex align-center justify-between padding-w-30">
|
||||
<view class="flex-1 height-100 padding-c-8 flex direction-column align-start justify-between">
|
||||
<view :class="lastData.close>lastData.open?'color-00C481':'color-FF4040'" class="font-44 numbold-font">
|
||||
{{Number(lastData.close).toFixed(price_jd)||0}}
|
||||
</view>
|
||||
<view :class="lastData.close>lastData.open?'color-00C481':'color-FF4040'"
|
||||
class="font-28 nummedium-font">≈
|
||||
{{(Number(lastData.close)*exchange_rate).toFixed(price_jd)||0}} {{name_sx}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="flex-1 height-60 flex direction-column align-end justify-between">
|
||||
<view class="font-20 nummedium-font color-C3C3C3">
|
||||
{{i18n.line.highprice}}:{{Number(dayData.high).toFixed(price_jd)||0}}
|
||||
</view>
|
||||
<view class="font-20 nummedium-font color-C3C3C3">
|
||||
{{i18n.line.lowprice}}:{{Number(dayData.low).toFixed(price_jd)||0}}
|
||||
</view>
|
||||
<!-- <view class="font-20 nummedium-font color-C3C3C3">24h交易额:{{(lastData.close*6.25*lastData.amount/100000000).toFixed(2)}}亿</view> -->
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- #ifdef H5 -->
|
||||
<!-- <view class="width-100b text-center" style="border: 1rpx solid #EDEDED;" :style="{ 'height': h5Height + 'px' }">
|
||||
<text class="font-26 color-C3C3C3">请在app上查看</text>
|
||||
</view> -->
|
||||
<!-- #endif -->
|
||||
<view :style="{ 'height': h5Height + 'px' }"></view>
|
||||
|
||||
<view class="list">
|
||||
<view class="height-72 padding-w-40 flex align-center justify-between">
|
||||
<view @click="tabsChange(index)"
|
||||
class="flex-1 height-46 flex direction-column align-center justify-between"
|
||||
v-for="(item,index) in tablist" :key="index">
|
||||
<text :class="current==index?'color-0165EE':'color-C3C3C3'"
|
||||
class="bold-font font-26">{{item}}</text>
|
||||
<view :style="current==index?'':'visibility: hidden;'" class="heng"></view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 委托列表 -->
|
||||
<view v-if="current==0" class="">
|
||||
<view class="height-72 padding-w-30 flex align-center justify-between">
|
||||
<text class="font-24 nummedium-font color-00C481">{{i18n.line.buyP}}</text>
|
||||
<text class="font-24 nummedium-font color-C3C3C3">{{i18n.line.num}}</text>
|
||||
<text class="width-300 text-center font-24 nummedium-font color-C3C3C3">{{i18n.line.price}}</text>
|
||||
<text class="font-24 nummedium-font color-C3C3C3">{{i18n.line.num}}</text>
|
||||
<text class="font-24 nummedium-font color-FF4040">{{i18n.line.sellP}}</text>
|
||||
</view>
|
||||
<view class="padding-w-30 width-100b flex align-start justify-between">
|
||||
<view class="width-330 flex direction-column justify-start">
|
||||
<view v-if="index<10" class="height-72 flex align-center justify-between relative"
|
||||
v-for="(item,index) in tick.bids" :key="index">
|
||||
<text class="font-24 nummedium-font color-C3C3C3">{{index+1}}</text>
|
||||
<text class="font-24 nummedium-font color-C3C3C3">{{item[1] | numFilter}}</text>
|
||||
<text
|
||||
class="font-24 nummedium-font color-00C481">{{Number(item[0]).toFixed(price_jd)}}</text>
|
||||
<view class="right progress bj-E5F9F2"
|
||||
:style="'width:'+ dethWidth(index,item[1],tick.bids) +'%;'">
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="width-330 flex direction-column justify-start">
|
||||
<view v-if="index<10" class="height-72 flex align-center justify-between relative"
|
||||
v-for="(item,index) in tick.asks" :key="index">
|
||||
<text
|
||||
class="font-24 nummedium-font color-FF4040">{{Number(item[0]).toFixed(price_jd)}}</text>
|
||||
<text class="font-24 nummedium-font color-C3C3C3">{{item[1] | numFilter}}</text>
|
||||
<text class="font-24 nummedium-font color-C3C3C3">{{index+1}}</text>
|
||||
<view class="left progress bj-FFEBEB"
|
||||
:style="'width:'+ dethWidth(index,item[1],tick.asks) +'%;'">
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 信息 -->
|
||||
<view v-if="current==1" class="">
|
||||
<view class="listBox">
|
||||
<view class="flex align-center">
|
||||
<image class="width-42 height-42 radiu-50b" :src="coinInfo.logo_image" mode=""></image>
|
||||
<text class="font-26 numbold-font margin-l-10">{{coinInfo.name}}</text>
|
||||
</view>
|
||||
<!-- <text class="font-26 color-0165EE numbold-font">{{coinInfo.jys}}</text> -->
|
||||
</view>
|
||||
<!-- <view class="listBox">
|
||||
<text class="font-26 color-C3C3C3 numbold-font">{{i18n.line.ranking}}</text>
|
||||
<text class="font-26 nummedium-font">{{'NO.'}}{{coinInfo.level}}</text>
|
||||
</view> -->
|
||||
<!-- <view class="listBox">
|
||||
<text class="font-26 color-C3C3C3 numbold-font">{{i18n.line.value}}</text>
|
||||
<text class="font-26 nummedium-font">{{coinInfo.count_price}}</text>
|
||||
</view> -->
|
||||
<view class="listBox">
|
||||
<text class="font-26 color-C3C3C3 numbold-font">{{i18n.line.number}}</text>
|
||||
<text class="font-26 nummedium-font">{{coinInfo.liutong_num}}</text>
|
||||
</view>
|
||||
<view class="listBox">
|
||||
<text class="font-26 color-C3C3C3 numbold-font">{{i18n.line.supply}}</text>
|
||||
<text class="font-26 nummedium-font">{{coinInfo.gongji_num}}</text>
|
||||
</view>
|
||||
<view class="listBox">
|
||||
<text class="font-26 color-C3C3C3 numbold-font">{{i18n.line.allNum}}</text>
|
||||
<text class="font-26 nummedium-font">{{coinInfo.count_num}}</text>
|
||||
</view>
|
||||
<view class="listBox">
|
||||
<text class="font-26 color-C3C3C3 numbold-font">{{i18n.line.issuingDate}}</text>
|
||||
<text class="font-26 nummedium-font">{{coinInfo.faxin_time}}</text>
|
||||
</view>
|
||||
<view class="listBox">
|
||||
<text class="font-26 color-C3C3C3 numbold-font">{{i18n.line.issuePrice}}</text>
|
||||
<text class="font-26 nummedium-font">{{coinInfo.faxin_price}}</text>
|
||||
</view>
|
||||
<view @click="goURL(coinInfo.qukuai)" class="listBox1">
|
||||
<view class="width-180 height-66 line-height-66">
|
||||
<text class="font-26 color-C3C3C3 numbold-font">{{i18n.line.qukuai}}</text>
|
||||
</view>
|
||||
<view class="" style="width:480rpx;word-wrap:break-word;padding: 8rpx 0px;text-align: right;">
|
||||
<text class="font-26 color-0165EE nummedium-font">{{coinInfo.qukuai}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="listBox">
|
||||
<text class="font-26 color-C3C3C3 numbold-font">{{i18n.line.jieshao}}</text>
|
||||
</view>
|
||||
<view class="padding-w-30 padding-c-10 font-26">
|
||||
{{coinInfo.desc}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="height-140"></view>
|
||||
<view class="bottomBox">
|
||||
<button @click="goTabBar('buy')" class="cu-btn loginBtn"
|
||||
style="background-color: #04DC9B;">{{i18n.line.buyIn}}</button>
|
||||
<button @click="goTabBar('sell')" class="cu-btn loginBtn"
|
||||
style="background-color: #FF2B41;">{{i18n.line.sellout}}</button>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
var wv; //计划创建的webview
|
||||
export default {
|
||||
components: {
|
||||
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
Language: uni.getStorageSync('Language'),
|
||||
name_sx: '',
|
||||
src: '',
|
||||
titleName: "",
|
||||
symbol: '',
|
||||
exchange_rate: 6, //usdt汇率
|
||||
|
||||
tablist: ['委托订单', '信息'],
|
||||
current: 0,
|
||||
|
||||
coinInfo: {},
|
||||
|
||||
lastData: {
|
||||
amount: 0.000000,
|
||||
close: 0.000000,
|
||||
count: 0.000000,
|
||||
high: 0.000000,
|
||||
id: 1637307480,
|
||||
low: 0.000000,
|
||||
open: 0.000000,
|
||||
vol: 0.000000,
|
||||
},
|
||||
dayData: "",
|
||||
tick: "",
|
||||
|
||||
market_jd: 6,
|
||||
price_jd: 4,
|
||||
timer: null
|
||||
}
|
||||
},
|
||||
filters: {
|
||||
//过滤数字位数
|
||||
numFilter(item) {
|
||||
if (item == undefined || item == null) {
|
||||
return 0;
|
||||
} else {
|
||||
if (Number(item) < 10) {
|
||||
return Number(item).toFixed(6);
|
||||
} else if (Number(item) >= 10 && Number(item) < 1000) {
|
||||
return Number(item).toFixed(4);
|
||||
} else if (Number(item) >= 1000 && Number(item) < 1000000) {
|
||||
return (Number(item) / 1000).toFixed(4) + ' K';
|
||||
} else if (Number(item) >= 1000000 && Number(item) < 10000000000) {
|
||||
return (Number(item) / 1000000).toFixed(2) + ' M';
|
||||
} else {
|
||||
return (Number(item) / 10000000000).toFixed(2) + ' B';
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
i18n() {
|
||||
return this.$t('message');
|
||||
},
|
||||
h5Height() {
|
||||
return uni.getSystemInfoSync().windowWidth * 1.14 + 30;
|
||||
},
|
||||
topHeight() {
|
||||
return uni.getSystemInfoSync().statusBarHeight + 60 + 55;
|
||||
}
|
||||
},
|
||||
onLoad(option) {
|
||||
this.tablist = this.i18n.line.tablist
|
||||
this.titleName = option.title
|
||||
console.log('传入参数', option)
|
||||
if (option.symbol) {
|
||||
this.lastData.close = option.close
|
||||
this.symbol = option.symbol
|
||||
this.getCionInfo(option.symbol)
|
||||
this.getDay()
|
||||
getApp().globalData.symbol = this.symbol
|
||||
}
|
||||
let that = this;
|
||||
uni.getSystemInfo({
|
||||
success: function(res) { // console.log(res)
|
||||
// console.log(res.system.split(' ')[0])
|
||||
let system = res.system.split(' ')[0]
|
||||
if (system == 'iOS') {
|
||||
// K线网页
|
||||
that.src = "https://exchange.v5ico-kline.coddex.xyz/index.html?symbol=" + option.symbol +
|
||||
'&bb_type=' + option.bb_type + "&title=" + option.title + '&lang=' + uni
|
||||
.getStorageSync('Language')
|
||||
} else {
|
||||
that.src = "/hybrid/html/index.html?symbol=" + option.symbol + '&bb_type=' + option
|
||||
.bb_type + "&title=" + option.title + '&lang=' + uni.getStorageSync('Language')
|
||||
}
|
||||
}
|
||||
})
|
||||
// #ifdef APP-PLUS
|
||||
wv = plus.webview.create(this.src, 'custom-webview', {
|
||||
'kernel': 'WKWebview', //UIWebview或者'WKWebview'
|
||||
position: 'static',
|
||||
top: that.topHeight,
|
||||
left: '0px',
|
||||
width: '100%',
|
||||
height: that.h5Height,
|
||||
zindex: 900,
|
||||
});
|
||||
var currentWebview = this.$scope
|
||||
.$getAppWebview(); //此对象相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用plus.webview.currentWebview()无效,非v3编译模式使用this.$mp.page.$getAppWebview()
|
||||
currentWebview.append(wv); //一定要append到当前的页面里!!!才能跟随当前页面一起做动画,一起关闭
|
||||
// #endif
|
||||
},
|
||||
onShow() {
|
||||
this.onSocketMessage()
|
||||
this.linkSocket() //链接socket订阅
|
||||
uni.$on('reConnect', (res) => {
|
||||
console.log("重连WebSocket")
|
||||
this.onSocketMessage()
|
||||
})
|
||||
// this.getexchange()
|
||||
this.exchange_rate = uni.getStorageSync('ratenum')
|
||||
this.name_sx = uni.getStorageSync('ratename')
|
||||
|
||||
// #ifdef APP-PLUS
|
||||
// 确保WebView已经加载
|
||||
if (wv) {
|
||||
setTimeout(() => {
|
||||
// 向WebView发送最新数据
|
||||
if (this.dayData) {
|
||||
wv.evalJS(`
|
||||
if (typeof Event !== 'undefined') {
|
||||
Event.emit('newDay', ${JSON.stringify(this.dayData)});
|
||||
}
|
||||
`);
|
||||
}
|
||||
|
||||
if (this.lastData) {
|
||||
wv.evalJS(`
|
||||
if (typeof Event !== 'undefined') {
|
||||
Event.emit('realTime', ${JSON.stringify(this.lastData)});
|
||||
Event.emit('newData', ${JSON.stringify(this.lastData)});
|
||||
}
|
||||
`);
|
||||
}
|
||||
}, 1000);
|
||||
}
|
||||
// #endif
|
||||
},
|
||||
onUnload: function() {
|
||||
clearTimeout(this.timer)
|
||||
uni.$off('reConnect')
|
||||
this.cancelSocket() //取消socket订阅
|
||||
},
|
||||
methods: {
|
||||
onSocketMessage() {
|
||||
uni.$on('market', (res) => {
|
||||
// 解析并处理WebSocket消息
|
||||
try {
|
||||
if (res.ch && res.ch.includes(this.symbol) && res.tick) {
|
||||
// 更新最新交易数据
|
||||
this.lastData = res.tick;
|
||||
|
||||
// 如果是WebView显示K线,向WebView发送消息
|
||||
// #ifdef APP-PLUS
|
||||
if (wv) {
|
||||
// 向WebView发送处理好的K线数据
|
||||
wv.evalJS(`
|
||||
if (typeof Event !== 'undefined') {
|
||||
Event.emit('realTime', ${JSON.stringify(res.tick)});
|
||||
Event.emit('newData', ${JSON.stringify(res.tick)});
|
||||
}
|
||||
`);
|
||||
}
|
||||
// #endif
|
||||
}
|
||||
} catch (e) {
|
||||
console.error("处理WebSocket消息时出错:", e);
|
||||
}
|
||||
})
|
||||
},
|
||||
getDay() {
|
||||
this.post('/market/get_day_kline', {
|
||||
symbol: this.symbol
|
||||
}).then(res => {
|
||||
console.log('获取一天最高最低', res)
|
||||
if (res.code == 1) {
|
||||
this.dayData = res.data
|
||||
|
||||
// #ifdef APP-PLUS
|
||||
// 向WebView发送日K线数据
|
||||
if (wv) {
|
||||
wv.evalJS(`
|
||||
if (typeof Event !== 'undefined') {
|
||||
Event.emit('newDay', ${JSON.stringify(res.data)});
|
||||
}
|
||||
`);
|
||||
}
|
||||
// #endif
|
||||
|
||||
this.timer = setTimeout(() => {
|
||||
this.getDay()
|
||||
}, 10000)
|
||||
}
|
||||
})
|
||||
},
|
||||
getexchange() {
|
||||
let that = this
|
||||
this.post('/publics/exchange_list').then(res => {
|
||||
if (res.code == 1) {
|
||||
let data = res.data
|
||||
let cha = data.find(item => item.id == 2)
|
||||
|
||||
if (that.Language == 'zh-cn') {
|
||||
// that.exchange_rate=res.data
|
||||
let obj = data.find(item => item.id == 2)
|
||||
if (obj) {
|
||||
that.exchange_rate = obj.exchange
|
||||
that.name_sx = obj.name_sx
|
||||
}
|
||||
}
|
||||
if (that.Language == 'en-us') {
|
||||
// that.exchange_rate=res.data
|
||||
let obj = data.find(item => item.id == 4)
|
||||
if (obj) {
|
||||
that.exchange_rate = obj.exchange
|
||||
that.name_sx = obj.name_sx
|
||||
} else {
|
||||
that.exchange_rate = cha.exchange
|
||||
that.name_sx = cha.name_sx
|
||||
}
|
||||
}
|
||||
if (that.Language == 'mn') {
|
||||
// that.exchange_rate=res.data
|
||||
let obj = data.find(item => item.id == 11)
|
||||
if (obj) {
|
||||
that.exchange_rate = obj.exchange
|
||||
that.name_sx = obj.name_sx
|
||||
} else {
|
||||
that.exchange_rate = cha.exchange
|
||||
that.name_sx = cha.name_sx
|
||||
}
|
||||
}
|
||||
if (that.Language == 'ms') {
|
||||
// that.exchange_rate=res.data
|
||||
let obj = data.find(item => item.id == 5)
|
||||
if (obj) {
|
||||
that.exchange_rate = obj.exchange
|
||||
that.name_sx = obj.name_sx
|
||||
} else {
|
||||
that.exchange_rate = cha.exchange
|
||||
that.name_sx = cha.name_sx
|
||||
}
|
||||
}
|
||||
if (that.Language == 'kr') {
|
||||
// that.exchange_rate=res.data
|
||||
let obj = data.find(item => item.id == 7)
|
||||
if (obj) {
|
||||
that.exchange_rate = obj.exchange
|
||||
that.name_sx = obj.name_sx
|
||||
} else {
|
||||
that.exchange_rate = cha.exchange
|
||||
that.name_sx = cha.name_sx
|
||||
}
|
||||
}
|
||||
if (that.Language == 'fre') {
|
||||
// that.exchange_rate=res.data
|
||||
let obj = data.find(item => item.id == 9)
|
||||
if (obj) {
|
||||
that.exchange_rate = obj.exchange
|
||||
that.name_sx = obj.name_sx
|
||||
} else {
|
||||
that.exchange_rate = cha.exchange
|
||||
that.name_sx = cha.name_sx
|
||||
}
|
||||
}
|
||||
if (that.Language == 'ger') {
|
||||
// that.exchange_rate=res.data
|
||||
let obj = data.find(item => item.id == 3)
|
||||
if (obj) {
|
||||
that.exchange_rate = obj.exchange
|
||||
that.name_sx = obj.name_sx
|
||||
} else {
|
||||
that.exchange_rate = cha.exchange
|
||||
that.name_sx = cha.name_sx
|
||||
}
|
||||
}
|
||||
if (that.Language == 'ily') {
|
||||
// that.exchange_rate=res.data
|
||||
let obj = data.find(item => item.id == 10)
|
||||
if (obj) {
|
||||
that.exchange_rate = obj.exchange
|
||||
that.name_sx = obj.name_sx
|
||||
} else {
|
||||
that.exchange_rate = cha.exchange
|
||||
that.name_sx = cha.name_sx
|
||||
}
|
||||
}
|
||||
if (that.Language == 'jp') {
|
||||
// that.exchange_rate=res.data
|
||||
let obj = data.find(item => item.id == 8)
|
||||
if (obj) {
|
||||
that.exchange_rate = obj.exchange
|
||||
that.name_sx = obj.name_sx
|
||||
} else {
|
||||
that.exchange_rate = cha.exchange
|
||||
that.name_sx = cha.name_sx
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
goURL(url) {
|
||||
plus.runtime.openURL(url)
|
||||
},
|
||||
dethWidth(index, item, list) {
|
||||
var temp = 0
|
||||
let num = list.length
|
||||
if (num == 0) return
|
||||
if (num > 10) {
|
||||
num = 10
|
||||
}
|
||||
for (var i = 0; i < num; i++) {
|
||||
temp += Number(list[i][1])
|
||||
}
|
||||
return Number(item / temp).toFixed(2) * 100
|
||||
},
|
||||
tabsChange(index) {
|
||||
this.current = index;
|
||||
},
|
||||
goTabBar(buyType) {
|
||||
getApp().globalData.buyType = buyType
|
||||
getApp().globalData.symbol = this.symbol
|
||||
uni.switchTab({
|
||||
url: '/pages/transaction/index'
|
||||
})
|
||||
},
|
||||
getCionInfo(symbol) {
|
||||
this.post('/Contract/get_curr_con', {
|
||||
symbol: symbol
|
||||
}).then(res => {
|
||||
console.log('币种信息', res)
|
||||
if (res.code == 1) {
|
||||
this.coinInfo = res.data
|
||||
// this.exchange_rate = res.data.exchange_rate
|
||||
this.market_jd = res.data.market_jd
|
||||
this.price_jd = res.data.price_jd
|
||||
}
|
||||
})
|
||||
},
|
||||
// 取消socket订阅
|
||||
cancelSocket() {
|
||||
this.sendSocketMessage({
|
||||
'subs': 'depth',
|
||||
"user_id": uni.getStorageSync("user_id"),
|
||||
"unsub": "market." + this.symbol + ".depth.step0",
|
||||
"id": "BTC",
|
||||
})
|
||||
this.sendSocketMessage({
|
||||
'subs': 'tradenow',
|
||||
"user_id": uni.getStorageSync("user_id"),
|
||||
"unsub": "market." + this.symbol + ".kline.1min",
|
||||
"id": "BTC",
|
||||
})
|
||||
// this.sendSocketMessage({
|
||||
// 'subs': 'tradenow',
|
||||
// "user_id": uni.getStorageSync("user_id"),
|
||||
// "unsub": "market." + this.symbol + ".kline.1day",
|
||||
// "id": "BTC",
|
||||
// })
|
||||
},
|
||||
// 链接socket订阅
|
||||
linkSocket() {
|
||||
this.sendSocketMessage({
|
||||
'subs': 'depth',
|
||||
"user_id": uni.getStorageSync("user_id"),
|
||||
"sub": "market." + this.symbol + ".depth.step0",
|
||||
"id": "BTC",
|
||||
})
|
||||
this.sendSocketMessage({
|
||||
'subs': 'tradenow',
|
||||
"user_id": uni.getStorageSync("user_id"),
|
||||
"sub": "market." + this.symbol + ".kline.1min",
|
||||
"id": "BTC",
|
||||
})
|
||||
// this.sendSocketMessage({
|
||||
// 'subs': 'tradenow',
|
||||
// "user_id": uni.getStorageSync("user_id"),
|
||||
// "sub": "market." + this.symbol + ".kline.1day",
|
||||
// "id": "BTC",
|
||||
// })
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.list {
|
||||
width: 100%;
|
||||
padding: 10rpx;
|
||||
padding-bottom: calc(100rpx + env(safe-area-inset-bottom));
|
||||
border-top-left-radius: 10rpx;
|
||||
border-top-right-radius: 10rpx;
|
||||
// background-color: #fff;
|
||||
box-shadow: 2rpx 2rpx 4rpx #181b2a;
|
||||
}
|
||||
|
||||
.progress {
|
||||
height: 100%;
|
||||
max-width: 330rpx;
|
||||
position: absolute;
|
||||
top: 0rpx;
|
||||
transition: all 0.3s;
|
||||
}
|
||||
|
||||
.right {
|
||||
right: 0rpx;
|
||||
border-top-left-radius: 10rpx;
|
||||
border-bottom-left-radius: 10rpx;
|
||||
}
|
||||
|
||||
.left {
|
||||
left: 0rpx;
|
||||
border-top-right-radius: 10rpx;
|
||||
border-bottom-right-radius: 10rpx;
|
||||
}
|
||||
|
||||
.heng {
|
||||
width: 48rpx;
|
||||
height: 4rpx;
|
||||
margin: 10 auto;
|
||||
background: #0165EE;
|
||||
}
|
||||
|
||||
.bottomBox {
|
||||
width: 100%;
|
||||
height: 140rpx;
|
||||
padding: 0 30rpx 20rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
// background: #FFFFFF;
|
||||
position: fixed;
|
||||
bottom: 0rpx;
|
||||
box-shadow: 0rpx 0rpx 10rpx rgba(0, 0, 0, 0.16);
|
||||
}
|
||||
|
||||
.loginBtn {
|
||||
// width: 320rpx;
|
||||
flex: 1;
|
||||
height: 74rpx;
|
||||
margin: 0 20rpx;
|
||||
box-shadow: 0rpx 6rpx 10rpx rgba(16, 194, 168, 0.18);
|
||||
border-radius: 4rpx;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.listBox {
|
||||
width: 100%;
|
||||
height: 66rpx;
|
||||
border-bottom: 1rpx solid #313135;
|
||||
padding: 0 30rpx;
|
||||
color: #8B99A2;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.listBox1 {
|
||||
width: 100%;
|
||||
min-height: 66rpx;
|
||||
border-bottom: 1rpx solid #313135;
|
||||
padding: 0 30rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user