Browse Source

调整主题颜色

master
453530270@qq.com 3 years ago
parent
commit
477e4f37db
  1. 1
      .gitignore
  2. 0
      README 2.md
  3. 2
      README.md
  4. 2
      config/index.js
  5. 16578
      package-lock.json
  6. 1
      src/api/contract.js
  7. 2
      src/api/server/index.js
  8. BIN
      src/assets/img/Svenska.png
  9. BIN
      src/assets/img/bg1.jpg
  10. BIN
      src/assets/img/chat.png
  11. 0
      src/assets/img/de.jpg
  12. BIN
      src/assets/img/download.png
  13. BIN
      src/assets/img/download_io.png
  14. 0
      src/assets/img/en.jpg
  15. BIN
      src/assets/img/favicon.png
  16. 0
      src/assets/img/fra.jpg
  17. 0
      src/assets/img/it.jpg
  18. 0
      src/assets/img/jp.jpg
  19. 0
      src/assets/img/kor.jpg
  20. BIN
      src/assets/img/polski.png
  21. 0
      src/assets/img/pt.jpg
  22. 0
      src/assets/img/spa.jpg
  23. BIN
      src/assets/img/suomi.png
  24. 0
      src/assets/img/tr.jpg
  25. 0
      src/assets/img/tw.jpg
  26. BIN
      src/assets/img/ukr.jpg
  27. BIN
      src/assets/img/xi4Gdg.jpeg
  28. 4
      src/assets/js/tvStyle.js
  29. 16
      src/assets/scss/base/_common.scss
  30. 2
      src/assets/scss/layout/_header.scss
  31. 8
      src/assets/scss/module/_contract.scss
  32. 1
      src/assets/scss/module/_form-access.scss
  33. 2
      src/assets/scss/module/_home.scss
  34. 2
      src/assets/scss/module/_option.scss
  35. 2
      src/assets/scss/theme/_dark.scss
  36. 171
      src/components/CommonFooter.vue
  37. 224
      src/components/CommonHeader.vue
  38. 13
      src/components/KLine.vue
  39. 57
      src/components/SecondaryNav.vue
  40. 8
      src/i18n/cn.json
  41. 77
      src/i18n/de.json
  42. 77
      src/i18n/en.json
  43. 83
      src/i18n/fra.json
  44. 78
      src/i18n/it.json
  45. 97
      src/i18n/jp.json
  46. 103
      src/i18n/kor.json
  47. 75
      src/i18n/pt.json
  48. 73
      src/i18n/spa.json
  49. 83
      src/i18n/tr.json
  50. 79
      src/i18n/tw.json
  51. 8
      src/index.html
  52. 3
      src/utils/class/date.js
  53. 10
      src/utils/consts.js
  54. 16
      src/views/components/inner-transfer.vue
  55. 2
      src/views/contract/account.vue
  56. 309
      src/views/contract/exchange-store.vue
  57. 55
      src/views/contract/handicap.vue
  58. 4
      src/views/contract/hold-position.vue
  59. 160
      src/views/contract/index.vue
  60. 3
      src/views/contract/page-bottom.vue
  61. 5
      src/views/exchange/book-trades.vue
  62. 3
      src/views/exchange/index.vue
  63. 171
      src/views/exchange/make-deal.vue
  64. 874
      src/views/exchange/make-deal的_cpoy.vue
  65. 2
      src/views/exchange/symbols.vue
  66. 732
      src/views/home/index.vue
  67. 34
      src/views/notice/detail.vue
  68. 4
      src/views/notice/index.vue
  69. 17
      src/views/option/kline.vue
  70. 2
      src/views/option/option-bottom.vue
  71. 244
      src/views/profile/certification.vue
  72. 267
      src/views/profile/index.vue
  73. 139
      src/views/purchase/index.vue
  74. 1
      src/views/setting/login-pwd.vue
  75. 64
      src/views/signIn/index.vue
  76. 38
      src/views/signUp/index.vue
  77. 2
      src/views/wallet/address.vue
  78. 4
      src/views/wallet/contract-assets.vue
  79. 44
      src/views/wallet/exchange-assets.vue
  80. 7
      src/views/wallet/funding.vue
  81. BIN
      static/images/icon/andriod.png
  82. BIN
      static/images/icon/api.png
  83. BIN
      static/images/icon/google-play.png
  84. BIN
      static/images/icon/imac.png
  85. BIN
      static/images/icon/ios.png
  86. BIN
      static/images/icon/linux.png
  87. BIN
      static/images/icon/right.png
  88. BIN
      static/images/icon/windows.png
  89. BIN
      static/images/icon_1.png
  90. BIN
      static/images/icon_2.png
  91. BIN
      static/images/icon_3.png
  92. BIN
      static/images/illustration-3.png
  93. BIN
      static/images/lightImageUrl.png
  94. BIN
      static/images/lightImageUrl_2.png
  95. BIN
      static/images/trusted-section.png

1
.gitignore

@ -15,6 +15,7 @@ test/
.AppleDouble
.LSOverride
# Icon must end with two \r
# Thumbnails
._*

0
README .md → README 2.md

2
README.md

@ -0,0 +1,2 @@
# jiaoyi

2
config/index.js

@ -24,7 +24,7 @@ module.exports = {
'/api': {
// target: 'http://qkladmin2.ruanmeng.top/',
// target: 'https://guanli.coin.amatak.net/',
target: 'https://sses.cxicoin.com/',
target: 'https://ser.ybgcoins.com/',
changeOrigin: true,
// pathRewrite: {
// // 请求时 将api替换成实际的apis等

16578
package-lock.json

File diff suppressed because it is too large

1
src/api/contract.js

@ -73,6 +73,7 @@ class Contract {
}
// 获取k线数据
static getKline(data, config) {
// console.log(data)
return server.get('/contract/getKline', {params:data}, config)
}
// 获取委托明细

2
src/api/server/index.js

@ -59,7 +59,7 @@ Object.assign(settings, {
// api请求根地址 打包使用完整地址 调试使用本地服务器代理 避免跨域
// baseURL: process.env.NODE_ENV == 'production' ? 'http://qkladmin2.ruanmeng.top/api/' : '/api/',
// baseURL: process.env.NODE_ENV == 'production' ? 'https://guanli.coin.amatak.net/api/' : '/api/',
baseURL: process.env.NODE_ENV == 'production' ? 'https://sses.cxicoin.com/api/' : '/api/',
baseURL: process.env.NODE_ENV == 'production' ? 'https://ser.ybgcoins.com/api/' : '/api/',
// baseURL: 'https://aaccdd.kixcoin.org/api/' ,
// baseURL: 'https://guanli.coin.amatak.net/api/',
// baseURL: 'https://api.hipc.world/',

BIN
src/assets/img/Svenska.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
src/assets/img/bg1.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

BIN
src/assets/img/chat.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

0
src/assets/img/flag/de.jpg → src/assets/img/de.jpg

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
src/assets/img/download.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 12 KiB

BIN
src/assets/img/download_io.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

0
src/assets/img/flag/en.jpg → src/assets/img/en.jpg

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

BIN
src/assets/img/favicon.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 288 B

After

Width:  |  Height:  |  Size: 234 B

0
src/assets/img/flag/fra.jpg → src/assets/img/fra.jpg

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

0
src/assets/img/flag/it.jpg → src/assets/img/it.jpg

Before

Width:  |  Height:  |  Size: 978 B

After

Width:  |  Height:  |  Size: 978 B

0
src/assets/img/flag/jp.jpg → src/assets/img/jp.jpg

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

0
src/assets/img/flag/kor.jpg → src/assets/img/kor.jpg

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

BIN
src/assets/img/polski.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 754 B

0
src/assets/img/flag/pt.jpg → src/assets/img/pt.jpg

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

0
src/assets/img/flag/spa.jpg → src/assets/img/spa.jpg

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

BIN
src/assets/img/suomi.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

0
src/assets/img/flag/tr.jpg → src/assets/img/tr.jpg

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

0
src/assets/img/flag/tw.jpg → src/assets/img/tw.jpg

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

BIN
src/assets/img/ukr.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
src/assets/img/xi4Gdg.jpeg

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

4
src/assets/js/tvStyle.js

@ -4,6 +4,7 @@ let light={
// "paneProperties.horzGridProperties.color": "#dcdee0",
// "scalesProperties.backgroundColor": "#ffffff",
// "scalesProperties.textColor" : "#333"
"paneProperties.topMargin": 10
}
let dark = {
@ -11,7 +12,8 @@ let dark = {
"paneProperties.vertGridProperties.color": "#646566",
"paneProperties.horzGridProperties.color": "#646566",
"scalesProperties.backgroundColor": "#222e3d",
"scalesProperties.textColor" : "#7b9ca7"
"scalesProperties.textColor" : "#7b9ca7",
"paneProperties.topMargin": 10
}

16
src/assets/scss/base/_common.scss

@ -118,7 +118,7 @@
font-weight: 400;
padding: 13px;
margin: 0;
color: #888894;
// color: #eee;
}
.green {
@ -284,8 +284,7 @@ $basew: 24;
.btn-primary {
color: $cls-white;
border: none;
// background-image: linear-gradient(to right, #6d9ef9, #1f5df4);
background-color: #326AEB;
background-image: linear-gradient(to right, #6d9ef9, #1f5df4);
}
.btn-success {
color: $cls-white;
@ -315,7 +314,7 @@ $basew: 24;
color: #5d5d6e;
}
.bg-panel {
background: #e9e9e9;
background: #fdfdfd;
}
.border-bottom {
border-bottom: 1px solid #4e4e5d !important;
@ -353,7 +352,7 @@ $basew: 24;
color: #999;
}
.table {
color: #172636;
color: #eee;
}
.nav-tabs,
@ -405,10 +404,3 @@ $basew: 24;
}
}
.theme-color-a{
color: #326AEB !important;
}
.theme-bg-color-a{
background-color: #326AEB !important;
}

2
src/assets/scss/layout/_header.scss

@ -47,7 +47,7 @@ header nav a {
color: inherit;
}
header nav a:hover {
color: #326AEB;
color: #c99445;
}
header .navbar-brand {
padding: 0;

8
src/assets/scss/module/_contract.scss

@ -56,11 +56,7 @@
.sell,
.buy {
// height: 310px;
height: 190px;
overflow: auto;
}
.deal {
height: 148px;
height: 250px;
overflow: auto;
}
.sell {
@ -110,7 +106,7 @@
$panel-1: #455c71;
$border: #2a2e39;
// $color: #c0c4cc;
$color: #172636;
$color: #b3b3b3;
background: $page-bg;
color: $color;

1
src/assets/scss/module/_form-access.scss

@ -2,6 +2,7 @@
box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 14px -6px;
border-radius: 5px;
padding: 30px;
min-width: 350px;
}
.form-access .form-group input {

2
src/assets/scss/module/_home.scss

@ -100,7 +100,7 @@ a {
a:hover,
a:focus {
text-decoration: none;
color: #326AEB;
color: white;
outline: 0;
}

2
src/assets/scss/module/_option.scss

@ -112,7 +112,7 @@
$panel:#222e3d;
$panel-1: #455c71;
$border: #2a2e39;
$color: #c0c4cc;
$color: #eee;
background: $page-bg;

2
src/assets/scss/theme/_dark.scss

@ -110,7 +110,7 @@
#dark .heading {
background: #1c2030;
color: #ffffff;
color: #b6b6b6;
}
#dark .ob-heading tr {

171
src/components/CommonFooter.vue

@ -1,62 +1,72 @@
<template>
<!-- colto-section -->
<footer class="footer mt-5">
<footer class="footer">
<div class="footer-upper-section">
<div class="item_left" style="width:33%">
<div class="item_left" style="width:40%;">
<div class="logo">
<!-- <img src="../assets/img/logo1.png" alt="logo" style="width:208px;height:68px" /> -->
<div style="width:200px;height:100px">
<div style="width:300px;height:150px">
<img :src="appConfig.head_logo" alt="logo" style="width:100%;height:100%;object-fit: contain;"/>
</div>
<!-- <span>{{$t('common.footerTips1')}}</span> -->
</div>
<!-- <p class="foot_p">{{$t('common.footerTips2',{name:appConfig.name})}}</p> -->
<!-- <p class="foot_p">{{$t('common.footerTips3')}}</p> -->
</div>
<div class="item_right" style="width:66%">
<div class="item">
<p class="item_p">{{ $t("common.college") }}</p>
<p class="foot_p">
<router-link :to="college[0].url">{{ college[0].label }}</router-link>
<br />
<router-link :to="college[1].url">{{ college[1].label }}</router-link>
</p>
<p class="foot_p">
<router-link :to="college[2].url">{{ college[2].label }}</router-link>
<br />
<router-link :to="college[3].url">{{ college[3].label }}</router-link>
</p>
<span>{{ $t('common.footerTips1') }}</span>
<p class="foot_p">{{ $t('common.footerTips2', {name: appConfig.name}) }}</p>
<!-- <p class="foot_p">{{$t('appConfig.name')}}</p> -->
<p class="foot_p">{{ $t('common.footerTips3') }}</p>
</div>
<div class="item">
<p class="item_p">{{ $t("common.service") }}</p>
<p class="foot_p">
<div class="item" style="width:30%">
<p class="item_p" style="text-align: center; font-size:16px">{{ $t("common.service") }}</p>
<p class="foot_p" style="text-align: center;">
<router-link :to="service[0].url">{{ service[0].label }}</router-link>
<br />
</p>
<p class="foot_p" style="text-align: center;">
<router-link :to="service[1].url">{{ service[1].label }}</router-link>
</p>
<p class="foot_p">
<p class="foot_p" style="text-align: center;">
<router-link :to="service[2].url">{{ service[2].label }}</router-link>
<br />
<!-- <router-link :to="service[3].url">{{ service[3].label }}</router-link>-->
</p>
<p class="foot_p" style="text-align: center;">
<router-link :to="service[3].url">{{ service[3].label }}</router-link>
</p>
</div>
<div class="item item2">
<p class="item_p" style="width:100%">{{ $t("common.contactUs") }}</p>
<p class="foot_p" style="width:100%">
{{ $t("common.email") }}:
<!-- <div class="item item1">
<p class="item_p">{{ $t("common.college") }}</p>
<p class="foot_p" >
<router-link :to="college[0].url">{{ college[0].label }}</router-link>&nbsp
<router-link :to="college[1].url">{{ college[1].label }}</router-link>
</p>
<p class="foot_p" style="width:100%">
{{email}}
<p class="foot_p">
<router-link :to="college[2].url">{{ college[2].label }}</router-link>&nbsp
<router-link :to="college[3].url">{{ college[3].label }}</router-link>
</p>
<p class="foot_p" style="width:100%">
<br /><br />
</div> -->
<div class="item" style="width:30%;margin-top: 74px;">
<p class="item_p" style="text-align: start; font-size:16px;">{{ $t("common.contactUs") }}</p>
<p class="foot_p" style="text-align: start; font-size:16px;">
{{ $t("common.email") }}:{{ email }}
</p>
<div class="icon_foot">
<img src="../assets/img/chat.png">
<!--<div class="icon_img" v-for="(item,index) in list" :key="item">-->
<!-- <img :src="item.src"/>-->
<!--</div>-->
</div>
<!-- <p class="foot_p" style="width:100%">
{{email}}
</p> -->
</div>
<div class="container" v-if="0">
<div class="row">
<!-- <div class="container">
<div class="row"> -->
<!-- <div class="col-lg-2 col-md-3 mb-4">
<div class="footer-logo">
<a href="#">
@ -66,7 +76,7 @@
</div>
</div> -->
<!-- 服务列表 -->
<div class="col-lg-1 col-md-3 mb-4">
<!-- <div class="col-lg-1 col-md-3 mb-4">
<div class="footer-info-list">
<h4>{{ $t("common.service") }}</h4>
<ul>
@ -75,9 +85,9 @@
</li>
</ul>
</div>
</div>
</div> -->
<!-- 学院列表 -->
<div class="col-lg-1 col-md-3 mb-4">
<!-- <div class="col-lg-1 col-md-3 mb-4">
<div class="footer-info-list">
<h4>{{ $t("common.college") }}</h4>
<ul>
@ -86,10 +96,10 @@
</li>
</ul>
</div>
</div>
</div> -->
<!-- 联系我们 -->
<div class="col-lg-2 col-md-6">
<!-- <div class="col-lg-2 col-md-6">
<div class="footer-info-list">
<h4>{{$t('common.contactUs')}}</h4>
<ul class="contact-info">
@ -97,9 +107,9 @@
{{ $t("common.email") }}:
<span>{{email}}</span>
</li>
<!-- <li>
<li>
Phone: <span>{{contactinfo.mobile}}</span>
</li> -->
</li>
</ul>
<ul class="social-style-two">
<li>
@ -129,8 +139,8 @@
</li>
</ul>
</div>
</div>
<div class="col-lg-4 col-md-6 border-left" v-if="0">
</div> -->
<!-- <div class="col-lg-4 col-md-6 border-left">
<div class="pl-2 ">
<div class="mb-2">
{{$t('common.footerTips1')}}
@ -139,9 +149,9 @@
<div class="mb-2">{{$t('common.footerTips3')}}</div>
</div>
</div>
</div>
</div>
</div> -->
<!-- </div> -->
<!-- </div> -->
</div>
<div class="footer-bottom">
<!-- 版权信息 -->
@ -159,12 +169,24 @@
import College from "@/api/college";
import ContactUs from "@/api/contactUs";
import {mapState} from 'vuex'
export default {
data() {
return {
service: [],
college: [],
email: ""
email: "",
list: [
{src: 'https://www.rsncoin.com/static/flag/discord.png'},
{src: 'https://www.rsncoin.com/static/flag/telegram.png'},
{src: 'https://www.rsncoin.com/static/flag/tiktok.png'},
{src: 'https://www.rsncoin.com/static/flag/twitter.png'},
{src: 'https://www.rsncoin.com/static/flag/reddit.png'},
{src: 'https://www.rsncoin.com/static/flag/ins.png'},
{src: 'https://www.rsncoin.com/static/flag/cap.jpg'},
{src: 'https://www.rsncoin.com/static/flag/vk.png'},
{src: 'https://www.rsncoin.com/static/flag/youtube.jpg'},
]
};
},
computed: {
@ -183,7 +205,8 @@ export default {
});
});
})
.catch(err => {});
.catch(err => {
});
},
getServiceLink() {
@ -196,14 +219,16 @@ export default {
});
});
})
.catch(err => {});
.catch(err => {
});
},
getEmial() {
ContactUs.contact()
.then(data => {
this.email = data.contact;
})
.catch(err => {});
.catch(err => {
});
}
},
created() {
@ -223,6 +248,7 @@ export default {
// margin-left: 233px;
justify-content: space-between;
padding: 0 133px;
.item_left {
width: 454px;
// margin-right: 300px;
@ -233,7 +259,6 @@ export default {
justify-content: space-between;
width: 100%;
font-size: 16px;
margin-bottom: 17px;
}
}
@ -248,29 +273,61 @@ export default {
flex-direction: column;
justify-content: center;
padding: 0 15px;
.item_p {
font-size: 16px;
color: #172636;
}
}
.item1 {
text-align: center;
}
.item2 {
padding-left: 64px;
}
.item:last-child {
border: none;
}
}
}
.foot_p {
color: #797979;
font-size: 14px;
margin: 0;
a:hover {
color: #326AEB;
color: #797979;
}
a:visited {
color: #797979;
}
}
.icon_foot {
margin-top: 5px;
height: 130px;
width: 180px;
display: flex;
flex-wrap: wrap;
.icon_img {
height: 30px;
width: 30px;
margin: 0px 5px;
img {
height: 100%;
width: 100%;
border-radius: 50%;
}
}
// a:visited{
// color: #326AEB;
// }
}
</style>

224
src/components/CommonHeader.vue

@ -8,7 +8,8 @@
AMATAK
</span>-->
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#headerMenu" aria-controls="headerMenu" aria-expanded="false" aria-label="Toggle navigation">
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#headerMenu"
aria-controls="headerMenu" aria-expanded="false" aria-label="Toggle navigation">
<i class="icon ion-md-menu"></i>
</button>
@ -25,34 +26,39 @@
<router-link class="nav-link" :to="exchange.url">{{ exchange.label }}</router-link>
</li>
<!-- <li class="nav-item" >
<router-link class="nav-link" :to="option.url">{{ option.label }}</router-link>
</li> -->
</li>
-->
<li class="nav-item" v-if="false">
<router-link class="nav-link" :to="market.url">{{ market.label }}</router-link>
</li>
<li class="nav-item">
<router-link class="nav-link" :to="contract.url">{{ contract.label }}</router-link>
</li>
<!-- <li class="nav-item">
<router-link class="nav-link" :to="purchase.url">{{ purchase.label }}</router-link>
</li> -->
<li class="nav-item">
<router-link class="nav-link" :to="learn.url">{{ learn.label }}</router-link>
<router-link class="nav-link" :to="purchase.url">{{ purchase.label }}</router-link>
</li>
<!-- <li class="nav-item">
<a href="/newProduct" class="nav-link" target="_blank">{{ $t('common.newzone') }}</a>
</li> -->
<!-- <li class="nav-item">
<router-link class="nav-link" :to="application.url">{{ application.label }}</router-link>
</li> -->
<!-- <li class="nav-item">-->
<!-- <router-link class="nav-link" :to="learn.url">{{ learn.label }}</router-link>-->
<!-- </li>-->
<!-- <li class="nav-item">-->
<!-- <a href="/newProduct" class="nav-link" target="_blank">{{ $t('common.newzone') }}</a>-->
<!-- </li>-->
<!-- <li class="nav-item">-->
<!-- <router-link class="nav-link" :to="application.url">{{ application.label }}</router-link>-->
<!-- </li>-->
<!-- <li class="nav-item">-->
<!-- <router-link class="nav-link" :to="college.url">{{college.label}}</router-link>-->
<!-- </li>-->
<!-- <li class="nav-item">-->
<!-- <router-link class="nav-link" :to="contactUs.url">{{ contactUs.label }}</router-link>-->
<!-- </li>-->
<li class="nav-item">
<router-link class="nav-link" :to="contactUs.url">{{ contactUs.label }}</router-link>
<router-link class="nav-link" :to="announcement.url">{{ announcement.label }}</router-link>
</li>
<!-- <li class="nav-item dropdown">
@ -88,52 +94,72 @@
夜晚模式
</a>
</li> -->
<!-- <li class="nav-item dropdown" style="padding-top: 13px;line-height: 10px;margin-right: -8px;">
<div style="width: 22px;height: 22px;border-radius: 50%;overflow: hidden;">
<img :src="langer" style="height: 100%;" mode="aspectFill"/>
</div>
</li> -->
<li class="nav-item dropdown" style="line-height: 37px;">
<img :src="langer" class="nav_img" mode="" style="max-width: 30px;"></img>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{ nativeLang }}</a>
<!-- <img src="../assets/img/hg.jpg" class="nav_img" style="max-width: 10%;"></img> -->
<!-- <div style="display: flex;" class="nav_title"> -->
<!--<img src="../assets/img/tw.jpg" mode="" class="nav_img" style="max-width: 10%;"></img>-->
<a class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false">
{{ nativeLang }}</a>
<!-- <img src="../assets/img/hg.jpg" class="nav_img" style="max-width: 10%;"></img> -->
<!-- </div> -->
<div class="dropdown-menu">
<a class="dropdown-item" href @click.prevent="chooseNative(item.value)" v-for="(item, index) in langList" :key="index">
<div class="dropdown-item" @click.prevent="chooseNative(item.value)"
v-for="(item, index) in langList" :key="item">
<div class="nav-item_icon">
<!-- <div class="flag-img"><img :src="item.url" mode="aspectFill"/></div> -->
<span class="txt">{{ item.label }}</span>
<img :src="item.url" mode="" style="margin-right: 6rpx;margin-left: 6rpx;"/>
{{ item.label }}
</div>
</div>
</a>
</div>
</li>
<template v-if="isLogin">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{ wallet.label }}</a>
<a class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false">{{ wallet.label }}</a>
<div class="dropdown-menu">
<router-link class="dropdown-item" :to="item.url" v-for="(item,index) in wallet.links" :key="index">{{ item.label }}</router-link>
<router-link class="dropdown-item" :to="item.url" v-for="(item,index) in wallet.links"
:key="index">{{ item.label }}
</router-link>
</div>
</li>
<li class="nav-item dropdown" v-if="false">
<a class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{ orders.label }}</a>
<a class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false">{{ orders.label }}</a>
<div class="dropdown-menu">
<router-link class="dropdown-item" :to="item.url" v-for="(item,index) in orders.links" :key="index">{{ item.label }}</router-link>
<router-link class="dropdown-item" :to="item.url" v-for="(item,index) in orders.links"
:key="index">{{ item.label }}
</router-link>
</div>
</li>
<!-- 新的消息 -->
<new-msg/>
<li class="nav-item dropdown header-img-icon">
<a class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" @click="getUserInfo">
<a class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" @click="getUserInfo">
<img src="../assets/img/avatar.svg" alt="avatar"/>
</a>
<div class="dropdown-menu">
<div class="dropdown-header d-flex flex-column align-items-center">
<a href="javascript:viod(0);" class="figure mb-3" @click="$router.push(isLogin?'/wallet/assets/exchange':'/')">
<a href="javascript:viod(0);" class="figure mb-3"
@click="$router.push(isLogin?'/wallet/assets/exchange':'/')">
<img src="../assets/img/avatar.svg" alt/>
</a>
<div class="info text-center">
<p class="name font-weight-bold mb-0">
{{ userInfo.user_auth_level_text || signed.user_auth_level_text }}
<a href="#/profile/certification" v-if="userInfo.user_auth_level!=2">{{$t('common.goTo')}}</a>
<a href="#/profile/certification"
v-if="userInfo.user_auth_level!=2">{{ $t('common.goTo') }}</a>
</p>
<div class="email text-muted mb-3">
<router-link to="/profile/index">{{ userInfo.account }}</router-link>
@ -163,8 +189,13 @@
</template>
<template v-else>
<li class="nav-item dropdown no-login" style="width:auto">
<router-link to="/sign-in" class="btn btn-primary btn-sm rounded-pill theme-bg-color-a" href="#" tag="div" role="button" style="margin:0 15px;background-image: none;">{{$t('common.sign_in')}}</router-link>
<router-link to="/sign-up" class="btn btn-outline-light btn-sm rounded-pill" href="#" tag="div" role="button">{{$t('common.sign_up')}}</router-link>
<router-link to="/sign-in" class="btn btn-primary btn-sm rounded-pill" href="#" tag="div"
role="button" style="margin:0 15px">{{ $t('common.sign_in') }}
</router-link>
<router-link to="/sign-up"
class="btn btn-outline-light btn-sm btn-light-shadow rounded-pill" href="#"
tag="div" role="button">{{ $t('common.sign_up') }}
</router-link>
</li>
</template>
</ul>
@ -181,6 +212,7 @@ import Member from "@/api/member";
import Profile from "@/api/profile";
import College from "@/api/college";
import {mapState} from 'vuex'
export default {
props: {
hook: {
@ -245,8 +277,12 @@ export default {
label: this.$t("common.purchase"),
url: "/purchase"
},
announcement: {
label: this.$t("common.announcement"),
url: "/notice"
},
learn: {
label: this.$t("common.college"),
label: this.$t("common.learn"),
url: ""
},
college: {
@ -259,11 +295,11 @@ export default {
label: this.$t("common.accountInformation"),
url: "/profile/index" // 访
},
{
icon: "ion-md-wallet",
label: this.$t("common.myWallet"),
url: "/wallet/assets/exchange" //
},
// {
// icon: "ion-md-wallet",
// label: this.$t("common.myWallet"),
// url: "/wallet/assets/exchange" //
// },
// {
// icon: "ion-ios-clipboard",
// label: this.$t("common.commissionOrder"),
@ -296,68 +332,72 @@ export default {
{
value: "en",
label: "English",
url: require("../assets/img/flag/en.jpg"),
url: require('../assets/img/en.jpg')
},
{
value: "kor",
label: "한국어",
url: require("../assets/img/flag/kor.jpg"),
url: require('../assets/img/kor.jpg')
},
{
value: 'de',
label: 'Deutsch',
url: require("../assets/img/flag/de.jpg"),
url: require('../assets/img/de.jpg')
},
{
value: 'fra',
label: 'Français',
url: require("../assets/img/flag/fra.jpg"),
url: require('../assets/img/fra.jpg')
},
{
value: 'spa',
label: 'Español',
url: require("../assets/img/flag/spa.jpg"),
url: require('../assets/img/spa.jpg')
},
{
value: 'it',
label: 'Italiano',
url: require("../assets/img/flag/it.jpg"),
url: require('../assets/img/it.jpg')
},
// {
// value: 'ukr',
// label: 'УкраїнськаName'
// label: 'УкраїнськаName',
// url:require('../assets/img/ukr.jpg')
// },
// {
// value: 'swe',
// label: 'Svenska'
// label: 'Svenska',
// url:require('../assets/img/Svenska.png')
// },
// {
// value: 'fin',
// label: 'Suomi'
// label: 'Suomi',
// url:require('../assets/img/suomi.png')
// },
{
value: "jp",
label: "日本語",
url: require("../assets/img/flag/jp.jpg"),
url: require('../assets/img/jp.jpg')
},
// {
// value: 'pl',
// label: 'Polski'
// label: 'Polski',
// url:require('../assets/img/polski.png')
// },
{
value: 'pt',
label: 'Português',
url: require("../assets/img/flag/pt.jpg"),
url: require('../assets/img/pt.jpg')
},
{
value: 'tr',
label: 'Turkey',
url: require("../assets/img/flag/tr.jpg"),
url: require('../assets/img/tr.jpg')
},
{
value: "tw", // zh-TW
label: "繁体中文",
url: require("../assets/img/flag/tw.jpg"),
url: require('../assets/img/tw.jpg')
},
],
@ -405,8 +445,7 @@ export default {
// }
]
},
userInfo: {},
langer: '',
userInfo: {}
};
},
@ -430,7 +469,10 @@ export default {
// }
let lang = localStorage.lang || UALang;
this.langer = require("../assets/img/flag/" + lang + ".jpg");
if (localStorage.getItem("lang") == null){
// let localStorage.getItem("lang") = 'en';
}
this.langer = require("../assets/img/" + lang + ".jpg");
return this.langList.find(item => item.value == lang).label;
},
@ -474,7 +516,8 @@ export default {
.then(list => {
this.learn.url = '/college/list/' + list[0].id
})
.catch(err => {});
.catch(err => {
});
},
clearAll() {
this.notifications = [];
@ -482,6 +525,7 @@ export default {
chooseNative(native) {
//
localStorage.setItem("lang", native);
//
@ -489,7 +533,8 @@ export default {
},
//
changeSightSense() { },
changeSightSense() {
},
logout() {
Member.logout()
@ -500,7 +545,8 @@ export default {
localStorage.removeItem("auth");
location.reload();
})
.catch(err => { });
.catch(err => {
});
},
//
getUserInfo() {
@ -521,7 +567,8 @@ export default {
} else {
this.setp = 2;
}
}).catch(res => {});
}).catch(res => {
});
},
},
@ -540,13 +587,16 @@ export default {
<style lang="scss" scoped>
header {
@include fs(15);
.logo-text {
font-weight: bold;
color: #ffc001;
}
.no-login {
@include flexible(row, space-between, center);
width: 145px;
.btn {
min-width: 70px;
}
@ -554,44 +604,62 @@ header {
.nav-bar .router-link-active {
// color: #c99445;
color: #326AEB;
border-bottom: 2px solid #326AEB;
color: black;
border-bottom: 2px solid black;
// background-color:rgba(53, 83, 210, 0.2) ;
}
.dropdown {
padding-top: 5px;
}
}
.kefu {
position: fixed;
z-index: 100;
right: 10px;
bottom: 10px;
}
.rounded-pill {
border-radius: 5px !important
}
.nav-item_icon {
display: flex;
justify-content: space-between;
align-items: center;
}
.nav-item_icon:hover {
color: #F7D558;
}
.flag-img{
width: 22px;
height: 22px;
border-radius: 50%;
overflow: hidden;
margin-right: 8px;
margin-left: 6px;
height: 100 rpx;
width: 150 rpx !important;
// background-color: #ffc001;
img {
height: 100%;
width: 20% !important;
height: 20% !important;
}
}
.img {
max-width: 20% !important;
}
.nav_img {
height: 50 rpx;
width: 50 rpx;
margin-left: 300 rpx;
img {
width: 10% !important;
height: 10% !important;
}
}
.nav_title {
height: 50 rpx;
width: 400 rpx;
// background-color: #ffc001;
// margin-left: 400rpx;
line-height: 50 rpx;
text-align: right;
}
</style>

13
src/components/KLine.vue

@ -1,5 +1,5 @@
<template>
<div class="main-chart mb5">
<div class="main-chart mb10" style="margin-bottom: 50px;">
<!-- TradingView Widget BEGIN -->
<div class="tradingview-widget-container">
<div id="tradingview_lautin">
@ -24,7 +24,7 @@ export default {
data() {
return {
model: null, //
interval: "1D" // []TVresolution
interval: "1" // []TVresolution
};
},
@ -194,7 +194,8 @@ export default {
});
// widget.chart().setResolution(item.resolution, function onReadyCallback() {});
model.setResolution(item.resolution, function onReadyCallback() {});
model.setResolution(item.resolution, function onReadyCallback() {
});
})
.parent()
.addClass("my-group");
@ -278,7 +279,6 @@ export default {
// period
let period = this.translateInterval2Period();
Option.getKline({
symbol: this.symbol,
period,
@ -302,7 +302,8 @@ export default {
console.log(lastTime, '--------')
onLoadCallback(list, lastTime);
})
.catch(err => {});
.catch(err => {
});
},
//
@ -324,7 +325,7 @@ export default {
height: 1000,
locale: this.lang, //
priceDecimals: this.priceDecimals,
disabled_features:['header_resolutions','header_symbol_search', "volume_force_overlay"],
disabled_features: ['header_resolutions', 'header_symbol_search', "volume_force_overlay",'timeframes_toolbar'],
enabled_features: ['header_indicators'],
overrides: tvStyle[this.theme],
toolbar_bg: this.theme == "light" ? "#f1f3f6" : "#222e3d",

57
src/components/SecondaryNav.vue

@ -51,22 +51,53 @@ export default {
{
url: `/wallet/funding`,
label: this.$t('common.rechargeWithdraw')
},{
url: `/wallet/address`,
label: this.$t('common.addressManagement'),
}
},
// {
// url: `/wallet/address`,
// label: this.$t('common.addressManagement'),
// }
];
},
getProfileLinks() {
this.itemList = [{
this.itemList = [
{
url: `/profile/index`,
label: this.$t('common.accountInformation'),
},
// {
// url: `/profile/certification`,
// label: this.$t('common.auth')
// },
// {
// url: '/setting',
// label: this.$t('nav.security')
// },
// {
// url: `/profile/invite`,
// label: this.$t('common.invitationReward')
// },
// {
// url: `/profile/login-history`,
// label: this.$t('common.visitHistory')
// }
]
},
getSettingsLinks() {
this.itemList = [
{
url: `/profile/index`,
label: this.$t('common.accountInformation'),
}, {
url: `/profile/certification`,
label: this.$t('common.auth')
},
// {
// url: `/profile/certification`,
// label: this.$t('common.auth')
// },
// {
// url: '/setting',
// label: this.$t('nav.security')
// },
// {
// url: `/profile/invite`,
// label: this.$t('common.invitationReward')
// },
@ -106,7 +137,8 @@ export default {
label: item.name
})
})
}).catch(err => {});
}).catch(err => {
});
},
@ -118,7 +150,8 @@ export default {
label: item.name
})
})
}).catch(err => {});
}).catch(err => {
});
},
getOtcList() {
this.itemList = [
@ -168,6 +201,10 @@ export default {
this.getWalletLinks();
break;
case path.startsWith('setting'): //
this.getSettingsLinks();
break;
case path.startsWith('profile'): //
this.getProfileLinks();
break;

8
src/i18n/cn.json

@ -38,6 +38,7 @@
"c9":"简介"
},
"common": {
"announcement": "公告",
"a3":"申购记录",
"option": "期权交易",
"exchange": "币币交易",
@ -157,7 +158,7 @@
"auth": "实名认证",
"invitationReward": "邀请奖励",
"visitHistory": "访问记录",
"noviceTutorial": "新手教程",
"noviceTutorial": "為什麽選擇我們?",
"tradingStrategy": "交易策略",
"industryResearch": "行业研究",
"blockchainDictionary": "区块链词典",
@ -790,7 +791,7 @@
"projectWarmUp": "项目预热",
"startSubscription": "开始申购",
"endOfSubscription": "结束申购",
"announceResults": "公布结果",
"announceResults": "上市交易",
"projectCetails": "项目详情",
"useOrNot": "是否使用",
"subscribe": "申购",
@ -1048,12 +1049,11 @@
"TopEncryptionRiskManagement": "顶级加密风控管理",
"EscortYourPropertySafety": "为您的财产安全保驾护航",
"BuyCoins": "买币",
"ProvidedByTheExperimentalCenter": "由Fire phoenix实验中心提供",
"ProvidedByTheExperimentalCenter": "由TOPCS实验中心提供",
"StartCurrencyTradingNow": "立刻开始货币交易",
"ScanTheQRCodeBelowToDownload": "扫描下方二维码下载",
"AndroidScanCodeDownload": "Android扫码下载",
"IOSScanCodeDownload": "IOS扫码下载",
"UseNow": "现在使用"
}
}

77
src/i18n/de.json

@ -38,9 +38,10 @@
"c9":"kurze Einführung"
},
"common": {
"announcement": "Bekanntmachung",
"a3":"Aufzeichnungen über den Kauf",
"option":"Handel mit Optionen",
"exchange":"Transaktion in Währung",
"exchange":"Devisenhandel",
"markets":"Angebot",
"blogs":"Blog",
"news":"Informationen über die Industrie",
@ -134,7 +135,7 @@
"logOut":"Loggen Sie sich",
"homepage":"Home Page",
"application":"Anwendung in Währung",
"purchase":"für den Kauf",
"purchase":"Abonnement",
"accountInformation":"Informationen zum Konto",
"myWallet":"Meine Brieftasche",
"commissionOrder":"Anordnung der Kommission",
@ -147,7 +148,7 @@
"order":"Bestellung",
"spotConsignment":"Kommission vor Ort",
"optionOrders":"Bestellung der Option",
"perpetualContract":"Dauerhafter Vertrag",
"perpetualContract":"Unbefristeter Vertrag",
"foreignContract":"Vertrag über den Devisenhandel",
"notCertified":"Nicht zertifiziert",
"notData":"Keine Daten verfügbar",
@ -262,7 +263,8 @@
"securityVerification":"Überprüfung der Sicherheit",
"disagree":"Sie haben den Bedingungen noch nicht zugestimmt.",
"registrationSuccess":"Erfolgreich registriert, auf Anmeldeseite überspringen",
"referrer":"Referenzen",
"referrer": "Geben Sie den Institutionscode ein (erforderlich)",
"referrer1": "Bitte geben Sie den Institutionscode ein",
"optional":"Optional",
"password":"Passwort",
"login":"Melden Sie sich",
@ -625,8 +627,7 @@
"profile": {
"realName":"Authentifizierung des realen Namens",
"primaryCertification":"Primäre Zertifizierung",
"advancedCertification1": "Erweiterter Zertifizierungsantrag",
"advancedCertification2":"Fortgeschrittener Zertifizierungsantrag eingereicht",
"advancedCertification":"Fortgeschrittener Zertifizierungsantrag eingereicht",
"toExamine":"zu untersuchen",
"fullName":"vollständiger Name",
"legal":"legal",
@ -704,7 +705,7 @@
"instantDividend":"Genießen Sie Dividenden",
"invitationInformation":"Informationen zur Einladung",
"invitationLink":"Link zur Einladung",
"invitationCode":"Code der Einladung",
"invitationCode":"Institutionscode",
"registeredUser":"Registrierte Benutzer",
"accountNumber":"Nummer des Kontos",
"registrationTime":"Zeit der Registrierung",
@ -775,7 +776,8 @@
"pleaseConfirmPassword":"Bitte bestätigen Sie das Passwort",
"operationSuccess":"Operation erfolgreich",
"combination":"Passwörter erfordern eine Kombination von Buchstaben und Zahlen",
"changeSuccess":"Geändert erfolgreich"
"changeSuccess":"Geändert erfolgreich",
"passwordChangePrompt": "Es wird empfohlen, dass Sie Ihr Passwort regelmäßig ändern, um die Sicherheit Ihres Kontos zu gewährleisten"
},
"purchase": {
"sendPrice":"Preis der Emission",
@ -790,10 +792,10 @@
"projectWarmUp":"Projekt aufwärmen",
"startSubscription":"Abonnement starten",
"endOfSubscription":"Schließen Sie das Abonnement",
"announceResults":"Veröffentlichen von Ergebnissen",
"announceResults":"aufgeführte Transaktion",
"projectCetails":"Details des Projekts",
"useOrNot":"Verwenden oder nicht",
"subscribe":"für den Kauf",
"subscribe":"antrag",
"prompt":"Tipps",
"subscribeSuccess":"Erfolgreicher Kauf"
},
@ -804,7 +806,7 @@
"a3":"verfügbar",
"a4":"Rand der Position",
"a5":"Einfrieren der Kommission",
"a6":"Nicht realisierter Gewinn und Verlust",
"a6":"Gewinn-und Verlust",
"a7":"Risiko rate",
"a8":"Geschätzte starke Parität",
"a9":"Vertrag",
@ -815,7 +817,7 @@
"b4":"Gesamtbetrag der anvertrauten Mittel",
"b5":"Durchschnittlicher Transaktionspreis",
"b6":"Preis der Kommission",
"b7":"Bindung",
"b7":"Das versicherungsgeld.",
"b8":"Service berechnen",
"b9":"Zustand",
"c0":"Betrieb",
@ -907,7 +909,8 @@
"k6":"Alle gleich, Erfolg",
"k7":"umgekehrter Erfolg",
"k8": "Bitte melden Sie sich zuerst an",
"k9":"Bitte geben Sie den Abonnement-Code ein"
"k9":"Bitte geben Sie den Abonnement-Code ein",
"l1": "Verhältnis erhöhen"
},
"otc": {
"a0":"Bitte wählen Sie den Transaktionstyp",
@ -1036,39 +1039,19 @@
"m3":"Ende der Bestellung",
"m4":"Stornierung der Bestellung"
},
"cxiNewText":{
"a0": "Top 10",
"a1": "5 Millionen+",
"a2": "< 0.10%",
"a3": "200+",
"a4": "Globales Ranking",
"a5": "Benutzer vertrauen uns",
"a6": "Extrem niedrige Gebühren",
"a7": "Länder",
"a21": "Jetzt Geld verdienen",
"a22": "Erstellen Sie ein persönliches Kryptowährungsportfolio",
"a23": "Kaufen, handeln und halten Sie über 100 Kryptowährungen",
"a24": "Laden Sie Ihr Konto auf",
"a25": "Melden Sie sich per E-Mail an",
"a38": "Starten Sie Transaktionen jederzeit und überall.",
"a39": "Beginnen Sie jederzeit sicher und bequem mit dem Handel über unsere APP und Webseite",
"a40": "IOS- und Android-Scancode herunterladen",
"a41": "Vertrauenswürdige Handelsplattform für Kryptowährungen",
"a42": "Wir setzen uns dafür ein, die Sicherheit der Benutzer mit strengen Protokollen und branchenführenden technischen Maßnahmen zu gewährleisten.",
"a43": "Benutzersicherheits-Asset-Fonds",
"a44": "Wir speichern 10 % aller Transaktionsgebühren in sicheren Vermögensfonds, um einen teilweisen Schutz der Benutzergelder zu gewährleisten",
"a45": "Personalisierte Zugangskontrolle",
"a46": "Die personalisierte Zugriffskontrolle schränkt die Geräte und Adressen ein, die auf persönliche Konten zugreifen, sodass Benutzer keine Sorgen haben müssen.",
"a47": "Erweiterte Datenverschlüsselung",
"a48": "Persönliche Transaktionsdaten werden durch Ende-zu-Ende-Verschlüsselung gesichert und der Zugriff auf persönliche Informationen ist auf den Einzelnen beschränkt.",
"a57": "Klicken Sie hier, um zu gehen",
"a71": "Einsteigerhandbuch ",
"a72": "Beginnen Sie sofort mit dem Erlernen des digitalen Devisenhandels ",
"a77": "Wie kaufe ich digitale Währung",
"a78": "Wie verkauft man digitale Währungen ",
"a79": "So handeln Sie mit digitalen Währungen",
"a80": "Marktplatz",
"a81": "24-Stunden-Markttrend",
"a82": "Fügen Sie Ihrem Wallet Kryptowährungsgelder hinzu und beginnen Sie sofort mit dem Handel"
"addinfo": {
"MarketTrend": "Markttrend",
"HourlyCurrencyUpdates": "Stündliche Währungsaktualisierungen",
"_24HoursUpsAndDowns": "24 Stunden Höhen und Tiefen",
"TopEncryptionRiskManagement": "顶级加密风控管理",
"EscortYourPropertySafety": "为您的财产安全保驾护航",
"BuyCoins": "买币",
"ProvidedByTheExperimentalCenter": "由TOPCS实验中心提供",
"StartCurrencyTradingNow": "立刻开始货币交易",
"ScanTheQRCodeBelowToDownload": "扫描下方二维码下载",
"AndroidScanCodeDownload": "Android扫码下载",
"IOSScanCodeDownload": "IOS扫码下载",
"UseNow": "Jetzt Benutzen"
}
}

77
src/i18n/en.json

@ -38,9 +38,10 @@
"c9":"brief introduction"
},
"common": {
"announcement": "Announcement",
"a3":"Purchase records",
"option": "Option",
"exchange": "Spot Trading",
"exchange": "Currency Trading",
"markets": "Markets",
"helps": "Help",
"course": "Support Center",
@ -132,7 +133,7 @@
"logOut": "Log out",
"homepage": "Home",
"application": "Currency Application",
"purchase": "Purchase",
"purchase": "Subscription",
"accountInformation": "Account",
"myWallet": "Wallet",
"commissionOrder": "Orders",
@ -145,7 +146,7 @@
"order": "Orders",
"spotConsignment": "Exchange Orders",
"optionOrders": "Option Orders",
"perpetualContract": "Derivatives",
"perpetualContract": "Perpetual Contract",
"foreignContract": "Crypto FX Contract",
"notCertified": "No Certification",
"notData": "No open orders",
@ -155,7 +156,7 @@
"auth": "Authentication",
"invitationReward": "Invite Reward ",
"visitHistory": "visit history",
"noviceTutorial": "Novice tutorial",
"noviceTutorial": "Why choose us?",
"tradingStrategy": "Trading Strategy",
"industryResearch": "Industry Research",
"blockchainDictionary": "Blockchain Dictionary",
@ -277,8 +278,8 @@
"phoneCorrect": "Please make sure the mobile phone and area code are correct",
"securePhone": "Please make sure your phone signal is stable",
"verCode": "Verify Code",
"referrer": "Enter your referral code (Required)",
"referrer1": "Please fill in by the recommender",
"referrer": "Enter institution code (required)",
"referrer1": "Please enter institution code",
"phoneNum": "Phone Number",
"enterPhoneNum": "Enter Phone Number",
"referral": "Referral Code ",
@ -692,8 +693,7 @@
"country1":"Please enter your country",
"realName": "Real Name Authentication",
"primaryCertification": "primary certification",
"advancedCertification1": "Advanced Certification Application",
"advancedCertification2": "Submit advanced certification application",
"advancedCertification": "Submit advanced certification application",
"toExamine": "audit",
"fullName": "Name",
"legal": "Legal",
@ -771,7 +771,7 @@
"instantDividend": "Instantiate Dividend",
"invitationInformation": "Invitation Information",
"invitationLink": "Invitation Link",
"invitationCode": "Invitation Code",
"invitationCode": "Institution code",
"registeredUser": "Registered User",
"accountNumber": "Account",
"registrationTime": "Registration Time",
@ -860,10 +860,10 @@
"projectWarmUp": "Project preheat",
"startSubscription": "Apply start",
"endOfSubscription": "Apply close",
"announceResults": "Results release",
"announceResults": "listed transaction",
"projectCetails": "Project details",
"useOrNot": "Using?",
"subscribe": "Apply",
"subscribe": "application",
"prompt": "Tips",
"subscribeSuccess": "Apply Success"
},
@ -874,10 +874,10 @@
"a3": "Available Funds",
"a4": "position margin",
"a5": "Entrust freeze",
"a6": "Unrealized PNL",
"a6": "Profit and loss",
"a7": "Risk Rate",
"a8": "Liq.Price",
"a9": "Symbol",
"a9": "Contract",
"b0": "Leverage",
"b1": "Time",
"b2": "Transaction Type",
@ -885,7 +885,7 @@
"b4": "Amount",
"b5": "Avg.",
"b6": "Price",
"b7": "Margin",
"b7": "Insurance",
"b8": "Fee",
"b9": "Status",
"c0": "Operation",
@ -931,14 +931,14 @@
"g0": "Buy",
"g1": "Sell",
"g2": "Sum",
"g3": "Last Price",
"g3": "Latest price",
"g4": "Details",
"g5": "History",
"g6": "Deal time",
"g7": "Position",
"g8": "Hirakura quantity",
"g9": "Entry Price",
"h0": "ROE %",
"g9": "Average opening price",
"h0": "Yield",
"h1": "Close the position at market price",
"h2": "Whether to balance at market price",
"h3": "Full Ping",
@ -951,12 +951,12 @@
"i0": "Positions",
"i1": "Open Orders",
"i2": "Order History",
"i3": "Side",
"i3": "Direction",
"i4": "Open Long",
"i5": "Open short",
"i6": "Only display current",
"i7": "TP",
"i8": "SL",
"i7": "Take Profit",
"i8": "Stop Loss",
"i9": "TP/SL",
"j0": "Realized PNL",
"j1": "Latest Transaction Price",
@ -1115,46 +1115,11 @@
"TopEncryptionRiskManagement": "TOP ENCRYPTION RISK MANAGEMENT",
"EscortYourPropertySafety": "ESCORT YOUR PROPERTY SAFETY",
"BuyCoins": "BuyCoins",
"ProvidedByTheExperimentalCenter": "Courtesy of Fire phoenix Experiment Center",
"ProvidedByTheExperimentalCenter": "Courtesy of TOPCS Experiment Center",
"StartCurrencyTradingNow": "Start currency trading now",
"ScanTheQRCodeBelowToDownload": "Scan the QR code below to download",
"AndroidScanCodeDownload": "Android scan code",
"IOSScanCodeDownload": "IOS scan code",
"UseNow": "USE NOW"
},
"cxiNewText":{
"a0": "Top 10",
"a1": "5 million+",
"a2": "< 0.10%",
"a3": "200+",
"a4": "Global Ranking",
"a5": "Users trust us",
"a6": "Ultra-Low Fees",
"a7": "Countries",
"a21": "Earn money now",
"a22": "Create a Personal Cryptocurrency Portfolio",
"a23": "Buy, trade and hold 100+ cryptocurrencies",
"a24": "Top up your account",
"a25": "Sign up by email",
"a38": "Start transactions anytime, anywhere.",
"a39": "Start trading safely and conveniently at any time through our APP and webpage",
"a40": "IOS and Android scan code download",
"a41": "Trustworthy cryptocurrency trading platform",
"a42": "We are committed to ensuring the safety of users with strict protocols and industry-leading technical measures.",
"a43": "User security asset funds",
"a44": "We store 10% of all transaction fees in safe asset funds to provide partial protection for user funds",
"a45": "Personalized Access Control",
"a46": "Personalized access control restricts the devices and addresses that access personal accounts, so that users have no worries.",
"a47": "Advanced Data Encryption",
"a48": "Personal transaction data is secured through end-to-end encryption, and access to personal information is restricted to the individual.",
"a57": "Click to go",
"a71": "Beginner's Guide ",
"a72": "Start digital currency trading learning immediately ",
"a77": "How to buy digital currency ",
"a78": "How to sell digital currency ",
"a79": "How to Trade Digital Currencies",
"a80": "Market place",
"a81": "24 hours market trend",
"a82": "Add cryptocurrency funds to your wallet and start trading instantly"
}
}

83
src/i18n/fra.json

@ -38,9 +38,10 @@
"c9": "Introduction"
},
"common": {
"announcement": "Annonce",
"a3": "Ostosta koskevat tiedot",
"option": "Opérations d'options",
"exchange":"Opérations en monnaie",
"exchange": "Commerce de Devises",
"markets": "Marché",
"blogs": "Blogs",
"news": "Informations sur l'industrie",
@ -147,7 +148,7 @@
"order": "Ordre",
"spotConsignment": "Mandat au comptant",
"optionOrders": "Commandes d'options",
"perpetualContract":"Contrat permanent",
"perpetualContract": "Contrat perpétuel",
"foreignContract": "Contrats de change",
"notCertified": "Non certifié",
"notData": "Aucune donnée disponible",
@ -262,7 +263,8 @@
"securityVerification": "Vérification de la sécurité",
"disagree": "Vous n'avez pas accepté les termes",
"registrationSuccess": "Inscription réussie, page de connexion de saut",
"referrer":"Références",
"referrer": "Entrez le code de l'établissement (obligatoire)",
"referrer1": "Veuillez entrer le code de l'établissement",
"optional": "Facultatif",
"password": "Mot de passe",
"login": "Connexion",
@ -414,7 +416,7 @@
"hash": "Hashi",
"num": "Nombre",
"progress": "Progrès accomplis",
"status":"Statut",
"status": "état",
"error": "Échec",
"success": "Succès",
"underReview": "En cours de vérification",
@ -625,8 +627,7 @@
"profile": {
"realName": "Authentification par nom réel",
"primaryCertification": "Certification primaire",
"advancedCertification1": "Demande de certification avancée",
"advancedCertification2":"Demande de certification avancée soumise",
"advancedCertification": "Demande de certification avancée soumise",
"toExamine": "Audit",
"fullName": "Nom (s)",
"legal": "Statut",
@ -704,7 +705,7 @@
"instantDividend": "Dividende Lixiang",
"invitationInformation": "Informations sur l'invitation",
"invitationLink": "Liens d'invitation",
"invitationCode":"Code d'invitation",
"invitationCode": "Code de l'établissement",
"registeredUser": "Utilisateurs enregistrés",
"accountNumber": "Numéro de compte",
"registrationTime": "Date d'inscription",
@ -775,7 +776,8 @@
"pleaseConfirmPassword": "Veuillez confirmer le mot de passe",
"operationSuccess": "Opération réussie",
"combination": "Le mot de passe nécessite une combinaison de lettres et de chiffres",
"changeSuccess":"Modification réussie"
"changeSuccess": "Modification réussie",
"passwordChangePrompt": "Il est recommandé de changer régulièrement votre mot de passe pour protéger la sécurité de votre compte"
},
"purchase": {
"sendPrice": "Prix d'émission",
@ -790,10 +792,10 @@
"projectWarmUp": "Préchauffage du projet",
"startSubscription": "Début de la souscription",
"endOfSubscription": "Clôture de la souscription",
"announceResults":"Publication des résultats",
"announceResults": "transaction répertoriée",
"projectCetails": "Détails du projet",
"useOrNot": "Oui Non",
"subscribe":"Abonnement",
"subscribe": "application",
"prompt": "Conseils",
"subscribeSuccess": "Souscription réussie"
},
@ -804,10 +806,10 @@
"a3": "Disponible",
"a4": "Marge de position",
"a5": "Gel délégué",
"a6":"Résultat non réalisé",
"a6": "Profit et perte",
"a7": "Taux de risque",
"a8": "Parités fortes estimées",
"a9":"Contrats",
"a9": "Les contrats",
"b0": "Levier",
"b1": "Temps",
"b2": "Type de transaction",
@ -818,7 +820,7 @@
"b7": "Dépôt de garantie",
"b8": "Frais de manutention",
"b9": "Statut",
"c0":"Fonctionnement",
"c0": "opérations",
"c1": "Annulation",
"c2": "Annulation",
"c3": "Annuler l'ordre actuel",
@ -861,7 +863,7 @@
"g0": "Acheter",
"g1": "Vendre",
"g2": "Cumul",
"g3":"Dernier prix",
"g3": "Le dernier prix",
"g4": "Détails",
"g5": "Historique",
"g6": "Date de clôture",
@ -885,7 +887,7 @@
"i4": "Beaucoup.",
"i5": "Vide",
"i6": "Afficher uniquement le courant",
"i7":"Fin de l'interférence",
"i7": "Excédent venant à expiration",
"i8": "Stop loss",
"i9": "Arrêt des gains et des pertes",
"j0": "Profits et pertes",
@ -907,7 +909,9 @@
"k6": "Quanping a réussi.",
"k7": "Inversion réussie",
"k8": "Veuillez vous connecter pour l'abonnement",
"k9":"Veuillez saisir le Code d'abonnement"
"k9": "Veuillez saisir le Code d'abonnement",
"l4": "évaluation actuelle",
"l1": "Augmenter le rapport"
},
"otc": {
"a0": "Veuillez sélectionner le type de transaction",
@ -1036,39 +1040,18 @@
"m3": "Fin de la commande",
"m4": "Annulation de la commande"
},
"cxiNewText":{
"a0": "Top 10",
"a1": "5 millions+",
"a2": "< 0.10%",
"a3": "200+",
"a4": "Classement mondial",
"a5": "Les utilisateurs nous font confiance",
"a6": "Frais ultra-bas",
"a7": "Des pays",
"a21": "Gagner un revenu immédiatement",
"a22": "Créer un portefeuille personnel de crypto-monnaie",
"a23": "Achetez, échangez et détenez plus de 100 crypto-monnaies",
"a24": "Recharger le compte",
"a25": "Inscrivez-vous par e-mail",
"a38": "Ouvrez des transactions à tout moment, n'importe où.",
"a39": "Commencez à négocier en toute sécurité et facilement à tout moment via notre application et notre page Web",
"a40": "Téléchargement du code de numérisation ios et Android",
"a41": "Une plateforme de trading de crypto-monnaie de confiance",
"a42": "Nous nous engageons à assurer la sécurité des utilisateurs avec des protocoles stricts et des mesures techniques de pointe.",
"a43": "Fonds d'actifs de sécurité des utilisateurs",
"a44": "Nous stockons 10 % de tous les frais de transaction dans des fonds d'actifs sûrs pour fournir une protection partielle aux fonds des utilisateurs",
"a45": "Contrôle d'accès personnalisé",
"a46": "Le contrôle d'accès personnalisé restreint l'accès aux appareils et aux adresses des comptes personnels, afin que les utilisateurs n'aient aucun souci.",
"a47": "Cryptage avancé des données",
"a48": "Les données de transaction personnelles sont protégées par un cryptage de bout en bout, et seule la personne peut accéder aux informations personnelles.",
"a57": "Cliquez pour aller",
"a71": "Guide du débutant ",
"a72": "Démarrez immédiatement l'apprentissage du trading de devises numériques ",
"a77": "Comment acheter de la monnaie numérique ",
"a78": "Comment vendre de la monnaie numérique ",
"a79": "Comment négocier des devises numériques",
"a80": "Place du marché",
"a81": "Tendance du marché sur 24 heures",
"a82": "Ajoutez des fonds de crypto-monnaie à votre portefeuille et commencez à trader instantanément"
"addinfo": {
"MarketTrend": "tendance du marché",
"HourlyCurrencyUpdates": "Mises à jour horaires des devises",
"_24HoursUpsAndDowns": "24 heures de hauts et de bas",
"TopEncryptionRiskManagement": "顶级加密风控管理",
"EscortYourPropertySafety": "为您的财产安全保驾护航",
"BuyCoins": "买币",
"ProvidedByTheExperimentalCenter": "由TOPCS实验中心提供",
"StartCurrencyTradingNow": "立刻开始货币交易",
"ScanTheQRCodeBelowToDownload": "扫描下方二维码下载",
"AndroidScanCodeDownload": "Android扫码下载",
"IOSScanCodeDownload": "IOS扫码下载",
"UseNow": "utiliser maitenant"
}
}

78
src/i18n/it.json

@ -38,9 +38,10 @@
"c9": "breve introduzione"
},
"common": {
"announcement": "Annuncio",
"a3": "Registri di acquisto",
"option": "Scambio di opzioni",
"exchange":"Operazioni di valuta",
"exchange": "Commercio di Valuta",
"markets": "citazione",
"blogs": "Blog.",
"news": "Informazioni sull'industria",
@ -134,7 +135,7 @@
"logOut": "Esci fuori",
"homepage": "home page",
"application": "Applicazione della valuta",
"purchase":"domanda per l'acquisto",
"purchase": "Sottoscrizione",
"accountInformation": "Informazioni sul conto",
"myWallet": "Il mio portafoglio",
"commissionOrder": "Ordine della Commissione",
@ -147,7 +148,7 @@
"order": "ordine",
"spotConsignment": "Commissione di punti",
"optionOrders": "Opzione ordine",
"perpetualContract":"Perpetuo contratto",
"perpetualContract": "Contratto perpetuo",
"foreignContract": "Contratto di cambio",
"notCertified": "Non certificata",
"notData": "Nessun dato disponibile",
@ -262,7 +263,8 @@
"securityVerification": "Verifica della sicurezza",
"disagree": "Non hai ancora accettato i termini.",
"registrationSuccess": "Registrato correttamente, salta alla pagina di login",
"referrer":"Riferimenti",
"referrer": "Inserisci il codice dell'istituto (richiesto)",
"referrer1": "Si prega di inserire il codice dell'istituto",
"optional": "Facoltativo",
"password": "password",
"login": "Firma in",
@ -414,7 +416,7 @@
"hash": "Hash.",
"num": "numero",
"progress": "velocità di avanzamento",
"status":"Stato",
"status": "Lo stato",
"error": "fail",
"success": "successo",
"underReview": "In revisione",
@ -625,8 +627,7 @@
"profile": {
"realName": "Autenticazione del nome reale",
"primaryCertification": "Certificazione primaria",
"advancedCertification1": "Domanda di certificazione avanzata",
"advancedCertification2":"Domanda di certificazione avanzata presentata",
"advancedCertification": "Domanda di certificazione avanzata presentata",
"toExamine": "da esaminare",
"fullName": "nome completo",
"legal": "legale",
@ -704,7 +705,7 @@
"instantDividend": "Approfitta dei dividendi",
"invitationInformation": "Informazioni di invito",
"invitationLink": "Collegamento invito",
"invitationCode":"Codice di invito",
"invitationCode": "Codice istituto",
"registeredUser": "Registrati utenti",
"accountNumber": "numero di conto",
"registrationTime": "Tempo di registrazione",
@ -775,7 +776,8 @@
"pleaseConfirmPassword": "Conferma la password",
"operationSuccess": "Funzionamento riuscito",
"combination": "Le password richiedono una combinazione di lettere e numeri",
"changeSuccess":"Modificato con successo"
"changeSuccess": "Modificato con successo",
"passwordChangePrompt": "Si consiglia di modificare regolarmente la password per proteggere la sicurezza dell'account"
},
"purchase": {
"sendPrice": "Prezzo di emissione",
@ -790,10 +792,10 @@
"projectWarmUp": "Progetto di riscaldamento",
"startSubscription": "Avvia sottoscrizione",
"endOfSubscription": "Chiudi l'abbonamento",
"announceResults":"Pubblica i risultati",
"announceResults": "Transazione elencata",
"projectCetails": "Dettagli del progetto",
"useOrNot": "Uso o no",
"subscribe":"domanda per l'acquisto",
"subscribe": "abbonamento",
"prompt": "Suggerimenti",
"subscribeSuccess": "Acquisto riuscito"
},
@ -804,7 +806,7 @@
"a3": "disponibili",
"a4": "Margine di immobilizzazione",
"a5": "Commissione congelamento",
"a6":"Non si sono realizzati profitti e perdite",
"a6": "Profitti e perdite",
"a7": "Tasso di rischio",
"a8": "Parità stimate",
"a9": "contratto",
@ -815,7 +817,7 @@
"b4": "Totale commissione",
"b5": "Prezzo medio di transazione",
"b6": "Commissione prezzi",
"b7":"margine",
"b7": "Fondi di assicurazione",
"b8": "Spese di personale",
"b9": "Lo stato",
"c0": "operazioni",
@ -907,7 +909,8 @@
"k6": "Successo globale",
"k7": "Successo opposto",
"k8": "Per favore collegatevi prima alla richiesta",
"k9":"Inserisci il codice di sottoscrizione"
"k9": "Inserisci il codice di sottoscrizione",
"l4": "valutazione attuale"
},
"otc": {
"a0": "Scegliete il tipo di transazione",
@ -1036,39 +1039,18 @@
"m3": "Fine dell'ordine",
"m4": "Annullamento dell'ordine"
},
"cxiNewText":{
"a0": "Primi 10",
"a1": "5 milioni +",
"a2": "< 0.10%",
"a3": "200+",
"a4": "Classifica globale",
"a5": "Gli utenti si fidano di noi",
"a6": "Commissioni ultra basse",
"a7": "Paesi",
"a21": "Guadagna reddito immediatamente",
"a22": "Crea un portafoglio personale di criptovalute",
"a23": "Compra, scambia e detieni oltre 100 criptovalute",
"a24": "Ricarica il conto",
"a25": "Iscriviti tramite e-mail",
"a38": "Apri transazioni sempre e ovunque.",
"a39": "Inizia a fare trading in modo sicuro e conveniente in qualsiasi momento tramite la nostra APP e la nostra pagina web",
"a40": "Scarica codice di scansione ios e Android",
"a41": "Una piattaforma affidabile per il trading di criptovalute",
"a42": "Ci impegniamo a garantire la sicurezza degli utenti con protocolli rigorosi e misure tecniche leader del settore.",
"a43": "Fondi di sicurezza dell'utente",
"a44": "Conserviamo il 10% di tutte le commissioni di transazione in fondi di asset sicuri per fornire una protezione parziale ai fondi degli utenti",
"a45": "Controllo accessi personalizzato",
"a46": "Il controllo degli accessi personalizzato limita l'accesso ai dispositivi e agli indirizzi degli account personali, in modo che gli utenti non abbiano preoccupazioni.",
"a47": "Crittografia dati avanzata",
"a48": "I dati delle transazioni personali sono protetti dalla crittografia end-to-end e solo la persona può accedere alle informazioni personali.",
"a57": "Clicca per andare",
"a71": "Guida per principianti ",
"a72": "Inizia immediatamente l'apprendimento del trading di valuta digitale ",
"a77": "Come acquistare valuta digitale ",
"a78": "Come vendere valuta digitale ",
"a79": "Come scambiare valute digitali",
"a80": "Piazza del mercato",
"a81": "Andamento del mercato 24 ore",
"a82": "Aggiungi fondi di criptovaluta al tuo portafoglio e inizia a fare trading all'istante"
"addinfo": {
"MarketTrend": "tendencia del mercado",
"HourlyCurrencyUpdates": "Actualizaciones de moneda por hora",
"_24HoursUpsAndDowns": "24 horas altibajos",
"TopEncryptionRiskManagement": "顶级加密风控管理",
"EscortYourPropertySafety": "为您的财产安全保驾护航",
"BuyCoins": "买币",
"ProvidedByTheExperimentalCenter": "由TOPCS实验中心提供",
"StartCurrencyTradingNow": "立刻开始货币交易",
"ScanTheQRCodeBelowToDownload": "扫描下方二维码下载",
"AndroidScanCodeDownload": "Android扫码下载",
"IOSScanCodeDownload": "IOS扫码下载",
"UseNow": "usar ahora"
}
}

97
src/i18n/jp.json

@ -38,9 +38,10 @@
"c9": "概要"
},
"common": {
"announcement": "発表",
"a3": "購入申請記録",
"option": "約束権",
"exchange":"貨取引",
"exchange": "貨取引",
"markets": "相場",
"blogs": "ブログ",
"news": "市場の動き",
@ -134,7 +135,7 @@
"logOut": "ログアウト",
"homepage": "最初のページ",
"application": "お札を入れる",
"purchase":"購入を申請する",
"purchase": "サブスクリプション",
"accountInformation": "アカウント情報",
"myWallet": "私の財布",
"commissionOrder": "委託注文",
@ -147,7 +148,7 @@
"order": "注文書",
"spotConsignment": "現物委託",
"optionOrders": "オプション注文",
"perpetualContract":"継続契約",
"perpetualContract": "無期限契約",
"foreignContract": "外国為替契約",
"notCertified": "認証なし",
"notData": "データがありません",
@ -265,7 +266,8 @@
"securityVerification": "セキュリティ検証",
"disagree": "まだ条項に同意していません。",
"registrationSuccess": "登録に成功しました。ログインページにジャンプしています。",
"referrer":"推薦人",
"referrer": "機関コードを入力してください(必須)",
"referrer1": "機関コードを入力してください",
"password": "パスワード",
"country": "区番号",
"enter-account": "アカウントを入力してください",
@ -636,8 +638,7 @@
"date": "日付",
"address": "場所",
"primaryCertification": "ジュニア認証",
"advancedCertification1": "高度な認証申請",
"advancedCertification2":"高級認証申請はすでに提出されました。",
"advancedCertification": "高級認証申請はすでに提出されました。",
"toExamine": "審査する",
"legal": "法定",
"pleaseEnterName": "名前を入力してください",
@ -708,7 +709,7 @@
"instantDividend": "配当を受ける",
"invitationInformation": "招待情報",
"invitationLink": "招待リンク",
"invitationCode":"招待コード",
"invitationCode": "機関コード",
"registeredUser": "登録済みのユーザ",
"accountNumber": "アカウント",
"registrationTime": "登録時間",
@ -774,7 +775,8 @@
"pleaseConfirmPassword": "パスワードを確認してください",
"operationSuccess": "操作が成功しました",
"combination": "パスワードはアルファベットと数字の組み合わせが必要です。",
"changeSuccess":"修正成功"
"changeSuccess": "修正成功",
"passwordChangePrompt": "アカウントのセキュリティを保護するために、定期的にパスワードを変更することをお勧めします"
},
"purchase": {
"startTime": "申し込み開始時間",
@ -789,10 +791,10 @@
"projectWarmUp": "プロジェクト予熱",
"startSubscription": "申し込みを開始する",
"endOfSubscription": "申し込みを終了する",
"announceResults":"結果を公表する",
"announceResults": "上場取引",
"projectCetails": "プロジェクトの詳細",
"useOrNot": "使用するかどうか",
"subscribe":"購入を申請する",
"subscribe": "サブスクリプション",
"prompt": "ヒント",
"subscribeSuccess": "申し込み成功"
},
@ -803,21 +805,21 @@
"a3": "貨幣を取引する",
"a4": "貨幣を選んでください",
"a5": "数",
"a6":"数量を入力してください",
"a6": "利益と損失",
"a7": "価格",
"a8": "価格を入力してください",
"a9":"一回の取引が一番低いです",
"b0":"一回の取引が一番高いです",
"b1":"アリペイを支払う",
"a9": "契約",
"b0": "てこ",
"b1": "時間",
"b2": "WeChat",
"b3": "銀行カード",
"b4": "コメント",
"b5": "コメントを入力してください",
"b6": "リリース成功",
"b7":"買います",
"b7": "保険金",
"b8": "売りに出す",
"b9": "キャンセルしました",
"c0":"取引中",
"c0": "操作",
"c1": "完了しました",
"c2": "広告番号",
"c3": "状態",
@ -860,14 +862,14 @@
"g0": "広告を出す",
"g1": "ユーザー",
"g2": "合計",
"g3":"数量を限定する",
"g3": "最新の価格",
"g4": "支払い方法",
"g5": "総量",
"g6": "注文しました",
"g7": "注文を売る",
"g8": "注文書を買う",
"g9":"広告購入注文書",
"h0":"広告販売注文書",
"g9": "ポジションの平均価格を開きます",
"h0": "利回り",
"h1": "全部",
"h2": "閉じられました",
"h3": "支払い待ち",
@ -880,12 +882,12 @@
"i0": "アカウントを入力してください",
"i1": "名前を入力してください",
"i2": "入金二次元コード",
"i3":"保存",
"i3": "方向",
"i4": "銀行の名前",
"i5": "銀行名を入力してください。",
"i6": "口座開設支店を入力してください。",
"i7":"銀行カード番号",
"i8":"銀行カード番号を入力してください。",
"i7": "テイクプロフィット",
"i8": "ストップロス",
"i9": "編集に成功しました",
"j0": "追加成功",
"j1": "仏貨の口座",
@ -906,7 +908,9 @@
"k6": "完全に成功する",
"k7": "逆効果成功",
"k8": "まず登録して申請してください",
"k9":"予約コードを入力してください"
"k9": "予約コードを入力してください",
"l4": "現在の評価値",
"l1": "上げ幅の割合"
},
"otc": {
"a0": "取引の種類を選択してください。",
@ -1035,39 +1039,18 @@
"m3": "注文完了",
"m4": "注文キャンセル"
},
"cxiNewText":{
"a0": "トップ10",
"a1": "500万以上",
"a2": "< 0.10%",
"a3": "200+",
"a4": "世界ランキング",
"a5": "ユーザーは私たちを信頼しています",
"a6": "超低料金",
"a7": "国",
"a21": "すぐに収入を得る",
"a22": "個人の暗号通貨ポートフォリオを作成する",
"a23": "100 以上の暗号通貨を購入、取引、保持",
"a24": "アカウントにリチャージします",
"a25": "メールでサインアップする",
"a38": "いつでもどこでも取引を開始できます。",
"a39": "アプリとウェブページでいつでも安全かつ便利に取引を開始できます",
"a40": "iOS および Android スキャン コードのダウンロード",
"a41": "信頼できる仮想通貨取引プラットフォーム",
"a42": "当社は、厳格なプロトコルと業界をリードする技術対策によりユーザーの安全を確保することに尽力しています。",
"a43": "ユーザーセキュリティ資産ファンド",
"a44": "ユーザー資金を部分的に保護するために、すべての取引手数料の 10% を安全資産基金に保管します。",
"a45": "個人的なアクセス制御",
"a46": "個人用アクセス制御により、個人アカウントのデバイスとアドレスへのアクセスが制限されるため、ユーザーは心配ありません。",
"a47": "高度なデータ暗号化",
"a48": "個人の取引データはエンドツーエンドの暗号化によって保護されており、本人のみが個人情報にアクセスできます。",
"a57": "クリックして移動",
"a71": "初心者ガイド",
"a72": "デジタル通貨取引の学習を今すぐ開始します",
"a77": "デジタル通貨の購入方法",
"a78": "デジタル通貨の販売方法",
"a79": "デジタル通貨の取引方法",
"a80": "取引市場",
"a81": "24時間市場動向",
"a82": "ウォレットに暗号通貨資金を追加して、すぐに取引を開始しましょう"
"addinfo": {
"MarketTrend": "市場動向",
"HourlyCurrencyUpdates": "時間ごとの通貨の更新",
"_24HoursUpsAndDowns": "24時間アップダウン",
"TopEncryptionRiskManagement": "顶级加密风控管理",
"EscortYourPropertySafety": "为您的财产安全保驾护航",
"BuyCoins": "买币",
"ProvidedByTheExperimentalCenter": "由TOPCS实验中心提供",
"StartCurrencyTradingNow": "立刻开始货币交易",
"ScanTheQRCodeBelowToDownload": "扫描下方二维码下载",
"AndroidScanCodeDownload": "Android扫码下载",
"IOSScanCodeDownload": "IOS扫码下载",
"UseNow": "今すぐ使う"
}
}

103
src/i18n/kor.json

@ -38,9 +38,10 @@
"c9": "간단 한 소개"
},
"common": {
"announcement": "발표",
"a3": "구 매 신청 기록",
"option": "옵션",
"exchange":"화 거래",
"exchange": "화 거래",
"markets": "시세.",
"blogs": "블 로그",
"news": "시장 동향",
@ -134,7 +135,7 @@
"logOut": "로그아웃 로그 인",
"homepage": "홈 페이지",
"application": "코 인 신청",
"purchase":"구입 을 신청 하 다.",
"purchase": "신청",
"accountInformation": "계좌 정보",
"myWallet": "내 지갑",
"commissionOrder": "주문 을 의뢰 하 다",
@ -265,7 +266,8 @@
"securityVerification": "안전성 검증",
"disagree": "당신 은 아직 약관 에 동의 하지 않 았 습 니 다",
"registrationSuccess": "등록 성공, 로그 인 화면 전환 중",
"referrer":"추천인",
"referrer": "기관 코드 입력(필수)",
"referrer1": "기관 코드를 입력하세요.",
"password": "비밀 번호",
"country": "지역 번호",
"enter-account": "계 정 을 입력 하 세 요",
@ -335,7 +337,7 @@
"fee": "잔액 을 동결 하 다",
"low": "가장 낮다.",
"startTime": "구입 신청 시작 시간",
"status":"상태.",
"status": "상태",
"processing": "심사 중 입 니 다.",
"direction": "방향.",
"all": "전부.",
@ -437,7 +439,7 @@
"FinancialAccount": "재 테 크 계좌",
"contractFlow": "계약 흐름",
"info": "정보.",
"money":"금액."
"money": "금액"
},
"contact": {
"email": "메 일주 소",
@ -635,8 +637,7 @@
"date": "날짜.",
"address": "지점.",
"primaryCertification": "초급 인증",
"advancedCertification1": "고급 인증 신청",
"advancedCertification2":"고급 인증 신청 이미 제출",
"advancedCertification": "고급 인증 신청 이미 제출",
"toExamine": "심사 하 다.",
"legal": "법정.",
"pleaseEnterName": "이름 을 입력 하 세 요",
@ -707,7 +708,7 @@
"instantDividend": "이익 배당 을 즉시 누리다.",
"invitationInformation": "초대 메시지",
"invitationLink": "초대 링크",
"invitationCode":"초청장 코드",
"invitationCode": "기관 코드",
"registeredUser": "이미 가입 한 사용자",
"accountNumber": "계좌번호",
"registrationTime": "등록 시간",
@ -774,7 +775,8 @@
"pleaseConfirmPassword": "비밀번호 확인 해 주세요.",
"operationSuccess": "조작 이 성공 하 다",
"combination": "비밀 번 호 는 알파벳 과 숫자 조합 이 필요 합 니 다.",
"changeSuccess":"수정 성공"
"changeSuccess": "수정 성공",
"passwordChangePrompt": "계정 보안을 보호하기 위해 정기적으로 비밀번호를 변경하는 것이 좋습니다."
},
"purchase": {
"startTime": "구입 신청 시작 시간",
@ -789,10 +791,10 @@
"projectWarmUp": "프로젝트 예열",
"startSubscription": "구 매 신청 을 시작 하 다",
"endOfSubscription": "구 매 신청 을 마감 하 다",
"announceResults":"결 과 를 발표 하 다",
"announceResults": "상장된 거래",
"projectCetails": "프로젝트 정보",
"useOrNot": "사용 여부",
"subscribe":"구입 을 신청 하 다.",
"subscribe": "신청",
"prompt": "제시 하 다.",
"subscribeSuccess": "구 매 신청 성공"
},
@ -803,21 +805,21 @@
"a3": "거래 화폐 종류",
"a4": "화폐 종 류 를 선택해 주세요.",
"a5": "수량.",
"a6":"수량 을 입력 하 세 요",
"a6": "이익과 손실",
"a7": "가격.",
"a8": "가격 입력 해 주세요.",
"a9":"1 회 거래 최저",
"b0":"1 회 거래 최고",
"b1":"알 리 페 이",
"a9": "계약",
"b0": "지레",
"b1": "시간",
"b2": "위 챗 편지",
"b3": "은행 카드",
"b4": "비고 하 다.",
"b5": "설명 을 입력 하 세 요",
"b6": "발표 성공",
"b7":"구입 하 다.",
"b7": "보험금",
"b8": "판매 하 다.",
"b9": "취소 됨",
"c0":"거래 중",
"c0": "조작",
"c1": "완료 됨",
"c2": "광고 번호",
"c3": "상태.",
@ -860,14 +862,14 @@
"g0": "광 고 를 내다",
"g1": "사용자",
"g2": "총수",
"g3":"한정 하 다.",
"g3": "최신 가격",
"g4": "지불 방식",
"g5": "총량",
"g6": "주문 성공",
"g7": "판매 주문서",
"g8": "주문 서 를 구입 하 다.",
"g9":"광고 구 매 주문서",
"h0":"광고 판매 주문서",
"g9": "오픈 평균치",
"h0": "수익률",
"h1": "전부.",
"h2": "종료 됨",
"h3": "미 지급",
@ -880,12 +882,12 @@
"i0": "계 정 을 입력 하 세 요",
"i1": "이름 을 입력 하 세 요",
"i2": "수금 QR 코드",
"i3":"보존 하 다.",
"i3": "방향",
"i4": "은행 명",
"i5": "은행 명칭 을 입력 하 세 요",
"i6": "계좌 개설 지점 을 입력 하 세 요",
"i7":"은행 카드번호",
"i8":"카드 번 호 를 입력 하 세 요.",
"i7": "이익",
"i8": "손절매",
"i9": "편집 성공",
"j0": "추가 성공",
"j1": "법정 통화 계좌",
@ -906,7 +908,9 @@
"k6": "순 전 히 성공 하 다",
"k7": "역방향 성공",
"k8": "먼저 로그 인하 여 구 매 신청 하 세 요",
"k9":"청 약 코드 를 입력 하 세 요"
"k9": "청 약 코드 를 입력 하 세 요",
"l4": "현재평가가치",
"l1": "상승폭 비율"
},
"otc": {
"a0": "거래 유형 을 선택 하 세 요",
@ -914,9 +918,9 @@
"a2": "매출 하 다.",
"a3": "거래 화폐 종류",
"a4": "화폐 종 류 를 선택해 주세요.",
"a5":"수량.",
"a5": "수량",
"a6": "수량 을 입력 하 세 요",
"a7":"가격.",
"a7": "가격",
"a8": "가격 입력 해 주세요.",
"a9": "1 회 거래 최저",
"b0": "1 회 거래 최고",
@ -1035,39 +1039,18 @@
"m3": "주문 완료",
"m4": "주문 취소"
},
"cxiNewText":{
"a0": "상위 10 개",
"a1": "500만+",
"a2": "< 0.10%",
"a3": "200+",
"a4": "글로벌 랭킹",
"a5": "사용자는 우리를 신뢰합니다",
"a6": "매우 낮은 수수료",
"a7": "국가",
"a21": "즉시 수익 창출",
"a22": "개인 암호화폐 포트폴리오 만들기",
"a23": "100개 이상의 암호화폐 구매, 거래 및 보유",
"a24": "계정 충전",
"a25": "이메일로 가입",
"a38": "언제 어디서나 거래를 엽니다.",
"a39": "APP과 웹페이지를 통해 언제든지 안전하고 편리하게 거래를 시작하세요.",
"a40": "ios 및 Android 스캔 코드 다운로드",
"a41": "신뢰할 수 있는 암호화폐 거래 플랫폼",
"a42": "우리는 엄격한 프로토콜과 업계 최고의 기술적 조치로 사용자의 안전을 보장하기 위해 최선을 다하고 있습니다.",
"a43": "사용자 보안 자산 펀드",
"a44": "모든 거래 수수료의 10%를 안전자산 펀드에 보관하여 사용자 자금을 부분적으로 보호합니다.",
"a45": "개인화된 액세스 제어",
"a46": "개인화된 액세스 제어는 개인 계정 장치 및 주소에 대한 액세스를 제한하므로 사용자가 걱정할 필요가 없습니다.",
"a47": "고급 데이터 암호화",
"a48": "개인 거래 데이터는 종단 간 암호화로 보호되며 개인 정보에 접근할 수 있는 사람은 본인뿐입니다.",
"a57": "클릭하여 이동",
"a71": "초보자 가이드 ",
"a72": "즉시 디지털 통화 거래 학습 시작 ",
"a77": "디지털 화폐 구매 방법 ",
"a78": "디지털 통화 판매 방법 ",
"a79": "디지털 통화 거래 방법",
"a80": "시장",
"a81": "24시간 시장 동향",
"a82": "지갑에 암호화폐 자금을 추가하고 즉시 거래를 시작하세요."
"addinfo": {
"MarketTrend": "시장 동향",
"HourlyCurrencyUpdates": "시간별 통화 업데이트",
"_24HoursUpsAndDowns": "24시간 기복",
"TopEncryptionRiskManagement": "상위 암호화 위험 관리",
"EscortYourPropertySafety": "최고의 암호화 위험 관리",
"BuyCoins": "코인 구매",
"ProvidedByTheExperimentalCenter": "ToopCoins 실험 센터 제공",
"StartCurrencyTradingNow": "지금 통화 거래 시작",
"ScanTheQRCodeBelowToDownload": "다운로드하려면 아래 QR 코드를 스캔하세요.",
"AndroidScanCodeDownload": "Android 다운로드하려면 코드를 스캔하세요.",
"IOSScanCodeDownload": "IOS다운로드하려면 코드를 스캔하세요.",
"UseNow": "지금 사용"
}
}

75
src/i18n/pt.json

@ -38,9 +38,10 @@
"c9": "Breve introdução"
},
"common": {
"announcement": "Anúncio",
"a3": "Registos de Compras",
"option": "Operações de opção",
"exchange":"Operações monetárias",
"exchange": "Troca de moeda",
"markets": "Os preços",
"blogs": "blog",
"news": "Informação da indústria",
@ -134,7 +135,7 @@
"logOut": "Saída do login",
"homepage": "Ficha técnica",
"application": "Pedido de emissão de moeda",
"purchase":"subscrição",
"purchase": "Inscrição",
"accountInformation": "Informação da conta",
"myWallet": "A minha carteira.",
"commissionOrder": "Ordem da comissão",
@ -147,7 +148,7 @@
"order": "ordens",
"spotConsignment": "Delegação spot",
"optionOrders": "Ordens de opções",
"perpetualContract":"Contrato de perpetuidade",
"perpetualContract": "Contrato perpétuo",
"foreignContract": "Contratos de câmbio",
"notCertified": "Não certificado",
"notData": "Não há dados.",
@ -262,7 +263,8 @@
"securityVerification": "Verificação da segurança",
"disagree": "Você ainda não concordou com os termos",
"registrationSuccess": "O registo foi bem sucedido e está a saltar para a página de destino",
"referrer":"referências",
"referrer": "Insira o código da instituição (obrigatório)",
"referrer1": "Insira o código da instituição",
"optional": "facultativo",
"password": "senha",
"login": "autenticação",
@ -625,8 +627,7 @@
"profile": {
"realName": "Autenticação do nome real",
"primaryCertification": "Certificação primária",
"advancedCertification1": "Aplicação de Certificação Avançada",
"advancedCertification2":"O pedido de certificação avançada foi apresentado",
"advancedCertification": "O pedido de certificação avançada foi apresentado",
"toExamine": "auditoria",
"fullName": "O nome",
"legal": "obrigatória",
@ -704,7 +705,7 @@
"instantDividend": "Os dividendos",
"invitationInformation": "Convite à informação",
"invitationLink": "Ligações convidadas",
"invitationCode":"Código do convite",
"invitationCode": "Código da Instituição",
"registeredUser": "Utilizadores registados",
"accountNumber": "conta",
"registrationTime": "Período de inscrição",
@ -775,7 +776,8 @@
"pleaseConfirmPassword": "Por favor, confirme a senha.",
"operationSuccess": "Operação bem sucedida",
"combination": "A senha requer uma combinação de letras e números",
"changeSuccess":"Modificação bem sucedida"
"changeSuccess": "Modificação bem sucedida",
"passwordChangePrompt": "É recomendável que você altere sua senha regularmente para proteger a segurança da sua conta"
},
"purchase": {
"sendPrice": "Preço de emissão",
@ -790,10 +792,10 @@
"projectWarmUp": "Pré-aquecimento do projecto",
"startSubscription": "Início da subscrição",
"endOfSubscription": "Fim da subscrição",
"announceResults":"Publicação dos resultados",
"announceResults": "Transação listada",
"projectCetails": "Pormenores do projecto",
"useOrNot": "São utilizados",
"subscribe":"subscrição",
"subscribe": "Inscrição",
"prompt": "dica",
"subscribeSuccess": "O pedido foi aceite."
},
@ -804,7 +806,7 @@
"a3": "disponibilidade",
"a4": "Margem de detenção",
"a5": "Congelamento da comissão",
"a6":"Ganhos e perdas não realizados",
"a6": "Lucros e perdas",
"a7": "Taxa de risco",
"a8": "Previsão de paridade forte",
"a9": "O contrato",
@ -907,7 +909,9 @@
"k6": "O chun ping conseguiu.",
"k7": "Sucesso inverso.",
"k8": "Por favor, entre primeiro para fazer a subscrição",
"k9":"Por favor, Digite o código de assinatura"
"k9": "Por favor, Digite o código de assinatura",
"l4": "avaliação atual",
"l1": "Aumentar proporção"
},
"otc": {
"a0": "Por favor, selecione o tipo de transação",
@ -1036,39 +1040,18 @@
"m3": "Fim Da ordem",
"m4": "Cancelamento Da ordem"
},
"cxiNewText":{
"a0": "10 melhores",
"a1": "5 milhões+",
"a2": "< 0.10%",
"a3": "200+",
"a4": "Classificação Global",
"a5": "Os usuários confiam em nós",
"a6": "Taxas ultrabaixas",
"a7": "Países",
"a21": "Ganhar renda imediatamente",
"a22": "Crie um portfólio pessoal de criptomoedas",
"a23": "Compre, negocie e mantenha mais de 100 criptomoedas",
"a24": "Recarregue a conta",
"a25": "Inscreva-se por e-mail",
"a38": "Transações abertas a qualquer hora, em qualquer lugar.",
"a39": "Comece a negociar com segurança e conveniência a qualquer momento através do nosso APP e página da web",
"a40": "Download do código de verificação ios e Android",
"a41": "Uma plataforma confiável de negociação de criptomoedas",
"a42": "Fique a par das últimas novidades através da nossa App e página web.",
"a43": "Fundos de ativos de segurança do usuário",
"a44": "Armazenamos 10% de todas as taxas de transação em fundos de ativos seguros para fornecer proteção parcial aos fundos do usuário",
"a45": "Controle de Acesso Personalizado",
"a46": "O controle de acesso personalizado restringe o acesso a dispositivos e endereços de contas pessoais, para que os usuários não tenham preocupações.",
"a47": "Criptografia de dados avançada",
"a48": "Os dados de transações pessoais são protegidos por criptografia de ponta a ponta e somente a pessoa pode acessar as informações pessoais.",
"a57": "Clique para ir",
"a71": "Guia do Iniciante ",
"a72": "Inicie o aprendizado de negociação de moeda digital imediatamente ",
"a77": "Como comprar moeda digital ",
"a78": "Como vender moeda digital ",
"a79": "Como negociar moedas digitais",
"a80": "Mercado",
"a81": "Tendência de mercado 24 horas",
"a82": "Adicione fundos de criptomoeda à sua carteira e comece a negociar instantaneamente"
"addinfo": {
"MarketTrend": "tendência de mercado",
"HourlyCurrencyUpdates": "Atualizações de moeda por hora",
"_24HoursUpsAndDowns": "24 horas de altos e baixos",
"TopEncryptionRiskManagement": "顶级加密风控管理",
"EscortYourPropertySafety": "为您的财产安全保驾护航",
"BuyCoins": "买币",
"ProvidedByTheExperimentalCenter": "由TOPCS实验中心提供",
"StartCurrencyTradingNow": "立刻开始货币交易",
"ScanTheQRCodeBelowToDownload": "扫描下方二维码下载",
"AndroidScanCodeDownload": "Android扫码下载",
"IOSScanCodeDownload": "IOS扫码下载",
"UseNow": "use agora"
}
}

73
src/i18n/spa.json

@ -38,9 +38,10 @@
"c9":"Introducción"
},
"common": {
"announcement": "Anuncio",
"a3":"Registro de pedidos",
"option":"Comercio de opciones",
"exchange":"Transacciones monetarias",
"exchange":"Comercio de Divisas",
"markets":"Cotización",
"blogs":"Blog",
"news":"Información de la industria",
@ -262,7 +263,8 @@
"securityVerification":"Verificación de la seguridad",
"disagree":"Aún no ha aceptado los términos",
"registrationSuccess":"Registro exitoso, saltando a la página de inicio de sesión",
"referrer":"Recomendador",
"referrer": "Ingrese el código de la institución (requerido)",
"referrer1": "Por favor ingrese el código de la institución",
"optional":"Opcional",
"password":"Contraseña",
"login":"Iniciar sesión",
@ -625,8 +627,7 @@
"profile": {
"realName":"Autenticación del nombre real",
"primaryCertification":"Certificación primaria",
"advancedCertification1": "Solicitud de Certificación Avanzada",
"advancedCertification2":"Solicitud de acreditación avanzada presentada",
"advancedCertification":"Solicitud de acreditación avanzada presentada",
"toExamine":"Auditoría",
"fullName":"Nombre",
"legal":"Legal",
@ -704,7 +705,7 @@
"instantDividend":"Derecho a un dividendo",
"invitationInformation":"Mensaje de invitación",
"invitationLink":"Enlace de invitación",
"invitationCode":"Código de invitación",
"invitationCode":"Código Institucional",
"registeredUser":"Usuarios registrados",
"accountNumber":"Número de cuenta",
"registrationTime":"Tiempo de registro",
@ -775,7 +776,8 @@
"pleaseConfirmPassword":"Por favor, confirme la contraseña",
"operationSuccess":"Operación exitosa",
"combination":"Las contraseñas requieren combinaciones de letras y números",
"changeSuccess":"Modificación exitosa"
"changeSuccess":"Modificación exitosa",
"passwordChangePrompt": "Se recomienda que cambie su contraseña periódicamente para proteger la seguridad de su cuenta."
},
"purchase": {
"sendPrice":"Precio de emisión",
@ -790,7 +792,7 @@
"projectWarmUp":"Precalentamiento del proyecto",
"startSubscription":"Inicio de la compra",
"endOfSubscription":"Cierre de la suscripción",
"announceResults":"Publicación de los resultados",
"announceResults":"Transacción listada",
"projectCetails":"Detalles del proyecto",
"useOrNot":"Usar o no",
"subscribe":"Suscripción",
@ -804,7 +806,7 @@
"a3":"Disponible",
"a4":"Margen de posición",
"a5":"Delegación congelada",
"a6":"Ganancias y pérdidas no realizadas",
"a6":"Ganancia y perdida",
"a7":"Tasa de riesgo",
"a8":"Estimación de las fuertes paridades",
"a9":"Contrato",
@ -815,7 +817,7 @@
"b4":"Total confiado",
"b5":"Precio medio de transacción",
"b6":"Precio confiado",
"b7":"Margen",
"b7":"Dinero del seguro",
"b8":"Gastos de tramitación",
"b9":"Estado",
"c0":"Operaciones",
@ -868,7 +870,7 @@
"g7":"Posición",
"g8":"Cantidad nivelada",
"g9":"Precio medio de apertura",
"h0":"Tasa de rendimiento",
"h0":"rentabilidad",
"h1":"Cierre de mercado",
"h2":"Si el precio de mercado es plano",
"h3":"Todo plano",
@ -907,7 +909,9 @@
"k6":"éxito total",
"k7":"éxito inverso",
"k8":"Por favor, inicie sesión para solicitar",
"k9":"Introduzca el Código de suscripción "
"k9":"Introduzca el Código de suscripción ",
"l4": "valoración actual",
"l1": "Relación de aumento"
},
"otc": {
"a0":"Por favor, seleccione el tipo de transacción",
@ -1036,39 +1040,18 @@
"m3":"Fin del pedido",
"m4":"Orden cancelada"
},
"cxiNewText":{
"a0": "10 mejores",
"a1": "5 millones+",
"a2": "< 0.10%",
"a3": "200+",
"a4": "Clasificación mundial",
"a5": "Los usuarios confían en nosotros",
"a6": "Tarifas ultra bajas",
"a7": "Países",
"a21": "Obtener ingresos inmediatamente",
"a22": "Crear una cartera personal de criptomonedas",
"a23": "Compre, intercambie y mantenga más de 100 criptomonedas",
"a24": "Recargar la cuenta",
"a25": "Registrarse por correo electrónico",
"a38": "Abrir transacciones en cualquier momento y en cualquier lugar.",
"a39": "Comience a operar de manera segura y conveniente en cualquier momento a través de nuestra aplicación y página web",
"a40": "Descarga de código de escaneo de ios y Android",
"a41": "Una plataforma de negociación de criptomonedas de confianza",
"a42": "Estamos comprometidos a garantizar la seguridad de los usuarios con estrictos protocolos y medidas técnicas líderes en la industria.",
"a43": "Fondos de activos de seguridad del usuario",
"a44": "Almacenamos el 10% de todas las tarifas de transacción en fondos de activos seguros para brindar protección parcial a los fondos de los usuarios",
"a45": "Control de acceso personalizado",
"a46": "El control de acceso personalizado restringe el acceso a dispositivos y direcciones de cuentas personales, para que los usuarios no tengan preocupaciones.",
"a47": "Cifrado de datos avanzado",
"a48": "Los datos de transacciones personales están protegidos por encriptación de extremo a extremo y solo la persona puede acceder a la información personal.",
"a57": "Haga clic para ir",
"a71": "Guía para principiantes ",
"a72": "Comience a aprender a operar con divisas digitales de inmediato ",
"a77": "Cómo comprar moneda digital ",
"a78": "Cómo vender moneda digital ",
"a79": "Cómo operar con monedas digitales",
"a80": "Mercado",
"a81": "Tendencia del mercado de 24 horas",
"a82": "Agregue fondos de criptomonedas a su billetera y comience a operar al instante"
"addinfo": {
"MarketTrend": "tendencia del mercado",
"HourlyCurrencyUpdates": "Actualizaciones de moneda por hora",
"_24HoursUpsAndDowns": "24 horas altibajos",
"TopEncryptionRiskManagement": "顶级加密风控管理",
"EscortYourPropertySafety": "为您的财产安全保驾护航",
"BuyCoins": "买币",
"ProvidedByTheExperimentalCenter": "由TOPCS实验中心提供",
"StartCurrencyTradingNow": "立刻开始货币交易",
"ScanTheQRCodeBelowToDownload": "扫描下方二维码下载",
"AndroidScanCodeDownload": "Android扫码下载",
"IOSScanCodeDownload": "IOS扫码下载",
"UseNow": "usar ahora"
}
}

83
src/i18n/tr.json

@ -38,9 +38,10 @@
"c9": "kısa tanıtım"
},
"common": {
"announcement": "duyuru",
"a3": "Satın alma kaydı",
"option": "Opsiyon ticareti",
"exchange":"döviz işlemi",
"exchange": "döviz ticareti",
"markets": "alıntılar",
"blogs": "Blog",
"news": "Sektör Bilgileri",
@ -134,7 +135,7 @@
"logOut": "oturumu Kapat",
"homepage": "Ev",
"application": "Listeleme başvurusu",
"purchase":"Abone ol",
"purchase": "Abonelik",
"accountInformation": "Hesap Bilgileri",
"myWallet": "çantam",
"commissionOrder": "konsinye siparişi",
@ -262,7 +263,8 @@
"securityVerification": "Güvenlik doğrulaması",
"disagree": "Şartları kabul etmedin",
"registrationSuccess": "Başarılı kayıt",
"referrer":"yönlendiren",
"referrer": "Kurum kodunu giriniz (gerekli)",
"referrer1": "Lütfen kurum kodunu giriniz",
"optional": "İsteğe bağlı",
"password": "parola",
"login": "oturum aç",
@ -438,7 +440,7 @@
"FinancialAccount": "Finansal hesap",
"contractFlow": "Sözleşme akışı",
"info": "Ayrıntılar",
"money":"Miktar"
"money": "Toplam tutar"
},
"contact": {
"contact": "Bize Ulaşın",
@ -625,8 +627,7 @@
"profile": {
"realName": "Doğrulandı",
"primaryCertification": "Birincil sertifika",
"advancedCertification1": "Gelişmiş Sertifikasyon Başvurusu",
"advancedCertification2":"Gelişmiş sertifika başvurusu gönderildi",
"advancedCertification": "Gelişmiş sertifika başvurusu gönderildi",
"toExamine": "Denetim",
"fullName": "isim",
"legal": "yasal",
@ -704,7 +705,7 @@
"instantDividend": "Anında temettü",
"invitationInformation": "Davetiye bilgileri",
"invitationLink": "Davet bağlantısı",
"invitationCode":"Davet Kodu",
"invitationCode": "Kurum kodu",
"registeredUser": "Kayıtlı kullanıcı",
"accountNumber": "hesap numarası",
"registrationTime": "Kayıt zamanı",
@ -775,7 +776,8 @@
"pleaseConfirmPassword": "Lütfen şifrenizi doğrulayınız",
"operationSuccess": "Başarılı operasyon",
"combination": "Şifre, harf ve rakam kombinasyonu gerektirir",
"changeSuccess":"Başarıyla değiştirildi"
"changeSuccess": "Başarıyla değiştirildi",
"passwordChangePrompt": "Hesap güvenliğinizi korumak için şifrenizi düzenli olarak değiştirmeniz önerilir."
},
"purchase": {
"sendPrice": "Yayın fiyatı",
@ -790,10 +792,10 @@
"projectWarmUp": "Proje ısınması",
"startSubscription": "Satın almaya başla",
"endOfSubscription": "Aboneliğin sonu",
"announceResults":"Sonuçları duyurun",
"announceResults": "Listelenen işlem",
"projectCetails": "Proje detayları",
"useOrNot": "kullan ya da kullanma",
"subscribe":"Abone ol",
"subscribe": "abonelik",
"prompt": "Komut istemi",
"subscribeSuccess": "Başarılı abonelik"
},
@ -804,21 +806,21 @@
"a3": "Mevcut",
"a4": "pozisyon marjı",
"a5": "emanet dondurma",
"a6":"Gerçekleşmemiş kar ve zarar",
"a6": "Kar ve zarar",
"a7": "Risk oranı",
"a8": "Tahmini Güçlü Parite",
"a9": "sözleşme",
"b0":"kaldıraç",
"b0": "manivela",
"b1": "zaman",
"b2": "işlem tipi",
"b3": "anlaşma yapıldı",
"b4": "Toplam komisyon",
"b5": "Ortalama işlem fiyatı",
"b6": "Komisyon fiyatı",
"b7":"marj",
"b7": "Sigorta",
"b8": "Hizmet bedeli",
"b9": "durum",
"c0":"işletme",
"c0": "işletmek",
"c1": "Bir siparişi iptal et",
"c2": "İptal",
"c3": "Mevcut siparişin iptal edilip edilmeyeceği",
@ -861,7 +863,7 @@
"g0": "satın al",
"g1": "Satmak",
"g2": "Genel Toplam",
"g3":"Son fiyat",
"g3": "En son fiyatlar",
"g4": "Ayrıntılar",
"g5": "tarih kaydı",
"g6": "işlem süresi",
@ -907,7 +909,9 @@
"k6": "Tam başarı",
"k7": "Ters başarı",
"k8": "Satın almak için lütfen giriş yapın",
"k9":"Lütfen abonelik kodunu girin"
"k9": "Lütfen abonelik kodunu girin",
"l4": "cari değerleme",
"l1": "Oranı artır"
},
"otc": {
"a0": "Lütfen işlem türünü seçin",
@ -1036,39 +1040,18 @@
"m3": "sipariş sonu",
"m4": "siparişi iptal et"
},
"cxiNewText":{
"a0": "En iyi 10",
"a1": "5 milyon+",
"a2": "< 0.10%",
"a3": "200+",
"a4": "Küresel Sıralama",
"a5": "Kullanıcılar bize güveniyor",
"a6": "Ultra Düşük Ücretler",
"a7": "Ülkeler",
"a21": "hemen gelir elde et",
"a22": "Kişisel bir kripto para portföyü oluştur",
"a23": "100'den fazla kripto para birimi satın alın, ticaret yapın ve tutun",
"a24": "Hesabı şarj et",
"a25": "E-posta ile kaydol",
"a38": "İşlemleri istediğiniz zaman, istediğiniz yerde açın.",
"a39": "APP ve web sayfamız aracılığıyla istediğiniz zaman güvenli ve rahat bir şekilde işlem yapmaya başlayın",
"a40": "IOS ve Android tarama kodu indir",
"a41": "Güvenilir bir kripto para ticaret platformu",
"a42": "Katı protokoller ve endüstri lideri teknik önlemlerle kullanıcıların güvenliğini sağlamaya kararlıyız.",
"a43": "Kullanıcı güvenlik varlık fonları",
"a44": "Kullanıcı fonlarına kısmi koruma sağlamak için tüm işlem ücretlerinin %10'unu güvenli varlık fonlarında saklıyoruz",
"a45": "Kişiselleştirilmiş Erişim Kontrolü",
"a46": "Kişiselleştirilmiş erişim kontrolü, kullanıcıların endişelenmemesi için kişisel hesap cihazlarına ve adreslerine erişimi kısıtlar.",
"a47": "Gelişmiş Veri Şifreleme",
"a48": "Kişisel işlem verileri uçtan uca şifreleme ile korunmaktadır ve kişisel bilgilere yalnızca kişi erişebilir.",
"a57": "Gitmek için tıklayın",
"a71": "Başlangıç Kılavuzu ",
"a72": "Dijital döviz ticareti öğrenmeye hemen başlayın ",
"a77": "Dijital para birimi nasıl alınır ",
"a78": "Dijital para birimi nasıl satılır ",
"a79": "Dijital Para Birimleri Nasıl Ticaret Yapılır?",
"a80": "Pazar yeri",
"a81": "24 saat piyasa trendi",
"a82": "Cüzdanınıza kripto para birimi fonları ekleyin ve anında işlem yapmaya başlayın"
"addinfo": {
"MarketTrend": "piyasa eğilimi",
"HourlyCurrencyUpdates": "Saatlik Para Birimi Güncellemeleri",
"_24HoursUpsAndDowns": "24 saat iniş ve çıkışlar",
"TopEncryptionRiskManagement": "顶级加密风控管理",
"EscortYourPropertySafety": "为您的财产安全保驾护航",
"BuyCoins": "买币",
"ProvidedByTheExperimentalCenter": "由TOPCS实验中心提供",
"StartCurrencyTradingNow": "立刻开始货币交易",
"ScanTheQRCodeBelowToDownload": "扫描下方二维码下载",
"AndroidScanCodeDownload": "Android扫码下载",
"IOSScanCodeDownload": "IOS扫码下载",
"UseNow": "şimdi kullan"
}
}

79
src/i18n/tw.json

@ -38,6 +38,7 @@
"c9": "簡介"
},
"common": {
"announcement": "公告",
"a3": "申購記錄",
"option": "期權交易",
"exchange": "幣幣交易",
@ -157,7 +158,7 @@
"auth": "實名認證",
"invitationReward": "邀請獎勵",
"visitHistory": "訪問記錄",
"noviceTutorial": "新手教程",
"noviceTutorial": "為什麽選擇我們?",
"tradingStrategy": "交易策略",
"industryResearch": "行業研究",
"blockchainDictionary": "區塊鏈詞典",
@ -188,7 +189,7 @@
"learn": "學習"
},
"exchange": {
"search": "索",
"search": "索",
"pair": "交易對",
"last-price": "最新價",
"change": "漲跌幅",
@ -262,8 +263,8 @@
"securityVerification": "安全性驗證",
"disagree": "您還沒有同意條款",
"registrationSuccess": "注册成功,正在跳轉登入頁面",
"referrer": "推薦人",
"referrer1": "請填寫推薦人",
"referrer": "輸入機構代碼(必填)",
"referrer1": "請輸入機構代碼",
"optional": "選填",
"password": "密碼",
"login": "登入",
@ -343,7 +344,7 @@
"addressManagement1": "地址管理",
"addAddress": "添加地址",
"filter": "篩選器",
"search": "索",
"search": "索",
"selectActiveArea": "請選擇活動區域",
"areaOne": "區域一",
"areaTwo": "區域二",
@ -376,7 +377,7 @@
"spotAccount": "現貨帳戶",
"hide": "隱藏",
"balanceAssets": "餘額資產",
"searchCurrency": "索幣種",
"searchCurrency": "索幣種",
"addressManagement": "提幣地址管理",
"totalAssets": "總資產",
"availableBalance": "可用餘額",
@ -486,7 +487,7 @@
"newEra": "數位貨幣交易新時代",
"startTrading": "開始交易",
"walkingLantern": "走馬燈",
"marketCenter": "交易市",
"marketCenter": "交易市",
"optional": "自選",
"latestPrice": "價格",
"upAndDown": "漲跌幅",
@ -596,7 +597,7 @@
"toMatch": "未撮合",
"operation": "操作",
"reset": "重置",
"search": "索",
"search": "索",
"to": "至",
"startTime": "開始日期",
"endTime": "結束日期",
@ -630,8 +631,7 @@
"country1": "請輸入國家",
"realName": "實名認證",
"primaryCertification": "初級認證",
"advancedCertification1": "高級認證申請",
"advancedCertification2": "高級認證申請已提交",
"advancedCertification": "高級認證申請已提交",
"toExamine": "稽核",
"fullName": "姓名",
"legal": "法定",
@ -709,7 +709,7 @@
"instantDividend": "立享分紅",
"invitationInformation": "邀請資訊",
"invitationLink": "邀請連結",
"invitationCode": "邀請碼",
"invitationCode": "機構碼",
"registeredUser": "已註冊用戶",
"accountNumber": "帳號",
"registrationTime": "註冊時間",
@ -783,7 +783,8 @@
"pleaseConfirmPassword": "請確認密碼",
"operationSuccess": "操作成功",
"combination": "密碼需要字母和數位組合",
"changeSuccess": "修改成功"
"changeSuccess": "修改成功",
"passwordChangePrompt": "建議您定期更改密碼以保護賬號安全"
},
"purchase": {
"sendPrice": "發行價",
@ -798,7 +799,7 @@
"projectWarmUp": "項目預熱",
"startSubscription": "開始申購",
"endOfSubscription": "結束申購",
"announceResults": "公佈結果",
"announceResults": "上市交易",
"projectCetails": "項目詳情",
"useOrNot": "是否使用",
"subscribe": "申購",
@ -812,7 +813,7 @@
"a3": "可用",
"a4": "持倉保證金",
"a5": "委託凍結",
"a6": "未實現盈虧",
"a6": "盈虧",
"a7": "風險率",
"a8": "預估強平價",
"a9": "合約",
@ -917,7 +918,8 @@
"k8": "請先登錄進行申購 ",
"k9": "請輸入認購碼",
"l1": "漲幅比例",
"l2":"保證金"
"l2": "保證金",
"l4": "當前估值"
},
"otc": {
"a0": "請選擇交易類型",
@ -1046,39 +1048,18 @@
"m3": "訂單結束",
"m4": "訂單取消"
},
"cxiNewText":{
"a0": "前10名",
"a1": "500萬+",
"a2": "< 0.10%",
"a3": "200+",
"a4": "全球排名",
"a5": "用戶信任我們",
"a6": "超低費用",
"a7": "國家",
"a21": "立即賺取收益",
"a22": "創建個人加密貨幣投資組合",
"a23": "購買、交易和持有100多種加密貨幣",
"a24": "向賬戶充值",
"a25": "通過電子郵件註冊",
"a38": "隨時隨地,開啟交易。",
"a39": "通過我們的應用程序和網頁,隨時安全又便利地開始交易。",
"a40": "ios和Android掃碼下載",
"a41": "值得用戶信賴的加密貨幣交易平台",
"a42": "我們終力承諾以嚴格協議和行業領先的技術措施為用戶安全駕駛護航。",
"a43": "用戶安全資產資金",
"a44": "我們將所有交易費用的10%存入與安全資產資金,為用戶資金提供部分保障。",
"a45": "個性化訪問控制",
"a46": "個性化訪問控制限制訪問個人賬戶的設備和地址,讓用戶無後顧之憂。",
"a47": "先進數據加密",
"a48": "個人交易數據通過端到端加密獲得保障,僅限本人訪問個人信息。",
"a57": "點擊前往",
"a71": "新手指引",
"a72": "即刻開啟數字貨幣交易學習",
"a77": "如何購買數字貨幣",
"a78": "如何出售數字貨幣",
"a79": "如何交易數字貨幣",
"a80": "交易市場",
"a81": "24小時市場走勢",
"a82": "將添加加密貨幣資金添加到您的錢包並立即開始交易"
"addinfo": {
"MarketTrend": "市場趨勢",
"HourlyCurrencyUpdates": "小時貨幣最新動態",
"_24HoursUpsAndDowns": "24小時漲跌",
"TopEncryptionRiskManagement": "顶级加密风控管理",
"EscortYourPropertySafety": "頂級加密風控管理",
"BuyCoins": "買幣",
"ProvidedByTheExperimentalCenter": "由TOPCS實驗中心提供",
"StartCurrencyTradingNow": "立刻開始貨幣交易",
"ScanTheQRCodeBelowToDownload": "掃描下方二維碼下載",
"AndroidScanCodeDownload": "Android扫码下载",
"IOSScanCodeDownload": "Android掃碼下載",
"UseNow": "現在使用"
}
}

8
src/index.html

@ -21,7 +21,7 @@
for (var i = 0; i < mobileAgent.length; i++) {
if (browser.indexOf(mobileAgent[i]) != -1) {
//todo 手机版跳转
window.location.href = 'https://app.cxicoin.com';
window.location.href = 'https://h5.toopcoins.com';
break;
}
}
@ -68,13 +68,13 @@
<script src="/static/libs/jquery.mCustomScrollbar.js"></script>
<script src="/static/js/custom.js"></script>
<script src="/static/libs/skroll.min.js"></script>
<script src="https://www.cxicoin.com/newlink/pako.min.js"></script>
<script src="https://www.toopcoins.com/newlink/pako.min.js"></script>
<script>
window.custom = "light"; // 默认主题
window.api_path = "<%= htmlWebpackPlugin.options.isProduct ? 'https://sses.cxicoin.com/api/sliderVerify' : 'https://sses.cxicoin.com/api/sliderVerify' %>";
window.api_path = "<%= htmlWebpackPlugin.options.isProduct ? 'https://ser.ybgcoins.com/api/sliderVerify' : 'https://ser.ybgcoins.com/api/sliderVerify' %>";
// window.api_path = "<%= htmlWebpackPlugin.options.isProduct ? 'http://qkladmin2.ruanmeng.top/api/sliderVerify' : 'http://qkladmin2.ruanmeng.top/api/sliderVerify' %>";
// window.ws_path = "<%= htmlWebpackPlugin.options.isProduct ? 'wss://guanli.coin.amatak.net/ws1' : 'wss://guanli.coin.amatak.net/ws1' %>";
window.ws_path = "<%= htmlWebpackPlugin.options.isProduct ? 'https://sses.cxicoin.com/api' : 'https://sses.cxicoin.com/api' %>";
window.ws_path = "<%= htmlWebpackPlugin.options.isProduct ? 'https://ser.ybgcoins.com/api' : 'https://ser.ybgcoins.com/api' %>";
// window.ws_path = "<%= htmlWebpackPlugin.options.isProduct ? 'ws://qkladmin2.ruanmeng.top:2346' : 'ws://qkladmin2.ruanmeng.top:2346' %>";

3
src/utils/class/date.js

@ -48,8 +48,7 @@ function time2Date(time, isOffset = false) {
function parseTime(time, isOffset = false, cformat = null) {
// 设置默认格式
// let format = cformat || '{y}-{m}-{d} {h}:{i}:{s}';
let format = cformat || '{m}/{d}/{y} {h}:{i}:{s}';
let format = cformat || '{y}-{m}-{d} {h}:{i}:{s}';
const date = time2Date(time, isOffset);

10
src/utils/consts.js

@ -15,18 +15,18 @@ export default {
FAIL : 2,
}
},
mobileUrl:'https://app.cxicoin.com',
mobileUrl:'https://h5.cinscoin.com',
Server: {
Path: {
// API: isProduct ? `http://qkladmin2.ruanmeng.top/api/` : `/api/`,
BASE:isProduct?`https://sses.cxicoin.com`:`https://sses.cxicoin.com`,
API: isProduct ? `https://sses.cxicoin.com/api/` : `/api/`,
BASE:isProduct?`https://ser.ybgcoins.com`:`https://ser.ybgcoins.com`,
API: isProduct ? `https://ser.ybgcoins.com/api/` : `/api/`,
// WS: isProduct ? `ws://qkladmin2.ruanmeng.top:2346` : `ws://qkladmin2.ruanmeng.top:2346`,
// WS1: isProduct ? `ws://qkladmin2.ruanmeng.top:2348` : `ws://qkladmin2.ruanmeng.top:2348`,
// WS: isProduct ? `wss://guanli.coin.amatak.net/ws1` : `wss://guanli.coin.amatak.net/ws1`,
WS: isProduct ? `wss://sses.cxicoin.com/ws1` : `wss://sses.cxicoin.com/ws1`,
WS: isProduct ? `wss://ser.ybgcoins.com/ws1` : `wss://ser.ybgcoins.com/ws1`,
// WS1: isProduct ? `wss://guanli.coin.amatak.net/ws2` : `wss://guanli.coin.amatak.net/ws2`,
WS1: isProduct ? `wss://sses.cxicoin.com/ws2` : `wss://sses.cxicoin.com/ws2`,
WS1: isProduct ? `wss://ser.ybgcoins.com/ws2` : `wss://ser.ybgcoins.com/ws2`,
}
}
};

16
src/views/components/inner-transfer.vue

@ -218,17 +218,7 @@ export default {
}
},
components: {},
watch: {
fromValue(n){
if(n[0]==2){
this.toValue = [1];
this.form.to_account = this.toValue[0];
}else if(n[0]==1){
this.toValue = [2];
this.form.to_account = this.toValue[0];
}
},
},
watch: {},
methods: {
// from
fromChange($ev) {
@ -275,8 +265,8 @@ export default {
// to_account,
// from_account
// ];
// console.info(this.form.from_account)
// console.info(this.form.to_account)
console.info(this.form.from_account)
console.info(this.form.to_account)
// [this.fromChild, this.toChild] = [this.toChild, this.fromChild];
this.form.pair_id = this.toChild.id;
this.getUserCoinAssets()

2
src/views/contract/account.vue

@ -65,7 +65,7 @@ export default {
}
},
mounted(){
console.log(this.accountInfo)
// console.log(this.accountInfo)
},
methods:{

309
src/views/contract/exchange-store.vue

@ -1,11 +1,245 @@
<template>
<div style="display: flex;">
<div style="width: 50%;height: 430px;">
<div class="markets-pair-list exchange-store bg-plain">
<div class="nav nav-pills">
<div class="nav-item">
<div class="nav-item" style="display: flex;">
<a class="nav-link" :class="{ active: tab == 1 }" @click="tab = 1">{{
$t("contract.d5")
}}</a>
<!--<button-->
<!-- @click="form.type == 1 ? (form.type = 2) : (form.type = 1)"-->
<!-- class="btn btn-sm btn-outline-primary ml-2 text-nowrap"-->
<!--&gt;-->
<!-- {{ form.type == 1 ? $t("contract.e0") : $t("contract.d9") }}111111111111-->
<!--</button>-->
<button
@click="(form.type = 2)"
:class="form.type==2?'active btn btn-sm btn-outline-primary ml-2 text-nowrap':'btn btn-sm btn-outline-primary ml-2 text-nowrap'"
>
{{ $t("contract.d9") }}
</button>
<button
@click="(form.type = 1)"
:class="form.type==1?'active btn btn-sm btn-outline-primary ml-2 text-nowrap':'btn btn-sm btn-outline-primary ml-2 text-nowrap'"
>
{{ $t("contract.e0") }}
</button>
</div>
<!-- <div class="nav-item">
<a class="nav-link" :class="{ active: tab == 2 }" @click="tab = 2">{{
$t("contract.d6")
}}</a>
</div> -->
<div class="flex-fill px-3 justify-content-end d-flex align-items-center">
<el-popover
placement="bottom"
width="100"
v-model="visible"
trigger="manual"
>
<!-- <div
class="rounded border p-1 bg-white pointer"
slot="reference"
@click="visible = !visible">
{{ $t("contract.b0") }}
<span class="fn-16"> {{ form.lever_rate }}X </span>
<i class="el-icon-edit text-primary"></i>
</div> -->
<!-- <div class="list">
<div
class="el-select-dropdown__item"
@click="
selectLever(item);
visible = false;"
v-for="item in lever_rage"
:key="item">
{{ item }}X
</div>
</div> -->
</el-popover>
</div>
</div>
<div class="content-box px-3 ">
<div v-if="type == 2" class="input-group my-4 input-group-sm">
<div class="input-group-prepend">
<span class="input-group-text">{{ $t("contract.d7") }}</span>
</div>
<input type="number" class="form-control" placeholder=""/>
<div class="input-group-append">
<span class="input-group-text">USDT</span>
</div>
</div>
<div class="d-flex my-4 align-items-center">
<div class="input-group input-group-sm">
<div class="input-group-prepend">
<span class="input-group-text">{{ $t("contract.d8") }}</span>
</div>
<template v-if="form.type == 1">
<div class="input-group-append">
<span class="input-group-text">USDT</span>
</div>
<input
type="number"
v-model="form.entrust_price"
class="form-control"
placeholder=""
/>
<!-- <div class="input-group-append">
<span class="input-group-text">USDT</span>
</div> -->
</template>
<template v-if="form.type == 2">
<input
type="text"
disabled
:value="$t('contract.d9')"
class="form-control"
:placeholder="$t('contract.d9')"
/>
</template>
</div>
<!-- <button
@click="form.type == 1 ? (form.type = 2) : (form.type = 1)"
class="btn btn-sm btn-outline-primary ml-2 text-nowrap"
>hhhhh
{{ form.type == 1 ? $t("contract.e0") : $t("contract.d9") }}
</button> -->
</div>
<div class="input-group mb-4 input-group-sm">
<div class="input-group-prepend">
<!-- <span class="input-group-text">{{ $t("contract.e1") }}</span> -->
<span class="input-group-text">{{ $t("contract.l2") }}</span>
</div>
<input
type="number"
class="form-control"
v-model="margin"
:placeholder="tips"
/>
<!-- <div class="input-group-append">
<span class="input-group-text">{{ $t("contract.e2") }}</span>
</div> -->
</div>
<div class="px-2 mb-4" v-if="this.tab == 1">
<el-slider
:value="activeStep"
@input="sliderChange"
:format-tooltip="tooltip"
:marks="marks"
></el-slider>
<!-- :step="25" -->
</div>
<!-- 开仓 -->
<div v-if="tab == 1" class="kaicang">
<div class="d-flex justify-content-between mb-3">
<div>{{ $t("contract.e1") }}</div>
<!--{{$t("contract.e2")}}-->
<div>{{ amount }}</div>
</div>
<div class="d-flex justify-content-between mb-4">
<div>{{ $t("contract.a3") }}:</div>
<div>
{{ accountInfo.usable_balance }} USDT
<i
class="el-icon-sort"
@click="$router.push('/wallet/assets/exchange')"
></i>
</div>
</div>
</div>
<!-- 平仓 -->
<!-- <div class="text-right">-->
<!-- {{ $t("contract.e7") }} {{ maxNum }}-->
<!-- </div>-->
<div v-if="tab == 2">
<div class="d-flex justify-content-between mb-3">
<div>{{ $t("contract.e4") }}</div>
<div>{{ multiplePositions }} {{ $t("contract.e2") }}</div>
</div>
<div class="d-flex justify-content-between mb-4">
<div>{{ $t("contract.e5") }}:</div>
<div>{{ shortPosition }} {{ $t("contract.e2") }}</div>
</div>
</div>
<!-- <div class="text-left">
{{ $t("contract.e7") }} {{ maxNum }}
</div> -->
<div class="exchange_button" v-if="tab == 1" style="display:flex;">
<div class="text-right">
{{ $t("contract.e7") }} {{ maxNum }}
</div>
<!-- <div class="text-left">
{{ $t("contract.e7") }} {{ maxNum }}
</div> -->
</div>
<div class="px-1 flex-fill" style="margin-right: 20%;">
<button
@click="ifOpenPosition(1)"
type="button"
class="sub w-24/24 btn-success btn btn-sm mb-3 wh"
style="margin-left: 40px;"
>
{{ $t("contract.d0") }}
<!-- <span class="fn-12"> {{ $t("contract.e6") }} </span> -->
</button>
<!-- <button
@click="ifOpenPosition(2)"
type="button"
class="sub w-24/24 btn-danger btn btn-sm mb-3">
{{ $t("contract.d2") }}
</button> -->
<!-- <div class="text-right">
{{ $t("contract.e7") }} {{ maxNum }}
</div> -->
</div>
<div class="" v-if="tab == 2">
<div class="px-2 flex-fill mb-4">
<button
@click="ifOpenPosition(1)"
type="button"
class="sub w-24/24 btn-success btn btn-sm"
>
{{ $t("contract.d3") }}
</button>
<div class="text-center">
{{ $t("contract.e9") }} {{ canMore }} {{ $t("contract.e2") }}
</div>
</div>
<div class="px-2 flex-fill">
<button
@click="ifOpenPosition(2)"
type="button"
class="sub w-24/24 btn-danger btn btn-sm"
>
{{ $t("contract.d1") }}
</button>
<div class="text-center">
{{ $t("contract.e9") }} {{ canEmpty }} {{ $t("contract.e2") }}
</div>
</div>
</div>
</div>
</div>
</div>
<div style="width: 50%;height: 430px;">
<div class="markets-pair-list exchange-store bg-plain">
<div class="nav nav-pills">
<!-- <div class="nav-item">
<a class="nav-link" :class="{ active: tab == 1 }" @click="tab = 1">{{
$t("contract.d5")
}}</a>
</div> -->
<!-- <div class="nav-item">
<a class="nav-link" :class="{ active: tab == 2 }" @click="tab = 2">{{
$t("contract.d6")
@ -43,7 +277,7 @@
</el-popover>
</div>
</div>
<div class="content-box px-3 ">
<div class="content-box px-3 " style="margin-top: 27px;">
<div v-if="type == 2" class="input-group my-4 input-group-sm">
<div class="input-group-prepend">
<span class="input-group-text">{{ $t("contract.d7") }}</span>
@ -59,15 +293,18 @@
<span class="input-group-text">{{ $t("contract.d8") }}</span>
</div>
<template v-if="form.type == 1">
<div class="input-group-append">
<span class="input-group-text">USDT</span>
</div>
<input
type="number"
v-model="form.entrust_price"
class="form-control"
placeholder=""
/>
<div class="input-group-append">
<!-- <div class="input-group-append">
<span class="input-group-text">USDT</span>
</div>
</div> -->
</template>
<template v-if="form.type == 2">
<input
@ -79,12 +316,12 @@
/>
</template>
</div>
<button
<!-- <button
@click="form.type == 1 ? (form.type = 2) : (form.type = 1)"
class="btn btn-sm btn-outline-primary ml-2 text-nowrap"
>
{{ form.type == 1 ? $t("contract.e0") : $t("contract.d9") }}
</button>
</button> -->
</div>
<div class="input-group mb-4 input-group-sm">
<div class="input-group-prepend">
@ -132,44 +369,52 @@
<!-- 平仓 -->
<div v-if="tab == 2">
<div class="d-flex justify-content-between">
<div>{{ $t("contract.e4") }}</div>
<div>rrrr{{ $t("contract.e4") }}</div>
<div>{{ multiplePositions }} {{ $t("contract.e2") }}</div>
</div>
<div class="d-flex justify-content-between mb-4">
<div>{{ $t("contract.e5") }}:</div>
<div>{{ shortPosition }} {{ $t("contract.e2") }}</div>
</div>
<div class="d-flex justify-content-between mb-4">
<div>{{ $t("contract.e5") }}:</div>
<div>{{ shortPosition }} {{ $t("contract.e2") }}</div>
</div>
<div class="exchange_button" v-if="tab == 1">
<div class="px-1 flex-fill mb-4">
<button
</div>
<div class="exchange_button" style="display: flex;" v-if="tab == 1">
<!-- <div class="px-1 flex-fill mb-4"> -->
<!-- <button
@click="ifOpenPosition(1)"
type="button"
class="sub w-24/24 btn-success btn btn-sm mb-3"
>
class="sub w-24/24 btn-success btn btn-sm mb-3" >
{{ $t("contract.d0") }}
<!-- <span class="fn-12"> {{ $t("contract.e6") }} </span> -->
</button>
<div class="text-left">
</button> -->
<!-- <div class="text-left">
{{ $t("contract.e7") }} {{ maxNum }}
</div> -->
<!-- </div> -->
<div class="text-right">
{{ $t("contract.e7") }} {{ maxNum }}
<!-- {{ $t("contract.e2") }} -->
</div>
</div>
<div class="px-1 flex-fill">
<div class="px-1 flex-fill" style="margin-right:20% ;">
<button
@click="ifOpenPosition(2)"
type="button"
class="sub w-24/24 btn-danger btn btn-sm mb-3"
class="sub w-24/24 btn-danger btn btn-sm mb-3 wh"
>
{{ $t("contract.d2") }}
<!-- <span class="fn-12"> {{ $t("contract.e8") }} </span> -->
</button>
<!-- <div class="text-center"> -->
<div class="text-right">
<!-- <div class="text-right">
{{ $t("contract.e7") }} {{ maxNum }}
<!-- {{ $t("contract.e2") }} -->
</div>
</div>
{{ $t("contract.e2") }}
</div> -->
</div>
<div class="" v-if="tab == 2">
<div class="px-2 flex-fill mb-4">
@ -199,11 +444,16 @@
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import Contract from "@/api/contract.js";
import date from "@/utils/class/date.js";
import math from "@/utils/class/math.js";
export default {
data() {
return {
@ -248,7 +498,8 @@ export default {
required: false
},
newPriceObj: {
default: () => {},
default: () => {
},
type: Object,
required: false
},
@ -334,8 +585,8 @@ export default {
// return math.omitTo(this.form.amount*this.unit_amount / this.form.lever_rate, 4);
// },
amount() {
console.info(this.form.lever_rate)
console.info(this.margin)
// console.info(this.form.lever_rate)
// console.info(this.margin)
if (!this.form.lever_rate || !this.margin) return 0;
let p = this.margin * this.form.lever_rate;
@ -390,7 +641,7 @@ export default {
//
sliderChange($ev) {
this.form.amount = Math.round((this.maxNum * $ev) / 100) || '';
console.info(this.form)
// console.info(this.form)
this.margin = this.form.amount / this.form.lever_rate || 0
},
//
@ -477,10 +728,16 @@ export default {
display: flex;
font-size: 16px !important;
}
.btn, .kaicang {
font-size: 0.9rem;
}
/* /deep/ .el-slider__stop{
background-color: ;
} */
.wh {
/* width:100%; */
margin: 24px 50px;
}
</style>

55
src/views/contract/handicap.vue

@ -1,6 +1,6 @@
<template>
<div class="markets-pair-list handicap bg-plain">
<!-- <div class="nav nav-pills">
<div class="markets-pair-list handicap bg-plain" style="min-height:100vh;width: 100%; border: #fff solid 1px;">
<div class="nav nav-pills">
<div class="nav-item">
<a class="nav-link" :class="{ active: tab == 1 }" @click="tab = 1">{{
$t("contract.f7")
@ -11,7 +11,7 @@
$t("contract.f8")
}}</a>
</div>
</div> -->
</div>
<div>
<!-- 盘口 -->
<div class="handicap-body px-3" v-if="tab == 1">
@ -33,18 +33,17 @@
</div>
</div>
<div class="label-group d-flex text-secondary fn-12 py-2">
<div class="w-7/24">
<div class="w-10/24">
{{ $t("contract.d8") }}
</div>
<div class="w-8/24">
<div class="w-7/24">
{{ $t("contract.e1") }}
</div>
<div class="w-7/24 text-right">
{{ $t("contract.g2") }}
<!-- ({{ $t("contract.e2") }}) -->
</div>
</div>
<div class="sell fn-12">
<div class="sell">
<template v-for="(item, idx) in sellListShow">
<div
class="item pointer"
@ -52,9 +51,9 @@
@click="$emit('selectprice', item.price)"
>
<div class="d-flex">
<div class="w-7/24 decreace">{{ item.price}}</div>
<div class="w-8/24">{{ omitTo(item.amount, 2) }}</div>
<div class="w-8/24 text-right">{{ item.total }}</div>
<div class="w-10/24 decreace">{{ item.price}}</div>
<div class="w-7/24">{{ omitTo(item.amount, 2) }}</div>
<div class="w-7/24 text-right">{{ item.total }}</div>
</div>
<div
class="pgs"
@ -76,7 +75,7 @@
<!-- <button class="btn btn-sm btn-outline-primary fn-12">更多</button> -->
</div>
</div>
<div class="buy fn-12">
<div class="buy">
<template v-for="(item, idx) in buyListShow">
<div
class="item pointer"
@ -84,9 +83,9 @@
@click="$emit('selectprice', item.price)"
>
<div class="d-flex">
<div class="w-7/24 increace">{{ item.price }}</div>
<div class="w-8/24">{{ omitTo(item.amount, 2) }}</div>
<div class="w-8/24 text-right">{{ item.total }}</div>
<div class="w-10/24 increace">{{ item.price }}</div>
<div class="w-7/24">{{ omitTo(item.amount, 2) }}</div>
<div class="w-7/24 text-right">{{ item.total }}</div>
</div>
<div
class="pgs"
@ -95,35 +94,31 @@
</div>
</template>
</div>
</div>
<!-- 实时成交 -->
<div class="real-time p-3" v-if="tab == 2">
<div class="d-flex text-secondary fn-12">
<div class="w-7/24">
<div class="w-10/24">
{{ $t("contract.b1") }}
</div>
<div class="w-8/24">{{ $t("contract.d8") }}(USDT)</div>
<div class="w-8/24 text-right">
<div class="w-7/24">{{ $t("contract.d8") }}(USDT)</div>
<div class="w-7/24 text-right">
{{ $t("contract.e1") }}({{ $t("contract.e2") }})
</div>
</div>
<div class="deal">
<div class="d-flex fn-12" v-for="(item, idx) in tradeList" :key="idx">
<div class="w-7/24">
<div class="w-10/24">
{{ parseTime(item.ts, false, "{h}:{i}:{s}") }}
</div>
<div class="w-8/24 increace">
<div class="w-7/24 increace">
{{ item.price }}
</div>
<div class="w-8/24 text-right">
<div class="w-7/24 text-right">
{{ omitTo(item.amount, 2) }}
</div>
</div>
</div>
</div>
<!-- -->
<div class="real-time p-3" v-if="tab == 2">
</div>
</div>
</div>
</template>
<script>
@ -176,9 +171,7 @@ export default {
let list = this.sellList.splice(0, 12);
let total = 0;
list.forEach(item => {
// item.total = total += item.amount;
item.total = total += Number(item.amount);
item.total = item.total.toFixed(3)
item.total = total += item.amount;
});
return list.reverse();
},
@ -186,9 +179,7 @@ export default {
let list = this.buyList.splice(0, 12);
let total = 0;
list.forEach(item => {
// item.total = total += item.amount;
item.total = total += Number(item.amount);
item.total = item.total.toFixed(3);
item.total = total += item.amount;
});
return list;
}

4
src/views/contract/hold-position.vue

@ -32,7 +32,7 @@
<th>{{ $t("contract.a5") }}{{ $t("contract.e2") }}</th> -->
<th>{{ $t("contract.g9") }}</th>
<th>{{ $t("contract.g3") }}</th>
<th>{{ $t("contract.a8") }}</th>
<!--<th>{{ $t("contract.a8") }}</th>-->
<th >{{ $t("contract.a6") }}</th>
<th>{{ $t("contract.h0") }}</th>
<th>{{ $t("contract.i7") }} /{{ $t("contract.i8") }}</th>
@ -50,7 +50,7 @@
<td>{{ item.freeze_position }}</td> -->
<td>{{ item.avg_price * 1 }}</td>
<td>{{ item.realtimePrice }}</td>
<td>{{ item.flatPrice }}</td>
<!--<td>{{ item.flatPrice }}</td>-->
<td :class="item.unRealProfit>0?'increace':item.unRealProfit<0?'decreace':''">{{ (parseFloat(item.unRealProfit)).toFixed(2) }}</td>
<td>{{ item.profitRate }}</td>
<td>{{ item.tpPrice || "--" }}/{{ item.slPrice || "--" }}</td>

160
src/views/contract/index.vue

@ -9,27 +9,23 @@
<!-- </div>-->
<div class="page-top d-flex pt-2">
<div class="kline-box flex-fill mr-2">
<div
class="coin-change d-flex align-items-center py-2 pl-4 heading justify-content-between"
>
<div class="coin-change d-flex align-items-center py-2 pl-4 heading justify-content-between" style="width:80%;float: right">
<div class="d-flex align-items-center">
<div class="coin d-flex align-items-center">
<el-popover
placement="bottom"
ref="popover"
width="400"
trigger="click"
>
trigger="click">
<div slot="reference">
{{ activeContract.pair_name }}
<el-button size="mini">
<!-- <el-button size="mini">
<i class="el-icon-arrow-down"></i>
</el-button>
</el-button> -->
</div>
<div
class="markets-pair-list"
style="max-height:300px;overflow:auto;"
>
style="max-height:300px;overflow:auto;">
<template v-for="parent in contractList">
<div class="px-3 text-primary" :key="parent.coin_name">
{{ parent.coin_name }}
@ -37,7 +33,7 @@
<table class="table" :key="parent.coin_name + 1">
<thead>
<tr class="text-secondary">
<th class="w-10/24">{{ $t("contract.h5") }}</th>
<th class="w-10/24">{{ $t("contract.h5") }}ooo</th>
<th class="w-7/24">{{ $t("contract.g3") }}</th>
<th class="w-7/24 text-right">
{{ $t("contract.h6") }}
@ -50,21 +46,18 @@
v-for="item in parent.marketInfoList"
:key="item.symbol"
:class="{ active: item.symbol == activeSymbol }"
@click="ispopover1(item.symbol)"
>
@click="ispopover1(item.symbol)">
<td class="w-10/24">
{{ item.symbol }}/{{ parent.coin_name }}
</td>
<td
class="w-7/24 "
:class="item.increase < 0 ? 'decreace' : 'increase'"
>
:class="item.increase < 0 ? 'decreace' : 'increase'">
{{ item.price }}
</td>
<td
class="w-7/24"
:class="item.increase < 0 ? 'decreace' : 'increase'"
>
:class="item.increase < 0 ? 'decreace' : 'increase'">
{{ item.increaseStr }}
</td>
</tr>
@ -116,15 +109,114 @@
</div>
</div>
<!-- <div><theme-change /></div> -->
</div>
<div style="width: 20%;float:left;display:block;">
<div
class="markets-pair-list"
style="max-height:92vh;overflow:auto;">
<template v-for="parent in contractList">
<div class="px-3 text-primary" :key="parent.coin_name">
<!--{{ parent.coin_name }}-->
</div>
<table class="table" :key="parent.coin_name + 1">
<thead>
<tr class="text-secondary">
<th class="w-10/24">{{ $t("contract.h5") }}</th>
<th class="w-7/24">{{ $t("contract.g3") }}</th>
<th class="w-7/24 text-right">
{{ $t("contract.h6") }}
</th>
</tr>
</thead>
<tbody>
<!-- @click="activeSymbol = item.symbol" -->
<tr
v-for="item in parent.marketInfoList"
:key="item.symbol"
:class="{ active: item.symbol == activeSymbol }"
@click="ispopover1(item.symbol)">
<td class="w-10/24">
{{ item.symbol }}/{{ parent.coin_name }}
</td>
<td
class="w-7/24 "
:class="item.increase < 0 ? 'decreace' : 'increase'">
{{ item.price }}
</td>
<td
class="w-7/24"
:class="item.increase < 0 ? 'decreace' : 'increase'">
{{ item.increaseStr }}
</td>
</tr>
</tbody>
</table>
</template>
</div>
<div class="ml-2" style="border:1px solid #ddd;">
<account class="bg-plain" :accountInfo="accountInfo"/>
</div>
</div>
<div style="display: flex;width: 80%; float: right;">
<div style="width: 90%;">
<kline
:activeCoin="{ pair_name: activeContract.pair_name }"
v-if="activeContract.pair_name"
:contract="true"
:wsUrl="wsUrl"
/>
<exchange-store
:holdPositionList="holdPositionList"
:symbol="activeSymbol"
:defaultPrice="defaultPrice"
:newPriceObj="newPriceObj"
:contractOpen="contractOpen"
@accountInfo="accountInfo = $event"
@position="holdPosition"
@getSymbolDetail="symbolDetail=$event"
/>
</div>
<div style="width: 25%;max-height:65vh;overflow:hidden;">
<handicap
@input="newPriceObj = $event"
@selectprice="defaultPrice = $event"
:symbol="activeSymbol"
:wsUrl="wsUrl"
:ws="ws"
class="mr-2,w1"
ref="handicap"/>
</div>
</div>
</div>
<!-- 盘口 -->
<!-- <handicap
@input="newPriceObj = $event"
@selectprice="defaultPrice = $event"
:symbol="activeSymbol"
:wsUrl="wsUrl"
:ws="ws"
class="mr-2"
ref="handicap"
/> -->
<!-- 交易 -->
<!-- <exchange-store
:holdPositionList="holdPositionList"
:symbol="activeSymbol"
:defaultPrice="defaultPrice"
:newPriceObj="newPriceObj"
:contractOpen="contractOpen"
@accountInfo="accountInfo = $event"
@position="holdPosition"
@getSymbolDetail="symbolDetail=$event"
/> -->
</div>
<!-- <div class="change"> -->
<!-- 盘口 -->
<!-- <div style="width: 30%;">
<handicap
@input="newPriceObj = $event"
@selectprice="defaultPrice = $event"
@ -134,8 +226,10 @@
class="mr-2"
ref="handicap"
/>
</div> -->
<!-- <div style="width: 30%;"> -->
<!-- 交易 -->
<exchange-store
<!-- <exchange-store
:holdPositionList="holdPositionList"
:symbol="activeSymbol"
:defaultPrice="defaultPrice"
@ -144,8 +238,11 @@
@accountInfo="accountInfo = $event"
@position="holdPosition"
@getSymbolDetail="symbolDetail=$event"
/>
</div>
/> -->
<!-- </div> -->
<!-- </div> -->
<page-bottom
@position="holdPosition"
@isall="
@ -207,6 +304,7 @@ import Contract from "../../api/contract";
import Socket from "@/api/server/Socket.js";
import Home from "@/api/home";
import bus from "@/components/bus.js";
export default {
components: {
kline,
@ -235,6 +333,10 @@ export default {
},
computed: {
activeContract(val) {
let yes_symbol = this.$route.query.symbol;
if(yes_symbol){
this.activeSymbol = yes_symbol;
}
let contractList = this.contractList
.map(item => item.marketInfoList)
.flat()
@ -242,6 +344,7 @@ export default {
if (val.price) {
delete contractList.price
}
// console.log(contractList)
return contractList;
},
isLogin() {
@ -287,6 +390,7 @@ export default {
ispopover1(item) {
this.activeSymbol = item;
this.$refs.popover.showPopper = false;
this.$router.push({name:'contract',query: {symbol:item}});
},
swapMarketList() {
let msg = "swapMarketList";
@ -298,7 +402,6 @@ export default {
let {data, sub, cmd} = res;
if (sub == msg) {
// console.log(data, '11--------------------')
if (data.symbol == 'BTC') (data.price).toFixed(1)
this.contractList = data;
} else if (cmd == "ping") {
@ -370,7 +473,8 @@ export default {
setTimeout(() => {
this.skroll();
}, 100);
}).catch((res) => {});
}).catch((res) => {
});
},
//
setactiveItem(index = 0) {
@ -383,4 +487,18 @@ export default {
.justify-content-between > > > .dark-app .theme-switch .theme-switch-button .left, .dark-app .theme-switch .theme-switch-button .right {
color: white !important
}
.change {
// height: 400px;
width: 100%;
background-color: #fff;
display: flex;
// padding: 20px 50px;
margin-top: 10px;
}
.w1 {
width: 30% !important;
height: 100vh !important;
}
</style>

3
src/views/contract/page-bottom.vue

@ -28,9 +28,6 @@
<transfer-record :symbol="symbol" v-if="tab == 5" />
</div>
</div>
<div class="ml-2">
<account class="bg-plain" :accountInfo="accountInfo"/>
</div>
</div>
</template>
<script>

5
src/views/exchange/book-trades.vue

@ -43,7 +43,7 @@
</td>
<td class="w-33 text-right" :class="changeRate.startsWith('+') ? 'increace' : 'decreace'">
<span>{{ $t("exchange.change") }}</span>
{{ changeRate }}
{{ exxxt }}
</td>
</tr>
<tr style="display:block;" v-else>
@ -137,6 +137,8 @@ export default {
'priceCny'
],
data() {
now_eex:[];
exxxt:[];
return this.$parent;
},
@ -159,6 +161,7 @@ export default {
let val = Math.division(
Math.subtr(this.newTrade.price, this.marketInfo.open),
this.marketInfo.open);
this.exxxt = this.marketInfo.increaseStr;
// +
let sign = val >= 0 ? '+' : '';

3
src/views/exchange/index.vue

@ -59,6 +59,7 @@ export default {
isLianjie:false,
// `btcusdt` `/`
symbol: this.$route.params.symbol || null,
// symbol:`btcusdt`,
marketId: null,
marketInfo: null, //
pair: {
@ -489,7 +490,7 @@ export default {
},
created() {
console.info(this.$route.params)
this.initWs()
if (this.symbol) this.getCurrencyExCny();
this.indexList()

171
src/views/exchange/make-deal.vue

@ -1,61 +1,53 @@
<template>
<div class="col-md-6">
<div class="px-4 py-2 heading">
<!-- <theme-change/> -->
<el-tooltip placement="bottom" effect="light">
<div slot="content" class="market">
<div class="coin p-md color-light fn-20">
<img :src="detail.coin_icon" width="20" height="20" alt="">
{{detail.full_name}}
<div class="coin-change d-flex align-items-center py-2 pl-4 heading justify-content-between" style="width:100%;float: left;">
<div class="d-flex align-items-center">
<div class="coin d-flex align-items-center">
<!--{{ sactiveContracttt.pair_name }}-->
{{ pair.to }}/{{ pair.from }}
</div>
<div class="list">
<div class="d-flex justify-between p-x-md p-y-xs">
<div>{{$t('nav.c3')}}</div>
<div class="color-light">
{{detail.total_issuance}}
<div
class="price px-3 border-right"
:class="{
decreace: sactiveContracttt.increase < 0,
increace: sactiveContracttt.increase >= 0
}"
>
<span class="current">{{ sactiveContracttt.price }}$</span>
&nbsp;
<span class="zf">{{ sactiveContracttt.increaseStr }}</span>
</div>
<!-- 币种价值数据 -->
<div class="d-flex fn-12">
<div class="item px-2">
<div class="title mb-1 text-secondary">
24h {{ $t("contract.h7") }}
</div>
<div class="d-flex justify-between p-x-md p-y-xs">
<div>{{$t('nav.c4')}}</div>
<div class="color-light">
{{detail.total_circulation}}
<div>
{{ sactiveContracttt.high }}
</div>
</div>
<div class="d-flex justify-between p-x-md p-y-xs">
<div>{{$t('nav.c5')}}</div>
<div class="color-light">
{{detail.crowdfunding_price}}
<div class="item px-2">
<div class="title mb-1 text-secondary">
24h {{ $t("contract.h8") }}
</div>
<div>
{{ sactiveContracttt.low }}
</div>
<div class="d-flex justify-between p-x-md p-y-xs">
<div>{{$t('nav.c6')}}</div>
<div class="color-light">
{{detail.publish_time}}
</div>
<div class="item px-2">
<div class="title mb-1 text-secondary">
24h {{ $t("contract.h9") }}
<!-- {{ $t("contract.e2") }} -->
(USDT)
</div>
<div class=" p-x-md p-y-xs">
<div>{{$t('nav.c7')}}</div>
<div class="color-light ov">
{{detail.white_paper_link}}
<div>
{{ sactiveContracttt.vol }}
</div>
</div>
<div class=" p-x-md p-y-xs">
<div>{{$t('nav.c8')}}</div>
<div class="color-light ov">
{{detail.official_website_link}}
</div>
</div>
</div>
<div class="p-md">
<div class="fn-20 color-light">
{{$t('nav.c9')}}
</div>
<div class="p-y-md edit-content" v-html="detail.coin_content">
</div>
</div>
</div>
<!-- <el-button><img src="../../assets/img/shuoming.png" width="20" height="20" alt=""></el-button> -->
</el-tooltip>
<!-- <div><theme-change /></div> -->
</div>
<!-- 生成K线图 -->
@ -65,12 +57,14 @@
<div class="market-trade ">
<ul class="nav nav-pills">
<li class="nav-item">
<a href :class="[`nav-link`, {active:!isCondition&&isMarket}]" @click.prevent="isCondition=false;isMarket=true;">
<a href :class="[`nav-link`, {active:!isCondition&&isMarket}]"
@click.prevent="isCondition=false;isMarket=true;">
{{ $t("common.market") }}
</a>
</li>
<li class="nav-item">
<a href :class="[`nav-link`, {active:!isCondition&&!isMarket}]" @click.prevent="isCondition=false;isMarket=false;">
<a href :class="[`nav-link`, {active:!isCondition&&!isMarket}]"
@click.prevent="isCondition=false;isMarket=false;">
{{ $t("common.limit") }}</a>
</li>
@ -90,13 +84,15 @@
<div class="market-trade-buy">
<!-- Trigger Price -->
<el-popover popper-class='popover-tips' placement="top-start" trigger="manual" v-model="visibles.buy.trigger">
<el-popover popper-class='popover-tips' placement="top-start" trigger="manual"
v-model="visibles.buy.trigger">
<span class="content">
<i class="el-icon-warning-outline"></i>
{{ msgList.buy[0] }}
</span>
<div class="input-group" v-if="isCondition" slot="reference">
<input type="number" v-model="buyorder.trigger_price" class="form-control" :placeholder="$t('exchange.trigger-price')">
<input type="number" v-model="buyorder.trigger_price" class="form-control"
:placeholder="$t('exchange.trigger-price')">
<div class="input-group-append">
<span class="input-group-text">{{ pair.from }}</span>
</div>
@ -106,18 +102,21 @@
<template v-if="isMarket">
<div class="input-group">
<!-- Market Price -->
<input type="text" class="form-control" disabled :placeholder="$t('exchange.at-best-price')">
<input type="text" class="form-control" disabled
:placeholder="$t('exchange.at-best-price')">
</div>
</template>
<template v-else>
<el-popover popper-class='popover-tips' placement="top-start" trigger="manual" v-model="visibles.buy.limitPrice">
<el-popover popper-class='popover-tips' placement="top-start" trigger="manual"
v-model="visibles.buy.limitPrice">
<span class="content">
<i class="el-icon-warning-outline"></i>
{{ msgList.buy[1] }}
</span>
<div class="input-group" slot="reference">
<!-- Entrust Price -->
<input type="number" v-model="buyorder.entrust_price" class="form-control" :placeholder="$t('exchange.enter-price')">
<input type="number" v-model="buyorder.entrust_price" class="form-control"
:placeholder="$t('exchange.enter-price')">
<div class="input-group-append">
<span class="input-group-text">{{ pair.from }}</span>
</div>
@ -127,13 +126,15 @@
<!-- Amount/Total -->
<template v-if="isMarket">
<el-popover popper-class='popover-tips' placement="top-start" trigger="manual" v-model="visibles.buy.marketTotal">
<el-popover popper-class='popover-tips' placement="top-start" trigger="manual"
v-model="visibles.buy.marketTotal">
<span class="content">
<i class="el-icon-warning-outline"></i>
{{ msgList.buy[3] }}
</span>
<div class="input-group" slot="reference">
<input type="number" v-model="buyTotal" class="form-control" min=0 :placeholder="$t('exchange.enter-total')">
<input type="number" v-model="buyTotal" class="form-control" min=0
:placeholder="$t('exchange.enter-total')">
<div class="input-group-append">
<span class="input-group-text">{{ pair.from }}</span>
</div>
@ -141,7 +142,8 @@
</el-popover>
</template>
<template v-else>
<el-popover popper-class='popover-tips' placement="top-start" trigger="manual" v-model="visibles.buy.limitAmount">
<el-popover popper-class='popover-tips' placement="top-start" trigger="manual"
v-model="visibles.buy.limitAmount">
<!-- 提示框的内容 -->
<span class="content">
<!-- 图标 -->
@ -150,7 +152,8 @@
{{ msgList.buy[2] }}
</span>
<div class="input-group" slot="reference">
<input type="number" v-model="buyorder.amount" class="form-control" min=0 :placeholder="$t('exchange.enter-amount')">
<input type="number" v-model="buyorder.amount" class="form-control" min=0
:placeholder="$t('exchange.enter-amount')">
<div class="input-group-append">
<span class="input-group-text">{{ pair.to }}</span>
</div>
@ -160,13 +163,16 @@
<!-- Percent -->
<ul class="market-trade-list">
<li v-for="(item,index) in percentage" :key="index" :class="{buyPercentActive:index == buyPercentIndex}" @click="renderBuyAmount(item.value, index)">
<li v-for="(item,index) in percentage" :key="index"
:class="{buyPercentActive:index == buyPercentIndex}"
@click="renderBuyAmount(item.value, index)">
<a href="javascript:void 0">{{ item.label }}</a>
</li>
</ul>
<!-- Total -->
<el-popover popper-class='popover-tips' placement="top-start" trigger="manual" v-model="visibles.buy.orderTotal">
<el-popover popper-class='popover-tips' placement="top-start" trigger="manual"
v-model="visibles.buy.orderTotal">
<span class="content">
<i class="el-icon-warning-outline"></i>
{{ msgList.buy[5] }}
@ -179,24 +185,27 @@
<!-- Available -->
<p>
{{ $t('exchange.amount') }}
<span> {{toBalance}} {{pair.to}}</span><br />
<!--{{ $t('exchange.amount') }}-->
<!--<span> {{ toBalance }} {{ pair.to }}</span><br/>-->
{{ $t('exchange.balance') }}
<span> {{ fromBalance }} {{ pair.from }}</span>
</p>
<button class="btn buy" @click="handleBuyOrder">{{ $t("common.buy") }} {{pair.to}}</button>
<button class="btn buy" @click="handleBuyOrder">{{ $t("common.buy") }} {{ pair.to }}
</button>
</div>
<!------------ Sell Order ----------->
<div class="market-trade-sell">
<el-popover popper-class='popover-tips' placement="top-start" trigger="manual" v-model="visibles.sell.trigger">
<el-popover popper-class='popover-tips' placement="top-start" trigger="manual"
v-model="visibles.sell.trigger">
<span class="content">
<i class="el-icon-warning-outline"></i>
{{ msgList.sell[0] }}
</span>
<!-- Trigger Price -->
<div class="input-group" v-if="isCondition" slot="reference">
<input type="number" v-model="sellorder.trigger_price" class="form-control" min=0 :placeholder="$t('exchange.trigger-price')">
<input type="number" v-model="sellorder.trigger_price" class="form-control" min=0
:placeholder="$t('exchange.trigger-price')">
<div class="input-group-append">
<span class="input-group-text">{{ pair.from }}</span>
</div>
@ -206,18 +215,21 @@
<template v-if="isMarket">
<div class="input-group">
<!-- Market Price -->
<input type="text" class="form-control" disabled :placeholder="$t('exchange.at-best-price')">
<input type="text" class="form-control" disabled
:placeholder="$t('exchange.at-best-price')">
</div>
</template>
<template v-else>
<el-popover popper-class='popover-tips' placement="top-start" trigger="manual" v-model="visibles.sell.limitPrice">
<el-popover popper-class='popover-tips' placement="top-start" trigger="manual"
v-model="visibles.sell.limitPrice">
<span class="content">
<i class="el-icon-warning-outline"></i>
{{ msgList.sell[1] }}
</span>
<div class="input-group" slot="reference">
<!-- Entrust Price -->
<input type="number" v-model="sellorder.entrust_price" class="form-control" min=0 :placeholder="$t('exchange.enter-price')">
<input type="number" v-model="sellorder.entrust_price" class="form-control"
min=0 :placeholder="$t('exchange.enter-price')">
<div class="input-group-append">
<span class="input-group-text">{{ pair.from }}</span>
</div>
@ -226,13 +238,15 @@
</template>
<!-- Amount -->
<el-popover popper-class='popover-tips' placement="top-start" trigger="manual" v-model="visibles.sell.limitAmount">
<el-popover popper-class='popover-tips' placement="top-start" trigger="manual"
v-model="visibles.sell.limitAmount">
<span class="content">
<i class="el-icon-warning-outline"></i>
{{ msgList.sell[2] }}
</span>
<div class="input-group" slot="reference">
<input type="number" v-model="sellorder.amount" class="form-control" min=0 :placeholder="$t('exchange.enter-amount')">
<input type="number" v-model="sellorder.amount" class="form-control" min=0
:placeholder="$t('exchange.enter-amount')">
<div class="input-group-append">
<span class="input-group-text">{{ pair.to }}</span>
</div>
@ -240,13 +254,16 @@
</el-popover>
<ul class="market-trade-list">
<li v-for="(item,index) in percentage" :key="index" :class="{sellPercentActive:index == sellPercentIndex}" @click="renderSellAmount(item.value, index)">
<li v-for="(item,index) in percentage" :key="index"
:class="{sellPercentActive:index == sellPercentIndex}"
@click="renderSellAmount(item.value, index)">
<a href="javascript:void 0">{{ item.label }}</a>
</li>
</ul>
<!-- Total -->
<el-popover popper-class='popover-tips' placement="top-start" trigger="manual" v-model="visibles.sell.orderTotal">
<el-popover popper-class='popover-tips' placement="top-start" trigger="manual"
v-model="visibles.sell.orderTotal">
<span class="content">
<i class="el-icon-warning-outline"></i>
{{ msgList.sell[5] }}
@ -259,12 +276,14 @@
</el-popover>
<p>
{{$t('exchange.amount')}}
<span> {{toBalance}} {{pair.to}} </span><br />
{{ $t('exchange.balance') }}
<span> {{fromBalance}} {{pair.from}}</span>
<!--{{ $t('exchange.amount') }}-->
<span> {{ toBalance }} {{ pair.to }} </span><br/>
<!--{{ $t('exchange.balance') }}-->
<!--<span> {{ fromBalance }} {{ pair.from }}</span>-->
</p>
<button class="btn sell" @click="handleSellOrder">{{ $t("common.sell") }} {{pair.to}}</button>
<button class="btn sell" @click="handleSellOrder">{{ $t("common.sell") }} {{ pair.to }}
</button>
</div>
</div>
</div>
@ -276,6 +295,7 @@
<script>
import Exchange from "@/api/exchange";
import Market from "@/api/market";
export default {
props: ["isLogin", "socket", "symbol", "pair", "buyorder", "sellorder", "fromBalance", "toBalance", "newTrade", "minQty", "minTotal", "priceDecimals", "qtyDecimals"],
@ -309,6 +329,7 @@ export default {
orderTotal: false,
},
},
sactiveContracttt: [],
msgList: {
"buy": Array(6).fill(''), // 5
"sell": Array(6).fill('')
@ -398,7 +419,7 @@ export default {
//
newTrade(newVal, oldVal) {
// if (!this.isMarket ) {
this.sactiveContracttt = this.$parent.marketInfo;
// trade
if (!oldVal && newVal) { //
// orderprice
@ -725,6 +746,7 @@ export default {
border: none;
border-color: transparent;
}
.market {
width: 300px;
height: 500px;
@ -734,6 +756,7 @@ export default {
padding: 10px;
display: -webkit-box;
color: black;
.ov {
width: 100%;
table-layout: fixed;
@ -741,9 +764,11 @@ export default {
overflow: hidden;
}
}
.p-y-xs {
padding: 5px 0;
}
.el-button {
padding: 0 !important;
background: transparent !important;

874
src/views/exchange/make-deal的_cpoy.vue

@ -0,0 +1,874 @@
<template>
<div class="col-md-6">
<div class="px-4 py-2 heading">
<!--<div class="coin-change d-flex align-items-center py-2 pl-4 heading justify-content-between" style="width:100%;float: right">-->
<!-- <div class="d-flex align-items-center">-->
<!-- <div class="coin d-flex align-items-center">-->
<!-- <el-popover-->
<!-- placement="bottom"-->
<!-- ref="popover"-->
<!-- width="400"-->
<!-- trigger="click">-->
<!-- <div slot="reference">-->
<!-- {{ activeContract.pair_name }}11111111-->
<!-- &lt;!&ndash; <el-button size="mini">-->
<!-- <i class="el-icon-arrow-down"></i>-->
<!-- </el-button> &ndash;&gt;-->
<!-- </div>-->
<!-- </el-popover>-->
<!-- </div>-->
<!-- <div-->
<!-- class="price px-3 border-right"-->
<!-- :class="{-->
<!-- decreace: activeContract.increase < 0,-->
<!-- increace: activeContract.increase >= 0-->
<!-- }"-->
<!-- >-->
<!-- <span class="current">{{ activeContract.price }}$</span>-->
<!-- &nbsp;-->
<!-- <span class="zf">{{ activeContract.increaseStr }}</span>-->
<!-- </div>-->
<!-- &lt;!&ndash; 币种价值数据 &ndash;&gt;-->
<!-- <div class="d-flex fn-12">-->
<!-- <div class="item px-2">-->
<!-- <div class="title mb-1 text-secondary">-->
<!-- 24h {{ $t("contract.h7") }}-->
<!-- </div>-->
<!-- <div>-->
<!-- {{ activeContract.high }}-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="item px-2">-->
<!-- <div class="title mb-1 text-secondary">-->
<!-- 24h {{ $t("contract.h8") }}-->
<!-- </div>-->
<!-- <div>-->
<!-- {{ activeContract.low }}-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="item px-2">-->
<!-- <div class="title mb-1 text-secondary">-->
<!-- 24h {{ $t("contract.h9") }}-->
<!-- &lt;!&ndash; {{ $t("contract.e2") }} &ndash;&gt;-->
<!-- (USDT)-->
<!-- </div>-->
<!-- <div>-->
<!-- {{ activeContract.vol }}-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div><theme-change /></div> -->
<!--</div>-->
<!-- <theme-change/> -->
<el-tooltip placement="bottom" effect="light">
<div slot="content" class="market">
<div class="coin p-md color-light fn-20">
<img :src="detail.coin_icon" width="20" height="20" alt="">
{{detail.full_name}}
</div>
<div class="list">
<div class="d-flex justify-between p-x-md p-y-xs">
<div>{{$t('nav.c3')}}</div>
<div class="color-light">
{{detail.total_issuance}}
</div>
</div>
<div class="d-flex justify-between p-x-md p-y-xs">
<div>{{$t('nav.c4')}}</div>
<div class="color-light">
{{detail.total_circulation}}
</div>
</div>
<div class="d-flex justify-between p-x-md p-y-xs">
<div>{{$t('nav.c5')}}</div>
<div class="color-light">
{{detail.crowdfunding_price}}
</div>
</div>
<div class="d-flex justify-between p-x-md p-y-xs">
<div>{{$t('nav.c6')}}</div>
<div class="color-light">
{{detail.publish_time}}
</div>
</div>
<div class=" p-x-md p-y-xs">
<div>{{$t('nav.c7')}}</div>
<div class="color-light ov">
{{detail.white_paper_link}}
</div>
</div>
<div class=" p-x-md p-y-xs">
<div>{{$t('nav.c8')}}</div>
<div class="color-light ov">
{{detail.official_website_link}}
</div>
</div>
</div>
<div class="p-md">
<div class="fn-20 color-light">
{{$t('nav.c9')}}
</div>
<div class="p-y-md edit-content" v-html="detail.coin_content">
</div>
</div>
</div>
<!-- <el-button><img src="../../assets/img/shuoming.png" width="20" height="20" alt=""></el-button> -->
</el-tooltip>
</div>
<!-- 生成K线图 -->
<k-line :symbol="symbol" :socket="socket" :priceDecimals="priceDecimals"></k-line>
<!-- 交易处理 -->
<div class="market-trade ">
<ul class="nav nav-pills">
<li class="nav-item">
<a href :class="[`nav-link`, {active:!isCondition&&isMarket}]" @click.prevent="isCondition=false;isMarket=true;">
{{ $t("common.market") }}
</a>
</li>
<li class="nav-item">
<a href :class="[`nav-link`, {active:!isCondition&&!isMarket}]" @click.prevent="isCondition=false;isMarket=false;">
{{ $t("common.limit") }}</a>
</li>
<!-- <li class="nav-item">
<a href :class="[`nav-link`, {active:isCondition&&!isMarket}]" @click.prevent="isCondition=true;isMarket=false;">
{{ $t("common.stop-limit") }}</a>
</li>
<li class="nav-item">
<a href :class="[`nav-link`, {active:isCondition&&isMarket}]" @click.prevent="isCondition=true;isMarket=true;">
{{ $t("common.stop-market") }}</a>
</li> -->
</ul>
<div class="tab-content">
<div class="tab-pane fade show active">
<div class="d-flex justify-content-between">
<!------------- Buy Order -------------->
<div class="market-trade-buy">
<!-- Trigger Price -->
<el-popover popper-class='popover-tips' placement="top-start" trigger="manual" v-model="visibles.buy.trigger">
<span class="content">
<i class="el-icon-warning-outline"></i>
{{ msgList.buy[0] }}
</span>
<div class="input-group" v-if="isCondition" slot="reference">
<input type="number" v-model="buyorder.trigger_price" class="form-control" :placeholder="$t('exchange.trigger-price')">
<div class="input-group-append">
<span class="input-group-text">{{pair.from}}</span>
</div>
</div>
</el-popover>
<template v-if="isMarket">
<div class="input-group">
<!-- Market Price -->
<input type="text" class="form-control" disabled :placeholder="$t('exchange.at-best-price')">
</div>
</template>
<template v-else>
<el-popover popper-class='popover-tips' placement="top-start" trigger="manual" v-model="visibles.buy.limitPrice">
<span class="content">
<i class="el-icon-warning-outline"></i>
{{ msgList.buy[1] }}
</span>
<div class="input-group" slot="reference">
<!-- Entrust Price -->
<input type="number" v-model="buyorder.entrust_price" class="form-control" :placeholder="$t('exchange.enter-price')">
<div class="input-group-append">
<span class="input-group-text">{{pair.from}}</span>
</div>
</div>
</el-popover>
</template>
<!-- Amount/Total -->
<template v-if="isMarket">
<el-popover popper-class='popover-tips' placement="top-start" trigger="manual" v-model="visibles.buy.marketTotal">
<span class="content">
<i class="el-icon-warning-outline"></i>
{{ msgList.buy[3] }}
</span>
<div class="input-group" slot="reference">
<input type="number" v-model="buyTotal" class="form-control" min=0 :placeholder="$t('exchange.enter-total')">
<div class="input-group-append">
<span class="input-group-text">{{pair.from}}</span>
</div>
</div>
</el-popover>
</template>
<template v-else>
<el-popover popper-class='popover-tips' placement="top-start" trigger="manual" v-model="visibles.buy.limitAmount">
<!-- 提示框的内容 -->
<span class="content">
<!-- 图标 -->
<i class="el-icon-warning-outline"></i>
<!-- 提示 -->
{{ msgList.buy[2] }}
</span>
<div class="input-group" slot="reference">
<input type="number" v-model="buyorder.amount" class="form-control" min=0 :placeholder="$t('exchange.enter-amount')">
<div class="input-group-append">
<span class="input-group-text">{{pair.to}}</span>
</div>
</div>
</el-popover>
</template>
<!-- Percent -->
<ul class="market-trade-list">
<li v-for="(item,index) in percentage" :key="index" :class="{buyPercentActive:index == buyPercentIndex}" @click="renderBuyAmount(item.value, index)">
<a href="javascript:void 0">{{ item.label }}</a>
</li>
</ul>
<!-- Total -->
<el-popover popper-class='popover-tips' placement="top-start" trigger="manual" v-model="visibles.buy.orderTotal">
<span class="content">
<i class="el-icon-warning-outline"></i>
{{ msgList.buy[5] }}
</span>
<p slot="reference">
{{$t('exchange.order-total')}}
<span> <b>{{buyTotal}}</b> {{pair.from}} </span>
</p>
</el-popover>
<!-- Available -->
<p>
{{ $t('exchange.amount') }}
<span> {{toBalance}} {{pair.to}}</span><br />
{{ $t('exchange.balance') }}
<span> {{fromBalance}} {{pair.from}}</span>
</p>
<button class="btn buy" @click="handleBuyOrder">{{ $t("common.buy") }} {{pair.to}}</button>
</div>
<!------------ Sell Order ----------->
<div class="market-trade-sell">
<el-popover popper-class='popover-tips' placement="top-start" trigger="manual" v-model="visibles.sell.trigger">
<span class="content">
<i class="el-icon-warning-outline"></i>
{{ msgList.sell[0] }}
</span>
<!-- Trigger Price -->
<div class="input-group" v-if="isCondition" slot="reference">
<input type="number" v-model="sellorder.trigger_price" class="form-control" min=0 :placeholder="$t('exchange.trigger-price')">
<div class="input-group-append">
<span class="input-group-text">{{pair.from}}</span>
</div>
</div>
</el-popover>
<template v-if="isMarket">
<div class="input-group">
<!-- Market Price -->
<input type="text" class="form-control" disabled :placeholder="$t('exchange.at-best-price')">
</div>
</template>
<template v-else>
<el-popover popper-class='popover-tips' placement="top-start" trigger="manual" v-model="visibles.sell.limitPrice">
<span class="content">
<i class="el-icon-warning-outline"></i>
{{ msgList.sell[1] }}
</span>
<div class="input-group" slot="reference">
<!-- Entrust Price -->
<input type="number" v-model="sellorder.entrust_price" class="form-control" min=0 :placeholder="$t('exchange.enter-price')">
<div class="input-group-append">
<span class="input-group-text">{{pair.from}}</span>
</div>
</div>
</el-popover>
</template>
<!-- Amount -->
<el-popover popper-class='popover-tips' placement="top-start" trigger="manual" v-model="visibles.sell.limitAmount">
<span class="content">
<i class="el-icon-warning-outline"></i>
{{ msgList.sell[2] }}
</span>
<div class="input-group" slot="reference">
<input type="number" v-model="sellorder.amount" class="form-control" min=0 :placeholder="$t('exchange.enter-amount')">
<div class="input-group-append">
<span class="input-group-text">{{pair.to}}</span>
</div>
</div>
</el-popover>
<ul class="market-trade-list">
<li v-for="(item,index) in percentage" :key="index" :class="{sellPercentActive:index == sellPercentIndex}" @click="renderSellAmount(item.value, index)">
<a href="javascript:void 0">{{ item.label }}</a>
</li>
</ul>
<!-- Total -->
<el-popover popper-class='popover-tips' placement="top-start" trigger="manual" v-model="visibles.sell.orderTotal">
<span class="content">
<i class="el-icon-warning-outline"></i>
{{ msgList.sell[5] }}
</span>
<p slot="reference">
{{ $t('exchange.order-total') }}
<span>
<b>{{sellTotal}}</b> {{pair.from}} </span>
</p>
</el-popover>
<p>
{{$t('exchange.amount')}}
<span> {{toBalance}} {{pair.to}} </span><br />
{{ $t('exchange.balance') }}
<span> {{fromBalance}} {{pair.from}}</span>
</p>
<button class="btn sell" @click="handleSellOrder">{{ $t("common.sell") }} {{pair.to}}</button>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import Exchange from "@/api/exchange";
import Market from "@/api/market";
import Contract from "@/api/contract";
export default {
props: ["isLogin", "socket", "symbol", "pair", "buyorder", "sellorder", "fromBalance", "toBalance", "newTrade", "minQty", "minTotal", "priceDecimals", "qtyDecimals"],
data() {
return {
contractList: [],
detail:[],
isMarket: true,
isCondition: false,
userBanlance: null,
cacheTotal: 0, //
cachePrice: null, //
activeContract:[],
//
visibles: {
"buy": {
limitPrice: false, //
limitAmount: false, //
marketTotal: false, //
marketAmount: false, //
trigger: false, //
orderTotal: false, //
},
"sell": {
limitPrice: false,
limitAmount: false,
marketTotal: false,
marketAmount: false,
trigger: false,
orderTotal: false,
},
},
msgList: {
"buy": Array(6).fill(''), // 5
"sell": Array(6).fill('')
},
//
percentage: [{
label: "25%",
value: 0.25
},
{
label: "50%",
value: 0.5
},
{
label: "75%",
value: 0.75
},
{
label: "100%",
value: 1
},
],
//
buyPercentIndex: null,
sellPercentIndex: null,
}
},
computed: {
_activeContract(val) {
Market.getMarketList().then(data => {
let contractList = data[0]
.map(item => item.marketInfoList)
.flat()
.find(item => item.symbol == this.activeSymbol) || {}
}).catch(err => {});
// console.log("market detail")
// console.log(val)
// let contractList = this.contractList
// .map(item => item.marketInfoList)
// .flat()
// .find(item => item.symbol == this.activeSymbol) || {}
// if (val.price) {
// delete contractList.price
// }
// console.log(contractList)
return contractList;
},
// type
type() {
if (!this.isCondition) {
return this.isMarket ? 2 : 1;
} else {
return this.isMarket ? 4 : 3;
}
},
theme() {
return localStorage.theme ? localStorage.theme : "light";
},
buyTotal: {
get() {
if (!this.isMarket) {
return Math.multiple(this.buyorder.entrust_price, this.buyorder.amount);
} else {
return this.cacheTotal;
}
},
set(val) {
//
if (!this.isMarket) {
this.buyorder.amount = Math.division(val, this.buyorder.entrust_price);
} else { //
this.cacheTotal = val;
}
}
},
sellTotal: {
get() {
return Math.multiple(this.sellorder.entrust_price, this.sellorder.amount);
}
},
//
lang() {
let browser_Lang = navigator.language.includes('zh') ? 'zh' : 'en';
return localStorage.lang || browser_Lang;
},
},
watch: {
custom(newVal) {
console.log(newVal)
},
type() {
//
// percentage
this.reset();
},
//
newTrade(newVal, oldVal) {
// if (!this.isMarket ) {
// trade
if (!oldVal && newVal) { //
// orderprice
this.cachePrice = newVal.price;
this.reset();
}
//
if (oldVal && !newVal) { //
this.cachePrice = null;
this.reset();
}
// }
},
symbol(){
this.getCoinInfo()
}
},
methods: {
//
getMarketList() {
Contract.getMarketList().then(res => {
this.contractList = res[0];
//console.log("%c%s","color:green","market res")
let tmpList = res[0].marketInfoList;
for(i=0;i<tmpList.length;i++){
let tcurCoin = tmpList[i]
if(tcurCoin.symbol.toLowerCase()+"usdt" === this.symbol){
this.activeContract = tcurCoin
}
}
//
this.activeContract = filterList
//
let firstParent = res[0];
if (firstParent) {
let first = firstParent.marketInfoList[0];
if (first) this.activeSymbol = first.symbol;
}
});
},
getCoinInfo(){
// console.log(this.symbol.indexOf('usdt')!=-1)
if(this.symbol.indexOf('usdt')!=-1){
var market=this.symbol.substring(0,this.symbol.length-4);
}else{
var market=this.symbol.substring(0,this.symbol.length-3);
}
console.log("%c%s","#ccff00","currnet market")
console.log(market)
let data = {
coin_name:market,
lang:this.lang
}
//
let tmpList = this.contractList.marketInfoList;
for(i=0;i<tmpList.length;i++){
let tcurCoin = tmpList[i]
if(tcurCoin.symbol.toLowerCase()+"usdt" === this.symbol){
this.activeContract = tcurCoin
}
}
Market.getCoinInfo(data).then(res => {
this.detail = res
}).catch(err => {
});
},
renderBuyAmount(val, index) {
console.info(val)
console.info(this.buyorder)
if (!this.buyorder.entrust_price) {
this.visibles.buy.limitPrice = true;
this.msgList.buy[1] = this.$t('nav.set');
this.clearAll();
return;
}
this.buyPercentIndex = index;
this.buyTotal = Math.multiple(this.fromBalance, val);
},
renderSellAmount(val, index) {
if (!this.sellorder.entrust_price) {
this.visibles.sell.limitPrice = true;
this.msgList.sell[1] = this.$t('nav.set');
this.clearAll();
return;
}
this.sellPercentIndex = index;
this.sellorder.amount = Math.multiple(this.toBalance, val);
},
handleBuyOrder() {
//
if (!this.chkValidate(this.buyorder, this.buyTotal, "buy")) return;
const baseArgs = {
symbol: this.pair.to.concat('/', this.pair.from),
type: this.type,
};
//
// 1
// 2
// 3
// 4
Exchange.storeEntrust(Object.assign(this.buyorder, {
total: this.buyTotal,
}, baseArgs)).then(data => {
//
this.$emit('update');
//
this.reset();
}).catch(err => {
});
},
handleSellOrder() {
//
if (!this.chkValidate(this.sellorder, this.sellTotal, "sell")) return;
// console.info(this.sellTotal)
const baseArgs = {
symbol: this.pair.to.concat('/', this.pair.from),
type: this.type,
};
Exchange.storeEntrust(Object.assign(this.sellorder, {
total: this.sellTotal
}, baseArgs)).then(data => {
//
this.$emit('update');
//
this.reset();
}).catch(err => {
});
},
reset() {
// newTrade 0
//
let price = this.cachePrice || 0;
// console.info(price)
// console.info(this.priceDecimals)
this.buyorder.entrust_price = Math.omitTo(price, this.priceDecimals);
this.buyorder.trigger_price = Math.omitTo(price, this.priceDecimals);
this.sellorder.entrust_price = Math.omitTo(price, this.priceDecimals);
// console.info(this.sellorder.entrust_price)
this.sellorder.trigger_price = Math.omitTo(price, this.priceDecimals);
//
this.buyorder.amount = 0;
this.sellorder.amount = 0;
// totalset
// this.buyTotal = 0;
// this.cacheTotal = 0;
//
this.buyPercentIndex = -1;
this.sellPercentIndex = -1;
},
clearAll() {
// 5s
setTimeout(function () {
Object.keys(this.visibles.buy).forEach(key => this.visibles.buy[key] = false);
Object.keys(this.visibles.sell).forEach(key => this.visibles.sell[key] = false);
}.bind(this), 5000);
},
empty(val) {
let ret;
switch (typeof val) {
case "number":
ret = val == 0;
break;
case "string":
ret = val == "0" || /^\s?$/.test(val);
break;
case "boolean":
ret = val;
break;
default:
ret = Boolean(val);
break;
}
return ret;
},
chkValidate(order, total, orderType) {
//
//
if (!this.isLogin) {
this.$confirm(this.$t('nav.login'), {
confirmButtonText:this.$t('common.confirmBtn'),
cancelButtonText: this.$t('common.cancelBtn'),
type: 'warning'
}).then(() => {
this.$router.push(`/sign-in`);
}).catch();
return;
}
let flag = true;
switch (this.type) {
case 1: // limit
if (this.empty(order.entrust_price)) {
flag = false;
this.visibles[orderType].limitPrice = true;
this.msgList[orderType][1] = this.$t('nav.a1');
} else if (this.empty(order.amount)) {
flag = false;
this.visibles[orderType].limitAmount = true;
this.msgList[orderType][2] = this.$t('nav.a2');
} else {
if (order.amount < this.minQty) {
flag = false;
this.visibles[orderType].limitAmount = true;
this.msgList[orderType][2] = this.$t('nav.a3')+`${this.minQty}`;
}
if (total < this.minTotal) {
flag = false;
this.visibles[orderType].orderTotal = true;
this.msgList[orderType][5] = this.$t('exchange.total')+`${this.minTotal}`;
}
}
break;
case 2: // market
if (order.direction == "buy") { //
if (this.empty(total)) {
flag = false;
this.visibles[orderType].marketTotal = true;
this.msgList[orderType][3] = this.$t('nav.a4');
} else if (this.total < this.minTotal) {
flag = false;
this.visibles.marketTotal = true;
this.msgList[3] = this.$t('nav.a5')+` ${this.minTotal}`;
}
}
if (order.direction == "sell") { //
if (this.empty(order.amount)) {
flag = false;
this.visibles[orderType].marketAmount = true;
this.msgList[orderType][4] = this.$t('nav.a6');
} else if (order.amount < this.minQty) {
flag = false;
this.visibles[orderType].marketAmount = true;
this.msgList[orderType][4] = this.$t('nav.a7')+` ${this.minQty}`;
}
}
break;
case 3: // stop-limit
if (this.empty(order.trigger_price)) {
flag = false;
this.visibles[orderType].trigger = true;
this.msgList[orderType][0] = this.$t('nav.a8')
} else if (this.empty(order.entrust_price)) {
flag = false;
this.visibles[orderType].limitPrice = true;
this.msgList[orderType][1] = this.$t('nav.a9')
} else if (this.empty(order.amount)) {
flag = false;
this.visibles[orderType].limitAmount = true;
this.msgList[orderType][2] = this.$t('nav.b1')
}
break;
case 4: // stop-market
if (this.empty(order.trigger_price)) {
flag = false;
this.visibles[orderType].trigger = true;
this.msgList[orderType][0] = this.$t('nav.b2')
} else {
if (order.direction == "buy") {
if (this.empty(total)) {
flag = false;
this.visibles[orderType].marketTotal = true;
this.msgList[orderType][3] = this.$t('nav.b3')
} else if (total < this.minTotal) {
flag = false;
this.visibles[orderType].marketTotal = true;
this.msgList[orderType][3] = this.$t('nav.b5')+` ${this.minTotal}`
}
}
if (order.direction == "sell") {
if (this.empty(order.amount)) {
flag = false;
this.visibles[orderType].marketAmount = true;
this.msgList[orderType][4] = this.$t('nav.b6')
} else if (order.amount < this.minQty) {
flag = false;
this.visibles[orderType].marketAmount = true;
this.msgList[orderType][4] =this.$t('nav.b7')+ ` ${this.minQty}`
}
}
}
break;
}
//
this.clearAll();
//
return flag;
},
},
created() {
this.getMarketList();
this.getCoinInfo()
this.reset();
},
}
</script>
<style lang="scss" scoped>
.buyPercentActive {
a:link {
font-weight: bold;
background: #26a69a;
color: #fff;
}
}
.sellPercentActive {
a:link {
font-weight: bold;
background: #ef5350;
color: #fff;
}
}
.input-group-text {
width: 68px;
@include flexible(row, center, center);
}
.market-trade {
border: none;
border-color: transparent;
}
.market{
width: 300px;
height: 500px;
overflow: scroll;
display: flex;
flex-wrap: wrap;
padding: 10px;
display: -webkit-box;
color: black;
.ov{
width: 100%;
table-layout:fixed;
word-break:break-all;
overflow:hidden;
}
}
.p-y-xs{
padding: 5px 0;
}
.el-button{
padding: 0!important;
background: transparent!important;
}
</style>

2
src/views/exchange/symbols.vue

@ -246,6 +246,6 @@ export default {
width: 32% !important;
}
.active{
color: #326AEB!important;
color: #f0a70a!important;
}
</style>

732
src/views/home/index.vue

File diff suppressed because it is too large

34
src/views/notice/detail.vue

@ -12,24 +12,24 @@
<div class="text-muted">{{article.created_at}}</div>
</div>
<div class="edit-content py-4 text-light">
<div v-html="article.body"></div>
</div>
<div class="row mt-3">
<div class="col-12">
<div class="title h3 my-4">{{$t('college.recommendedCourse')}}</div>
<div class="row justify-content-between">
<div class="item col-lg-3 col-md-6 mb-4 col-xs-12" v-for="(item,index) in recommend" :key="index">
<router-link :to="`/college/detail/${item.category_id}/${item.id}`">
<div class="banner">
<!-- <img src="http://iph.href.lu/260x150" alt /> -->
<img :src="item.full_cover" alt />
</div>
<div class="txt">{{item.title}}</div>
</router-link>
</div>
</div>
</div>
<div v-html="article.body" style="color:#000000;"></div>
</div>
<!-- <div class="row mt-3">-->
<!-- <div class="col-12">-->
<!-- <div class="title h3 my-4">{{$t('college.recommendedCourse')}}</div>-->
<!-- <div class="row justify-content-between">-->
<!-- <div class="item col-lg-3 col-md-6 mb-4 col-xs-12" v-for="(item,index) in recommend" :key="index">-->
<!-- <router-link :to="`/college/detail/${item.category_id}/${item.id}`">-->
<!-- <div class="banner">-->
<!-- &lt;!&ndash; <img src="http://iph.href.lu/260x150" alt /> &ndash;&gt;-->
<!-- <img :src="item.full_cover" alt />-->
<!-- </div>-->
<!-- <div class="txt">{{item.title}}</div>-->
<!-- </router-link>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
</div>
</div>
</div>

4
src/views/notice/index.vue

@ -52,9 +52,9 @@ export default {
<style lang="scss" scoped>
.list{
.item{
color: #758696;
color: #000000;
&:hover{
color: white;
color: #0c1daa;
}
}
}

17
src/views/option/kline.vue

@ -11,6 +11,7 @@ import Socket from "@/api/server/Socket.js";
import tvStyle from "@/assets/js/tvStyle.js";
import bus from "@/components/bus.js";
import {mapState} from "vuex";
let exchangeAjax = {
getKline: Option.getKline,
getSymbol(name) {
@ -97,6 +98,10 @@ export default {
return local;
},
symbol() {
let yes_symbol = this.$route.query.symbol;
if(yes_symbol){
return yes_symbol+"/USDT";
}
return this.activeCoin.pair_name;
},
...mapState({
@ -118,7 +123,7 @@ data() {
onLoadedCallback: undefined,
onRealtimeCallback: undefined,
// timer: "15",
timer: "1D",
timer: "1",
sub: "",
isCreateSocket: false,
page: {},
@ -129,7 +134,8 @@ methods: {
reconnect() {
if (this.isCreateSocket) {
return;
};
}
;
let msgObj = {
cmd: "sub",
msg: this.sub,
@ -342,7 +348,7 @@ methods: {
container_id: "tradingview_1355aw2",
disabled_features: [
"header_symbol_search",
"widget_logo",
// "widget_logo",
"header_compare",
"volume_force_overlay",
'timeframes_toolbar',
@ -356,7 +362,7 @@ methods: {
// "header_widget_dom_node",
'timeframes_toolbar',
],
enabled_features:['header_indicators'],
// enabled_features:['header_indicators'],
supported_resolutions: ["5", "15", "30", "60", "240", "1D", "1W", "1M"],
overrides: tvStyle[_this.theme],
custom_css_url: `/static/Kline/charting_library/static/css/tradingview_${
@ -442,7 +448,8 @@ methods: {
_this.setSymbol = function (symbol, value) {
gh.chart().setSymbol(symbol, value);
};
widget.chart().setResolution(value, function onReadyCallback() {}); //
widget.chart().setResolution(value, function onReadyCallback() {
}); //
$(e.target)
.addClass("mydate")
.closest("div.space-single")

2
src/views/option/option-bottom.vue

@ -25,7 +25,7 @@
<table class="table">
<thead>
<tr class="text-nowrap">
<th>{{$t('option.orderNum')}}</th>
<th>{{$t('option.orderNum')}}pppp</th>
<th>{{$t('option.option')}}</th>
<th>{{$t('option.buyTime')}}</th>
<th>{{$t('option.buyAmount')}}</th>

244
src/views/profile/certification.vue

@ -5,15 +5,15 @@
<div class="w-100 d-flex justify-content-center mb-3 mt-4">
<div class="h3">{{ $t('profile.realName') }}</div>
</div>
<div class="row">
<div class="col-12 mt-4">
<el-steps :active="setp+1" align-center>
<el-step :title="$t('profile.primaryCertification')"></el-step>
<el-step :title="$t('profile.advancedCertification1')"></el-step>
<el-step :title="$t('profile.toExamine')"></el-step>
</el-steps>
</div>
</div>
<!--<div class="row">-->
<!-- <div class="col-12 mt-4">-->
<!-- <el-steps :active="setp+1" align-center>-->
<!-- <el-step :title="$t('profile.primaryCertification')"></el-step>-->
<!-- <el-step :title="$t('profile.advancedCertification')"></el-step>-->
<!-- <el-step :title="$t('profile.toExamine')"></el-step>-->
<!-- </el-steps>-->
<!-- </div>-->
<!--</div>-->
<div class="row">
<div class="col-9 mx-auto mt-4 panel-box shadow-sm bg-panel" id="auth">
<!-- 第一步 -->
@ -24,25 +24,47 @@
<input
type="text"
required
v-model="form.realname"
v-model="topForm.realname"
class="form-control"
:placeholder="$t('profile.pleaseEnterName')"
/>
</div>
<!--<div class="form-group col-md-6">-->
<!-- <label>{{ $t('profile.dateOfBirth') }}YYYY-MM-DD*</label>-->
<!-- <el-date-picker-->
<!-- required-->
<!-- v-model="form.birthday"-->
<!-- type="date"-->
<!-- :placeholder="$t('profile.selectDate')"-->
<!-- ></el-date-picker>-->
<!--</div>-->
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label>{{$t('profile.dateOfBirth')}}YYYY-MM-DD*</label>
<el-date-picker
<label>{{ $t('profile.country') }}*</label>
<input
type="text"
required
v-model="form.birthday"
type="date"
:placeholder="$t('profile.selectDate')"
></el-date-picker>
v-model="topForm.city"
class="form-control"
:placeholder="$t('profile.incity')"
/>
</div>
<!--<div class="form-group col-md-6">-->
<!-- <label>{{ $t('profile.postalCode') }}*</label>-->
<!-- <input-->
<!-- type="text"-->
<!-- required-->
<!-- v-model="form.postal_code"-->
<!-- class="form-control"-->
<!-- :placeholder="$t('profile.thePostcode')"-->
<!-- />-->
<!--</div>-->
</div>
<div class="form-row">
<div class="form-group col-md-3">
<label>{{ $t('profile.documentType') }}*</label>
<el-select v-model="form.type" :placeholder="$t('profile.pelaseSelect')">
<el-select v-model="topForm.type" :placeholder="$t('profile.pelaseSelect')">
<el-option
v-for="item in cardType"
:key="item.value"
@ -56,65 +78,44 @@
<input
type="text"
required
v-model="form.id_card"
v-model="topForm.id_card"
class="form-control"
:placeholder="$t('profile.endterIDNumber')"
/>
</div>
</div>
<div class="label my-2 blue">{{$t('profile.addressInfo')}}</div>
<div class="form-group">
<label>{{$t('profile.residentialAddress')}}*</label>
<input
type="text"
required
v-model="form.address"
class="form-control"
:placeholder="$t('profile.residentialAddress1')"
/>
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label>{{$t('profile.ciy')}}*</label>
<input
type="text"
required
v-model="form.city"
class="form-control"
:placeholder="$t('profile.incity')"
/>
</div>
<div class="form-group col-md-6">
<label>{{$t('profile.postalCode')}}*</label>
<input
type="text"
required
v-model="form.postal_code"
class="form-control"
:placeholder="$t('profile.thePostcode')"
/>
</div>
</div>
<!--<div class="label my-2 blue">{{ $t('profile.addressInfo') }}</div>-->
<!--<div class="form-group">-->
<!-- <label>{{ $t('profile.residentialAddress') }}*</label>-->
<!-- <input-->
<!-- type="text"-->
<!-- required-->
<!-- v-model="form.address"-->
<!-- class="form-control"-->
<!-- :placeholder="$t('profile.residentialAddress1')"-->
<!-- />-->
<!--</div>-->
<!-- <div class="form-group">
<label>{{$t('profile.additionalInformation')}}{{$t('profile.optional')}}</label>
<input type="text" v-model="form.extra" class="form-control" placeholder />
</div> -->
<div class="label my-2 blue">{{$t('profile.contactInformation')}}</div>
<div class="form-row">
<!--<div class="label my-2 blue">{{ $t('profile.contactInformation') }}</div>-->
<!--<div class="form-row">-->
<!-- <div class="form-group col-md-12"> -->
<!-- <label>{{$t('profile.phoneNumber')}}*</label> -->
<!-- <div class="input-group mb-3"> -->
<div class="form-group col-md-3">
<label>{{$t('profile.SelectAreaCode')}}*</label>
<el-select v-model="form.country_id" filterable placeholder="请选择" >
<el-option
v-for="item in countryList"
:key="item.id"
:label="'+'+item.country_code +'('+item.name+')'"
:value="item.id">
</el-option>
</el-select>
</div>
<!--<div class="form-group col-md-3">-->
<!-- <label>{{ $t('profile.SelectAreaCode') }}*</label>-->
<!-- <el-select v-model="form.country_id" filterable placeholder="请选择">-->
<!-- <el-option-->
<!-- v-for="item in countryList"-->
<!-- :key="item.id"-->
<!-- :label="'+'+item.country_code +'('+item.name+')'"-->
<!-- :value="item.id">-->
<!-- </el-option>-->
<!-- </el-select>-->
<!--</div>-->
<!-- <el-dropdown tragger="click" class="input-group-prepend">
<button
class="btn btn-outline-secondary dropdown-toggle"
@ -129,48 +130,30 @@
>{{item.country_code}}{{item.name}}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown> -->
<div class="form-group col-md-9">
<label>{{$t('profile.phoneNumber')}}*</label>
<input
type="text"
required
v-model="form.phone"
class="form-control"
:placeholder="$t('profile.enterPhoneNumber')"
/>
</div>
<!--<div class="form-group col-md-9">-->
<!-- <label>{{ $t('profile.phoneNumber') }}*</label>-->
<!-- <input-->
<!-- type="text"-->
<!-- required-->
<!-- v-model="form.phone"-->
<!-- class="form-control"-->
<!-- :placeholder="$t('profile.enterPhoneNumber')"-->
<!-- />-->
<!--</div>-->
<!-- </div>
</div> -->
</div>
<div class="text-center">
<button
type="button"
class="btn w-25 btn-primary rounded-pill"
@click="primaryAuth"
>{{$t('profile.nextStep')}}</button>
</div>
<!--</div>-->
<!--<div class="text-center">-->
<!-- <button-->
<!-- type="button"-->
<!-- class="btn w-25 btn-primary rounded-pill"-->
<!-- @click="primaryAuth"-->
<!-- >{{ $t('profile.nextStep') }}-->
<!-- </button>-->
<!--</div>-->
</div>
<!-- 第二步 -->
<div class="tab-content" v-if="setp==1">
<p>{{$t('profile.clickUpload1')}}</p>
<p>
{{$t('profile.pelaseDownload')}}
<span
class="red"
v-if="detail.type==3"
>{{$t('profile.passport')}}</span>
<span class="red" v-if="detail.type==2">{{$t('profile.drivingLicense')}}</span>
<span class="red" v-if="detail.type==1">{{$t('profile.iD')}}</span>
{{$t('profile.upload')}}
</p>
<p>{{$t('profile.explain')}}</p>
<ul class="mb-2">
<li class="mb-2">1. {{$t('profile.unexpired')}}</li>
<li class="mb-2">2.{{$t('profile.pleaseConfirm')}}</li>
<li class="mb-2">3. {{$t('profile.fileFormat')}}pdf./ gif./ jpeg./jpg./png.</li>
<li class="mb-2">4. {{$t('profile.maximumFileSize')}}5 MB</li>
</ul>
<div class="tab-content" v-if="setp==0">
<upload-img
class="mb-3"
v-model="topForm.front_img"
@ -197,6 +180,26 @@
</div>
</template>
</upload-img>
<p>{{ $t('profile.clickUpload1') }}</p>
<p>
{{ $t('profile.pelaseDownload') }}
<span
class="red"
v-if="detail.type==3"
>{{ $t('profile.passport') }}</span>
<span class="red" v-if="detail.type==2">{{ $t('profile.drivingLicense') }}</span>
<span class="red" v-if="detail.type==1">{{ $t('profile.iD') }}</span>
{{ $t('profile.upload') }}
</p>
<p>{{ $t('profile.explain') }}</p>
<ul class="mb-2">
<li class="mb-2">1. {{ $t('profile.unexpired') }}</li>
<li class="mb-2">2.{{ $t('profile.pleaseConfirm') }}</li>
<li class="mb-2">3. {{ $t('profile.fileFormat') }}pdf./ gif./ jpeg./jpg./png.</li>
<li class="mb-2">4. {{ $t('profile.maximumFileSize') }}5 MB</li>
</ul>
<!-- <upload-img
class="mb-3"
v-model="topForm.front_img"
@ -211,7 +214,9 @@
</template>
</upload-img> -->
<div class="text-center mt-3">
<button type="button" class="btn w-25 btn-primary rounded-pill" @click="topAuth">{{$t('profile.nextStep')}}</button>
<button type="button" class="btn w-25 btn-primary rounded-pill" @click="topAuth">
{{ $t('profile.nextStep') }}
</button>
</div>
</div>
<!-- 第三步 -->
@ -225,18 +230,21 @@
type="button"
class="btn w-25 btn-primary rounded-pill"
@click="$router.go(-1)"
>{{$t('profile.gotIt')}}</button>
>{{ $t('profile.gotIt') }}
</button>
</div>
</div>
<div v-else-if="detail.status==2">
<p class="mt-3 mb-4" style="font-size:18px">{{$t('profile.congratulations')}}{{detail.status_text_lang}}</p>
<p class="mt-3 mb-4" style="font-size:18px">
{{ $t('profile.congratulations') }}{{ detail.status_text_lang }}</p>
<i class="el-icon-circle-check my-4 increace" style="font-size:60px"></i>
<div class="text-center">
<button
type="button"
class="btn w-25 btn-primary rounded-pill"
@click="$router.go(-1)"
>{{$t('profile.back')}}</button>
>{{ $t('profile.back') }}
</button>
</div>
</div>
<div v-else-if="detail.status==3">
@ -247,7 +255,8 @@
type="button"
class="btn w-25 btn-outline-danger"
@click="setp=1"
>{{$t('profile.recertification')}}</button>
>{{ $t('profile.recertification') }}
</button>
</div>
</div>
</div>
@ -261,6 +270,7 @@
import Profile from "@/api/profile";
import Member from "@/api/member";
import server from "@/api/server";
export default {
data() {
return {
@ -284,6 +294,10 @@ export default {
},
//
topForm: {
id_card: "",
type: 1,
city: "",
realname: "",
front_img: "",
back_img: "",
hand_img: ""
@ -329,7 +343,8 @@ export default {
this.setp = 2;
}
})
.catch(res => {});
.catch(res => {
});
},
//
getCountryCode() {
@ -343,7 +358,8 @@ export default {
}
}
}).catch(res => {});
}).catch(res => {
});
},
//
primaryAuth() {
@ -356,7 +372,8 @@ export default {
// this.setp++;
this.$router.push("/wallet/assets/exchange")
})
.catch(err => {});
.catch(err => {
});
}
},
//
@ -378,10 +395,11 @@ export default {
}
Profile.topAuth(data)
.then(res => {
this.$message.success(this.$t("profile.advancedCertification2"));
this.$message.success(this.$t("profile.advancedCertification"));
this.getAuthInfo();
})
.catch(err => {});
.catch(err => {
});
}
}
},
@ -405,10 +423,12 @@ export default {
object-fit: cover;
}
}
/deep/ {
.el-step__title.is-process {
color: white;
}
.el-upload-dragger {
background-color: #1e2834;
}

267
src/views/profile/index.vue

@ -6,131 +6,181 @@
<div class="h3">{{ $t('profile.userInfo') }}</div>
</div>
<div class="row">
<div class="col-md-5 d-flex align-items-stretch mb-4">
<!-- 账户信息 -->
<!--<div class="col-md-5 d-flex align-items-stretch mb-4">-->
<!-- &lt;!&ndash; 账户信息 &ndash;&gt;-->
<!-- <div class="panel-box bg-panel shadow-sm w-100">-->
<!-- <div class="heading d-flex justify-content-between align-items-center">-->
<!-- <div class="h6">{{ $t('profile.userInfo') }}</div>-->
<!-- <div class="status fn-14 text-tips">{{ detail.user_auth_level_text }}</div>-->
<!-- </div>-->
<!-- <div class="tab-content">-->
<!-- <div class="mobile fn-30 font-weight-bolder">-->
<!-- {{ detail.account }}-->
<!-- &lt;!&ndash; | userFilter &ndash;&gt;-->
<!-- </div>-->
<!-- <div class="label my-2">{{ $t('profile.verState') }}</div>-->
<!-- <div class="d-flex align-items-center">-->
<!-- <div class="icon mr-2">-->
<!-- <img src="../../assets/img/icon/top2.png" alt v-if="detail.user_auth_level==2"/>-->
<!-- <img src="../../assets/img/icon/top1.png" alt v-else/>-->
<!-- </div>-->
<!-- <div>-->
<!-- &lt;!&ndash; {{$t('profile.max')}}-->
<!-- <span class="font-weight-bold">1k</span>-->
<!-- <span class="font-weight-bold ">USD</span>-->
<!-- <span class="font-weight-bold">24</span>-->
<!-- {{$t('profile.limitH')}}-->
<!-- {{$t('profile.tips')}} &ndash;&gt;-->
<!-- {{ detail.user_auth_level == 2 ? $t('profile.tips2') : $t('profile.tips1') }}-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!--</div>-->
<!--<div class="col-md-7 d-flex align-items-stretch mb-4">-->
<!-- &lt;!&ndash; 实名认证 &ndash;&gt;-->
<!-- <div class="panel-box bg-panel shadow-sm w-100">-->
<!-- <div class="heading d-flex justify-content-between align-items-center">-->
<!-- <div class="h6">{{ $t('profile.verLeave') }}</div>-->
<!-- </div>-->
<!-- <div class="tab-content">-->
<!-- <div class="step-group d-flex justify-content-center text-center">-->
<!-- <div class="step">-->
<!-- <div class="icon">-->
<!-- <img src="../../assets/img/icon/top1.png" alt/>-->
<!-- </div>-->
<!-- <div class="txt">{{ $t('profile.max') }} 20k USDT</div>-->
<!-- </div>-->
<!-- <div class="next-icon mt-4">-->
<!-- <img src="../../assets/img/icon/stepnext.png" alt/>-->
<!-- </div>-->
<!-- <div class="step">-->
<!-- <div class="icon">-->
<!-- <img src="../../assets/img/icon/top2.png" alt/>-->
<!-- </div>-->
<!-- <div class="txt">{{ $t('profile.max') }} 500K USDT</div>-->
<!-- <div class="btn">-->
<!-- <span v-if="detail.user_auth_level==2"-->
<!-- class="btn btn-sm btn-primary rounded-pill">{{-->
<!-- $t('profile.clickToVerify1')-->
<!-- }}</span>-->
<!-- <button type="button" v-else @click="$router.push('/profile/certification')"-->
<!-- class="btn btn-sm btn-primary rounded-pill">-->
<!-- {{ $t('profile.clickToVerify') }}-->
<!-- </button>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="next-icon mt-4">-->
<!-- <img src="../../assets/img/icon/stepnext.png" alt/>-->
<!-- </div>-->
<!-- <div class="step">-->
<!-- <div class="icon">-->
<!-- <img src="../../assets/img/icon/top3.png" alt/>-->
<!-- </div>-->
<!-- <div class="txt">{{ $t('profile.exceed') }} 500K USDT</div>-->
<!-- <div class="btn">-->
<!-- <router-link-->
<!-- to="/contact-us"-->
<!-- tag="button"-->
<!-- type="button"-->
<!-- class="btn btn-sm btn-primary rounded-pill"-->
<!-- @click="$router.push('/contact-us')"-->
<!-- >{{ $t('profile.contactUs') }}-->
<!-- </router-link>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!--</div>-->
<div class="d-flex align-items-stretch mb-4 w-100">
<!--新版用户中心-->
<div class="panel-box bg-panel shadow-sm w-100">
<div class="heading d-flex justify-content-between align-items-center">
<div class="h6">{{$t('profile.userInfo')}}</div>
<div class="status fn-14 text-tips">{{detail.user_auth_level_text }}</div>
</div>
<div class="tab-content">
<div class="mobile fn-30 font-weight-bolder">
{{detail.account }}
<!-- | userFilter -->
</div>
<div class="label my-2">{{$t('profile.verState')}}</div>
<div class="d-flex align-items-center">
<div class="icon mr-2">
<img src="../../assets/img/icon/top2.png" alt v-if="detail.user_auth_level==2"/>
<img src="../../assets/img/icon/top1.png" alt v-else/>
</div>
<div>
<!-- {{$t('profile.max')}}
<span class="font-weight-bold">1k</span>
<span class="font-weight-bold ">USD</span>
<span class="font-weight-bold">24</span>
{{$t('profile.limitH')}}
{{$t('profile.tips')}} -->
{{detail.user_auth_level==2?$t('profile.tips2'):$t('profile.tips1')}}
</div>
</div>
</div>
</div>
</div>
<div class="col-md-7 d-flex align-items-stretch mb-4">
<!-- 实名认证 -->
<div class="panel-box bg-panel shadow-sm w-100">
<div class="heading d-flex justify-content-between align-items-center">
<div class="h6">{{$t('profile.verLeave')}}</div>
</div>
<div class="tab-content">
<div class="step-group d-flex justify-content-center text-center">
<div class="step">
<div class="icon">
<img src="../../assets/img/icon/top1.png" alt />
</div>
<div class="txt">{{$t('profile.max')}} 20k USDT</div>
</div>
<div class="next-icon mt-4">
<img src="../../assets/img/icon/stepnext.png" alt />
</div>
<div class="step">
<div class="icon">
<img src="../../assets/img/icon/top2.png" alt />
</div>
<div class="txt">{{$t('profile.max')}} 500K USDT</div>
<div class="btn">
<span v-if="detail.user_auth_level==2" class="btn btn-sm btn-primary rounded-pill">{{$t('profile.clickToVerify1')}}</span>
<button type="button" v-else @click="$router.push('/profile/certification')" class="btn btn-sm btn-primary rounded-pill">{{$t('profile.clickToVerify')}}</button>
</div>
</div>
<div class="next-icon mt-4">
<img src="../../assets/img/icon/stepnext.png" alt />
</div>
<div class="step">
<div class="icon">
<img src="../../assets/img/icon/top3.png" alt />
</div>
<div class="txt">{{$t('profile.exceed')}} 500K USDT</div>
<div class="btn">
<router-link
to="/contact-us"
tag="button"
type="button"
class="btn btn-sm btn-primary rounded-pill"
@click="$router.push('/contact-us')"
>{{$t('profile.contactUs')}}</router-link>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<!-- <div class="col-md-4 d-flex">
邀请好友
<div class="panel-box bg-panel shadow-sm w-100">
<div class="heading d-flex justify-content-between">{{$t('profile.inviteFriends')}}</div>
<div class="tab-content">
<div class="min-height-50">{{$t('profile.dividends',{name:'AMATAK',num:'30%'})}}</div>
<button type="button" class="bottom-left-btn btn btn-sm btn-primary rounded-pill" @click="$router.push('/profile/invite')">{{$t('profile.sendInvitation')}}</button>
</div>
</div>
</div> -->
<div class="col-md-4 d-flex">
<!-- 重置密码 -->
<div class="panel-box bg-panel shadow-sm w-100">
<div class="heading d-flex justify-content-between">{{$t('profile.resetPassword')}}</div>
<div class="tab-content">
<div class="min-height-50">{{$t('profile.forLoginAccount')}}</div>
<button type="button" class="bottom-left-btn btn btn-sm btn-primary rounded-pill" @click="$router.push('/setting')">{{$t('profile.clickReset')}}</button>
</div>
</div>
<div class="tab-content w-100">
<tr class=" w-100" style="height:60px;">
<td style="width:30%;">{{ $t('common.email') }}</td>
<td style="width:60%;">{{ detail.account }}</td>
<td style="width:60%;"></td>
</tr>
<tr class=" w-100" style="height:60px;">
<td style="width:30%;">{{ $t('profile.realName') }}</td>
<td style="width:60%;">
{{detail.user_auth_level_text}}
</td>
<td style="width:60%;"><span v-if="detail.user_auth_level==2"
class="btn btn-sm btn-primary rounded-pill">{{
$t('profile.clickToVerify1')
}}</span>
<button type="button" v-else @click="$router.push('/profile/certification')"
class="btn btn-sm btn-primary rounded-pill">
{{ $t('profile.clickToVerify') }}
</button>
</td>
</tr>
<tr class=" w-100" style="height:60px;">
<td style="width:30%;">{{ $t('setting.loginPassword') }}</td>
<td style="width:60%;">{{ $t('setting.passwordChangePrompt') }}</td>
<td style="width:60%;">
<button type="button" class="bottom-left-btn btn btn-sm btn-primary rounded-pill"
@click="$router.push('/setting')">{{ $t('profile.clickReset') }}
</button>
</td>
</tr>
</div>
<!-- <div class="col-md-4 d-flex">
访问记录
<div class="panel-box bg-panel shadow-sm w-100">
<div class="heading d-flex justify-content-between">{{$t('profile.registrationDecord')}}</div>
<div class="tab-content">
<div class="min-height-50">{{$t('profile.recording')}}</div>
<button type="button" class="bottom-left-btn btn btn-sm btn-primary rounded-pill" @click="$router.push('/profile/login-history')">{{$t('profile.recordingDEtail')}}</button>
</div>
</div>
</div> -->
</div>
<!--<div class="row">-->
<!-- &lt;!&ndash; <div class="col-md-4 d-flex">-->
<!-- 邀请好友-->
<!-- <div class="panel-box bg-panel shadow-sm w-100">-->
<!-- <div class="heading d-flex justify-content-between">{{$t('profile.inviteFriends')}}</div>-->
<!-- <div class="tab-content">-->
<!-- <div class="min-height-50">{{$t('profile.dividends',{name:'AMATAK',num:'30%'})}}</div>-->
<!-- <button type="button" class="bottom-left-btn btn btn-sm btn-primary rounded-pill" @click="$router.push('/profile/invite')">{{$t('profile.sendInvitation')}}</button>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div> &ndash;&gt;-->
<!-- <div class="col-md-4 d-flex">-->
<!-- &lt;!&ndash; 重置密码 &ndash;&gt;-->
<!-- <div class="panel-box bg-panel shadow-sm w-100">-->
<!-- <div class="heading d-flex justify-content-between">{{ $t('profile.resetPassword') }}</div>-->
<!-- <div class="tab-content">-->
<!-- <div class="min-height-50">{{ $t('profile.forLoginAccount') }}</div>-->
<!-- <button type="button" class="bottom-left-btn btn btn-sm btn-primary rounded-pill"-->
<!-- @click="$router.push('/setting')">{{ $t('profile.clickReset') }}-->
<!-- </button>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- &lt;!&ndash; <div class="col-md-4 d-flex">-->
<!-- 访问记录-->
<!-- <div class="panel-box bg-panel shadow-sm w-100">-->
<!-- <div class="heading d-flex justify-content-between">{{$t('profile.registrationDecord')}}</div>-->
<!-- <div class="tab-content">-->
<!-- <div class="min-height-50">{{$t('profile.recording')}}</div>-->
<!-- <button type="button" class="bottom-left-btn btn btn-sm btn-primary rounded-pill" @click="$router.push('/profile/login-history')">{{$t('profile.recordingDEtail')}}</button>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div> &ndash;&gt;-->
<!--</div>-->
</div>
</div>
</template>
<script>
import Profile from "@/api/profile";
import {mapState} from "vuex";
export default {
data() {
return {
detail: {}
};
},
filters: {
//|
userFilter(val) {
@ -145,6 +195,7 @@ export default {
});
}
},
created() {
this.getUserInfo();
}

139
src/views/purchase/index.vue

@ -11,38 +11,39 @@
<!-- {{ detail.issue_price }} -->
USDT
</div>
<ul>
<li class="mt-3">
<div class="label text-secondary">
{{ $t("purchase.subscriptionCurrency") }}
</div>
<div class="txt">{{ detail.subscribe_currency }}</div>
</li>
<li class="mt-3">
<div class="label text-secondary">
{{ $t("purchase.expected") }}
</div>
<div class="txt">
{{ parseTime(detail.expected_time_online) }}
</div>
</li>
<li class="mt-3">
<div class="label text-secondary">
{{ $t("purchase.startTime") }}
</div>
<div class="txt">
{{ parseTime(detail.start_subscription_time) }}
</div>
</li>
<li class="mt-3">
<div class="label text-secondary">
{{ $t("purchase.applyForPurchase") }}
</div>
<div class="txt">
{{ parseTime(detail.end_subscription_time) }}
</div>
</li>
</ul>
<!--<ul>-->
<!-- <li class="mt-3">-->
<!-- <div class="label text-secondary">-->
<!-- {{ $t("purchase.subscriptionCurrency") }}-->
<!-- </div>-->
<!-- <div class="txt">{{ detail.subscribe_currency }}</div>-->
<!-- </li>-->
<!-- <li class="mt-3">-->
<!-- <div class="label text-secondary">-->
<!-- {{ $t("purchase.expected") }}-->
<!-- </div>-->
<!-- <div class="txt">-->
<!-- {{ parseTime(detail.expected_time_online) }}-->
<!-- </div>-->
<!-- </li>-->
<!-- <li class="mt-3">-->
<!-- <div class="label text-secondary">-->
<!-- {{ $t("purchase.startTime") }}-->
<!-- </div>-->
<!-- <div class="txt">-->
<!-- {{ parseTime(detail.start_subscription_time) }}-->
<!-- </div>-->
<!-- </li>-->
<!-- <li class="mt-3">-->
<!-- <div class="label text-secondary">-->
<!-- {{ $t("purchase.applyForPurchase") }}-->
<!-- </div>-->
<!-- <div class="txt">-->
<!-- {{ parseTime(detail.end_subscription_time) }}-->
<!-- </div>-->
<!-- </li>-->
<!--</ul>-->
<img :src='detail.icon'>
</div>
<div
class="col-6 d-flex flex-column justify-content-end align-items-start"
@ -59,7 +60,8 @@
v-for="item in coinList"
@click.native="activeCoin = item"
:key="item.coin_name"
>{{ item.coin_name }}</el-dropdown-item
>{{ item.coin_name }}
</el-dropdown-item
>
</el-dropdown-menu>
</el-dropdown>
@ -150,7 +152,9 @@
<div class="markets-pair-list">
<ul class="nav nav-pills" id="pills-tab" role="tablist">
<li class="nav-item">
<a class="nav-link" data-toggle="pill" role="tab" aria-selected="false">{{ $t("common.a3") }}</a>
<a class="nav-link" data-toggle="pill" role="tab" aria-selected="false">{{
$t("common.a3")
}}</a>
</li>
</ul>
<div class="tab-content">
@ -302,6 +306,7 @@
<script>
import Subscride from "@/api/subscride";
import Wallet from "@/api/wallet";
export default {
data() {
return {
@ -313,9 +318,12 @@ export default {
transferRecords: [],
coinName: "",
subscribeRecords: [],
activityList:[{rate: "", amount: ""},{rate: "", amount: ""},{rate: "", amount: ""},{rate: "", amount: ""},{rate: "", amount: ""}],
activityList: [{rate: "", amount: ""}, {rate: "", amount: ""}, {rate: "", amount: ""}, {
rate: "",
amount: ""
}, {rate: "", amount: ""}],
activestep: 0,
issue_price:0.03,
issue_price: 0.035,
timer: ''
};
},
@ -341,8 +349,22 @@ export default {
}
return ret;
},
},
methods: {
chkAuth() {
// alert(222222);
this.authh = JSON.parse(localStorage.getItem("auth"));
// console.log(this.authh.user_auth_level);
if (this.authh.user_auth_level == 0) {
// alert(11111);
this.$router.push(`/profile/certification`);
location.reload();
}
return utils.validate(".input-group");
},
//
seek(item) {
return !this.isCondition || item.coin_name === this.coinName;
@ -352,7 +374,8 @@ export default {
.then(data => {
this.subscribeRecords = data.data;
})
.catch(err => {});
.catch(err => {
});
},
activity() {
Subscride.activity()
@ -360,7 +383,8 @@ export default {
this.activityList = data.activity.params
this.activestep = data.step
})
.catch(err => {});
.catch(err => {
});
},
parseTime(num) {
if (!num) return;
@ -375,25 +399,34 @@ export default {
getInfo() {
Subscride.subscribe().then((res) => {
this.detail = res;
console.log(res, '这里')
});
},
chkValidate() {
//
// alert('11111');
if (!this.isLogin) {
this.$confirm( this.$t("contract.k8"), {
confirmButtonText: this.$t("contract.c5"),
cancelButtonText: this.$t("contract.c4"),
type: "warning",
})
.then(() => {
// this.$confirm( this.$t("contract.k8"), {
// // confirmButtonText: this.$t("contract.c5"),
// // cancelButtonText: this.$t("contract.c4"),
// // type: "warning",
// })
this.$router.push(`/sign-in`);
})
.catch();
// this.then(() => {
// // alert('22222');
// // console.log(123123);
// this.$router.push(`/sign-in`);
//
// // this.$router.push("/profile/certification")
// // this.$router.replace("/sign-in");
// })
// .catch();
}
return utils.validate(".input-group");
},
ifSubscribeNow() {
if (this.chkValidate()) {
this.$confirm(
@ -409,7 +442,8 @@ export default {
.then(() => {
this.subscribeNow();
})
.catch(() => {});
.catch(() => {
});
}
},
sbumit() {
@ -445,12 +479,19 @@ export default {
},
},
created() {
this.chkValidate();
this.chkAuth();
this.subscribeTokenList();
this.getInfo();
this.getTransferRecords()
this.activity()
this.timer = setInterval(this.getTransferRecords, 5000)
},
beforeMount() {
this.getInfo();
this.chkAuth();
this.chkValidate();
},
beforeDestroy() {
clearInterval(this.timer);
}
@ -461,18 +502,22 @@ export default {
.table tr:hover {
background: #e9e9e9 !important;
}
/deep/ {
.el-step__icon {
background: #222e3d;
}
.el-step__head.is-process {
color: inherit;
border-color: inherit;
}
.el-step__description.is-process,
.el-step__title.is-process {
color: inherit;
}
.el-step__description {
margin-top: 0;
}

1
src/views/setting/login-pwd.vue

@ -1,5 +1,6 @@
<template>
<div class="edit-password">
<secondary-nav></secondary-nav>
<div class="form-group">
<label>{{$t('setting.newPassword')}}</label>
<input

64
src/views/signIn/index.vue

@ -1,7 +1,7 @@
<template>
<div>
<div class="vh-100 d-flex justify-content-center">
<div class="form-access my-auto ">
<div class="body">
<div class="logins" style="height:700px;">
<div class="form-access" style="padding-top: 150px">
<form class="login-body bg-panel">
<div class="text-center h3">
<span>{{ $t("login.sign-in") }}</span>
@ -211,28 +211,6 @@ export default {
return localStorage.getItem('lang');
},
test(){
// var query=this.$route.query;
// console.log(query)
let rqtoken =this.$route.query.autooooooo;
// let uid = this.$route.query.user_id;
let acc = this.$route.query.account
if(typeof rqtoken!='undefined'){
// let xuser='{"user_id":'+uid+',"account":"'+acc+'"}'
// console.log("simple json:"+xuser)
this.user.account=acc;
this.user.password="HJH^*jj8f9fj38j";
this.isLogin=true
// localStorage.setItem("auth",xuser);
//localStorage.setItem("auth",JSON.stringify(uid));
// localStorage.setItem('token', rqtoken);
//this.$router.push("/wallet/assets/exchange");
//location.reload();
// this.$router.push("/wallet/assets/exchange");
// location.reload();
}
},
refreshSlider() {
// nameiframe
// idiframedom contentWindow
@ -439,7 +417,15 @@ export default {
// local
localStorage.setItem("auth", JSON.stringify(response.user));
localStorage.setItem("token", response.token);
this.authh = JSON.parse(localStorage.getItem("auth"));
if(this.authh.user_auth_level==0){
// alert(11111);
this.$router.push(`/profile/certification`);
}else {
this.$router.push("/wallet/assets/exchange");
}
location.reload();
return;
}
@ -495,16 +481,9 @@ export default {
Member.loginConfirm(data)
.then(response => {
console.dir(response);
// let rqtoken =this.$route.query;
// if(typeof rqtoken!='undefined'){
// this.isLogin=true
// localStorage.setItem('token', rqtoken);
// }else {
// local
localStorage.setItem("auth", JSON.stringify(response.user));
localStorage.setItem("token", response.token);
// }
// 退
this.$router.push("/wallet/assets/exchange");
location.reload();
@ -523,17 +502,25 @@ export default {
//
window.step2Login = this.step2;
console.log(localStorage.lang,navigator.language.includes("zh"))
//
this.test()
}
};
</script>
<style lang="scss" scoped>
.body{
background-image: url('../../assets/img/xi4Gdg.jpeg');
background-size: 100% 100%;
// position: fixed;
height: 100%;
width: 100%;
background-color: #fff;
}
form.login-body {
// margin-top: 400rpx;
.form-group {
margin: 1rem auto;
}
.area-phone-box {
@ -643,4 +630,13 @@ form.login-body {
padding: 0;
margin: 0;
}
.logins{
width: 30%;
margin-left: 62%;
//margin-top: 5%;
// display: flex;
// margin-top: 300rpx !important;
// margin:200rpx ;
// float:right;
}
</style>

38
src/views/signUp/index.vue

@ -1,8 +1,8 @@
<template>
<div>
<div class="vh-100 d-flex justify-content-center">
<div class="body">
<div class="d-flex justify-content-center logins" style="height:800px;">
<div class="form-access my-auto">
<form class="register-body">
<form class="register-body bg-panel">
<div class="text-center h3">
<span>{{$t('login.goRegister')}}</span>
</div>
@ -68,7 +68,7 @@
</label>
</div>
<button type="submit" class="btn btn-primary rounded-pill theme-bg-color-a" style="background-image: none;" @click.prevent.stop="step1">{{$t('login.reg')}}</button>
<button type="submit" class="btn btn-primary rounded-pill" @click.prevent.stop="step1">{{$t('login.reg')}}</button>
</template>
<!-- Step3 -->
@ -306,7 +306,7 @@ export default {
case 1:
Member.sendEmailCode({
email: this.user.email,
invite_code: this.user.parentCode,
token
})
.then(data => {
@ -546,6 +546,14 @@ export default {
</script>
<style lang="scss" scoped>
.body{
background-image: url("../../assets/img/xi4Gdg.jpeg");
background-size: 100% 100%;
// position: fixed;
height: 100%;
width: 100%;
background-color: #fff;
}
@import '@/assets/scss/base/_common.scss';
form.register-body {
.form-group {
@ -670,17 +678,13 @@ div.verify-code {
.form-control:disabled, .form-control[readonly]{
background-color: #1e2834;
}
.form-control {
background-color: #f8f8f8 !important;
border: none !important;
}
.nav-tabs {
border-bottom-color: #DEE2E6;
}
.nav-tabs .nav-item{
margin-bottom: 0px !important;
}
.nav-tabs .nav-link.active{
border: none !important;
.logins{
width: 30%;
margin-left: 62%;
top: 5%;
// display: flex;
// margin-top: 300rpx !important;
// margin:200rpx ;
// float:right;
}
</style>

2
src/views/wallet/address.vue

@ -9,7 +9,7 @@
<div class>
<button
type="button"
class="btn btn-primary"
class="btn btn-success"
data-toggle="modal"
data-target="#editAddress"
@click="add"

4
src/views/wallet/contract-assets.vue

@ -34,8 +34,8 @@
</thead>
<tbody>
<tr v-for="item in list" :key="item.id">
<td>{{ item.created_at }}</td>
<td>{{ item.log_type_text }}</td>
<td style="color:#000000">{{ item.created_at }}</td>
<td style="color:#000000">{{ item.log_type_text }}</td>
<td
:class="{
increace: item.amount >= 0,

44
src/views/wallet/exchange-assets.vue

@ -109,7 +109,7 @@
<div class="mb-2 mr-sm-2">
<input type="text" v-model="keyword" class="form-control mb-2 mr-sm-2" :placeholder="$t('wallet.searchCurrency')" />
<router-link to="/wallet/address" class="btn btn-primary rounded-pill mb-2">{{$t('wallet.addressManagement')}}</router-link>
<!--<router-link to="/wallet/address" class="btn btn-success rounded-pill mb-2">{{$t('wallet.addressManagement')}}</router-link>-->
</div>
</form>
<div class="tab-content">
@ -142,8 +142,7 @@
<div class="btn-group btn-group-sm" role="group" aria-label="Basic example">
<!-- data-target="#deposite" -->
<button type="button" class="btn btn-outline-primary" data-toggle="modal" @click="enterDeposite(item)" :disabled="!item.is_withdraw">{{$t('wallet.recharge')}}</button>
<!-- <button type="button" class="btn btn-outline-primary" data-toggle="modal" data-target="#withdraw" @click="enterWithdraw(item)" :disabled="!item.is_withdraw">{{$t('wallet.withdrawal')}}</button> -->
<button type="button" class="btn btn-outline-primary" data-target="#withdraw" @click="enterWithdraw(item)" :disabled="!item.is_withdraw">{{$t('wallet.withdrawal')}}</button>
<button type="button" class="btn btn-outline-primary" data-toggle="modal" data-target="#withdraw" @click="enterWithdraw(item)" :disabled="!item.is_withdraw">{{$t('wallet.withdrawal')}}</button>
<div class="btn-group btn-group-sm" role="group">
<button id="btnGroupDrop1" type="button" class="btn btn-outline-primary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{$t('wallet.transaction')}}</button>
@ -340,7 +339,7 @@
</span>
<span>
{{$t('wallet.low')}}:{{withdrawFee.withdrawal_min}} {{withdrawCoin}}
<router-link to="/wallet/address" class="text-primary">{{$t('wallet.addressList')}}</router-link>
<!--<router-link to="/wallet/address" class="text-primary">{{$t('wallet.addressList')}}</router-link>-->
</span>
</label>
<div class="input-group input-group-sm">
@ -361,14 +360,6 @@
</div>
<span class="text-right">{{$t('wallet.handlingFee1')}}: {{withdrawCoin=='USDT'&&withdraw.addressType==3?withdrawFee.trc20:withdrawFee.withdrawal_fee }} {{withdrawCoin}}</span>
</div>
<div class="form-group mt-2">
<label class="d-flex justify-content-between" for="formGroupExampleInput">
<span>{{$t('login.pwd')}}</span>
</label>
<div class="input-group input-group-sm">
<input type="password" v-model="withdraw.password" :placeholder="$t('login.password')" class="form-control" />
</div>
</div>
</form>
</div>
<div class="col-md-6">
@ -420,7 +411,6 @@ export default {
total_assets_usd: 0
},
userInfo:{},//
ProfileDetail: {},
coinAssets: [], //
isHideZero: false, // 0
@ -444,7 +434,6 @@ export default {
coin_id: "",
amount: "",
address: "",
password: "",
addressType: 2, // 1 omni 2 erc20,
code_type: 1,
code: ''
@ -605,12 +594,6 @@ export default {
//
enterWithdraw(item) {
// console.log(this.ProfileDetail.status)
if(this.ProfileDetail.status!=2){
this.$router.push("/profile/certification");
return;
}
$('#withdraw').modal('show');
this.withdrawCoin = item.coin_name;
this.withdraw.coin_id = item.coin_id;
//
@ -665,16 +648,6 @@ export default {
Profile.getUserInfo({}).then(res => {
this.userInfo = res
});
},
getAuthInfo() {
Profile.getAuthInfo({}).then(res => {
this.ProfileDetail = res;
console.log(this.ProfileDetail, 11111)
});
},
//
PageScrollTo(num){
document.documentElement.scrollTop = num;
}
},
@ -683,8 +656,7 @@ created() {
this.getUserAssets();
this.getCoinAssets();
this.createWalletAddress();
this.getUserInfo();
this.getAuthInfo();
this.getUserInfo()
},
mounted() {
@ -718,14 +690,6 @@ created() {
// console.error('Action:', e.action);
// console.error('Trigger:', e.trigger);
});
//
let isNeedScroll = this.$route.fullPath.split('?buy=')[1];
// console.log(this.$route.fullPath,121212121, isNeedScroll);
if(isNeedScroll){
setTimeout(() => {
this.PageScrollTo(775);
}, 1500);
}
}
};
</script>

7
src/views/wallet/funding.vue

@ -40,7 +40,7 @@
</div>
<div class="tab-content">
<!-- 充值 -->
<div v-infinite-scroll="load1" class="tab-pane funding-table fade show" :class="currentTab =='deposit'? 'active':''" id="deposit" role="tabpanel">
<div v-infinite-scroll="load1" class="tab-pane funding-table fade " :class="currentTab =='deposit'? 'active':''" id="deposit" role="tabpanel">
<table class="table stripe">
<thead>
<tr>
@ -189,10 +189,7 @@ export default {
},
getDepositHistories() {
Wallet.depositHistory().then(data => {
this.depositHistories = data.data;
console.log( this.depositHistories, ' this.depositHistories')
}).catch(err => { });
Wallet.depositHistory().then(data => this.depositHistories = data.data).catch(err => { });
},
getRechargeManualLog() {

BIN
static/images/icon/andriod.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

BIN
static/images/icon/api.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

BIN
static/images/icon/google-play.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

BIN
static/images/icon/imac.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

BIN
static/images/icon/ios.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

BIN
static/images/icon/linux.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

BIN
static/images/icon/right.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

BIN
static/images/icon/windows.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

BIN
static/images/icon_1.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

BIN
static/images/icon_2.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

BIN
static/images/icon_3.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

BIN
static/images/illustration-3.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 720 KiB

BIN
static/images/lightImageUrl.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

BIN
static/images/lightImageUrl_2.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

BIN
static/images/trusted-section.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Loading…
Cancel
Save