vee 3 years ago
parent
commit
b0facaf726
  1. 84
      components/entrustOrderList/entrustOrderList.vue
  2. 83
      components/navigation/navigation.vue
  3. 23
      manifest.json
  4. 389
      package-lock.json
  5. 2
      pages/login/register.vue
  6. 16
      pages/markets/contractOrder.vue
  7. 4
      pages/markets/kLine.vue
  8. 152
      pages/me/confirmInfo.vue
  9. 6
      pages/recharge/recharge.vue
  10. BIN
      static/recharge/ic_link.png
  11. BIN
      static/recharge/img_add.png
  12. 2
      utils/api.js
  13. 2
      utils/axios.js
  14. 20
      utils/language/en_US.js
  15. 19
      utils/language/vi_VN.js
  16. 21
      utils/language/zh_TW.js

84
components/entrustOrderList/entrustOrderList.vue

@ -50,7 +50,7 @@
<view class="value" v-show="type == 1||type == 2">{{item.lossStopPrice}}</view> <view class="value" v-show="type == 1||type == 2">{{item.lossStopPrice}}</view>
<!-- <view class="title" v-show="type === 1">{{ i18n.do }}</view> --> <!-- <view class="title" v-show="type === 1">{{ i18n.do }}</view> -->
<view class="closeBtn" v-show="type === 1" @click="getStopLimit(item)"> <view class="closeBtn" v-show="type === 1" @click="getStopLimit(item)">
{{ i18n.StopLimit }} {{ i18n.StopLimit }}
</view> </view>
@ -59,16 +59,17 @@
<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;">{{marketDetail.close}}</view> <view class="value" style="color:#F4506A;">{{marketDetail.close}}</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"> <view class="value" v-show="type === 0">
{{item.status=='undone'?i18n.undone:item.status=='opened'?i18n.opened:item.status=='revoked'?i18n.revoked:i18n.closed}} {{item.status=='undone'?i18n.undone:item.status=='opened'?i18n.opened:item.status=='revoked'?i18n.revoked:i18n.closed}}
</view> --> </view> -->
<view class="title" v-show="type === 1">{{ i18n.ROE }}</view> <view class="title" v-show="type === 1">{{ i18n.ROE }}</view>
<view class="value" v-show="type === 1" :style=" <view class="value" v-show="type === 1"
:style="
getValue(item.direction=='buy' getValue(item.direction=='buy'
?(marketDetail.close-item.openedPrice)*item.hand/item.bondAmount:(item.openedPrice-marketDetail.close)*item.hand/item.bondAmount)>=0?'color:#00E8A2;':'color:#F4506A'"> ?(marketDetail.close-item.openedPrice)*item.hand/item.bondAmount:(item.openedPrice-marketDetail.close)*item.hand/item.bondAmount)>=0?'color:#00E8A2;':'color:#F4506A'">
<!-- {{getValue(item.profitAmount/item.bondAmount)}}% --> <!-- {{getValue(item.profitAmount/item.bondAmount)}}% -->
{{getValue(item.direction=='buy'?(marketDetail.close-item.openedPrice)*item.hand/item.bondAmount:(item.openedPrice-marketDetail.close)*item.hand/item.bondAmount)}}% {{getValue(item.direction=='buy'?(marketDetail.close-item.openedPrice)*item.hand/item.bondAmount:(item.openedPrice-marketDetail.close)*item.hand/item.bondAmount)}}%
</view> </view>
<view class="title" v-show="type === 1||type === 2">{{ i18n.ExpectProfit }}</view> <view class="title" v-show="type === 1||type === 2">{{ i18n.ExpectProfit }}</view>
@ -90,10 +91,11 @@
<view class="value" style="color:#00E8A2;">{{item.closedPrice}}</view> <view class="value" style="color:#00E8A2;">{{item.closedPrice}}</view>
<view class="title">{{ i18n.ROE }}</view> <view class="title">{{ i18n.ROE }}</view>
<view class="value"> <view class="value">
<!-- {{item.status=='undone'?i18n.undone:item.status=='opened'?i18n.opened:item.status=='revoked'?i18n.revoked:i18n.closed}} --> <!-- {{item.status=='undone'?i18n.undone:item.status=='opened'?i18n.opened:item.status=='revoked'?i18n.revoked:i18n.closed}} -->
<view class="value" :style="(item.profitAmount/item.bondAmount)*100>=0?'color:#00E8A2;':'color:#F4506A'"> <view class="value"
{{getValue(item.profitAmount/item.bondAmount)}}% :style="(item.profitAmount/item.bondAmount)*100>=0?'color:#00E8A2;':'color:#F4506A'">
</view> {{getValue(item.profitAmount/item.bondAmount)}}%
</view>
</view> </view>
<view class="title">{{ i18n.PL }}</view> <view class="title">{{ i18n.PL }}</view>
@ -105,13 +107,13 @@
</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;"> <view class="value" style="color:#F4506A;">
{{item.status=='undone'?i18n.undone:item.status=='opened'?i18n.opened:item.status=='revoked'?i18n.revoked:i18n.closed}} {{item.status=='undone'?i18n.undone:item.status=='opened'?i18n.opened:item.status=='revoked'?i18n.revoked:i18n.closed}}
</view> --> </view> -->
<view class="title">{{ i18n.PL }}</view> <view class="title">{{ i18n.PL }}</view>
<view class="value" style="color:#00E8A2;"> <view class="value" style="color:#00E8A2;">
0 0
</view> </view>
</view> </view>
</view> </view>
@ -160,8 +162,8 @@
<!-- 追加保证金 --> <!-- 追加保证金 -->
<u-modal :show="stopModalShowZui" :confirmText="i18n.Confirm" :cancelText="i18n.Cancel" :showCancelButton="true" <u-modal :show="stopModalShowZui" :confirmText="i18n.Confirm" :cancelText="i18n.Cancel" :showCancelButton="true"
:title="i18n.Margincall" :content='i18n.WarmTipsText' @confirm="stopConfirm" @cancel="stopModalShowZui = false" :title="i18n.Margincall" :content='i18n.WarmTipsText' @confirm="stopConfirm"
confirmColor="#00E8A2" cancelColor="#96959E"> @cancel="stopModalShowZui = false" confirmColor="#00E8A2" cancelColor="#96959E">
<view class="stopModel"> <view class="stopModel">
<view class="title"> <view class="title">
<text class="left">{{ i18n.AmountTrue }}</text> <text class="left">{{ i18n.AmountTrue }}</text>
@ -237,7 +239,7 @@
closeModalShow: false, closeModalShow: false,
stopModalShow: false, stopModalShow: false,
type: 1, type: 1,
stopModalShowZui:false, stopModalShowZui: false,
test: 0, test: 0,
dealList: [{ dealList: [{
dealType: 'long' dealType: 'long'
@ -291,21 +293,33 @@
}, },
methods: { methods: {
// //
getValue(e){ getValue(e) {
let data = e*100 let data = e * 100
data = parseFloat(data.toPrecision(10)) data = parseFloat(data)
data = String(data) data = String(data)
return data.substring(0, data.indexOf(".") + 3); if (data.indexOf(".") != -1) {
return data.substring(0, data.indexOf(".") + 3);
} else {
return data
}
}, },
// //
getPrice(s) { getPrice(s) {
var i=s; var i = s;
/* /*
js 数字精度问题 js 数字精度问题
*/ */
i = parseFloat(i.toPrecision(10)) i = parseFloat(i)
i = String(i) i = String(i)
return i.substring(0, i.indexOf(".") + 5); // return i.substring(0, i.indexOf(".") + 5);
if (i.indexOf(".") != -1) {
return i.substring(0, i.indexOf(".") + 5);
} else {
return i
}
}, },
stopModalChange() { stopModalChange() {
@ -341,14 +355,14 @@
this.loss = 0 this.loss = 0
}, },
// //
Margincall(i){ Margincall(i) {
this.stopLimitData = i this.stopLimitData = i
this.stopModalShowZui=true this.stopModalShowZui = true
this.styValue = 0; this.styValue = 0;
this.stsValue = 0; this.stsValue = 0;
this.profit = 0 this.profit = 0
this.loss = 0 this.loss = 0
}, },
// //
closeItem(item, i) { closeItem(item, i) {
this.itemData = item this.itemData = item
@ -380,7 +394,7 @@
* @param {*} type * @param {*} type
*/ */
onChangeType(type = 0) { onChangeType(type = 0) {
this.list=[]; this.list = [];
this.type = type this.type = type
if (this.type == 0) { if (this.type == 0) {
this.status = 'undone' this.status = 'undone'
@ -429,7 +443,7 @@
* stop确认弹窗 * stop确认弹窗
*/ */
stopConfirm() { stopConfirm() {
if(this.stopModalShow){ if (this.stopModalShow) {
if (this.styValue < 0 || this.stsValue < 0) { if (this.styValue < 0 || this.stsValue < 0) {
uni.showToast({ uni.showToast({
title: this.i18n.lessThan, title: this.i18n.lessThan,
@ -452,7 +466,7 @@
}); });
} }
if(this.stopModalShowZui){ if (this.stopModalShowZui) {
if (this.styValue < 0) { if (this.styValue < 0) {
uni.showToast({ uni.showToast({
title: this.i18n.lessThan, title: this.i18n.lessThan,
@ -530,10 +544,11 @@
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.righttype3{ .righttype3 {
position: absolute; position: absolute;
right: 115rpx; right: 115rpx;
} }
.closeBtn { .closeBtn {
display: inline-block; display: inline-block;
// width: 98rpx; // width: 98rpx;
@ -547,6 +562,7 @@
color: rgb(0, 232, 162); color: rgb(0, 232, 162);
margin-top: 22rpx; margin-top: 22rpx;
} }
/deep/ .u-empty { /deep/ .u-empty {
top: 500% !important; top: 500% !important;
} }

83
components/navigation/navigation.vue

@ -10,11 +10,22 @@
<slot></slot> <slot></slot>
<slot name="middle"></slot> <slot name="middle"></slot>
<slot name="right"></slot> <slot name="right"></slot>
<view class="languageBtn" v-if="showLang" @click.stop="languageShow = true">
{{ langTrue }}
</view>
<!-- popups弹窗 -->
<u-overlay :show="languageShow" @click="languageShow = false" :opacity="0">
<language-popups v-model="languageShow" :popData="languageData" @tapPopup="tapPopup">
</language-popups>
</u-overlay>
</view> </view>
</template> </template>
<script> <script>
const COMPONENT_NAME = 'navigation' const COMPONENT_NAME = 'navigation'
import languageData from '@/utils/language/config'
export default { export default {
name: COMPONENT_NAME, name: COMPONENT_NAME,
props: { props: {
@ -36,19 +47,45 @@ export default {
return false return false
} }
}, },
}, showLang: { //
type: Boolean,
default() {
return false
}
},
},
data() { data() {
return { return {
langTrue: languageData[0].title || 'English',
languageData,
languageShow: false,
} }
}, },
computed: { computed: {
}, },
mounted() { mounted() {
if(this.showLang){
if (uni.getStorageSync('langTrue')) {
this.langTrue = uni.getStorageSync('langTrue')
}
}
}, },
methods: { methods: {
//
tapPopup(e) {
this._i18n.locale = e.language
this.$store.commit('setLanguage', e.language)
this.langTrue = e.title
uni.setStorageSync('langTrue', e.title)
// uni.redirectTo({
// url: '/pages/home/index'
// })
uni.reLaunch({
url: '/pages/login/register'
})
},
back() { back() {
// #ifdef H5 // #ifdef H5
@ -70,6 +107,48 @@ export default {
width: 234rpx; width: 234rpx;
line-height: 60rpx; line-height: 60rpx;
} }
.languageBtn {
display: inline-block;
box-sizing: border-box;
width: 180rpx;
position: absolute;
right: 0rpx;;
margin: 38rpx 48rpx 0 0;
font-size: 24rpx;
height: 60rpx;
line-height: 36rpx;
text-align: center;
padding-left: 12rpx;
&::before {
display: block;
position: absolute;
content: '';
background-image: url(../../static/home/map.png);
background-repeat: no-repeat;
background-size: 36rpx;
width: 36rpx;
height: 36rpx;
top: 0rpx;
left: 0rpx;
}
&::after {
display: block;
position: absolute;
content: '';
background-image: url(../../static/home/pull-down.png);
background-repeat: no-repeat;
background-size: 24rpx;
width: 24rpx;
height: 24rpx;
top: 12rpx;
right: 0rpx;
}
}
.nav-head-H5{ .nav-head-H5{
overflow: hidden; overflow: hidden;
position: fixed; position: fixed;

23
manifest.json

@ -1,9 +1,9 @@
{ {
"name" : "samehome", "name" : "Same home",
"appid" : "__UNI__C4028F6", "appid" : "__UNI__C4028F6",
"description" : "", "description" : "",
"versionName" : "1.0.0", "versionName" : "1.0.1",
"versionCode" : "101", "versionCode" : 101,
"transformPx" : false, "transformPx" : false,
/* 5+App */ /* 5+App */
"app-plus" : { "app-plus" : {
@ -84,7 +84,22 @@
} }
} }
}, },
"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" : "com.samehome",
"ios_bundle_id" : "com.samehome",
"isCloud" : true,
"bought" : 1,
"pid" : "6632",
"parameters" : {}
}
}
}
}, },
"h5" : { "h5" : {
"publicPath" : "/", "publicPath" : "/",

389
package-lock.json

@ -19,6 +19,18 @@
"vue-i18n": "^9.2.2" "vue-i18n": "^9.2.2"
} }
}, },
"node_modules/@babel/parser": {
"version": "7.19.4",
"resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.19.4.tgz",
"integrity": "sha512-qpVT7gtuOLjWeDTKLkJ6sryqLliBaFpAtGeqw5cs5giLldvh+Ch0plqnUMKoVAUS6ZEueQQiZV+p5pxtPitEsA==",
"peer": true,
"bin": {
"parser": "bin/babel-parser.js"
},
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@babel/runtime": { "node_modules/@babel/runtime": {
"version": "7.18.9", "version": "7.18.9",
"resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.18.9.tgz", "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.18.9.tgz",
@ -87,11 +99,123 @@
"node": ">= 14" "node": ">= 14"
} }
}, },
"node_modules/@vue/compiler-core": {
"version": "3.2.40",
"resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.40.tgz",
"integrity": "sha512-2Dc3Stk0J/VyQ4OUr2yEC53kU28614lZS+bnrCbFSAIftBJ40g/2yQzf4mPBiFuqguMB7hyHaujdgZAQ67kZYA==",
"peer": true,
"dependencies": {
"@babel/parser": "^7.16.4",
"@vue/shared": "3.2.40",
"estree-walker": "^2.0.2",
"source-map": "^0.6.1"
}
},
"node_modules/@vue/compiler-dom": {
"version": "3.2.40",
"resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.40.tgz",
"integrity": "sha512-OZCNyYVC2LQJy4H7h0o28rtk+4v+HMQygRTpmibGoG9wZyomQiS5otU7qo3Wlq5UfHDw2RFwxb9BJgKjVpjrQw==",
"peer": true,
"dependencies": {
"@vue/compiler-core": "3.2.40",
"@vue/shared": "3.2.40"
}
},
"node_modules/@vue/compiler-sfc": {
"version": "3.2.40",
"resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.40.tgz",
"integrity": "sha512-tzqwniIN1fu1PDHC3CpqY/dPCfN/RN1thpBC+g69kJcrl7mbGiHKNwbA6kJ3XKKy8R6JLKqcpVugqN4HkeBFFg==",
"peer": true,
"dependencies": {
"@babel/parser": "^7.16.4",
"@vue/compiler-core": "3.2.40",
"@vue/compiler-dom": "3.2.40",
"@vue/compiler-ssr": "3.2.40",
"@vue/reactivity-transform": "3.2.40",
"@vue/shared": "3.2.40",
"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.40",
"resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.40.tgz",
"integrity": "sha512-80cQcgasKjrPPuKcxwuCx7feq+wC6oFl5YaKSee9pV3DNq+6fmCVwEEC3vvkf/E2aI76rIJSOYHsWSEIxK74oQ==",
"peer": true,
"dependencies": {
"@vue/compiler-dom": "3.2.40",
"@vue/shared": "3.2.40"
}
},
"node_modules/@vue/devtools-api": { "node_modules/@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=="
}, },
"node_modules/@vue/reactivity": {
"version": "3.2.40",
"resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.40.tgz",
"integrity": "sha512-N9qgGLlZmtUBMHF9xDT4EkD9RdXde1Xbveb+niWMXuHVWQP5BzgRmE3SFyUBBcyayG4y1lhoz+lphGRRxxK4RA==",
"peer": true,
"dependencies": {
"@vue/shared": "3.2.40"
}
},
"node_modules/@vue/reactivity-transform": {
"version": "3.2.40",
"resolved": "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.40.tgz",
"integrity": "sha512-HQUCVwEaacq6fGEsg2NUuGKIhUveMCjOk8jGHqLXPI2w6zFoPrlQhwWEaINTv5kkZDXKEnCijAp+4gNEHG03yw==",
"peer": true,
"dependencies": {
"@babel/parser": "^7.16.4",
"@vue/compiler-core": "3.2.40",
"@vue/shared": "3.2.40",
"estree-walker": "^2.0.2",
"magic-string": "^0.25.7"
}
},
"node_modules/@vue/runtime-core": {
"version": "3.2.40",
"resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.40.tgz",
"integrity": "sha512-U1+rWf0H8xK8aBUZhnrN97yoZfHbjgw/bGUzfgKPJl69/mXDuSg8CbdBYBn6VVQdR947vWneQBFzdhasyzMUKg==",
"peer": true,
"dependencies": {
"@vue/reactivity": "3.2.40",
"@vue/shared": "3.2.40"
}
},
"node_modules/@vue/runtime-dom": {
"version": "3.2.40",
"resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.40.tgz",
"integrity": "sha512-AO2HMQ+0s2+MCec8hXAhxMgWhFhOPJ/CyRXnmTJ6XIOnJFLrH5Iq3TNwvVcODGR295jy77I6dWPj+wvFoSYaww==",
"peer": true,
"dependencies": {
"@vue/runtime-core": "3.2.40",
"@vue/shared": "3.2.40",
"csstype": "^2.6.8"
}
},
"node_modules/@vue/server-renderer": {
"version": "3.2.40",
"resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.40.tgz",
"integrity": "sha512-gtUcpRwrXOJPJ4qyBpU3EyxQa4EkV8I4f8VrDePcGCPe4O/hd0BPS7v9OgjIQob6Ap8VDz9G+mGTKazE45/95w==",
"peer": true,
"dependencies": {
"@vue/compiler-ssr": "3.2.40",
"@vue/shared": "3.2.40"
},
"peerDependencies": {
"vue": "3.2.40"
}
},
"node_modules/@vue/shared": {
"version": "3.2.40",
"resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.40.tgz",
"integrity": "sha512-0PLQ6RUtZM0vO3teRfzGi4ltLUO5aO+kLgwh4Um3THSR03rpQWLTuRCkuO5A41ITzwdWeKdPHtSARuPkoo5pCQ==",
"peer": true
},
"node_modules/asynckit": { "node_modules/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",
@ -139,6 +263,12 @@
"integrity": "sha512-sr0FY4lnO1hkQ4gLDr24K0DGnweGO1QwSj5BpfQjpSJPdqWalja4cTps29Y/PJVG/P7FYlPDkH3hO+Tr0CvDgQ==", "integrity": "sha512-sr0FY4lnO1hkQ4gLDr24K0DGnweGO1QwSj5BpfQjpSJPdqWalja4cTps29Y/PJVG/P7FYlPDkH3hO+Tr0CvDgQ==",
"hasInstallScript": true "hasInstallScript": true
}, },
"node_modules/csstype": {
"version": "2.6.21",
"resolved": "https://registry.npmmirror.com/csstype/-/csstype-2.6.21.tgz",
"integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==",
"peer": true
},
"node_modules/decimal.js": { "node_modules/decimal.js": {
"version": "10.4.0", "version": "10.4.0",
"resolved": "https://registry.npmmirror.com/decimal.js/-/decimal.js-10.4.0.tgz", "resolved": "https://registry.npmmirror.com/decimal.js/-/decimal.js-10.4.0.tgz",
@ -166,6 +296,12 @@
"resolved": "https://registry.npmmirror.com/escape-latex/-/escape-latex-1.2.0.tgz", "resolved": "https://registry.npmmirror.com/escape-latex/-/escape-latex-1.2.0.tgz",
"integrity": "sha512-nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw==" "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": { "node_modules/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",
@ -215,6 +351,15 @@
"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=="
}, },
"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": { "node_modules/mathjs": {
"version": "11.1.0", "version": "11.1.0",
"resolved": "https://registry.npmmirror.com/mathjs/-/mathjs-11.1.0.tgz", "resolved": "https://registry.npmmirror.com/mathjs/-/mathjs-11.1.0.tgz",
@ -261,6 +406,38 @@
"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=="
}, },
"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.17",
"resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.17.tgz",
"integrity": "sha512-UNxNOLQydcOFi41yHNMcKRZ39NeXlr8AxGuZJsdub8vIb12fHzcq37DTU/QtbI6WLxNg2gF9Z+8qtRwTj1UI1Q==",
"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": { "node_modules/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",
@ -279,6 +456,21 @@
"node": ">=0.10.0" "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": { "node_modules/tiny-emitter": {
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmmirror.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz", "resolved": "https://registry.npmmirror.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
@ -316,6 +508,19 @@
"mutation-observer": "^1.0.3" "mutation-observer": "^1.0.3"
} }
}, },
"node_modules/vue": {
"version": "3.2.40",
"resolved": "https://registry.npmmirror.com/vue/-/vue-3.2.40.tgz",
"integrity": "sha512-1mGHulzUbl2Nk3pfvI5aXYYyJUs1nm4kyvuz38u4xlQkLUn1i2R7nDbI4TufECmY8v1qNBHYy62bCaM+3cHP2A==",
"peer": true,
"dependencies": {
"@vue/compiler-dom": "3.2.40",
"@vue/compiler-sfc": "3.2.40",
"@vue/runtime-dom": "3.2.40",
"@vue/server-renderer": "3.2.40",
"@vue/shared": "3.2.40"
}
},
"node_modules/vue-i18n": { "node_modules/vue-i18n": {
"version": "9.2.2", "version": "9.2.2",
"resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.2.2.tgz", "resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.2.2.tgz",
@ -343,6 +548,12 @@
} }
}, },
"dependencies": { "dependencies": {
"@babel/parser": {
"version": "7.19.4",
"resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.19.4.tgz",
"integrity": "sha512-qpVT7gtuOLjWeDTKLkJ6sryqLliBaFpAtGeqw5cs5giLldvh+Ch0plqnUMKoVAUS6ZEueQQiZV+p5pxtPitEsA==",
"peer": true
},
"@babel/runtime": { "@babel/runtime": {
"version": "7.18.9", "version": "7.18.9",
"resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.18.9.tgz", "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.18.9.tgz",
@ -393,11 +604,120 @@
"@intlify/shared": "9.2.2" "@intlify/shared": "9.2.2"
} }
}, },
"@vue/compiler-core": {
"version": "3.2.40",
"resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.40.tgz",
"integrity": "sha512-2Dc3Stk0J/VyQ4OUr2yEC53kU28614lZS+bnrCbFSAIftBJ40g/2yQzf4mPBiFuqguMB7hyHaujdgZAQ67kZYA==",
"peer": true,
"requires": {
"@babel/parser": "^7.16.4",
"@vue/shared": "3.2.40",
"estree-walker": "^2.0.2",
"source-map": "^0.6.1"
}
},
"@vue/compiler-dom": {
"version": "3.2.40",
"resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.40.tgz",
"integrity": "sha512-OZCNyYVC2LQJy4H7h0o28rtk+4v+HMQygRTpmibGoG9wZyomQiS5otU7qo3Wlq5UfHDw2RFwxb9BJgKjVpjrQw==",
"peer": true,
"requires": {
"@vue/compiler-core": "3.2.40",
"@vue/shared": "3.2.40"
}
},
"@vue/compiler-sfc": {
"version": "3.2.40",
"resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.40.tgz",
"integrity": "sha512-tzqwniIN1fu1PDHC3CpqY/dPCfN/RN1thpBC+g69kJcrl7mbGiHKNwbA6kJ3XKKy8R6JLKqcpVugqN4HkeBFFg==",
"peer": true,
"requires": {
"@babel/parser": "^7.16.4",
"@vue/compiler-core": "3.2.40",
"@vue/compiler-dom": "3.2.40",
"@vue/compiler-ssr": "3.2.40",
"@vue/reactivity-transform": "3.2.40",
"@vue/shared": "3.2.40",
"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.40",
"resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.40.tgz",
"integrity": "sha512-80cQcgasKjrPPuKcxwuCx7feq+wC6oFl5YaKSee9pV3DNq+6fmCVwEEC3vvkf/E2aI76rIJSOYHsWSEIxK74oQ==",
"peer": true,
"requires": {
"@vue/compiler-dom": "3.2.40",
"@vue/shared": "3.2.40"
}
},
"@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.40",
"resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.40.tgz",
"integrity": "sha512-N9qgGLlZmtUBMHF9xDT4EkD9RdXde1Xbveb+niWMXuHVWQP5BzgRmE3SFyUBBcyayG4y1lhoz+lphGRRxxK4RA==",
"peer": true,
"requires": {
"@vue/shared": "3.2.40"
}
},
"@vue/reactivity-transform": {
"version": "3.2.40",
"resolved": "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.40.tgz",
"integrity": "sha512-HQUCVwEaacq6fGEsg2NUuGKIhUveMCjOk8jGHqLXPI2w6zFoPrlQhwWEaINTv5kkZDXKEnCijAp+4gNEHG03yw==",
"peer": true,
"requires": {
"@babel/parser": "^7.16.4",
"@vue/compiler-core": "3.2.40",
"@vue/shared": "3.2.40",
"estree-walker": "^2.0.2",
"magic-string": "^0.25.7"
}
},
"@vue/runtime-core": {
"version": "3.2.40",
"resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.40.tgz",
"integrity": "sha512-U1+rWf0H8xK8aBUZhnrN97yoZfHbjgw/bGUzfgKPJl69/mXDuSg8CbdBYBn6VVQdR947vWneQBFzdhasyzMUKg==",
"peer": true,
"requires": {
"@vue/reactivity": "3.2.40",
"@vue/shared": "3.2.40"
}
},
"@vue/runtime-dom": {
"version": "3.2.40",
"resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.40.tgz",
"integrity": "sha512-AO2HMQ+0s2+MCec8hXAhxMgWhFhOPJ/CyRXnmTJ6XIOnJFLrH5Iq3TNwvVcODGR295jy77I6dWPj+wvFoSYaww==",
"peer": true,
"requires": {
"@vue/runtime-core": "3.2.40",
"@vue/shared": "3.2.40",
"csstype": "^2.6.8"
}
},
"@vue/server-renderer": {
"version": "3.2.40",
"resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.40.tgz",
"integrity": "sha512-gtUcpRwrXOJPJ4qyBpU3EyxQa4EkV8I4f8VrDePcGCPe4O/hd0BPS7v9OgjIQob6Ap8VDz9G+mGTKazE45/95w==",
"peer": true,
"requires": {
"@vue/compiler-ssr": "3.2.40",
"@vue/shared": "3.2.40"
}
},
"@vue/shared": {
"version": "3.2.40",
"resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.40.tgz",
"integrity": "sha512-0PLQ6RUtZM0vO3teRfzGi4ltLUO5aO+kLgwh4Um3THSR03rpQWLTuRCkuO5A41ITzwdWeKdPHtSARuPkoo5pCQ==",
"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",
@ -435,6 +755,12 @@
"resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.25.1.tgz", "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.25.1.tgz",
"integrity": "sha512-sr0FY4lnO1hkQ4gLDr24K0DGnweGO1QwSj5BpfQjpSJPdqWalja4cTps29Y/PJVG/P7FYlPDkH3hO+Tr0CvDgQ==" "integrity": "sha512-sr0FY4lnO1hkQ4gLDr24K0DGnweGO1QwSj5BpfQjpSJPdqWalja4cTps29Y/PJVG/P7FYlPDkH3hO+Tr0CvDgQ=="
}, },
"csstype": {
"version": "2.6.21",
"resolved": "https://registry.npmmirror.com/csstype/-/csstype-2.6.21.tgz",
"integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==",
"peer": true
},
"decimal.js": { "decimal.js": {
"version": "10.4.0", "version": "10.4.0",
"resolved": "https://registry.npmmirror.com/decimal.js/-/decimal.js-10.4.0.tgz", "resolved": "https://registry.npmmirror.com/decimal.js/-/decimal.js-10.4.0.tgz",
@ -459,6 +785,12 @@
"resolved": "https://registry.npmmirror.com/escape-latex/-/escape-latex-1.2.0.tgz", "resolved": "https://registry.npmmirror.com/escape-latex/-/escape-latex-1.2.0.tgz",
"integrity": "sha512-nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw==" "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",
@ -494,6 +826,15 @@
"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": { "mathjs": {
"version": "11.1.0", "version": "11.1.0",
"resolved": "https://registry.npmmirror.com/mathjs/-/mathjs-11.1.0.tgz", "resolved": "https://registry.npmmirror.com/mathjs/-/mathjs-11.1.0.tgz",
@ -528,6 +869,29 @@
"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.17",
"resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.17.tgz",
"integrity": "sha512-UNxNOLQydcOFi41yHNMcKRZ39NeXlr8AxGuZJsdub8vIb12fHzcq37DTU/QtbI6WLxNg2gF9Z+8qtRwTj1UI1Q==",
"peer": true,
"requires": {
"nanoid": "^3.3.4",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
}
},
"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",
@ -543,6 +907,18 @@
"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": { "tiny-emitter": {
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmmirror.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz", "resolved": "https://registry.npmmirror.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
@ -574,6 +950,19 @@
"mutation-observer": "^1.0.3" "mutation-observer": "^1.0.3"
} }
}, },
"vue": {
"version": "3.2.40",
"resolved": "https://registry.npmmirror.com/vue/-/vue-3.2.40.tgz",
"integrity": "sha512-1mGHulzUbl2Nk3pfvI5aXYYyJUs1nm4kyvuz38u4xlQkLUn1i2R7nDbI4TufECmY8v1qNBHYy62bCaM+3cHP2A==",
"peer": true,
"requires": {
"@vue/compiler-dom": "3.2.40",
"@vue/compiler-sfc": "3.2.40",
"@vue/runtime-dom": "3.2.40",
"@vue/server-renderer": "3.2.40",
"@vue/shared": "3.2.40"
}
},
"vue-i18n": { "vue-i18n": {
"version": "9.2.2", "version": "9.2.2",
"resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.2.2.tgz", "resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.2.2.tgz",

2
pages/login/register.vue

@ -1,6 +1,6 @@
<template> <template>
<view class="main"> <view class="main">
<navigation>{{ i18n.SignUp }}</navigation> <navigation :showLang="true">{{ i18n.SignUp }}</navigation>
<!-- #ifdef APP-PLUS --> <!-- #ifdef APP-PLUS -->
<view class="body-app"> <view class="body-app">

16
pages/markets/contractOrder.vue

@ -2,7 +2,12 @@
<view class="entrustOrderList"> <view class="entrustOrderList">
<navigation>{{ i18n.contractOrder }}</navigation> <navigation>{{ i18n.contractOrder }}</navigation>
<!-- 四个tab --> <!-- 四个tab -->
<view class="tab"> <!-- #ifdef APP-PLUS -->
<view class="tab" style="margin-top: 210rpx;">
<!-- #endif -->
<!-- #ifdef H5 -->
<view class="tab">
<!-- #endif -->
<view class="item" :class="{ select: type === 1 }" @click="onChangeType(1)">{{ i18n.Position }} <view class="item" :class="{ select: type === 1 }" @click="onChangeType(1)">{{ i18n.Position }}
</view> </view>
@ -279,9 +284,14 @@
// //
getValue(e){ getValue(e){
let data = e*100 let data = e*100
data = parseFloat(data.toPrecision(10)) data = parseFloat(data)
data = String(data) data = String(data)
return data.substring(0, data.indexOf(".") + 3); if(data.indexOf(".")!=-1){
return data.substring(0, data.indexOf(".") + 3);
}else{
return data;
}
}, },
// //
getPrice(s) { getPrice(s) {

4
pages/markets/kLine.vue

@ -74,11 +74,11 @@
<view class="btn"> <view class="btn">
<!-- open按钮 --> <!-- open按钮 -->
<u-button class="button" color="#00E8A2" throttleTime="500" @click="btnClick('buy')"> <u-button class="button" color="#00E8A2" throttleTime="500" @click="btnClick('buy')">
{{ i18n.open }} {{ i18n.LONG }}
</u-button> </u-button>
<!-- close按钮 --> <!-- close按钮 -->
<u-button class="button" color="#F4506A" throttleTime="500" @click="btnClick('sell')"> <u-button class="button" color="#F4506A" throttleTime="500" @click="btnClick('sell')">
{{ i18n.close }} {{ i18n.SHORT }}
</u-button> </u-button>
</view> </view>

152
pages/me/confirmInfo.vue

@ -18,7 +18,8 @@
<view class="title" v-if="bankInfo.auditStatus=='reject'">{{ i18n.Reasonforrejection }}</view> <view class="title" v-if="bankInfo.auditStatus=='reject'">{{ i18n.Reasonforrejection }}</view>
<view class="" style="word-break: break-all;margin-bottom: 20rpx;" v-if="bankInfo.auditStatus=='reject'"> <view class="" style="word-break: break-all;margin-bottom: 20rpx;"
v-if="bankInfo.auditStatus=='reject'">
{{bankInfo.auditReason}} {{bankInfo.auditReason}}
</view> </view>
@ -40,16 +41,17 @@
</u-form-item> </u-form-item>
</view> </view>
<view class="title" v-if="bankInfo.auditStatus!='agree'">{{ i18n.IDcard }}</view> <view class="title" v-show="bankInfo.auditStatus!='agree'">{{ i18n.IDcard }}</view>
<u-upload v-if="bankInfo.auditStatus!='agree'" :fileList="fileList1" @afterRead="afterRead" @delete="deletePic" name="1" multiple <u-upload v-show="bankInfo.auditStatus!='agree'" :fileList="fileList1" @afterRead="afterRead"
:maxCount="1"> @delete="deletePic" name="1" multiple :maxCount="1">
<image class="add" src="/static/home/id.png" mode="aspectFit" v-if="!bankInfo.certFrontImgPath"></image> <image class="add" src="/static/home/id.png" mode="aspectFit"
v-if="!bankInfo.certFrontImgPath"></image>
<image :src="baseURL+bankInfo.certFrontImgPath" <image :src="baseURL+bankInfo.certFrontImgPath" mode="" class="add"
mode="" class="add" v-if="bankInfo.certFrontImgPath"></image> v-if="bankInfo.certFrontImgPath"></image>
</u-upload> </u-upload>
@ -61,7 +63,7 @@
</u--form> </u--form>
<u-button class="button" color="#00E8A2" :throttleTime="500" @click="bank" v-if="!hideButton"> <u-button class="button" color="#00E8A2" :throttleTime="500" @click="bank" v-if="!hideButton">
{{ i18n.Confirm }} {{ i18n.Confirm }}
</u-button> </u-button>
</view> </view>
@ -79,7 +81,9 @@
name: "withdrawalRecord", name: "withdrawalRecord",
data() { data() {
return { return {
hideButton:false, language: '',
ticket: '',
hideButton: false,
baseURL: '', baseURL: '',
fileList1: [], fileList1: [],
rules: { rules: {
@ -100,7 +104,7 @@
bankInfo: { bankInfo: {
name: null, name: null,
certId: null, certId: null,
certFrontImgPath:null certFrontImgPath: null
}, },
pageState: 'addBank', // , pageState: 'addBank', // ,
@ -120,6 +124,8 @@
} }
}, },
onLoad(option) { onLoad(option) {
this.language = uni.getStorageSync("language") || 'en_US';
this.ticket = uni.getStorageSync('ticket')
this.getBank() this.getBank()
this.baseURL = constant.BASE_URL this.baseURL = constant.BASE_URL
}, },
@ -128,6 +134,7 @@
// //
deletePic(event) { deletePic(event) {
this[`fileList${event.name}`].splice(event.index, 1) this[`fileList${event.name}`].splice(event.index, 1)
this.bankInfo.certFrontImgPath = null;
}, },
// //
@ -138,7 +145,6 @@
}) })
// mutiple true , file // mutiple true , file
let lists = [].concat(event.file) let lists = [].concat(event.file)
console.log(event)
let fileListLen = this[`fileList${event.name}`].length let fileListLen = this[`fileList${event.name}`].length
lists.map((item) => { lists.map((item) => {
this[`fileList${event.name}`].push({ this[`fileList${event.name}`].push({
@ -160,84 +166,45 @@
}, },
uploadFilePromise(url) { uploadFilePromise(url) {
// #ifdef APP-PLUS
console.log(url) console.log(url)
pathToBase64(url) return new Promise((resolve, reject) => {
.then(path => { let a = uni.uploadFile({
console.log(path) url: this.baseURL + '/api/user/uploadImg1', //
let res=path filePath: url,
res = res.split(',')[1] name: 'file',
console.log(res,'res') formData: {
return new Promise((resolve, reject) => { ticket: this.ticket,
api.uploadImg({ lang: this.language,
img: res },
}).then(res => { success: (res) => {
setTimeout(() => {
uni.hideLoading() uni.hideLoading()
this.bankInfo.certFrontImgPath=res let data = JSON.parse(res.data)
}) this.bankInfo.certFrontImgPath = data.data
}) }, 1000)
}) },
.catch(error => { failed(res) {
uni.hideLoading() uni.hideLoading()
console.error(error) console.log(res)
}) }
});
// #endif })
// #ifdef H5
const image = new Image() // imgDOM)
//blob:http://localhost:8080/b878edea-e649-4f8d-b723-c3f25454141b
image.src = url;
image.onload = () => {
const canvas = document.createElement('canvas')
canvas.width = image.width
canvas.height = image.height
const context = canvas.getContext('2d')
context.drawImage(image, 0, 0, image.width, image.height);
let imgUrl = canvas.toDataURL() //base64
imgUrl = imgUrl.split(',')[1]
return new Promise((resolve, reject) => {
api.uploadImg({
img: imgUrl
}).then(res => {
this.bankInfo.certFrontImgPath=res
console.log(res)
console.log(this.bankInfo.certFrontImgPath)
})
})
}
// #endif
}, },
//
getBank() {
api.certificationInfo().then(res => {
getBase64(file) { this.bankInfo = res;
return new Promise((resolve, reject) => { this.bankInfo.certFrontImgPath = res.certFrontImg
const reader = new FileReader() if (this.bankInfo.auditStatus == 'agree' || this.bankInfo.auditStatus == 'apply') {
reader.readAsDataURL(file) this.hideButton = true
reader.onload = () => resolve(reader.result) }
reader.onerror = (error) => reject(error)
}) })
}, },
//
getBank() {
api.certificationInfo().then(res => {
this.bankInfo = res;
this.bankInfo.certFrontImgPath=res.certFrontImg
if(this.bankInfo.auditStatus=='agree'||this.bankInfo.auditStatus=='apply'){
this.hideButton=true
}
})
},
// //
bank() { bank() {
if(!this.bankInfo.certFrontImgPath){ if (!this.bankInfo.certFrontImgPath) {
uni.$u.toast(this.$t("withdrawal").enterIdCard) uni.$u.toast(this.$t("withdrawal").enterIdCard)
return; return;
} }
@ -248,8 +215,8 @@
certFrontImgPath: this.bankInfo.certFrontImgPath certFrontImgPath: this.bankInfo.certFrontImgPath
} }
api.certification(bankInfo).then(res => { api.certification(bankInfo).then(res => {
uni.$u.toast(this.$t("me").addSuccessfully) uni.$u.toast(this.$t("me").addSuccessfully)
this.getBank() this.getBank()
}) })
}).catch(errors => { }).catch(errors => {
@ -261,20 +228,21 @@
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
/deep/ .uicon-camera-fill {
/deep/ .uicon-camera-fill{ display: none !important;
display:none !important;
} }
/deep/ .u-upload{
position:relative; /deep/ .u-upload {
.add{ position: relative;
width: 620rpx !important;
height: 360rpx !important; .add {
width: 620rpx !important;
height: 360rpx !important;
} }
} }
/deep/ .u-upload__wrap__preview__image { /deep/ .u-upload__wrap__preview__image {
width: 620rpx !important; width: 620rpx !important;
height: 360rpx !important; height: 360rpx !important;
} }

6
pages/recharge/recharge.vue

@ -33,7 +33,6 @@
<view class="selectCoinBtn"> <view class="selectCoinBtn">
</view> </view>
</view> </view>
<view class="coin-item"> <view class="coin-item">
<view class="QRCode"> <view class="QRCode">
<u-image class="QRCodeImg" :src="qr" width="310rpx" height="310rpx"> <u-image class="QRCodeImg" :src="qr" width="310rpx" height="310rpx">
@ -69,16 +68,13 @@
</view> </view>
<radio color="#00E8A2" shape="square" :checked="coin==item.enname"></radio> <radio color="#00E8A2" shape="square" :checked="coin==item.enname"></radio>
</label> </label>
</radio-group> </radio-group>
</scroll-view> </scroll-view>
<u-button class="button" color="#00E8A2" throttleTime="500" @click="USDTPopupShow = false">OK <u-button class="button" color="#00E8A2" throttleTime="500" @click="USDTPopupShow = false">OK
</u-button> </u-button>
</view> </view>
</u-popup> </u-popup>
</view> </view>
<view class="cashContent" v-if="pageState === 'online'"> <view class="cashContent" v-if="pageState === 'online'">
<view class="enter"> <view class="enter">
<view class="selectTitle">{{ i18n.selectAmount }}</view> <view class="selectTitle">{{ i18n.selectAmount }}</view>
@ -100,7 +96,6 @@
</view> </view>
</view> </view>
</view> </view>
<u-button class="button" color="#00E8A2" throttleTime="500" @click="recharge">{{ i18n.Submit }} <u-button class="button" color="#00E8A2" throttleTime="500" @click="recharge">{{ i18n.Submit }}
</u-button> </u-button>
</view> </view>
@ -240,7 +235,6 @@
this.message = this.i18n.message.replace('{rechargeMinAmount}', '').replaceAll( this.message = this.i18n.message.replace('{rechargeMinAmount}', '').replaceAll(
'{enname}', '') '{enname}', '')
// } else { // } else {
// let coinInfo = { // let coinInfo = {
// coinCode: this.reInfo.coins[0].code // coinCode: this.reInfo.coins[0].code
// } // }

BIN
static/recharge/ic_link.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 989 B

BIN
static/recharge/img_add.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

2
utils/api.js

@ -6,7 +6,7 @@ const api = {
rechargeAddress: (params) => Vue.prototype.$axios.post('/api/recharge/rechargeAddress',params),//获取对应数字币种的充值地址 rechargeAddress: (params) => Vue.prototype.$axios.post('/api/recharge/rechargeAddress',params),//获取对应数字币种的充值地址
recharge: (params) => Vue.prototype.$axios.post('/api/recharge/recharge',params),//法币在线充值下单 recharge: (params) => Vue.prototype.$axios.post('/api/recharge/recharge',params),//法币在线充值下单
rechargeList: (params) => Vue.prototype.$axios.post('/api/recharge/rechargeList',params),//充值记录 rechargeList: (params) => Vue.prototype.$axios.post('/api/recharge/rechargeList',params),//充值记录
uploadImg: (params) => Vue.prototype.$axios.post('/api/user/uploadImg',params),//充值记录 uploadImg: (params) => Vue.prototype.$axios.post('/api/user/uploadImg1',params),//充值记录
//--------------------------------- withdraw提现 --------------------------------- //--------------------------------- withdraw提现 ---------------------------------

2
utils/axios.js

@ -29,7 +29,7 @@ service.interceptors.request.use(
// mask: true // mask: true
// }) // })
} }
console.log(config.url) console.log(config.data)
if (config.url.indexOf("/api/index/register") !== -1 || if (config.url.indexOf("/api/index/register") !== -1 ||
config.url.indexOf("/api/user/login") !== -1 || config.url.indexOf("/api/user/login") !== -1 ||
config.url.indexOf("/api/user/forgotPassword") !== -1 || config.url.indexOf("/api/user/forgotPassword") !== -1 ||

20
utils/language/en_US.js

@ -194,6 +194,7 @@ export default {
Record: 'Record', Record: 'Record',
CoinRecharge: 'Coin Recharge', CoinRecharge: 'Coin Recharge',
CashRecharge: 'Cash Recharge ', CashRecharge: 'Cash Recharge ',
OfflineRecharge: 'Offline Recharge',
PleaseChooseCoin: 'Please choose coin', PleaseChooseCoin: 'Please choose coin',
CoinDepositAddress: 'Coin deposit address', CoinDepositAddress: 'Coin deposit address',
CopyAddress: 'Copy address', CopyAddress: 'Copy address',
@ -215,6 +216,25 @@ export default {
Pickup: 'Pick up', Pickup: 'Pick up',
USDTRate: 'USDT Rate', USDTRate: 'USDT Rate',
USDT: 'USDT', USDT: 'USDT',
FillTransactionInformation:'Fill in transaction information',
Buy:'BUY',
Minimal:'Minimal',
Pay:'PAY',
MarketPrice:'Market price',
TransactionDetails:'Transaction details',
BankAccountTransfer:'Bank Account Transfer',
TransferInfoTip:'Please transfer to the following bank account',
StandardBank:'Standard bank',
BankAccountNo:'Bank Account No',
BankAccount:'Bank Account',
PaymentAmount:'Payment Amount',
TransactionConfirmation:'Transaction confirmation',
PayerName:'Payer Name',
ProofPayment:'Proof of payment',
TransferUploadTip:'Please upload your proof of payment after the bank account transfer is completed.',
Copy: 'Copy',
SubmitSuccess: 'Submit success',
}, },
//mine //mine

19
utils/language/vi_VN.js

@ -191,6 +191,7 @@ export default {
Record: 'Ghi lại', Record: 'Ghi lại',
CoinRecharge: 'nạp tiền kỹ thuật số', CoinRecharge: 'nạp tiền kỹ thuật số',
CashRecharge: 'nạp tiền', CashRecharge: 'nạp tiền',
OfflineRecharge: 'Nạp tiền ngoại tuyến',
PleaseChooseCoin: 'Vui lòng chọn đơn vị tiền tệ', PleaseChooseCoin: 'Vui lòng chọn đơn vị tiền tệ',
CoinDepositAddress: 'Địa chỉ gửi tiền', CoinDepositAddress: 'Địa chỉ gửi tiền',
CopyAddress: 'sao chép địa chỉ', CopyAddress: 'sao chép địa chỉ',
@ -211,6 +212,24 @@ export default {
Pickup: 'cất đi', Pickup: 'cất đi',
USDTRate: 'Tỷ giá hối đoái USDT', USDTRate: 'Tỷ giá hối đoái USDT',
USDT: 'USDT', USDT: 'USDT',
FillTransactionInformation:'Điền thông tin giao dịch',
Buy:'Mua',
Minimal:'Tối thiểu',
Pay:'Trả',
MarketPrice:'Giá thị trường',
TransactionDetails:'Chi tiết giao dịch',
BankAccountTransfer:'Chuyển khoản Ngân hàng',
TransferInfoTip:'Vui lòng chuyển vào tài khoản ngân hàng sau',
StandardBank:'Ngân hàng',
BankAccountNo:'Số tài khoản ngân hàng',
BankAccount:'Tài khoản Ngân hàng',
PaymentAmount:'Số tiền thanh toán',
TransactionConfirmation:'Xác nhận Giao dịch',
PayerName:'Tên người trả tiền',
ProofPayment:'Bằng chứng thanh toán',
TransferUploadTip:'Vui lòng tải lên bằng chứng thanh toán của bạn sau khi chuyển khoản ngân hàng hoàn tất.',
Copy: 'sao chép',
SubmitSuccess: 'Gửi thành công',
}, },
//mine //mine

21
utils/language/zh_TW.js

@ -196,6 +196,7 @@ export default {
Record: '記錄', Record: '記錄',
CoinRecharge: '數字貨幣充值', CoinRecharge: '數字貨幣充值',
CashRecharge: '現金充值', CashRecharge: '現金充值',
OfflineRecharge: '線下充值',
PleaseChooseCoin: '請選擇幣種', PleaseChooseCoin: '請選擇幣種',
CoinDepositAddress: '充幣地址', CoinDepositAddress: '充幣地址',
CopyAddress: '複製地址', CopyAddress: '複製地址',
@ -217,6 +218,24 @@ export default {
Pickup: '收起', Pickup: '收起',
USDTRate: 'USDT 匯率', USDTRate: 'USDT 匯率',
USDT: 'USDT', USDT: 'USDT',
FillTransactionInformation:'填寫交易信息',
Buy:'買',
Minimal:'最小',
Pay:'支付',
MarketPrice:'市場價格',
TransactionDetails:'交易詳情',
BankAccountTransfer:'銀行賬戶轉賬',
TransferInfoTip:'請轉賬到以下銀行賬戶',
StandardBank:'銀行',
BankAccountNo:'銀行帳號',
BankAccount:'銀行賬戶',
PaymentAmount:'支付金額',
TransactionConfirmation:'交易確認',
PayerName:'付款人姓名',
ProofPayment:'付款證明',
TransferUploadTip:'請在銀行賬戶轉賬完成後上傳您的付款證明。',
Copy: '複製',
SubmitSuccess: '提交成功',
}, },
//mine //mine
@ -336,7 +355,7 @@ export default {
EditBankInformation: '修改銀行信息', EditBankInformation: '修改銀行信息',
AddBankInformation: '添加銀行信息', AddBankInformation: '添加銀行信息',
FirstName: '真實姓名', FirstName: '真實姓名',
enterName: '請輸入的真實姓名', enterName: '請輸入的真實姓名',
Account: '帳戶', Account: '帳戶',
enterAccount: '請輸入您的賬戶', enterAccount: '請輸入您的賬戶',
enterIdNumber: '請輸入您的身份證號碼', enterIdNumber: '請輸入您的身份證號碼',

Loading…
Cancel
Save