Browse Source

合并

master
j1ack 3 years ago
parent
commit
32a3537423
  1. 2
      App.vue
  2. 88
      components/entrustOrderList/entrustOrderList.vue
  3. 2
      components/positionList/positionList.vue
  4. 138
      components/transaction/transaction.vue
  5. 8
      main.js
  6. 767
      package-lock.json
  7. 1
      package.json
  8. 4
      pages/home/index.vue
  9. 5
      pages/markets/index.vue
  10. 59
      pages/markets/trade.vue
  11. 4
      utils/axios.js
  12. 1
      utils/language/en_US.js

2
App.vue

@ -8,7 +8,9 @@
// }, // },
onLaunch: function() { onLaunch: function() {
console.log('App Launch') console.log('App Launch')
// #ifdef APP-PLUS
this.appVersion() this.appVersion()
// #endif
api.indexInfo().then(res => { api.indexInfo().then(res => {
uni.setStorageSync('coinTypeInfo', res) uni.setStorageSync('coinTypeInfo', res)
}) })

88
components/entrustOrderList/entrustOrderList.vue

@ -12,14 +12,14 @@
</view> </view>
</view> </view>
<!-- 卡片列表 --> <!-- 卡片列表 -->
<view class="content"> <view class="content" v-if="list.length">
<view class="card" v-for="(item, index) in dealList" :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.dealType === 'long' }">long</text> <text class="dealType" :class="{ long: item.direction === 'long' }">{{item.direction}}</text>
<text class="time">02-17 09:18:20</text> <text class="time">02-17 09:18:20</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">02-17 16:11:35</text>
<view class="closeBtn" v-show="type === 0 || type === 1" @click="closeModalShow = true">{{ <view class="closeBtn" v-show="type === 0 || type === 1" @click="closeItem(item,index)">{{
i18n.close i18n.close
}}</view> }}</view>
</view> </view>
@ -28,10 +28,10 @@
<view class="item"> <view class="item">
<!-- 公共的 --> <!-- 公共的 -->
<view class="left"> <view class="left">
<view class="title">{{ coin }}/{{ currency }}</view> <view class="title">{{ item.pair }}</view>
<view class="value">1 * 10</view> <view class="value">1 * 10</view>
<view class="title">{{ i18n.Bond }}</view> <view class="title">{{ i18n.Bond }}</view>
<view class="value">4070.00</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">0.00</view>
</view> </view>
@ -40,7 +40,7 @@
<view class="title">{{ i18n.AmountLeverage }}</view> <view class="title">{{ i18n.AmountLeverage }}</view>
<view class="value">40700</view> <view class="value">40700</view>
<view class="title">{{ i18n.Fee }}</view> <view class="title">{{ i18n.Fee }}</view>
<view class="value">40.70</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">0.00</view>
</view> </view>
@ -49,27 +49,27 @@
<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;">39952.64</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">Closed</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="stopModalShow = true"> @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;">-730.45</view> <view class="value" style="color:#F4506A;">{{parseInt(item.profitAmount,16)}}</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;">39952.64</view>
<view class="title">{{ i18n.status }}</view> <view class="title">{{ i18n.status }}</view>
<view class="value">Closed</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="color:#00E8A2;">112.02</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;">Closed</view> <view class="value" style="color:#F4506A;">{{item.status}}</view>
</view> </view>
</view> </view>
</view> </view>
@ -78,10 +78,12 @@
</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"
:title="i18n.WarmTips" :content='i18n.WarmTipsText' @confirm="closeConfirm" @cancel="closeModalShow = false" :title="i18n.WarmTips" :content='i18n.WarmTipsText' @confirm="closeConfirm" @cancel="closeModalShow = false"
confirmColor="#00E8A2"> confirmColor="#00E8A2" cancelColor="#96959E">
</u-modal> </u-modal>
<!-- stop确认框 --> <!-- stop确认框 -->
@ -127,6 +129,12 @@ export default {
components: { KeyValueRow }, components: { KeyValueRow },
name: COMPONENT_NAME, name: COMPONENT_NAME,
props: { props: {
symbol: {
type: Object,
default () {
}
},
coin: { // coin: { //
type: String, type: String,
default() { default() {
@ -154,6 +162,8 @@ export default {
}, },
data() { data() {
return { return {
list:[],
status:'undone',
closeModalShow: false, closeModalShow: false,
stopModalShow: false, stopModalShow: false,
type: 0, type: 0,
@ -170,7 +180,8 @@ export default {
stsValue: 0.3284974928739487, stsValue: 0.3284974928739487,
stySubBtnDisabled: false, stySubBtnDisabled: false,
stsSubBtnDisabled: false, stsSubBtnDisabled: false,
//
itemData:{},
} }
}, },
computed: { computed: {
@ -178,8 +189,14 @@ export default {
return this.$t("markets"); return this.$t("markets");
}, },
}, },
watch: {
symbol: {
handler: function () {
}
}
},
mounted() { mounted() {
this.getContractOrderList()
}, },
onHide() { onHide() {
clearTimeout(timer2); clearTimeout(timer2);
@ -188,18 +205,52 @@ export default {
timer2 = null; timer2 = null;
}, },
methods: { methods: {
//
closeItem(item,i){
this.itemData=item
this.closeModalShow = true
},
//
getContractOrderList() {
const orderList = this.$api.contractOrderList({
"pair": this.symbol.pair,
"status": this.status,
});
orderList.then(res => {
this.list=res.data
});
},
/** /**
* 类型改变 * 类型改变
* @param {*} type * @param {*} type
*/ */
onChangeType(type = 0) { onChangeType(type = 0) {
this.type = type this.type = type
if(this.type==0){
this.status='undone'
}
if(this.type==1){
this.status='opened'
}
if(this.type==2){
this.status='closed'
}
if(this.type==3){
this.status='revoked'
}
this.getContractOrderList()
}, },
/** /**
* close确认弹窗 * close确认弹窗
*/ */
closeConfirm() { closeConfirm() {
const orderList = this.$api.contractCancel({
"orderNo": this.itemData.orderNo,
});
orderList.then(res => {
uni.$u.toast(res.errMsg)
this.closeModalShow = false this.closeModalShow = false
});
}, },
/** /**
* stop确认弹窗 * stop确认弹窗
@ -269,6 +320,13 @@ export default {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
/deep/ .u-modal__content__text{
color: #96959E !important;
}
/deep/ .u-empty{
top: 60% !important;
}
.entrustOrderList { .entrustOrderList {
.tab { .tab {
display: flex; display: flex;
@ -351,7 +409,7 @@ export default {
} }
.center { .center {
flex: 1; // flex: 1;
text-align: center; text-align: center;
} }

2
components/positionList/positionList.vue

@ -43,6 +43,8 @@ export default {
} }
}, },
bboList:{ bboList:{
type: Object, type: Object,
default: () => {} default: () => {}

138
components/transaction/transaction.vue

@ -22,7 +22,7 @@
<u-input class="input" v-show="priceTypeValue !== 0" v-model="coinPrice" color="#A1A0A8" fontSize="20rpx" <u-input class="input" v-show="priceTypeValue !== 0" v-model="coinPrice" color="#A1A0A8" fontSize="20rpx"
border="none" :placeholder="i18n.enterAddressTips"> border="none" :placeholder="i18n.enterAddressTips">
</u-input> </u-input>
<view class="currencyName">{{ currency }}</view> <view class="currencyName">{{ symbol.baseSymbol }}</view>
</view> </view>
<view class="twoInput"> <view class="twoInput">
@ -31,7 +31,8 @@
<view class="shade" v-show="leverageListShow" @click="leverageListShow = false"></view> <view class="shade" v-show="leverageListShow" @click="leverageListShow = false"></view>
<view class="leverageList" v-show="leverageListShow"> <view class="leverageList" v-show="leverageListShow">
<view class="selectItem" :class="{ select: leverageValue === item }" <view class="selectItem" :class="{ select: leverageValue === item }"
v-for="(item, index) in leverageList" :key="index" @click="leverageSelectChange(item)"> v-for="(item, index) in contractConfig.leverage" :key="index"
@click="leverageSelectChange(item)">
{{ item }} {{ item }}
</view> </view>
</view> </view>
@ -41,94 +42,94 @@
<u-input class="input" v-model="coinAmount" color="#A1A0A8" fontSize="20rpx" border="none" <u-input class="input" v-model="coinAmount" color="#A1A0A8" fontSize="20rpx" border="none"
:placeholder="i18n.enterAddressTips"> :placeholder="i18n.enterAddressTips">
</u-input> </u-input>
<view class="currencyName">{{ coin }}</view> <view class="currencyName">{{ symbol.coinSymbol }}</view>
</view> </view>
</view> </view>
<!-- 可用 Usable--> <!-- 可用 Usable-->
<key-value-row class="text" :keyName="i18n.Usable" :value="`${coinPrice * coinAmount}${currency}`" <key-value-row class="text" :keyName="i18n.Usable" :value="`${contractConfig.useCapital}${symbol.baseSymbol}`"
lineHeight="30rpx" size="24rpx" rightColor="#A1A0A8"> lineHeight="30rpx" size="24rpx" rightColor="#A1A0A8">
</key-value-row> </key-value-row>
<!-- 总计 Total--> <!-- 总计 Total-->
<key-value-row class="text" :keyName="i18n.Total" :value="`${coinPrice * coinAmount}${currency}`" <key-value-row class="text" :keyName="i18n.Total"
:value="`${(priceTypeValue === 0?marketDetail.close*coinAmount:coinPrice*coinAmount).toFixed(4)}${symbol.baseSymbol}`"
lineHeight="30rpx" size="24rpx" rightColor="#A1A0A8"> lineHeight="30rpx" size="24rpx" rightColor="#A1A0A8">
</key-value-row> </key-value-row>
<!-- 债券 Bond--> <!-- 债券 Bond-->
<key-value-row class="text" :keyName="i18n.Bond" :value="`${coinPrice * coinAmount}${currency}`" <key-value-row class="text" :keyName="i18n.Bond"
:value="`${(priceTypeValue === 0?marketDetail.close/leverageValue: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" :value="`${coinPrice * coinAmount}${currency}`" <key-value-row class="text" :keyName="i18n.Fee"
:value="`${(priceTypeValue === 0?marketDetail.close/leverageValue*contractConfig.rate: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>
<u-button class="button" :color="type == 'buy' ? '#00E8A2' : '#F4506A'" throttleTime="500" @click="btnClick"> <u-button class="button" :color="type == 'buy' ? '#00E8A2' : '#F4506A'" throttleTime="500" @click="contractOrder">
{{ type === 'buy' ? `${i18n.buyLong}${coin}` : `${i18n.sellSHORT}${coin}` }} {{ type === 'buy' ? `${i18n.buyLong}${symbol.coinSymbol}` : `${i18n.sellSHORT}${symbol.coinSymbol}` }}
</u-button> </u-button>
</view> </view>
</template> </template>
<script> <script>
import KeyValueRow from '../KeyValueRow/KeyValueRow.vue' import KeyValueRow from '../KeyValueRow/KeyValueRow.vue'
const COMPONENT_NAME = 'transaction' const COMPONENT_NAME = 'transaction'
export default { export default {
components: { KeyValueRow }, components: {
KeyValueRow
},
name: COMPONENT_NAME, name: COMPONENT_NAME,
props: { props: {
coin: { //
type: String,
default() {
return 'BTC'
}
},
currency: { //
type: String,
default() {
return 'USDT'
}
},
type: { // type: { //
type: String, type: String,
default() { default () {
return 'buy' return 'buy'
} }
}, },
coinPrice: { // contractConfig: {
type: Number, type: Object,
default() { default: () => {
return 0 leverage: [10]
} }
}, },
coinAmount: { // symbol: {
type: Number, type: Object,
default() { default () {
return 1
}
},
marketDetail: { //
type: Object,
default () {
} }
}, },
bgTransparent: { // bgTransparent: { //
type: Boolean, type: Boolean,
default() { default () {
return false return false
} }
}, },
}, },
data() { data() {
return { return {
math:null,
priceSelectListShow: false, priceSelectListShow: false,
priceTypeValue: 0, priceTypeValue: 0,
priceTypeList: [ priceTypeList: [{
{ value: 0, text: this.$t("markets").MarketPrice }, value: 0,
{ value: 1, text: this.$t("markets").LimitPrice }, text: this.$t("markets").MarketPrice
},
{
value: 1,
text: this.$t("markets").LimitPrice
},
], ],
leverageListShow: false, leverageListShow: false,
leverageValue: 10, leverageValue: 10,
leverageList: [ coinPrice: 0,
10, coinAmount: 0
20,
30,
50,
100,
],
} }
}, },
computed: { computed: {
@ -137,31 +138,56 @@ export default {
}, },
}, },
mounted() { mounted() {
this.leverageValue = this.contractConfig.leverage[0];
this.coinPrice = this.marketDetail.close
}, },
methods: { methods: {
onChangeType(type = 'buy') {
this.type = type onChangeType(type) {
this.$emit('onChangeType', type);
}, },
selectChange(index) { selectChange(index) {
this.priceTypeValue = index; this.priceTypeValue = index;
this.priceSelectListShow = false; this.priceSelectListShow = false;
console.log(e); this.coinPrice = this.marketDetail.low
}, },
leverageSelectChange(item) { leverageSelectChange(item) {
this.leverageValue = item; this.leverageValue = item;
this.leverageListShow = false; this.leverageListShow = false;
console.log(e);
}, },
btnClick(){ contractOrder() {
var data={
// direction:this.type==='buy'?'long':'short',
direction:this.type,
amount:this.coinAmount,
pair:this.symbol.pair,
leverage:this.leverageValue,
tradeModel:this.priceTypeValue===0?'market':'limit',
price:this.priceTypeValue===0?this.marketDetail.low:this.coinPrice,
remarks:'1'
}
// #ifdef H5
data.source='H5'
// #endif
// #ifdef APP-PLUS
data.source='android'
// #endif
console.log(data);
const contractOrder = this.$api.contractOrder(data);
contractOrder.then(res => {
uni.showToast({
title: this.$t("markets").Succeeded,
icon: 'success',
duration: 1500
})
});
}, },
} }
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.transaction { .transaction {
width: 444rpx; width: 444rpx;
.tab { .tab {
@ -416,5 +442,5 @@ export default {
color: #15141F !important; color: #15141F !important;
} }
} }
</style> </style>

8
main.js

@ -15,15 +15,11 @@ import api from './utils/api.js'
import constant from './utils/constant.js' import constant from './utils/constant.js'
import websocket from './utils/websocket.js' import websocket from './utils/websocket.js'
// // #ifdef H5 // import math from './utils/math.js'
// // 提交前需要注释 本地调试使用
// const vconsole = require('vconsole')
// Vue.prototype.$vconsole = new vconsole() // 使用vconsole
// // #endif
Vue.prototype.$api = api Vue.prototype.$api = api
Vue.prototype.$constant = constant Vue.prototype.$constant = constant
Vue.prototype.$websocket = websocket Vue.prototype.$websocket = websocket
// Vue.prototype.$math = math
// 自定义底部导航栏 // 自定义底部导航栏
import tabBar from 'components/tabBar/tabBar.vue' import tabBar from 'components/tabBar/tabBar.vue'
Vue.component('tab-bar', tabBar) Vue.component('tab-bar', tabBar)

767
package-lock.json

@ -3,6 +3,7 @@
"version": "1.0.0", "version": "1.0.0",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
<<<<<<< HEAD
"dependencies": { "dependencies": {
"@babel/runtime": { "@babel/runtime": {
"version": "7.18.9", "version": "7.18.9",
@ -12,6 +13,530 @@
"regenerator-runtime": "^0.13.4" "regenerator-runtime": "^0.13.4"
} }
}, },
=======
"packages": {
"": {
"name": "samehome",
"version": "1.0.0",
"license": "ISC",
"dependencies": {
"axios": "^0.27.2",
"echarts": "^5.3.3",
"js-md5": "^0.7.3",
"mathjs": "^11.1.0",
"uview-ui": "^2.0.33",
"vue-i18n": "^9.2.2"
}
},
"node_modules/@babel/parser": {
"version": "7.18.13",
"resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.18.13.tgz",
"integrity": "sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg==",
"peer": true,
"bin": {
"parser": "bin/babel-parser.js"
},
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@babel/runtime": {
"version": "7.18.9",
"resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.18.9.tgz",
"integrity": "sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==",
"dependencies": {
"regenerator-runtime": "^0.13.4"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@intlify/core-base": {
"version": "9.2.2",
"resolved": "https://registry.npmmirror.com/@intlify/core-base/-/core-base-9.2.2.tgz",
"integrity": "sha512-JjUpQtNfn+joMbrXvpR4hTF8iJQ2sEFzzK3KIESOx+f+uwIjgw20igOyaIdhfsVVBCds8ZM64MoeNSx+PHQMkA==",
"dependencies": {
"@intlify/devtools-if": "9.2.2",
"@intlify/message-compiler": "9.2.2",
"@intlify/shared": "9.2.2",
"@intlify/vue-devtools": "9.2.2"
},
"engines": {
"node": ">= 14"
}
},
"node_modules/@intlify/devtools-if": {
"version": "9.2.2",
"resolved": "https://registry.npmmirror.com/@intlify/devtools-if/-/devtools-if-9.2.2.tgz",
"integrity": "sha512-4ttr/FNO29w+kBbU7HZ/U0Lzuh2cRDhP8UlWOtV9ERcjHzuyXVZmjyleESK6eVP60tGC9QtQW9yZE+JeRhDHkg==",
"dependencies": {
"@intlify/shared": "9.2.2"
},
"engines": {
"node": ">= 14"
}
},
"node_modules/@intlify/message-compiler": {
"version": "9.2.2",
"resolved": "https://registry.npmmirror.com/@intlify/message-compiler/-/message-compiler-9.2.2.tgz",
"integrity": "sha512-IUrQW7byAKN2fMBe8z6sK6riG1pue95e5jfokn8hA5Q3Bqy4MBJ5lJAofUsawQJYHeoPJ7svMDyBaVJ4d0GTtA==",
"dependencies": {
"@intlify/shared": "9.2.2",
"source-map": "0.6.1"
},
"engines": {
"node": ">= 14"
}
},
"node_modules/@intlify/shared": {
"version": "9.2.2",
"resolved": "https://registry.npmmirror.com/@intlify/shared/-/shared-9.2.2.tgz",
"integrity": "sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==",
"engines": {
"node": ">= 14"
}
},
"node_modules/@intlify/vue-devtools": {
"version": "9.2.2",
"resolved": "https://registry.npmmirror.com/@intlify/vue-devtools/-/vue-devtools-9.2.2.tgz",
"integrity": "sha512-+dUyqyCHWHb/UcvY1MlIpO87munedm3Gn6E9WWYdWrMuYLcoIoOEVDWSS8xSwtlPU+kA+MEQTP6Q1iI/ocusJg==",
"dependencies": {
"@intlify/core-base": "9.2.2",
"@intlify/shared": "9.2.2"
},
"engines": {
"node": ">= 14"
}
},
"node_modules/@vue/compiler-core": {
"version": "3.2.38",
"resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.38.tgz",
"integrity": "sha512-/FsvnSu7Z+lkd/8KXMa4yYNUiqQrI22135gfsQYVGuh5tqEgOB0XqrUdb/KnCLa5+TmQLPwvyUnKMyCpu+SX3Q==",
"peer": true,
"dependencies": {
"@babel/parser": "^7.16.4",
"@vue/shared": "3.2.38",
"estree-walker": "^2.0.2",
"source-map": "^0.6.1"
}
},
"node_modules/@vue/compiler-dom": {
"version": "3.2.38",
"resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.38.tgz",
"integrity": "sha512-zqX4FgUbw56kzHlgYuEEJR8mefFiiyR3u96498+zWPsLeh1WKvgIReoNE+U7gG8bCUdvsrJ0JRmev0Ky6n2O0g==",
"peer": true,
"dependencies": {
"@vue/compiler-core": "3.2.38",
"@vue/shared": "3.2.38"
}
},
"node_modules/@vue/compiler-sfc": {
"version": "3.2.38",
"resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.38.tgz",
"integrity": "sha512-KZjrW32KloMYtTcHAFuw3CqsyWc5X6seb8KbkANSWt3Cz9p2qA8c1GJpSkksFP9ABb6an0FLCFl46ZFXx3kKpg==",
"peer": true,
"dependencies": {
"@babel/parser": "^7.16.4",
"@vue/compiler-core": "3.2.38",
"@vue/compiler-dom": "3.2.38",
"@vue/compiler-ssr": "3.2.38",
"@vue/reactivity-transform": "3.2.38",
"@vue/shared": "3.2.38",
"estree-walker": "^2.0.2",
"magic-string": "^0.25.7",
"postcss": "^8.1.10",
"source-map": "^0.6.1"
}
},
"node_modules/@vue/compiler-ssr": {
"version": "3.2.38",
"resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.38.tgz",
"integrity": "sha512-bm9jOeyv1H3UskNm4S6IfueKjUNFmi2kRweFIGnqaGkkRePjwEcfCVqyS3roe7HvF4ugsEkhf4+kIvDhip6XzQ==",
"peer": true,
"dependencies": {
"@vue/compiler-dom": "3.2.38",
"@vue/shared": "3.2.38"
}
},
"node_modules/@vue/devtools-api": {
"version": "6.2.1",
"resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.2.1.tgz",
"integrity": "sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ=="
},
"node_modules/@vue/reactivity": {
"version": "3.2.38",
"resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.38.tgz",
"integrity": "sha512-6L4myYcH9HG2M25co7/BSo0skKFHpAN8PhkNPM4xRVkyGl1K5M3Jx4rp5bsYhvYze2K4+l+pioN4e6ZwFLUVtw==",
"peer": true,
"dependencies": {
"@vue/shared": "3.2.38"
}
},
"node_modules/@vue/reactivity-transform": {
"version": "3.2.38",
"resolved": "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.38.tgz",
"integrity": "sha512-3SD3Jmi1yXrDwiNJqQ6fs1x61WsDLqVk4NyKVz78mkaIRh6d3IqtRnptgRfXn+Fzf+m6B1KxBYWq1APj6h4qeA==",
"peer": true,
"dependencies": {
"@babel/parser": "^7.16.4",
"@vue/compiler-core": "3.2.38",
"@vue/shared": "3.2.38",
"estree-walker": "^2.0.2",
"magic-string": "^0.25.7"
}
},
"node_modules/@vue/runtime-core": {
"version": "3.2.38",
"resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.38.tgz",
"integrity": "sha512-kk0qiSiXUU/IKxZw31824rxmFzrLr3TL6ZcbrxWTKivadoKupdlzbQM4SlGo4MU6Zzrqv4fzyUasTU1jDoEnzg==",
"peer": true,
"dependencies": {
"@vue/reactivity": "3.2.38",
"@vue/shared": "3.2.38"
}
},
"node_modules/@vue/runtime-dom": {
"version": "3.2.38",
"resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.38.tgz",
"integrity": "sha512-4PKAb/ck2TjxdMSzMsnHViOrrwpudk4/A56uZjhzvusoEU9xqa5dygksbzYepdZeB5NqtRw5fRhWIiQlRVK45A==",
"peer": true,
"dependencies": {
"@vue/runtime-core": "3.2.38",
"@vue/shared": "3.2.38",
"csstype": "^2.6.8"
}
},
"node_modules/@vue/server-renderer": {
"version": "3.2.38",
"resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.38.tgz",
"integrity": "sha512-pg+JanpbOZ5kEfOZzO2bt02YHd+ELhYP8zPeLU1H0e7lg079NtuuSB8fjLdn58c4Ou8UQ6C1/P+528nXnLPAhA==",
"peer": true,
"dependencies": {
"@vue/compiler-ssr": "3.2.38",
"@vue/shared": "3.2.38"
},
"peerDependencies": {
"vue": "3.2.38"
}
},
"node_modules/@vue/shared": {
"version": "3.2.38",
"resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.38.tgz",
"integrity": "sha512-dTyhTIRmGXBjxJE+skC8tTWCGLCVc4wQgRRLt8+O9p5ewBAjoBwtCAkLPrtToSr1xltoe3st21Pv953aOZ7alg==",
"peer": true
},
"node_modules/asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
},
"node_modules/axios": {
"version": "0.27.2",
"resolved": "https://registry.npmmirror.com/axios/-/axios-0.27.2.tgz",
"integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
"dependencies": {
"follow-redirects": "^1.14.9",
"form-data": "^4.0.0"
}
},
"node_modules/combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"dependencies": {
"delayed-stream": "~1.0.0"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/complex.js": {
"version": "2.1.1",
"resolved": "https://registry.npmmirror.com/complex.js/-/complex.js-2.1.1.tgz",
"integrity": "sha512-8njCHOTtFFLtegk6zQo0kkVX1rngygb/KQI6z1qZxlFI3scluC+LVTCFbrkWjBv4vvLlbQ9t88IPMC6k95VTTg==",
"engines": {
"node": "*"
}
},
"node_modules/csstype": {
"version": "2.6.20",
"resolved": "https://registry.npmmirror.com/csstype/-/csstype-2.6.20.tgz",
"integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==",
"peer": true
},
"node_modules/decimal.js": {
"version": "10.4.0",
"resolved": "https://registry.npmmirror.com/decimal.js/-/decimal.js-10.4.0.tgz",
"integrity": "sha512-Nv6ENEzyPQ6AItkGwLE2PGKinZZ9g59vSh2BeH6NqPu0OTKZ5ruJsVqh/orbAnqXc9pBbgXAIrc2EyaCj8NpGg=="
},
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/echarts": {
"version": "5.3.3",
"resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.3.3.tgz",
"integrity": "sha512-BRw2serInRwO5SIwRviZ6Xgm5Lb7irgz+sLiFMmy/HOaf4SQ+7oYqxKzRHAKp4xHQ05AuHw1xvoQWJjDQq/FGw==",
"dependencies": {
"tslib": "2.3.0",
"zrender": "5.3.2"
}
},
"node_modules/escape-latex": {
"version": "1.2.0",
"resolved": "https://registry.npmmirror.com/escape-latex/-/escape-latex-1.2.0.tgz",
"integrity": "sha512-nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw=="
},
"node_modules/estree-walker": {
"version": "2.0.2",
"resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz",
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
"peer": true
},
"node_modules/follow-redirects": {
"version": "1.15.1",
"resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.1.tgz",
"integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==",
"engines": {
"node": ">=4.0"
},
"peerDependenciesMeta": {
"debug": {
"optional": true
}
}
},
"node_modules/form-data": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz",
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
"mime-types": "^2.1.12"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/fraction.js": {
"version": "4.2.0",
"resolved": "https://registry.npmmirror.com/fraction.js/-/fraction.js-4.2.0.tgz",
"integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==",
"engines": {
"node": "*"
}
},
"node_modules/javascript-natural-sort": {
"version": "0.7.1",
"resolved": "https://registry.npmmirror.com/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz",
"integrity": "sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw=="
},
"node_modules/js-md5": {
"version": "0.7.3",
"resolved": "https://registry.npmmirror.com/js-md5/-/js-md5-0.7.3.tgz",
"integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ=="
},
"node_modules/magic-string": {
"version": "0.25.9",
"resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz",
"integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
"peer": true,
"dependencies": {
"sourcemap-codec": "^1.4.8"
}
},
"node_modules/mathjs": {
"version": "11.1.0",
"resolved": "https://registry.npmmirror.com/mathjs/-/mathjs-11.1.0.tgz",
"integrity": "sha512-cbsEruLNoIlj5h5vOF+DUQVe4EsA/WNomSQDMnX2WafX9TLneBSCRMx2okgGnSLzLoMGWQ211KVzY55bEnQa8Q==",
"dependencies": {
"@babel/runtime": "^7.18.9",
"complex.js": "^2.1.1",
"decimal.js": "^10.4.0",
"escape-latex": "^1.2.0",
"fraction.js": "^4.2.0",
"javascript-natural-sort": "^0.7.1",
"seedrandom": "^3.0.5",
"tiny-emitter": "^2.1.0",
"typed-function": "^4.1.0"
},
"bin": {
"mathjs": "bin/cli.js"
},
"engines": {
"node": ">= 14"
}
},
"node_modules/mime-db": {
"version": "1.52.0",
"resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz",
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/mime-types": {
"version": "2.1.35",
"resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz",
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
"dependencies": {
"mime-db": "1.52.0"
},
"engines": {
"node": ">= 0.6"
}
},
"node_modules/nanoid": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz",
"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
"peer": true,
"bin": {
"nanoid": "bin/nanoid.cjs"
},
"engines": {
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
}
},
"node_modules/picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz",
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
"peer": true
},
"node_modules/postcss": {
"version": "8.4.16",
"resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.16.tgz",
"integrity": "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==",
"peer": true,
"dependencies": {
"nanoid": "^3.3.4",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
},
"engines": {
"node": "^10 || ^12 || >=14"
}
},
"node_modules/regenerator-runtime": {
"version": "0.13.9",
"resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
"integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA=="
},
"node_modules/seedrandom": {
"version": "3.0.5",
"resolved": "https://registry.npmmirror.com/seedrandom/-/seedrandom-3.0.5.tgz",
"integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg=="
},
"node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/source-map-js": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz",
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
"peer": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/sourcemap-codec": {
"version": "1.4.8",
"resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
"integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
"peer": true
},
"node_modules/tiny-emitter": {
"version": "2.1.0",
"resolved": "https://registry.npmmirror.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
"integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q=="
},
"node_modules/tslib": {
"version": "2.3.0",
"resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz",
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
},
"node_modules/typed-function": {
"version": "4.1.0",
"resolved": "https://registry.npmmirror.com/typed-function/-/typed-function-4.1.0.tgz",
"integrity": "sha512-DGwUl6cioBW5gw2L+6SMupGwH/kZOqivy17E4nsh1JI9fKF87orMmlQx3KISQPmg3sfnOUGlwVkroosvgddrlg==",
"engines": {
"node": ">= 14"
}
},
"node_modules/uview-ui": {
"version": "2.0.33",
"resolved": "https://registry.npmmirror.com/uview-ui/-/uview-ui-2.0.33.tgz",
"integrity": "sha512-M3NsLFAY0z95NGMnTCDUR/TvJb6a/UYZzi1km5Gi6TkBCaoHdbmtQymkc1C4eszeoQOrpEIhit/2V47UglzHRw==",
"engines": {
"HBuilderX": "^3.1.0"
}
},
"node_modules/vue": {
"version": "3.2.38",
"resolved": "https://registry.npmmirror.com/vue/-/vue-3.2.38.tgz",
"integrity": "sha512-hHrScEFSmDAWL0cwO4B6WO7D3sALZPbfuThDsGBebthrNlDxdJZpGR3WB87VbjpPh96mep1+KzukYEhpHDFa8Q==",
"peer": true,
"dependencies": {
"@vue/compiler-dom": "3.2.38",
"@vue/compiler-sfc": "3.2.38",
"@vue/runtime-dom": "3.2.38",
"@vue/server-renderer": "3.2.38",
"@vue/shared": "3.2.38"
}
},
"node_modules/vue-i18n": {
"version": "9.2.2",
"resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.2.2.tgz",
"integrity": "sha512-yswpwtj89rTBhegUAv9Mu37LNznyu3NpyLQmozF3i1hYOhwpG8RjcjIFIIfnu+2MDZJGSZPXaKWvnQA71Yv9TQ==",
"dependencies": {
"@intlify/core-base": "9.2.2",
"@intlify/shared": "9.2.2",
"@intlify/vue-devtools": "9.2.2",
"@vue/devtools-api": "^6.2.1"
},
"engines": {
"node": ">= 14"
},
"peerDependencies": {
"vue": "^3.0.0"
}
},
"node_modules/zrender": {
"version": "5.3.2",
"resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.3.2.tgz",
"integrity": "sha512-8IiYdfwHj2rx0UeIGZGGU4WEVSDEdeVCaIg/fomejg1Xu6OifAL1GVzIPHg2D+MyUkbNgPWji90t0a8IDk+39w==",
"dependencies": {
"tslib": "2.3.0"
}
}
},
"dependencies": {
"@babel/parser": {
"version": "7.18.13",
"resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.18.13.tgz",
"integrity": "sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg==",
"peer": true
},
"@babel/runtime": {
"version": "7.18.9",
"resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.18.9.tgz",
"integrity": "sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==",
"requires": {
"regenerator-runtime": "^0.13.4"
}
},
>>>>>>> 20c7c22d0394e6bfb9a4edda75c562b9a88603d8
"@intlify/core-base": { "@intlify/core-base": {
"version": "9.2.2", "version": "9.2.2",
"resolved": "https://registry.npmmirror.com/@intlify/core-base/-/core-base-9.2.2.tgz", "resolved": "https://registry.npmmirror.com/@intlify/core-base/-/core-base-9.2.2.tgz",
@ -54,11 +579,120 @@
"@intlify/shared": "9.2.2" "@intlify/shared": "9.2.2"
} }
}, },
"@vue/compiler-core": {
"version": "3.2.38",
"resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.38.tgz",
"integrity": "sha512-/FsvnSu7Z+lkd/8KXMa4yYNUiqQrI22135gfsQYVGuh5tqEgOB0XqrUdb/KnCLa5+TmQLPwvyUnKMyCpu+SX3Q==",
"peer": true,
"requires": {
"@babel/parser": "^7.16.4",
"@vue/shared": "3.2.38",
"estree-walker": "^2.0.2",
"source-map": "^0.6.1"
}
},
"@vue/compiler-dom": {
"version": "3.2.38",
"resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.38.tgz",
"integrity": "sha512-zqX4FgUbw56kzHlgYuEEJR8mefFiiyR3u96498+zWPsLeh1WKvgIReoNE+U7gG8bCUdvsrJ0JRmev0Ky6n2O0g==",
"peer": true,
"requires": {
"@vue/compiler-core": "3.2.38",
"@vue/shared": "3.2.38"
}
},
"@vue/compiler-sfc": {
"version": "3.2.38",
"resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.38.tgz",
"integrity": "sha512-KZjrW32KloMYtTcHAFuw3CqsyWc5X6seb8KbkANSWt3Cz9p2qA8c1GJpSkksFP9ABb6an0FLCFl46ZFXx3kKpg==",
"peer": true,
"requires": {
"@babel/parser": "^7.16.4",
"@vue/compiler-core": "3.2.38",
"@vue/compiler-dom": "3.2.38",
"@vue/compiler-ssr": "3.2.38",
"@vue/reactivity-transform": "3.2.38",
"@vue/shared": "3.2.38",
"estree-walker": "^2.0.2",
"magic-string": "^0.25.7",
"postcss": "^8.1.10",
"source-map": "^0.6.1"
}
},
"@vue/compiler-ssr": {
"version": "3.2.38",
"resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.38.tgz",
"integrity": "sha512-bm9jOeyv1H3UskNm4S6IfueKjUNFmi2kRweFIGnqaGkkRePjwEcfCVqyS3roe7HvF4ugsEkhf4+kIvDhip6XzQ==",
"peer": true,
"requires": {
"@vue/compiler-dom": "3.2.38",
"@vue/shared": "3.2.38"
}
},
"@vue/devtools-api": { "@vue/devtools-api": {
"version": "6.2.1", "version": "6.2.1",
"resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.2.1.tgz", "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.2.1.tgz",
"integrity": "sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ==" "integrity": "sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ=="
}, },
"@vue/reactivity": {
"version": "3.2.38",
"resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.38.tgz",
"integrity": "sha512-6L4myYcH9HG2M25co7/BSo0skKFHpAN8PhkNPM4xRVkyGl1K5M3Jx4rp5bsYhvYze2K4+l+pioN4e6ZwFLUVtw==",
"peer": true,
"requires": {
"@vue/shared": "3.2.38"
}
},
"@vue/reactivity-transform": {
"version": "3.2.38",
"resolved": "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.38.tgz",
"integrity": "sha512-3SD3Jmi1yXrDwiNJqQ6fs1x61WsDLqVk4NyKVz78mkaIRh6d3IqtRnptgRfXn+Fzf+m6B1KxBYWq1APj6h4qeA==",
"peer": true,
"requires": {
"@babel/parser": "^7.16.4",
"@vue/compiler-core": "3.2.38",
"@vue/shared": "3.2.38",
"estree-walker": "^2.0.2",
"magic-string": "^0.25.7"
}
},
"@vue/runtime-core": {
"version": "3.2.38",
"resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.38.tgz",
"integrity": "sha512-kk0qiSiXUU/IKxZw31824rxmFzrLr3TL6ZcbrxWTKivadoKupdlzbQM4SlGo4MU6Zzrqv4fzyUasTU1jDoEnzg==",
"peer": true,
"requires": {
"@vue/reactivity": "3.2.38",
"@vue/shared": "3.2.38"
}
},
"@vue/runtime-dom": {
"version": "3.2.38",
"resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.38.tgz",
"integrity": "sha512-4PKAb/ck2TjxdMSzMsnHViOrrwpudk4/A56uZjhzvusoEU9xqa5dygksbzYepdZeB5NqtRw5fRhWIiQlRVK45A==",
"peer": true,
"requires": {
"@vue/runtime-core": "3.2.38",
"@vue/shared": "3.2.38",
"csstype": "^2.6.8"
}
},
"@vue/server-renderer": {
"version": "3.2.38",
"resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.38.tgz",
"integrity": "sha512-pg+JanpbOZ5kEfOZzO2bt02YHd+ELhYP8zPeLU1H0e7lg079NtuuSB8fjLdn58c4Ou8UQ6C1/P+528nXnLPAhA==",
"peer": true,
"requires": {
"@vue/compiler-ssr": "3.2.38",
"@vue/shared": "3.2.38"
}
},
"@vue/shared": {
"version": "3.2.38",
"resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.38.tgz",
"integrity": "sha512-dTyhTIRmGXBjxJE+skC8tTWCGLCVc4wQgRRLt8+O9p5ewBAjoBwtCAkLPrtToSr1xltoe3st21Pv953aOZ7alg==",
"peer": true
},
"asynckit": { "asynckit": {
"version": "0.4.0", "version": "0.4.0",
"resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz",
@ -81,6 +715,7 @@
"delayed-stream": "~1.0.0" "delayed-stream": "~1.0.0"
} }
}, },
<<<<<<< HEAD
"copy-text-to-clipboard": { "copy-text-to-clipboard": {
"version": "3.0.1", "version": "3.0.1",
"resolved": "https://registry.npmmirror.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.0.1.tgz", "resolved": "https://registry.npmmirror.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.0.1.tgz",
@ -90,6 +725,23 @@
"version": "3.25.0", "version": "3.25.0",
"resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.25.0.tgz", "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.25.0.tgz",
"integrity": "sha512-CVU1xvJEfJGhyCpBrzzzU1kjCfgsGUxhEvwUV2e/cOedYWHdmluamx+knDnmhqALddMG16fZvIqvs9aijsHHaA==" "integrity": "sha512-CVU1xvJEfJGhyCpBrzzzU1kjCfgsGUxhEvwUV2e/cOedYWHdmluamx+knDnmhqALddMG16fZvIqvs9aijsHHaA=="
=======
"complex.js": {
"version": "2.1.1",
"resolved": "https://registry.npmmirror.com/complex.js/-/complex.js-2.1.1.tgz",
"integrity": "sha512-8njCHOTtFFLtegk6zQo0kkVX1rngygb/KQI6z1qZxlFI3scluC+LVTCFbrkWjBv4vvLlbQ9t88IPMC6k95VTTg=="
},
"csstype": {
"version": "2.6.20",
"resolved": "https://registry.npmmirror.com/csstype/-/csstype-2.6.20.tgz",
"integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==",
"peer": true
},
"decimal.js": {
"version": "10.4.0",
"resolved": "https://registry.npmmirror.com/decimal.js/-/decimal.js-10.4.0.tgz",
"integrity": "sha512-Nv6ENEzyPQ6AItkGwLE2PGKinZZ9g59vSh2BeH6NqPu0OTKZ5ruJsVqh/orbAnqXc9pBbgXAIrc2EyaCj8NpGg=="
>>>>>>> 20c7c22d0394e6bfb9a4edda75c562b9a88603d8
}, },
"delayed-stream": { "delayed-stream": {
"version": "1.0.0", "version": "1.0.0",
@ -105,6 +757,17 @@
"zrender": "5.3.2" "zrender": "5.3.2"
} }
}, },
"escape-latex": {
"version": "1.2.0",
"resolved": "https://registry.npmmirror.com/escape-latex/-/escape-latex-1.2.0.tgz",
"integrity": "sha512-nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw=="
},
"estree-walker": {
"version": "2.0.2",
"resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz",
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
"peer": true
},
"follow-redirects": { "follow-redirects": {
"version": "1.15.1", "version": "1.15.1",
"resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.1.tgz", "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.1.tgz",
@ -120,11 +783,46 @@
"mime-types": "^2.1.12" "mime-types": "^2.1.12"
} }
}, },
"fraction.js": {
"version": "4.2.0",
"resolved": "https://registry.npmmirror.com/fraction.js/-/fraction.js-4.2.0.tgz",
"integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA=="
},
"javascript-natural-sort": {
"version": "0.7.1",
"resolved": "https://registry.npmmirror.com/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz",
"integrity": "sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw=="
},
"js-md5": { "js-md5": {
"version": "0.7.3", "version": "0.7.3",
"resolved": "https://registry.npmmirror.com/js-md5/-/js-md5-0.7.3.tgz", "resolved": "https://registry.npmmirror.com/js-md5/-/js-md5-0.7.3.tgz",
"integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ==" "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ=="
}, },
"magic-string": {
"version": "0.25.9",
"resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz",
"integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
"peer": true,
"requires": {
"sourcemap-codec": "^1.4.8"
}
},
"mathjs": {
"version": "11.1.0",
"resolved": "https://registry.npmmirror.com/mathjs/-/mathjs-11.1.0.tgz",
"integrity": "sha512-cbsEruLNoIlj5h5vOF+DUQVe4EsA/WNomSQDMnX2WafX9TLneBSCRMx2okgGnSLzLoMGWQ211KVzY55bEnQa8Q==",
"requires": {
"@babel/runtime": "^7.18.9",
"complex.js": "^2.1.1",
"decimal.js": "^10.4.0",
"escape-latex": "^1.2.0",
"fraction.js": "^4.2.0",
"javascript-natural-sort": "^0.7.1",
"seedrandom": "^3.0.5",
"tiny-emitter": "^2.1.0",
"typed-function": "^4.1.0"
}
},
"mime-db": { "mime-db": {
"version": "1.52.0", "version": "1.52.0",
"resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz",
@ -138,31 +836,87 @@
"mime-db": "1.52.0" "mime-db": "1.52.0"
} }
}, },
<<<<<<< HEAD
"mutation-observer": { "mutation-observer": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmmirror.com/mutation-observer/-/mutation-observer-1.0.3.tgz", "resolved": "https://registry.npmmirror.com/mutation-observer/-/mutation-observer-1.0.3.tgz",
"integrity": "sha512-M/O/4rF2h776hV7qGMZUH3utZLO/jK7p8rnNgGkjKUw8zCGjRQPxB8z6+5l8+VjRUQ3dNYu4vjqXYLr+U8ZVNA==" "integrity": "sha512-M/O/4rF2h776hV7qGMZUH3utZLO/jK7p8rnNgGkjKUw8zCGjRQPxB8z6+5l8+VjRUQ3dNYu4vjqXYLr+U8ZVNA=="
=======
"nanoid": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz",
"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
"peer": true
},
"picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz",
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
"peer": true
},
"postcss": {
"version": "8.4.16",
"resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.16.tgz",
"integrity": "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==",
"peer": true,
"requires": {
"nanoid": "^3.3.4",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
}
>>>>>>> 20c7c22d0394e6bfb9a4edda75c562b9a88603d8
}, },
"regenerator-runtime": { "regenerator-runtime": {
"version": "0.13.9", "version": "0.13.9",
"resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
"integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA=="
}, },
<<<<<<< HEAD
=======
"seedrandom": {
"version": "3.0.5",
"resolved": "https://registry.npmmirror.com/seedrandom/-/seedrandom-3.0.5.tgz",
"integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg=="
},
>>>>>>> 20c7c22d0394e6bfb9a4edda75c562b9a88603d8
"source-map": { "source-map": {
"version": "0.6.1", "version": "0.6.1",
"resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
}, },
"source-map-js": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz",
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
"peer": true
},
"sourcemap-codec": {
"version": "1.4.8",
"resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
"integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
"peer": true
},
"tiny-emitter": {
"version": "2.1.0",
"resolved": "https://registry.npmmirror.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
"integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q=="
},
"tslib": { "tslib": {
"version": "2.3.0", "version": "2.3.0",
"resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz", "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz",
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
}, },
"typed-function": {
"version": "4.1.0",
"resolved": "https://registry.npmmirror.com/typed-function/-/typed-function-4.1.0.tgz",
"integrity": "sha512-DGwUl6cioBW5gw2L+6SMupGwH/kZOqivy17E4nsh1JI9fKF87orMmlQx3KISQPmg3sfnOUGlwVkroosvgddrlg=="
},
"uview-ui": { "uview-ui": {
"version": "2.0.33", "version": "2.0.33",
"resolved": "https://registry.npmmirror.com/uview-ui/-/uview-ui-2.0.33.tgz", "resolved": "https://registry.npmmirror.com/uview-ui/-/uview-ui-2.0.33.tgz",
"integrity": "sha512-M3NsLFAY0z95NGMnTCDUR/TvJb6a/UYZzi1km5Gi6TkBCaoHdbmtQymkc1C4eszeoQOrpEIhit/2V47UglzHRw==" "integrity": "sha512-M3NsLFAY0z95NGMnTCDUR/TvJb6a/UYZzi1km5Gi6TkBCaoHdbmtQymkc1C4eszeoQOrpEIhit/2V47UglzHRw=="
}, },
<<<<<<< HEAD
"vconsole": { "vconsole": {
"version": "3.14.6", "version": "3.14.6",
"resolved": "https://registry.npmmirror.com/vconsole/-/vconsole-3.14.6.tgz", "resolved": "https://registry.npmmirror.com/vconsole/-/vconsole-3.14.6.tgz",
@ -172,6 +926,19 @@
"copy-text-to-clipboard": "^3.0.1", "copy-text-to-clipboard": "^3.0.1",
"core-js": "^3.11.0", "core-js": "^3.11.0",
"mutation-observer": "^1.0.3" "mutation-observer": "^1.0.3"
=======
"vue": {
"version": "3.2.38",
"resolved": "https://registry.npmmirror.com/vue/-/vue-3.2.38.tgz",
"integrity": "sha512-hHrScEFSmDAWL0cwO4B6WO7D3sALZPbfuThDsGBebthrNlDxdJZpGR3WB87VbjpPh96mep1+KzukYEhpHDFa8Q==",
"peer": true,
"requires": {
"@vue/compiler-dom": "3.2.38",
"@vue/compiler-sfc": "3.2.38",
"@vue/runtime-dom": "3.2.38",
"@vue/server-renderer": "3.2.38",
"@vue/shared": "3.2.38"
>>>>>>> 20c7c22d0394e6bfb9a4edda75c562b9a88603d8
} }
}, },
"vue-i18n": { "vue-i18n": {

1
package.json

@ -13,6 +13,7 @@
"axios": "^0.27.2", "axios": "^0.27.2",
"echarts": "^5.3.3", "echarts": "^5.3.3",
"js-md5": "^0.7.3", "js-md5": "^0.7.3",
"mathjs": "^11.1.0",
"uview-ui": "^2.0.33", "uview-ui": "^2.0.33",
"vconsole": "^3.14.6", "vconsole": "^3.14.6",
"vue-i18n": "^9.2.2" "vue-i18n": "^9.2.2"

4
pages/home/index.vue

@ -50,7 +50,7 @@
<view class="steps"> <view class="steps">
<view class="content"> <view class="content">
<view class="title">{{ i18n.TodaySteps }}</view> <view class="title">{{ i18n.TodaySteps }}</view>
<view id="chart" :stepsNum="stepCount" :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">{{ i18n.ReceiveEarnings }}</u-button>
@ -86,7 +86,7 @@
开始记步 开始记步
</view> </view>
<view class="" @click="startStep"> <view class="" @click="startStep">
步数{{stepCount}}是否开启步数{{stepResult}} 步数{{stepCount}}
</view> </view>
<!-- tabBar --> <!-- tabBar -->
<tab-bar :selectActive="1"></tab-bar> <tab-bar :selectActive="1"></tab-bar>

5
pages/markets/index.vue

@ -64,11 +64,12 @@
"model": "contract" "model": "contract"
}); });
symbolGroup.then(res => { symbolGroup.then(res => {
console.log(res)
this.symbolList = res.USDT this.symbolList = res.USDT
}) })
.catch(e => { .catch(e => {
console.log(e) console.log('请求接口错误',e)
uni.showToast({ uni.showToast({
title: e, title: e,
icon: 'none', icon: 'none',
@ -84,7 +85,7 @@
this.websock = new this.$websocket(this.$constant.WSSURL) this.websock = new this.$websocket(this.$constant.WSSURL)
var that = this var that = this
this.websock.getWebSocketMsg(data => { this.websock.getWebSocketMsg(data => {
console.log(data, 1111)
if (data.channel === 'conn') { if (data.channel === 'conn') {
that.websock.setId(data.data); that.websock.setId(data.data);
that.websock.subPairsgroup(); that.websock.subPairsgroup();

59
pages/markets/trade.vue

@ -7,7 +7,8 @@
</navigation> </navigation>
<view class="content"> <view class="content">
<view class="transactionSide"> <view class="transactionSide">
<transaction :coin="symbol.coinSymbol" :type="type" :currency="symbol.baseSymbol"></transaction> <transaction v-on:onChangeType="onChangeType" :contractConfig="contractConfig" :symbol="symbol" :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">
@ -15,7 +16,7 @@
</view> </view>
</view> </view>
<view class="orderList"> <view class="orderList">
<entrustOrderList></entrustOrderList> <entrustOrderList :symbol="symbol"></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"
@ -55,14 +56,17 @@
return { return {
popupShow: false, popupShow: false,
symbolList: [], symbolList: [],
contractConfig: {
leverage:[]
},
symbol: {}, symbol: {},
marketDetail: { marketDetail: {
close: 0, close: 0,
usdRate: 0 usdRate: 0
}, },
bboList: {}, bboList: {},
type:'buy', type: 'buy',
sum:{} sum: {}
}; };
}, },
computed: { computed: {
@ -87,29 +91,37 @@
if (this.symbol) { if (this.symbol) {
this.getMarketDetail() this.getMarketDetail()
this.getBboList(); this.getBboList();
this.getContractConfig();
} }
this.type=uni.getStorageSync('orderType');
console.log(this.type)
this.type=this.type?this.type:'buy'; if (uni.getStorageSync('orderType')) {
this.type = uni.getStorageSync('orderType');
uni.removeStorageSync('orderType'); uni.removeStorageSync('orderType');
}
}, },
methods: { methods: {
statisticsSum(){
this.sum.buy=0 onChangeType(type) {
this.sum.sell=0 this.type = type
},
statisticsSum() {
this.sum.buy = 0
this.sum.sell = 0
console.log(this.sum.buy); console.log(this.sum.buy);
for(var buy in this.bboList.buy){ for (var buy in this.bboList.buy) {
if(buy>=5){ if (buy >= 5) {
break; break;
} }
this.sum.buy+=parseFloat(this.bboList.buy[buy].size) this.sum.buy += parseFloat(this.bboList.buy[buy].size)
} }
for(var sell in this.bboList.sell){ for (var sell in this.bboList.sell) {
if(sell>=5){ if (sell >= 5) {
break; break;
} }
this.sum.sell+=parseFloat(this.bboList.sell[sell].size) this.sum.sell += parseFloat(this.bboList.sell[sell].size)
} }
}, },
@ -122,6 +134,15 @@
}); });
}, },
getContractConfig() {
const tradeList = this.$api.contractConfig({
"pair": this.symbol.symbol
});
tradeList.then(res => {
this.contractConfig = res
this.contractConfig.leverage=res.leverage.split(',')
});
},
getBboList() { getBboList() {
const bboList = this.$api.bboList({ const bboList = this.$api.bboList({
"symbol": this.symbol.symbol "symbol": this.symbol.symbol
@ -183,8 +204,8 @@
that.tradeList = data.data; that.tradeList = data.data;
} else if (data.channel === 'market.' + that.symbol.symbol + '.detail') { } else if (data.channel === 'market.' + that.symbol.symbol + '.detail') {
that.marketDetail = data.data; that.marketDetail = data.data;
}else{ } else {
console.log('未知',data.data) console.log('未知', data.data)
} }
}); });
}, },
@ -210,7 +231,7 @@
*/ */
switchTo(item) { switchTo(item) {
this.popupShow = false; this.popupShow = false;
this.getContractConfig();
this.websock.unSubBbo(this.symbol.symbol) this.websock.unSubBbo(this.symbol.symbol)
this.websock.unSubTrade(this.symbol.symbol) this.websock.unSubTrade(this.symbol.symbol)
this.symbol = item; this.symbol = item;

4
utils/axios.js

@ -35,7 +35,7 @@ service.interceptors.request.use(
config.baseURL = constant.H5_MARKET_URL; config.baseURL = constant.H5_MARKET_URL;
// #endif // #endif
// #ifdef APP-PLUS // #ifdef APP-PLUS
config.baseURL = Vue.prototype.MARKET_URL; config.baseURL = constant.MARKET_URL
// #endif // #endif
} }
@ -136,7 +136,7 @@ service.interceptors.response.use(res => {
uni.hideLoading() uni.hideLoading()
res=res.data; res=res.data;
// console.log(res) console.log('数据',res)
// console.log(res.data) // console.log(res.data)
// console.log(res.data.data[0].nameAlias) // console.log(res.data.data[0].nameAlias)
if (res.code===0||res.success) { if (res.code===0||res.success) {

1
utils/language/en_US.js

@ -92,6 +92,7 @@ export default {
// 合约页面相关 // 合约页面相关
markets: { markets: {
// markets // markets
Succeeded:'Succeeded',
Dataisempty:'Data is empty', Dataisempty:'Data is empty',
TrandingPair: 'Tranding Pair', TrandingPair: 'Tranding Pair',
LatestPrice: 'Latest Price', LatestPrice: 'Latest Price',

Loading…
Cancel
Save