From e1e51991ad91c14fa00c5cf46f95e514f676ac4d Mon Sep 17 00:00:00 2001
From: 李凌 <344137771@qq.com>
Date: Fri, 19 Sep 2025 18:58:56 +0800
Subject: [PATCH] 1
---
src/i18n/Deutsch.js | 5
src/i18n/Portuguese.js | 5
src/components/application/application.vue | 141 ++--
src/views/C2C/c2cOrder/order-generation/orderGeneration.vue | 8
src/i18n/th.js | 5
src/views/login/index.vue | 34 +
src/views/my/assets.vue | 20
src/i18n/Italy.js | 5
src/i18n/Japanese.js | 5
src/i18n/vi.js | 5
src/i18n/en.js | 5
src/i18n/zhcn.js | 5
src/views/C2C/c2cOrder/components/appeal/AppealWaiting.vue | 52
src/views/cryptos/AboutUs/index.vue | 8
src/service/login.api.js | 2
src/service/user.api.js | 11
src/i18n/Spanish.js | 5
src/i18n/korean.js | 5
src/views/C2C/c2c-trade/components/TradeSuccessDetail.vue | 7
src/views/safety/index.vue | 10
src/views/C2C/c2c-trade/page/SellGenerate.vue | 21
src/views/C2C/c2c-order-list/components/TradeSuccessDetail.vue | 7
src/views/my/index.vue | 3
src/components/Transform/trade-order-area/index.vue | 8
src/i18n/fa.js | 5
src/views/cryptos/AccountChange/index.vue | 13
src/components/Transform/ex-header/index.vue | 7
src/views/cryptos/TrendDetails/index.vue | 7
src/views/ICO/ico.vue | 93 +-
src/views/resetVerify/index.vue | 24
src/views/homePage/index.vue | 2
src/i18n/cn.js | 5
src/router/index.js | 7
src/views/cryptos/Exchange/exchangePage.vue | 6
src/views/order/order-submit.vue | 13
src/components/Transform/mining-exchange-input/index.vue | 8
src/service/request.js | 1
src/components/Transform/mining-account/index.vue | 523 ++++++++--------
src/views/cryptos/Withdraw/withdrawSumbit.vue | 154 ++--
src/views/safety/resetPhoneEmail.vue | 401 ++++++++++++
src/views/register/index.vue | 7
src/utils/utis.js | 9
src/components/Transform/application/application.vue | 7
src/views/cryptos/Recharge/rechargeSubmit.vue | 204 +++---
src/views/cryptos/Recharge/rechargePage.vue | 6
src/components/Transform/cryptos-trade-deep-data/index.vue | 12
46 files changed, 1,258 insertions(+), 638 deletions(-)
diff --git a/src/components/Transform/application/application.vue b/src/components/Transform/application/application.vue
index 7363c0c..0ea73c0 100644
--- a/src/components/Transform/application/application.vue
+++ b/src/components/Transform/application/application.vue
@@ -37,6 +37,7 @@
import { Image as VanImage } from 'vant';
import assetsHead from "@/components/Transform/assets-head/index.vue";
import { dataTimeEx } from '@/utils/utis'
+import { customerServiceUrl } from "@/config";
export default {
name: 'rechargeSubmit',
components: {
@@ -70,7 +71,11 @@
this.time = dataTimeEx(Date.parse(new Date()), true);
},
tokefu() {
- this.$router.push('/customerService')
+ if (customerServiceUrl) {
+ window.location.href = customerServiceUrl;
+ } else {
+ this.$router.push('/customerService')
+ }
}
}
}
diff --git a/src/components/Transform/cryptos-trade-deep-data/index.vue b/src/components/Transform/cryptos-trade-deep-data/index.vue
index 820cde7..35c354c 100644
--- a/src/components/Transform/cryptos-trade-deep-data/index.vue
+++ b/src/components/Transform/cryptos-trade-deep-data/index.vue
@@ -7,12 +7,12 @@
</div>
<div class="text-right items-end justify-end">
<div class="">{{ $t('数量') }}</div>
- <div class="mt-5">({{ symbol_data.toUpperCase() || '--' }})</div>
+ <div class="mt-5">({{ symbol_name.toUpperCase() || '--' }})</div>
</div>
</div>
- <div v-if="showType == 0 || showType == 2" class="flex justify-between pt-6 font-26" v-for="(item, index) in redData"
- :key="item + index" @click="onPrice(item.price)" :style="{
+ <div v-if="showType == 0 || showType == 2" class="flex justify-between pt-6 font-26"
+ v-for="(item, index) in redData" :key="item + index" @click="onPrice(item.price)" :style="{
'background': `linear-gradient(to right,${THEME == 'dark' ? '#131A2E' : '#fff'} 0%` +
(item.amount / greenData[greenData.length - 1].amount) * 100 + '%,rgba(246,70,93,.1) ' +
(item.amount / greenData[greenData.length - 1].amount) * 100 + '%,rgba(246,70,93,.1) 100%)'
@@ -44,7 +44,7 @@
<script>
import { WS_URL } from '@/config'
-import { fixDate } from "@/utils/utis";
+import { fixDate, strToArr } from "@/utils/utis";
import { THEME } from '@/config/theme'
import { _getHomeList } from '@/service/home.api'
import { mapGetters } from 'vuex'
@@ -79,7 +79,8 @@
greenData: init,
redData: init,
socket: null,
- symbol_data: ''
+ symbol_data: '',
+ symbol_name: '',
}
},
mounted() {
@@ -111,6 +112,7 @@
getHomeList() {
_getHomeList(this.symbol).then((res) => {
this.symbol_data = res[0].symbol_data
+ this.symbol_name = strToArr(res[0].name, '/')[0]
let numberText = res[0].close.toString()
let numberLength = (numberText.substring(numberText.indexOf('.') + 1, numberText.length)).length
diff --git a/src/components/Transform/ex-header/index.vue b/src/components/Transform/ex-header/index.vue
index 1e5dd35..e1a7edf 100644
--- a/src/components/Transform/ex-header/index.vue
+++ b/src/components/Transform/ex-header/index.vue
@@ -14,6 +14,7 @@
<script>
import { THEME } from '@/config/theme'
+import { customerServiceUrl } from "@/config";
export default {
props: {
unread_num: {
@@ -50,7 +51,11 @@
this.tabList[index]['data'] = this.tabList[index]['data'].filter(item => item.symbol.includes(this.keywords))
},
tokefu() {
- this.$router.push('/customerService')
+ if (customerServiceUrl) {
+ window.location.href = customerServiceUrl;
+ } else {
+ this.$router.push('/customerService')
+ }
}
}
}
diff --git a/src/components/Transform/mining-account/index.vue b/src/components/Transform/mining-account/index.vue
index ab2af43..49ddca7 100644
--- a/src/components/Transform/mining-account/index.vue
+++ b/src/components/Transform/mining-account/index.vue
@@ -37,287 +37,292 @@
</template>
<script>
- import MiningExchangeInput from "../mining-exchange-input/index.vue";
- import {
- Grid,
- GridItem,
- Popup,
- Icon,
- showToast
- } from "vant";
- // import { mapState } from "vuex";
- import {
- _exchangeRage,
- _getAllWallet,
- _initWidthdrawl,
- _widthdrawl,
- _records
- } from "@/service/fund.api";
- import {
- mapGetters
- } from "vuex";
- import {
- List,
- PullRefresh
- } from 'vant';
- import {
- debounce
- } from '@/utils'
- export default {
- name: "MiningAcccount",
- components: {
- [Grid.name]: Grid,
- [GridItem.name]: GridItem,
- [Popup.name]: Popup,
- [Icon.name]: Icon,
- MiningExchangeInput,
- [List.name]: List,
- [PullRefresh.name]: PullRefresh
+import MiningExchangeInput from "../mining-exchange-input/index.vue";
+import {
+ Grid,
+ GridItem,
+ Popup,
+ Icon,
+ showToast
+} from "vant";
+// import { mapState } from "vuex";
+import {
+ _exchangeRage,
+ _getAllWallet,
+ _initWidthdrawl,
+ _widthdrawl,
+ _records
+} from "@/service/fund.api";
+import {
+ mapGetters
+} from "vuex";
+import {
+ List,
+ PullRefresh
+} from 'vant';
+import {
+ debounce
+} from '@/utils'
+export default {
+ name: "MiningAcccount",
+ components: {
+ [Grid.name]: Grid,
+ [GridItem.name]: GridItem,
+ [Popup.name]: Popup,
+ [Icon.name]: Icon,
+ MiningExchangeInput,
+ [List.name]: List,
+ [PullRefresh.name]: PullRefresh
+ },
+ props: {
+ show: {
+ type: Boolean,
+ default: false,
},
- props: {
- show: {
- type: Boolean,
- default: false,
+ },
+ computed: {
+ ...mapGetters('user', ['userInfo']),
+ tabList() {
+ return [{
+ id: 1,
+ text: this.$t('提幣')
},
+ {
+ id: 2,
+ text: this.$t('交易記錄')
+ }
+ ]
},
- computed: {
- ...mapGetters('user', ['userInfo']),
- tabList() {
- return [{
- id: 1,
- text: this.$t('提幣')
- },
- {
- id: 2,
- text: this.$t('交易記錄')
- }
- ]
- },
- addr() {
- const account = this.userInfo.account
- return account && account.substr(0, 5) + '********' + account.substr(account.length - 5)
- },
- amountAvailable() {
- console.log(this.form.symbol)
- console.log(this.wallets)
- let res
- let dataInfo = this.wallets.find(item => item.symbol_data.toUpperCase() === this.form.symbol.toUpperCase())
+ addr() {
+ const account = this.userInfo.account
+ return account && account.substr(0, 5) + '********' + account.substr(account.length - 5)
+ },
+ amountAvailable() {
+ // console.log("ddddddddddddddddddd", this.form.iconImg1, this.wallets)
+ let res
+ let dataInfo = this.wallets.find(item => item.symbol_data.toUpperCase() == this.form.iconImg1.toUpperCase())
- if (dataInfo) {
- res = dataInfo.usable
- } else {
- res = 0
- }
- return res
- },
+ if (dataInfo) {
+ res = dataInfo.usable
+ } else {
+ res = 0
+ }
+
+ return res
},
- data() {
- return {
- showPopup: false,
- activeRecord: 'exchange',
- valueTwo: 0,
+ },
+ data() {
+ return {
+ showPopup: false,
+ activeRecord: 'exchange',
+ valueTwo: 0,
+ rate: 0,
+ form: { // 闪兑
+ symbol: 'USDC',
+ symbol_to: 'USDT',
+ name: '',
+ volume: '',
rate: 0,
- form: { // 闪兑
- symbol: 'USDC',
- symbol_to: 'USDT',
- volume: '',
- rate: 0,
- iconImg2: '',
- iconImg1: '',
- symbol_ex: '',
- symbol_to_ex: '',
+ iconImg2: '',
+ iconImg1: '',
+ symbol_ex: '',
+ symbol_to_ex: '',
- },
- interval: null,
- actions: [],
- balance: 0, // 质押余额
- page: 1,
- loading: false, // 当loading为true时,转圈圈
- finished: false, // 数据是否请求结束,结束会先显示'已经全部加载完毕'
- noData: false, // 如果没有数据,显示暂无数据
- wallets: [], // 钱包列表
- active: 0,
+ },
+ interval: null,
+ actions: [],
+ balance: 0, // 质押余额
+ page: 1,
+ loading: false, // 当loading为true时,转圈圈
+ finished: false, // 数据是否请求结束,结束会先显示'已经全部加载完毕'
+ noData: false, // 如果没有数据,显示暂无数据
+ wallets: [], // 钱包列表
+ active: 0,
+ }
+ },
+ created() {
+ let obj = {
+ symbolType: 'cryptos'
+ }
+ _getAllWallet(obj).then(data => {
+ this.actions = []
+ data.extends.map(item => {
+ this.actions.push({
+ symbol: item.symbol,
+ name: item.name,
+ symbol_data: item.symbol,
+ usable: item.usable,
+ usdt: item.usdt,
+ symbol_data: item.symbol_data
+ })
+ })
+ this.wallets = data.extends
+ console.log("this.actions", this.actions[0].symbol_data);
+ this.form.symbol = this.strToArr(this.actions[0].name, '/')[0]
+ this.form.symbol_to = this.strToArr(this.actions[1].name, '/')[0]
+ this.form.iconImg1 = this.actions[0].symbol_data
+ this.form.iconImg2 = this.actions[1].symbol_data
+ this.form.symbol_ex = this.actions[0].symbol
+ this.form.symbol_to_ex = this.actions[1].symbol
+
+ })
+ },
+ methods: {
+ onMax() { // 最大
+ if (this.amountAvailable / 1) {
+ this.form.volume = this.amountAvailable
+ this.debounceFn()
+ } else {
+ showToast(this.$t('你没有可提数量'))
}
},
- created() {
- let obj = {
- symbolType: 'cryptos'
+ onInput(e) { // 获取最新
+ this.form.volume = e.target.value
+ this.clearInterval()
+ if (this.form.volume == '') {
+ this.form.get_volume = ''
+ } else {
+ this.debounceFn()
}
- _getAllWallet(obj).then(data => {
- this.actions = []
- data.extends.map(item => {
- this.actions.push({
- symbol: item.symbol,
- name: item.symbol,
- symbol_data: item.symbol,
- usable: item.usable,
- usdt: item.usdt,
- symbol_data: item.symbol_data
- })
- })
- this.wallets = data.extends
- console.log("this.actions",this.actions[0].symbol_data);
- this.form.symbol = this.actions[0].symbol_data
- this.form.symbol_to = this.actions[1].symbol_data
- this.form.iconImg1 = this.actions[0].symbol_data
- this.form.iconImg2 = this.actions[1].symbol_data
- this.form.symbol_ex = this.actions[0].symbol
- this.form.symbol_to_ex = this.actions[1].symbol
+ },
+ debounceFn: debounce(function () {
+ this.fetchRate(true)
+ }, 300),
+ fetchRate(callback) { // interval
+ let obj = {
+ symbol: this.form.symbol_ex,
+ symbol_to: this.form.symbol_to_ex,
+ volume: this.form.volume
+ }
+ _exchangeRage(obj).then(data => {
+ const {
+ get_rate
+ } = data
+ this.form.rate = get_rate
+ this.clearInterval()
+ if (callback && typeof callback === 'function') {
+ callback()
+ }
})
},
- methods: {
- onMax() { // 最大
- if (this.amountAvailable / 1) {
- this.form.volume = this.amountAvailable
- this.debounceFn()
- } else {
- showToast(this.$t('你没有可提数量'))
- }
- },
- onInput(e) { // 获取最新
- this.form.volume = e.target.value
- this.clearInterval()
- if (this.form.volume == '') {
- this.form.get_volume = ''
- } else {
- this.debounceFn()
- }
- },
- debounceFn: debounce(function() {
+ onSwitch() { // 交换
+ const temp = this.form.symbol
+ this.form.symbol = this.form.symbol_to
+ this.form.symbol_to = temp
+ const tempImg = this.form.iconImg1
+ this.form.iconImg1 = this.form.iconImg2
+ this.form.iconImg2 = tempImg
+ const tempsymbol = this.form.symbol_ex
+ this.form.symbol_ex = this.form.symbol_to_ex
+ this.form.symbol_to_ex = tempsymbol
- this.fetchRate(true)
- }, 300),
- fetchRate(callback) { // interval
- let obj = {
- symbol: this.form.symbol_ex,
- symbol_to: this.form.symbol_to_ex,
- volume: this.form.volume
- }
- _exchangeRage(obj).then(data => {
- const {
- get_rate
- } = data
- this.form.rate = get_rate
- this.clearInterval()
- if (callback && typeof callback === 'function') {
- callback()
- }
- })
- },
- onSwitch() { // 交换
- const temp = this.form.symbol
- this.form.symbol = this.form.symbol_to
- this.form.symbol_to = temp
- const tempImg = this.form.iconImg1
- this.form.iconImg1 = this.form.iconImg2
- this.form.iconImg2 = tempImg
- const tempsymbol = this.form.symbol_ex
- this.form.symbol_ex = this.form.symbol_to_ex
- this.form.symbol_to_ex = tempsymbol
-
+ this.form.volume = ''
+ console.log("this.form", this.form);
+ this.clearInterval()
+ },
+ onSelect(type, evt) { // 选择
+ if (evt.type == 0) {
+ this.form['symbol'] = this.strToArr(evt.item.name, '/')[0]
+ this.form['iconImg1'] = evt.item.symbol_data
+ this.form['symbol_ex'] = evt.item.symbol
+ } else {
+ this.form['symbol_to'] = this.strToArr(evt.item.name, '/')[0]
+ this.form['iconImg2'] = evt.item.symbol_data
+ this.form['symbol_to_ex'] = evt.item.symbol
+ }
+ if (this.form.symbol !== this.form.symbol_to) {
this.form.volume = ''
- console.log("this.form",this.form);
- this.clearInterval()
- },
- onSelect(type, evt) { // 选择
- if (evt.type == 0) {
- this.form['symbol'] = evt.item.symbol_data
- this.form['iconImg1'] = evt.item.symbol_data
- this.form['symbol_ex'] = evt.item.symbol
- } else {
- this.form['symbol_to'] = evt.item.symbol_data
- this.form['iconImg2'] = evt.item.symbol_data
- this.form['symbol_to_ex'] = evt.item.symbol
- }
- if (this.form.symbol !== this.form.symbol_to) {
- this.form.volume = ''
- }
- this.clearInterval()
- },
- onConfirm() { // 闪兑
- this.clearInterval()
- if (this.form.volume == '') {
- showToast(this.$t('请输入数量'));
- } else {
- this.fetchRate(() => {
- this.$emit("exchange", this.form);
- })
- }
- },
- clearInterval() { // 清除定时器
- clearInterval(this.interval)
- this.interval = null
+ }
+ this.clearInterval()
+ },
+ onConfirm() { // 闪兑
+ this.clearInterval()
+ if (this.form.volume == '') {
+ showToast(this.$t('请输入数量'));
+ } else {
+ this.fetchRate(() => {
+ this.$emit("exchange", this.form);
+ })
}
},
- beforeUnmount() {
- // console.log('beforeDestroy')
- this.clearInterval()
- }
- };
+ clearInterval() { // 清除定时器
+ clearInterval(this.interval)
+ this.interval = null
+ },
+ strToArr(str, separator = ',') {
+ if (typeof str !== 'string') return [];
+ return str.split(separator);
+ },
+ },
+ beforeUnmount() {
+ // console.log('beforeDestroy')
+ this.clearInterval()
+ }
+};
</script>
<style scoped lang="scss">
- @import "@/assets/init.scss";
+@import "@/assets/init.scss";
- #cryptos {
- .account_card {
+#cryptos {
+ .account_card {
+ background: $inp-b !important;
+ border-radius: 2.5rem;
+ padding: 1.2rem 2.5rem;
+
+ div {
background: $inp-b !important;
- border-radius: 2.5rem;
- padding: 1.2rem 2.5rem;
-
- div {
- background: $inp-b !important;
- }
- }
-
- .exchange-btn {
- bottom: 48px;
- left: 0;
-
- font-size: 36px;
-
- p {
- border-radius: 4rem;
- }
- }
-
- .active {
- color: $black;
-
- &:after {
- content: '';
- display: block;
- position: absolute;
- bottom: 0;
- width: 140px;
- height: 8px;
- background: $active_line;
- margin: 0 auto;
- }
- }
-
- .convert-box {
- background: $mainbgWhiteColor;
- margin: -2rem auto;
- border-radius: 50%;
- display: flex;
- align-items: center;
- justify-content: center;
- width: 6rem;
- height: 6rem;
- position: relative;
-
- img {
- width: 50%;
- height: 50%;
- }
- }
-
- .btnMain {
- background: linear-gradient(90deg, #2C64D4 0%, #38AEEA 100%);
- border-radius: 5px;
- font-weight: bold;
}
}
+
+ .exchange-btn {
+ bottom: 48px;
+ left: 0;
+
+ font-size: 36px;
+
+ p {
+ border-radius: 4rem;
+ }
+ }
+
+ .active {
+ color: $black;
+
+ &:after {
+ content: '';
+ display: block;
+ position: absolute;
+ bottom: 0;
+ width: 140px;
+ height: 8px;
+ background: $active_line;
+ margin: 0 auto;
+ }
+ }
+
+ .convert-box {
+ background: $mainbgWhiteColor;
+ margin: -2rem auto;
+ border-radius: 50%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 6rem;
+ height: 6rem;
+ position: relative;
+
+ img {
+ width: 50%;
+ height: 50%;
+ }
+ }
+
+ .btnMain {
+ background: linear-gradient(90deg, #2C64D4 0%, #38AEEA 100%);
+ border-radius: 5px;
+ font-weight: bold;
+ }
+}
</style>
\ No newline at end of file
diff --git a/src/components/Transform/mining-exchange-input/index.vue b/src/components/Transform/mining-exchange-input/index.vue
index a219b85..18fb87b 100644
--- a/src/components/Transform/mining-exchange-input/index.vue
+++ b/src/components/Transform/mining-exchange-input/index.vue
@@ -72,7 +72,7 @@
class="w-30 h-30 rounded-full mr-10 currency-icon" />
</div>
<div>
- <div class="item-title textColor">{{ item.symbol_data.toUpperCase() }}</div>
+ <div class="item-title textColor">{{ strToArr(item.name.toUpperCase(),'/')[0] }}</div>
</div>
</div>
<div class="text-right" v-if="activeIndex == 0">
@@ -234,7 +234,11 @@
} else {
this.currencyList = this.allCurrencyList
}
- }
+ },
+ strToArr(str, separator = ',') {
+ if (typeof str !== 'string') return [];
+ return str.split(separator);
+ },
},
};
</script>
diff --git a/src/components/Transform/trade-order-area/index.vue b/src/components/Transform/trade-order-area/index.vue
index 99536b2..0b1966c 100644
--- a/src/components/Transform/trade-order-area/index.vue
+++ b/src/components/Transform/trade-order-area/index.vue
@@ -27,10 +27,10 @@
<span>{{ title }}</span>
</div>
- <template v-if="initClose.status / 1 === 0">
+ <!-- <template v-if="initClose.status / 1 === 0">
<div class="flex justify-center items-center h-66 buy-item">{{ $t('停牌中,禁止交易') }}</div>
- </template>
- <template v-else>
+ </template> -->
+ <!-- <template v-else> -->
<div class="flex total-list">
<div class="total-div" :class="[!isTotal ? 'active-bg' : '']" @click="checkIsTotal(false)">
{{ $t('数量') }}
@@ -76,7 +76,7 @@
:class="currentType === 'open' ? 'bg-green' : 'bg-red'" @click="order()">
{{ currentType == 'open' ? $t('买入') : $t('卖出') }}
</div>
- </template>
+ <!-- </template> -->
</div>
</template>
diff --git a/src/components/application/application.vue b/src/components/application/application.vue
index a6e52cf..d175e46 100644
--- a/src/components/application/application.vue
+++ b/src/components/application/application.vue
@@ -6,7 +6,7 @@
<div class="content-box">
<div class="flex flex-col items-center justify-center mt96">
<van-image width="162" height="142" src="'../../assets/image/assets-center/success.png'" />
- <div class="font-45 font-700 success-title textColor">{{ title }} {{$t('申请已提交')}}</div>
+ <div class="font-45 font-700 success-title textColor">{{ title }} {{ $t('申请已提交') }}</div>
</div>
<div class="mb87">
<div class="font-35 textColor">{{ title }} {{ $t('申请已提交') }}</div>
@@ -25,7 +25,8 @@
<!-- </div>-->
</div>
<div class="btn-wrap">
- <button class="btnMain text-white next-btn font-35" @click="goRouter('/cryptos/assetsCenter/rechargeWithdrawRecord')">
+ <button class="btnMain text-white next-btn font-35"
+ @click="goRouter('/cryptos/assetsCenter/rechargeWithdrawRecord')">
{{ $t('查看') }} {{ title }} {{ $t('历史') }}</button>
</div>
</div>
@@ -35,86 +36,94 @@
<script>
import { Image as VanImage } from 'vant';
import assetsHead from "@/components/Transform/assets-head/index.vue";
+import { customerServiceUrl } from "@/config";
import { dataTimeEx } from '@/utils/utis'
export default {
- name:'rechargeSubmit',
- components:{
- assetsHead,
- [VanImage.name]:VanImage
+ name: 'rechargeSubmit',
+ components: {
+ assetsHead,
+ [VanImage.name]: VanImage
+ },
+ props: {
+ title: {
+ type: String,
+ default: ""
+ }
+ },
+ data() {
+ return {
+ time: ''
+ }
+ },
+ created() {
+ this.getTime()
+ },
+ methods: {
+ onClickLeft() {
+ this.$router.go(-1);
},
- props:{
- title:{
- type:String,
- default:""
- }
+ goRouter(params) {
+ this.$router.push({
+ path: params
+ });
},
- data() {
- return {
- time:''
- }
+ getTime() {
+ this.time = dataTimeEx(Date.parse(new Date()), true);
},
- created() {
- this.getTime()
- },
- methods:{
- onClickLeft() {
- this.$router.go(-1);
- },
- goRouter(params) {
- this.$router.push({
- path:params
- });
- },
- getTime(){
- this.time = dataTimeEx(Date.parse(new Date()),true);
- },
- tokefu() {
+ tokefu() {
+ if (customerServiceUrl) {
+ window.location.href = customerServiceUrl;
+ } else {
this.$router.push('/customerService')
}
}
+ }
}
</script>
<style lang="scss" scoped>
@import "@/assets/init.scss";
-#cryptos{
+
+#cryptos {
.page-box {
- box-sizing: border-box;
-}
-.btn-wrap {
- position: fixed;
- left: 0;
- bottom: 86px;
- width: 100%;
- padding: 0 30px;
- box-sizing: border-box;
-}
-.mt96 {
- margin-top:114px;
-}
-.success-title{
- margin-top:70px;
- margin-bottom:115px;
-}
+ box-sizing: border-box;
+ }
-.mt14{
- margin-top:14px;
-}
+ .btn-wrap {
+ position: fixed;
+ left: 0;
+ bottom: 86px;
+ width: 100%;
+ padding: 0 30px;
+ box-sizing: border-box;
+ }
-.mb87{
- margin-bottom:87px;
-}
+ .mt96 {
+ margin-top: 114px;
+ }
-.service-text{
- text-decoration:underline;
-}
-.next-btn{
- width:100%;
- height:96px;
- border:none;
- outline:none;
- border-radius: 8px;
-}
-}
+ .success-title {
+ margin-top: 70px;
+ margin-bottom: 115px;
+ }
+ .mt14 {
+ margin-top: 14px;
+ }
+ .mb87 {
+ margin-bottom: 87px;
+ }
+
+ .service-text {
+ text-decoration: underline;
+ }
+
+ .next-btn {
+ width: 100%;
+ height: 96px;
+ border: none;
+ outline: none;
+ border-radius: 8px;
+ }
+}
</style>
diff --git a/src/i18n/Deutsch.js b/src/i18n/Deutsch.js
index 7879f57..2f883f1 100644
--- a/src/i18n/Deutsch.js
+++ b/src/i18n/Deutsch.js
@@ -2836,4 +2836,9 @@
"反洗钱协议": "Anti-Geldwäsche-Vereinbarung",
"法律声明": "Rechtlicher Hinweis",
"金融服务牌照": "Finanzdienstleistungslizenz",
+ "充值记录": "Aufladeprotokoll",
+ "当日": "Ist das",
+ "最低认购": "Mindestzeichnung",
+ "币种数量": "Menge der währung",
+ "进度": "Fortschritt",
}
\ No newline at end of file
diff --git a/src/i18n/Italy.js b/src/i18n/Italy.js
index 5e705a5..854e456 100644
--- a/src/i18n/Italy.js
+++ b/src/i18n/Italy.js
@@ -2926,4 +2926,9 @@
"反洗钱协议": "Accordo antiriciclaggio",
"法律声明": "Dichiarazione legale",
"金融服务牌照": "Licenza di servizi finanziari",
+ "充值记录": "Registro di ricarica",
+ "当日": "Oggi",
+ "最低认购": "Sottoscrizione minima",
+ "币种数量": "Menge der Währung",
+ "进度": "Fortschritt",
}
\ No newline at end of file
diff --git a/src/i18n/Japanese.js b/src/i18n/Japanese.js
index 59cec67..2e584bc 100644
--- a/src/i18n/Japanese.js
+++ b/src/i18n/Japanese.js
@@ -2694,4 +2694,9 @@
"反洗钱协议": "マネーロンダリング防止契約",
"法律声明": "法的声明",
"金融服务牌照": "金融サービスライセンス",
+ "充值记录": "入金記録",
+ "当日": "当日",
+ "最低认购": "最低申込",
+ "币种数量": "通貨数量",
+ "进度": "進捗",
}
\ No newline at end of file
diff --git a/src/i18n/Portuguese.js b/src/i18n/Portuguese.js
index 3f1b56d..98fc45c 100644
--- a/src/i18n/Portuguese.js
+++ b/src/i18n/Portuguese.js
@@ -646,4 +646,9 @@
"反洗钱协议": "Acordo de Prevenção à Lavagem de Dinheiro",
"法律声明": "Declaração Legal",
"金融服务牌照": "Licença de Serviços Financeiros",
+ "充值记录": "Registro de recarga",
+ "当日": "Hoje",
+ "最低认购": "Subscrição mínima",
+ "币种数量": "Quantidade de moeda",
+ "进度": "Progresso",
}
\ No newline at end of file
diff --git a/src/i18n/Spanish.js b/src/i18n/Spanish.js
index 5eb6111..c2d9456 100644
--- a/src/i18n/Spanish.js
+++ b/src/i18n/Spanish.js
@@ -2609,4 +2609,9 @@
"反洗钱协议": "Acuerdo de prevención de lavado de dinero",
"法律声明": "Declaración legal",
"金融服务牌照": "Licencia de servicios financieros",
+ "充值记录": "Registro de recarga",
+ "当日": "Hoy",
+ "最低认购": "Suscripción mínima",
+ "币种数量": "Cantidad de moneda",
+ "进度": "Progreso",
}
\ No newline at end of file
diff --git a/src/i18n/cn.js b/src/i18n/cn.js
index f729a3e..db84cb5 100644
--- a/src/i18n/cn.js
+++ b/src/i18n/cn.js
@@ -2815,4 +2815,9 @@
"反洗钱协议": "反洗錢協議",
"法律声明": "法律聲明",
"金融服务牌照": "金融服務牌照",
+ "充值记录": "充值記錄",
+ "当日": "當日",
+ "最低认购": "最低認購",
+ "币种数量": "幣種數量",
+ "进度": "進度",
}
diff --git a/src/i18n/en.js b/src/i18n/en.js
index 77333d2..66c502b 100644
--- a/src/i18n/en.js
+++ b/src/i18n/en.js
@@ -2790,4 +2790,9 @@
"反洗钱协议": "Anti-Money Laundering Agreement",
"法律声明": "Legal Statement",
"金融服务牌照": "Financial Services License",
+ "充值记录": "Recharge record",
+ "当日": "Today",
+ "最低认购": "Minimum subscription",
+ "币种数量": "Currency quantity",
+ "进度": "Progress",
}
\ No newline at end of file
diff --git a/src/i18n/fa.js b/src/i18n/fa.js
index df3ba3a..60b1ee5 100644
--- a/src/i18n/fa.js
+++ b/src/i18n/fa.js
@@ -2733,4 +2733,9 @@
"反洗钱协议": "Accord de lutte contre le blanchiment d'argent",
"法律声明": "Mention légale",
"金融服务牌照": "Licence de services financiers",
+ "充值记录": "Recharge record",
+ "当日": "Aujourd'hui",
+ "最低认购": "Souscription minimale",
+ "币种数量": "Menge der Währung",
+ "进度": "Fortschritt",
}
\ No newline at end of file
diff --git a/src/i18n/korean.js b/src/i18n/korean.js
index f1e0f31..c632db7 100644
--- a/src/i18n/korean.js
+++ b/src/i18n/korean.js
@@ -2830,4 +2830,9 @@
"反洗钱协议": "자금세탁 방지 계약",
"法律声明": "법적 선언",
"金融服务牌照": "금융 서비스 라이센스",
+ "充值记录": "충전 기록",
+ "当日": "당일",
+ "最低认购": "최소 구독",
+ "币种数量": "통화 수량",
+ "进度": "진행 상황",
}
\ No newline at end of file
diff --git a/src/i18n/th.js b/src/i18n/th.js
index 508b51a..67f6317 100644
--- a/src/i18n/th.js
+++ b/src/i18n/th.js
@@ -2801,4 +2801,9 @@
"反洗钱协议": "ข้อตกลงการป้องกันการฟอกเงิน",
"法律声明": "คำชี้แจงทางกฎหมาย",
"金融服务牌照": "ใบอนุญาตบริการทางการเงิน",
+ "充值记录": "บันทึกการเติมเงิน",
+ "当日": "วันนี้",
+ "最低认购": "การจองซื้อขั้นต่ำ",
+ "币种数量": "จำนวนเงินตรา",
+ "进度": "ความก้าวหน้า",
}
\ No newline at end of file
diff --git a/src/i18n/vi.js b/src/i18n/vi.js
index d245399..c02257b 100644
--- a/src/i18n/vi.js
+++ b/src/i18n/vi.js
@@ -2780,4 +2780,9 @@
"反洗钱协议": "Thỏa thuận chống rửa tiền",
"法律声明": "Tuyên bố pháp lý",
"金融服务牌照": "Giấy phép dịch vụ tài chính",
+ "充值记录": "Lịch sử nạp tiền",
+ "当日": "Ngày nay",
+ "最低认购": "Đăng ký tối thiểu",
+ "币种数量": "Số lượng tiền tệ",
+ "进度": "Tiến độ",
}
\ No newline at end of file
diff --git a/src/i18n/zhcn.js b/src/i18n/zhcn.js
index fcf3e7b..ddafd11 100644
--- a/src/i18n/zhcn.js
+++ b/src/i18n/zhcn.js
@@ -2795,4 +2795,9 @@
"反洗钱协议": "反洗钱协议",
"法律声明": "法律声明",
"金融服务牌照": "金融服务牌照",
+ "充值记录": "充值记录",
+ "当日": "当日",
+ "最低认购": "最低认购",
+ "币种数量": "币种数量",
+ "进度": "进度",
}
\ No newline at end of file
diff --git a/src/router/index.js b/src/router/index.js
index 2df4040..7a7ef15 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -1425,6 +1425,13 @@
import( /* webpackChunkName: "changeFundsPassword" */ /* webpackPrefetch: true */
'@/views/changeFundsPassword/index.vue')
},
+ { //重置邮箱/手机号
+ path: '/resetPhoneEmail',
+ name: 'resetPhoneEmail',
+ component: () =>
+ import( /* webpackChunkName: "changeFundsPassword" */ /* webpackPrefetch: true */
+ '@/views/safety/resetPhoneEmail.vue')
+ },
{ //绑定验证
path: '/bindVerify',
name: 'bindVerify',
diff --git a/src/service/login.api.js b/src/service/login.api.js
index 6e8a3f2..25fcccf 100644
--- a/src/service/login.api.js
+++ b/src/service/login.api.js
@@ -53,4 +53,4 @@
method: "get",
data: params
})
-};
\ No newline at end of file
+};
diff --git a/src/service/request.js b/src/service/request.js
index 862e715..d7bf2ea 100644
--- a/src/service/request.js
+++ b/src/service/request.js
@@ -81,6 +81,7 @@
case 403: // 登录状态已过期,您可以继续留在该页面,或者重新登录
userStore.userInfo = {}
store.state.user.userInfo = {}
+ showToast({ type: 'warning', message: i18n.global.t('请重新登录')})
router.push({
path: '/login'
})
diff --git a/src/service/user.api.js b/src/service/user.api.js
index 2c3a0d6..65b3a7c 100644
--- a/src/service/user.api.js
+++ b/src/service/user.api.js
@@ -374,4 +374,13 @@
method: "POST",
params,
})
-}
\ No newline at end of file
+}
+
+//重置账户密码
+export const _registerEorP = (params) => {
+ return request({
+ url: `${API_PREFIX}/user/resetUserName`,
+ method: METHODS.POST,
+ data: params
+ })
+};
\ No newline at end of file
diff --git a/src/utils/utis.js b/src/utils/utis.js
index 32ea1ce..cd7ade8 100644
--- a/src/utils/utis.js
+++ b/src/utils/utis.js
@@ -264,4 +264,11 @@
export const handleImage = (url) => {
return new URL(url, import.meta.url).href
-}
\ No newline at end of file
+}
+
+// 字符串转数组
+export const strToArr = (str, separator = ',') => {
+ if (typeof str !== 'string') return [];
+ return str.split(separator);
+}
+
diff --git a/src/views/C2C/c2c-order-list/components/TradeSuccessDetail.vue b/src/views/C2C/c2c-order-list/components/TradeSuccessDetail.vue
index e138a1f..55a6be6 100644
--- a/src/views/C2C/c2c-order-list/components/TradeSuccessDetail.vue
+++ b/src/views/C2C/c2c-order-list/components/TradeSuccessDetail.vue
@@ -92,6 +92,7 @@
import OrderData from "./OrderData.vue";
import Evaluation from "./Evaluation.vue";
import otcApi from "@/service/otc";
+import { customerServiceUrl } from "@/config";
export default {
name: "TradeSuccessDetail",
props: ['title', 'back'],
@@ -145,7 +146,11 @@
return str
},
tokefu() {
- this.$router.push('/customerService')
+ if (customerServiceUrl) {
+ window.location.href = customerServiceUrl;
+ } else {
+ this.$router.push('/customerService')
+ }
}
}
}
diff --git a/src/views/C2C/c2c-trade/components/TradeSuccessDetail.vue b/src/views/C2C/c2c-trade/components/TradeSuccessDetail.vue
index 43a7e96..2424098 100644
--- a/src/views/C2C/c2c-trade/components/TradeSuccessDetail.vue
+++ b/src/views/C2C/c2c-trade/components/TradeSuccessDetail.vue
@@ -92,6 +92,7 @@
import OrderData from "../../c2cOrder/components/order-data/OrderData.vue";
import Evaluation from "../../c2cOrder/payment/components/Evaluation.vue";
import otcApi from "@/service/otc";
+import { customerServiceUrl } from "@/config";
export default {
name: "TradeSuccessDetail",
props: ['title', 'back'],
@@ -145,7 +146,11 @@
return str
},
tokefu() {
- this.$router.push('/customerService')
+ if (customerServiceUrl) {
+ window.location.href = customerServiceUrl;
+ } else {
+ this.$router.push('/customerService')
+ }
}
}
}
diff --git a/src/views/C2C/c2c-trade/page/SellGenerate.vue b/src/views/C2C/c2c-trade/page/SellGenerate.vue
index 366f342..0d30d93 100644
--- a/src/views/C2C/c2c-trade/page/SellGenerate.vue
+++ b/src/views/C2C/c2c-trade/page/SellGenerate.vue
@@ -10,7 +10,7 @@
<div class="font-48">{{ $t('等待买家付款') }}</div>
<div class="mt-16 font-24">{{ $t('预计收到付款') }} <span style="color: #1D91FF">{{
orderDetail.expireTime
- }}{{ $t('分钟') }}</span>
+ }}{{ $t('分钟') }}</span>
</div>
</div>
<div class="w-140 h-144">
@@ -87,9 +87,10 @@
:create-order-time="fullTime(orderDetail.createTime)" :seller-name="orderDetail.c2cUserNickName"
:unit-price="orderDetail.symbolValue" />
<!-- 已超时 -->
- <cancel-success v-if="timeout" :title="$t('出售')" :count="orderDetail.coinAmount" :total-price="orderDetail.amount"
- :order-number="orderDetail.orderNo" :create-order-time="fullTime(orderDetail.createTime)"
- :seller-name="orderDetail.c2cUserNickName" :unit-price="orderDetail.symbolValue">
+ <cancel-success v-if="timeout" :title="$t('出售')" :count="orderDetail.coinAmount"
+ :total-price="orderDetail.amount" :order-number="orderDetail.orderNo"
+ :create-order-time="fullTime(orderDetail.createTime)" :seller-name="orderDetail.c2cUserNickName"
+ :unit-price="orderDetail.symbolValue">
<template #title>{{ $t('已超时') }}</template>
<template #desc>{{ $t('买家付款超时,您的订单已取消') }}</template>
</cancel-success>
@@ -110,6 +111,7 @@
import otcApi from "@/service/otc";
import { formatTime } from "@/utils/utis";
+import { customerServiceUrl } from "@/config";
import { SET_ORDER_INFO } from "@/store/const.store";
export default {
@@ -141,10 +143,10 @@
}
},
setup() {
- onBeforeUnmount(()=>{
+ onBeforeUnmount(() => {
let end = setInterval(function () { }, 10000);
for (let i = 1; i <= end; i++) {
- clearInterval(i);
+ clearInterval(i);
}
})
},
@@ -214,7 +216,11 @@
return formatTime(new Date(time), 'yyyy-MM-dd hh:mm:ss')
},
tokefu() {
- this.$router.push('/customerService')
+ if (customerServiceUrl) {
+ window.location.href = customerServiceUrl;
+ } else {
+ this.$router.push('/customerService')
+ }
}
},
watch: {
@@ -252,6 +258,7 @@
<style lang="scss" scoped>
@import "@/assets/css/copy2.scss";
+
.border-ra {
border-radius: 20px;
}
diff --git a/src/views/C2C/c2cOrder/components/appeal/AppealWaiting.vue b/src/views/C2C/c2cOrder/components/appeal/AppealWaiting.vue
index 6473dbd..a28cfa8 100644
--- a/src/views/C2C/c2cOrder/components/appeal/AppealWaiting.vue
+++ b/src/views/C2C/c2cOrder/components/appeal/AppealWaiting.vue
@@ -1,41 +1,41 @@
<template>
-<div class="w-full h-full">
- <order-nav :title="$t('申述提交')" :back="false" @back="hide"/>
- <div class="mt-70">
- <div class="text-center">
- <img class="w-122 h-122" style="margin: 0 auto;" src="@/assets/image/c2c/Group100.png" alt="">
- <div class="mt-35 font-700 font-56 textColor">{{$t('提交成功')}}</div>
- <div class="mt-10 font-28 text-grey">
- <p class="mb-15">{{$t('您的资料已成功上传!')}}</p>
- <p>{{$t('系统将在三个工作日内审核完毕,请您耐心等候。')}}</p>
+ <div class="w-full h-full">
+ <order-nav :title="$t('申述提交')" :back="false" @back="hide" />
+ <div class="mt-70">
+ <div class="text-center">
+ <img class="w-122 h-122" style="margin: 0 auto;" src="@/assets/image/c2c/Group100.png" alt="">
+ <div class="mt-35 font-700 font-56 textColor">{{ $t('提交成功') }}</div>
+ <div class="mt-10 font-28 text-grey">
+ <p class="mb-15">{{ $t('您的资料已成功上传!') }}</p>
+ <p>{{ $t('系统将在三个工作日内审核完毕,请您耐心等候。') }}</p>
+ </div>
</div>
</div>
+ <div class="px-33 mt-92">
+ <van-button color="#1D91FF" class="w-full h-100 rounded-xl" type="info" @click="tokefu">{{ $t('联系客服') }}
+ </van-button>
+ <div @click="hide" class="mt-34 font-36 text-center" style="color: #1D91FF">{{ $t('返回') }}</div>
+ </div>
</div>
- <div class="px-33 mt-92">
- <van-button
- color="#1D91FF"
- class="w-full h-100 rounded-xl"
- type="info"
- @click="tokefu"
- >{{$t('联系客服')}}
- </van-button>
- <div @click="hide" class="mt-34 font-36 text-center" style="color: #1D91FF">{{$t('返回')}}</div>
- </div>
-</div>
</template>
<script>
-import {Button} from "vant";
+import { Button } from "vant";
import OrderNav from "@/components/order-nav/OrderNav.vue";
+import { customerServiceUrl } from "@/config";
export default {
name: "AppealWaiting",
components: {
- [Button.name]:Button,
+ [Button.name]: Button,
OrderNav,
},
- methods:{
+ methods: {
tokefu() {
- this.$router.push('/customerService')
+ if (customerServiceUrl) {
+ window.location.href = customerServiceUrl;
+ } else {
+ this.$router.push('/customerService')
+ }
},
hide() {
console.log(213)
@@ -45,6 +45,4 @@
}
</script>
-<style scoped>
-
-</style>
+<style scoped></style>
diff --git a/src/views/C2C/c2cOrder/order-generation/orderGeneration.vue b/src/views/C2C/c2cOrder/order-generation/orderGeneration.vue
index 6172380..6ddbe2d 100644
--- a/src/views/C2C/c2cOrder/order-generation/orderGeneration.vue
+++ b/src/views/C2C/c2cOrder/order-generation/orderGeneration.vue
@@ -79,7 +79,7 @@
import OrderNav from "@/components/order-nav/OrderNav.vue";
import OrderData from "../components/order-data/OrderData.vue";
import otcApi from "@/service/otc";
-
+import { customerServiceUrl } from "@/config";
export default {
name: "orderGeneration",
@@ -120,7 +120,11 @@
this.$router.push({ path: '/chat' })
},
tokefu() {
- this.$router.push('/customerService')
+ if (customerServiceUrl) {
+ window.location.href = customerServiceUrl;
+ } else {
+ this.$router.push('/customerService')
+ }
}
},
computed: {
diff --git a/src/views/ICO/ico.vue b/src/views/ICO/ico.vue
index a632c8e..7049991 100644
--- a/src/views/ICO/ico.vue
+++ b/src/views/ICO/ico.vue
@@ -4,9 +4,9 @@
<template v-slot:title>
<div>STO</div>
</template>
- <template v-slot:right>
+ <!-- <template v-slot:right>
<van-icon name="todo-list-o" @click="$router.push('/ICO/icoRecord')" />
- </template>
+ </template> -->
</fx-header>
<div class="ico_list">
@@ -15,40 +15,51 @@
{{ i.name }}
</div>
<div class="item_2 flex justify-between">
- <div class="mr-5">{{$t('申购时间')}}</div>
+ <div class="mr-5">{{ $t('申购时间') }}</div>
<div>{{ i.startDate }} ~ {{ i.endDate }}</div>
</div>
<div class="item_2 flex justify-between">
- <div>{{$t('listingDate')}}</div>
- <div>{{ i.marketDate }}</div>
+ <div>{{ $t('最低认购') }}</div>
+ <div>{{ i.minContribution }}</div>
</div>
<div class="item_2 flex justify-between">
- <div>{{$t('每张金额')}}</div>
+ <div>{{ $t('币种数量') }}</div>
+ <div>{{ i.maxContribution }}</div>
+ </div>
+ <div class="item_2 flex justify-between">
+ <div>{{ $t('IssuePrice') }}</div>
<div>{{ i.unitAmount }}</div>
</div>
+
<div class="item_2 flex justify-between">
- <div>{{$t('每张手续费')}}</div>
- <div>{{ i.unitFee }}</div>
+ <div>{{ $t('listingDate') }}</div>
+ <div>{{ i.marketDate }}</div>
</div>
- <div class="item_3 flex justify-center">
+ <div class="item_2 flex justify-between align-center">
+ <div>{{ $t('进度') }}</div>
+ <div style="width: 70%;padding-top: 1rem;">
+ <van-progress :percentage="i.progressRate || 0" track-color="#ccc" />
+ </div>
+ </div>
+ <!-- <div class="item_3 flex justify-center">
<van-button type="default" round size="large" @click="openBuy(i)">{{$t('申购')}}</van-button>
+ </div> -->
+ </div>
+ </div>
+
+
+ <!-- 购买弹窗 -->
+ <van-popup v-model:show="show" round>
+ <div class="buy_popup">
+ <div class="buy_title flex justify-center">{{ itemObj.symbol }}</div>
+
+ <van-field v-model="sgNum" type="digit" :label="$t('申购数量')" />
+
+ <div class="flex justify-center mt-5">
+ <van-button type="default" size="large" round @click="buy">{{ $t('confirm') }}</van-button>
</div>
</div>
- </div>
-
-
- <!-- 购买弹窗 -->
- <van-popup v-model:show="show" round >
- <div class="buy_popup">
- <div class="buy_title flex justify-center">{{ itemObj.symbol }}</div>
-
- <van-field v-model="sgNum" type="digit" :label="$t('申购数量')" />
-
- <div class="flex justify-center mt-5">
- <van-button type="default" size="large" round @click="buy">{{$t('confirm')}}</van-button>
- </div>
- </div>
- </van-popup>
+ </van-popup>
</div>
</template>
@@ -64,7 +75,7 @@
_icoList().then(res => {
icoList.value = res.records
}).catch(err => {
- showToast(err.msg)
+ // showToast(err.msg)
})
// 打开申购弹窗
@@ -79,9 +90,9 @@
// 申购
const buy = () => {
let opt = {
- icoProjectId:itemObj.value.id,
+ icoProjectId: itemObj.value.id,
subscribeNums: sgNum.value,
- subscriptionType:1,
+ subscriptionType: 1,
}
_icoSubscribe(opt).then(res => {
showToast(t('submitSuccess'))
@@ -94,44 +105,50 @@
</script>
<style lang="scss" scoped>
-.ico{
+.ico {
padding: 0rem 1.2rem 5rem 1.2rem;
font-size: 1.5rem;
- .buy_popup{
+
+ .buy_popup {
width: 40rem;
padding: 1rem;
- .buy_title{
+ .buy_title {
font-size: 2.5rem;
font-weight: 700;
border-bottom: #aaa solid 1px;
padding: 1rem;
}
}
-
- .ico_list{
+
+ .ico_list {
padding: 1rem 0rem;
- .ico_item{
+
+ .ico_item {
background-color: #eee;
- padding:.5rem 1rem;
+ padding: .5rem 1rem;
border: #aaa solid 1px;
border-radius: 1rem;
- .item_1{
+
+ .item_1 {
padding: 1rem .5rem;
border-bottom: #ccc solid 1px;
font-size: 2rem;
font-weight: 700;
}
- .item_2{
+
+ .item_2 {
padding: 1rem .5rem;
border-bottom: #ccc solid 1px;
font-size: 1.6rem;
font-weight: 500;
- &>div:last-child{
+
+ &>div:last-child {
color: #999;
}
}
- .item_3{
+
+ .item_3 {
padding: .5rem;
}
}
diff --git a/src/views/cryptos/AboutUs/index.vue b/src/views/cryptos/AboutUs/index.vue
index 98f3cd2..65ff71a 100644
--- a/src/views/cryptos/AboutUs/index.vue
+++ b/src/views/cryptos/AboutUs/index.vue
@@ -43,6 +43,8 @@
return this.$t('反洗钱协议')
case '26':
return this.$t('金融服务牌照')
+ case '27':
+ return this.$t('帮助中心')
default:
return this.$t('关于我们')
}
@@ -66,9 +68,9 @@
}
_getAboutUs({
content_code: this.serviceTerm,
- // language: this.serviceTerm ? language : this.$i18n.locale,
- language: 'en', // 强制英文,后台暂时只设置了英文
- not_language: 1,
+ language: this.serviceTerm ? language : this.$i18n.locale,
+ // language: 'en', // 强制英文,后台暂时只设置了英文
+ // not_language: 1,
}).then((res) => {
this.content = res.content
this.title = res.title
diff --git a/src/views/cryptos/AccountChange/index.vue b/src/views/cryptos/AccountChange/index.vue
index 477779f..3624b69 100644
--- a/src/views/cryptos/AccountChange/index.vue
+++ b/src/views/cryptos/AccountChange/index.vue
@@ -12,14 +12,15 @@
<!-- <img v-if="item.amount > 0" src="@/assets/image/assets-center/in.png" class="w-44 h-44 mr-20" />
<img v-else src="@/assets/image/assets-center/out.png" class="w-44 h-44 mr-20" /> -->
<div>
- <div class="font-32 textColor">{{ category[item.category] }}</div>
+ <!-- <div class="font-32 textColor">{{ category[item.category] }}</div> -->
+ <div class="font-32 textColor">{{ orderTypes[item.content_type] }}</div>
<div class="text-grey font-26 mt-6">{{ item.createTime }}(UTC+2)</div>
- <div class="text-grey font-26 mt-6">{{ orderTypes[item.content_type] }}</div>
+ <!-- <div class="text-grey font-26 mt-6">{{ orderTypes[item.content_type] }}</div> -->
</div>
</div>
<div>
<div class="font-32 text-right" :class="item.amount > 0 ? 'text-green' : 'text-red'">{{
- item.amount }} {{ item.wallet_type.toUpperCase() }}</div>
+ item.amount }} {{ (item.wallet_type || '').toUpperCase() }}</div>
<!-- <div class="text-grey font-28 mt-14">{{ item.createTimeStr }}</div> -->
<div class="text-grey font-28 mt-6 text-right">{{ item.amountAfter }}</div>
</div>
@@ -54,8 +55,8 @@
title: this.$t('选择账户类型'),
selectData: [
{ title: this.$t('全部'), type: '' },
- { title: this.$t('法币交易'), type: 'coin' },
- { title: this.$t('合约交易'), type: 'contract' },
+ { title: this.$t('充值记录'), type: 'coin' },
+ // { title: this.$t('合约交易'), type: 'contract' },
{ title: this.$t('币币交易'), type: 'exchange' },
],
type: "",//选中类型
@@ -144,6 +145,8 @@
this.symbolType = this.$route.query.type
}
_fundRecord(this.type, this.page, this.symbolType).then(data => {
+ console.log("data", data);
+
this.list = [...this.list, ...data]
// console.log(logs)
this.loading = false
diff --git a/src/views/cryptos/Exchange/exchangePage.vue b/src/views/cryptos/Exchange/exchangePage.vue
index 320e332..7c1cdea 100644
--- a/src/views/cryptos/Exchange/exchangePage.vue
+++ b/src/views/cryptos/Exchange/exchangePage.vue
@@ -29,7 +29,7 @@
class="w-70 h-70 rounded-full" />
</div>
<div class="text-grey font-28 mt-20">{{ $t('从') }}</div>
- <div class="font-30 mt-30">{{ detail.volume }} {{ detail.symbol }}</div>
+ <div class="font-30 mt-30">{{ detail.volume }} {{ detail.name }}</div>
</div>
<img src="../../../assets/image/exchange/icon_6.png" class="w-30 h-20" style="margin-top:-65px" />
@@ -60,8 +60,8 @@
</li> -->
<li class="flex justify-between font-28 mt-25">
<span class="text-grey">{{ $t('汇率') }}</span>
- <span class="textColor">1 {{ detail.symbol &&
- detail.symbol.toUpperCase() }}≈{{ (detail.rate * 1).toFixed(5) }} {{ detail.symbol_to &&
+ <span class="textColor">1 {{ detail.name &&
+ detail.name.toUpperCase() }}≈{{ (detail.rate * 1).toFixed(5) }} {{ detail.symbol_to &&
detail.symbol_to.toUpperCase() }}</span>
</li>
</ul>
diff --git a/src/views/cryptos/Recharge/rechargePage.vue b/src/views/cryptos/Recharge/rechargePage.vue
index c11f4f5..4b94379 100644
--- a/src/views/cryptos/Recharge/rechargePage.vue
+++ b/src/views/cryptos/Recharge/rechargePage.vue
@@ -47,13 +47,13 @@
item.blockchain_name }}</div>
</div>
</div>
- <div>
+ <!-- <div>
<div class="font-28 textColor">{{ $t('付款凭证(上传支付详情截图)') }}</div>
<div class="img-box">
<van-uploader accept="image/*" v-model="fileList" multiple :max-count="1"
:before-read="beforeRead" :after-read="afterRead" />
</div>
- </div>
+ </div> -->
</div>
<div class="hint-box">
<div class="pl-30 pr-30">
@@ -242,7 +242,7 @@
amount: this.amount,
from: this.enterAddress,
blockchain_name: this.blockchain_name,
- img: this.fileList[0].resURL,
+ // img: this.fileList[0].resURL,
coin: this.coin,
channel_address: this.address,
tx: "",
diff --git a/src/views/cryptos/Recharge/rechargeSubmit.vue b/src/views/cryptos/Recharge/rechargeSubmit.vue
index 2de4979..fb2ac5d 100644
--- a/src/views/cryptos/Recharge/rechargeSubmit.vue
+++ b/src/views/cryptos/Recharge/rechargeSubmit.vue
@@ -1,88 +1,96 @@
<template>
- <!-- 充值或提现申请提交页面 -->
- <div id="cryptos">
- <assets-head title="" :goHome="true" />
- <div class="pl-47 pr-47 page-box relative">
- <div class="content-box">
- <div class="flex flex-col items-center justify-center mt96">
- <img width="162" height="142" src="@/assets/image/assets-center/success.png" />
- <div class="font-45 font-700 success-title textColor">{{ title }} {{$t('申请已提交')}}</div>
- </div>
- <div class="mb87">
- <div class="font-35 textColor">{{ title }} {{ $t('申请已提交') }}</div>
- <div class="text-grey font-30 mt14">{{ time }}</div>
- </div>
- <div class="mb87">
- <div class="font-35 textColor">{{ title }} {{ $t('申请已提交') }}</div>
- <div class="flex mt14">
- <div class="text-grey font-30">{{ $t('如果') }} {{ title }} {{ $t('未到账') }}?</div>
- <div class="service-text font-30 text-blue" @click="tokefu">{{ $t('联系客服') }}</div>
- </div>
- </div>
- <!-- <div class="mb87">-->
- <!-- <div class="font-35">{{ title }} {{ $t('已成功') }}</div>-->
- <!-- <div class="text-grey font-30 mt14">{{ $t('您会收到邮箱提醒') }}</div>-->
- <!-- </div>-->
+ <!-- 充值或提现申请提交页面 -->
+ <div id="cryptos">
+ <assets-head title="" :goHome="true" />
+ <div class="pl-47 pr-47 page-box relative">
+ <div class="content-box">
+ <div class="flex flex-col items-center justify-center mt96">
+ <img width="162" height="142" src="@/assets/image/assets-center/success.png" />
+ <div class="font-45 font-700 success-title textColor">{{ title }} {{ $t('申请已提交') }}</div>
</div>
- <div class="btn-wrap">
- <button class="btnMain text-white next-btn font-35" @click="goRouter('/cryptos/assetsCenter/rechargeWithdrawRecord')">
- {{ $t('查看') }} {{ title }} {{ $t('历史') }}</button>
+ <div class="mb87">
+ <div class="font-35 textColor">{{ title }} {{ $t('申请已提交') }}</div>
+ <div class="text-grey font-30 mt14">{{ time }}</div>
</div>
+ <div class="mb87">
+ <div class="font-35 textColor">{{ title }} {{ $t('申请已提交') }}</div>
+ <div class="flex mt14">
+ <div class="text-grey font-30">{{ $t('如果') }} {{ title }} {{ $t('未到账') }}?</div>
+ <div class="service-text font-30 text-blue" @click="tokefu">{{ $t('联系客服') }}</div>
+ </div>
+ </div>
+ <!-- <div class="mb87">-->
+ <!-- <div class="font-35">{{ title }} {{ $t('已成功') }}</div>-->
+ <!-- <div class="text-grey font-30 mt14">{{ $t('您会收到邮箱提醒') }}</div>-->
+ <!-- </div>-->
+ </div>
+ <div class="btn-wrap">
+ <button class="btnMain text-white next-btn font-35"
+ @click="goRouter('/cryptos/assetsCenter/rechargeWithdrawRecord')">
+ {{ $t('查看') }} {{ title }} {{ $t('历史') }}</button>
</div>
</div>
- </template>
-
- <script>
- import { Image as VanImage } from 'vant';
- import assetsHead from "@/components/Transform/assets-head/index.vue";
- import { dataTimeEx } from '@/utils/utis'
- export default {
- name:'rechargeSubmit',
- components:{
- assetsHead,
- [VanImage.name]:VanImage
- },
- props:{
- title:{
- type:String,
- default:""
- }
- },
- data() {
- return {
- time:''
- }
- },
- created() {
- this.getTime()
- },
- methods:{
- onClickLeft() {
- this.$router.go(-1);
- },
- goRouter(params) {
- this.$router.push({
- path:params,
- query: {
- back: 1
- }
- });
- },
- getTime(){
- this.time = dataTimeEx(Date.parse(new Date()),true);
- },
- tokefu() {
- this.$router.push('/customerService')
+ </div>
+</template>
+
+<script>
+import { Image as VanImage } from 'vant';
+import assetsHead from "@/components/Transform/assets-head/index.vue";
+import { dataTimeEx } from '@/utils/utis'
+import { customerServiceUrl } from "@/config";
+export default {
+ name: 'rechargeSubmit',
+ components: {
+ assetsHead,
+ [VanImage.name]: VanImage
+ },
+ props: {
+ title: {
+ type: String,
+ default: ""
+ }
+ },
+ data() {
+ return {
+ time: ''
+ }
+ },
+ created() {
+ this.getTime()
+ },
+ methods: {
+ onClickLeft() {
+ this.$router.go(-1);
+ },
+ goRouter(params) {
+ this.$router.push({
+ path: params,
+ query: {
+ back: 1
}
+ });
+ },
+ getTime() {
+ this.time = dataTimeEx(Date.parse(new Date()), true);
+ },
+ tokefu() {
+ if (customerServiceUrl) {
+ window.location.href = customerServiceUrl;
+ } else {
+ this.$router.push('/customerService')
}
+ }
}
- </script>
- <style lang="scss" scoped>
- @import "@/assets/init.scss";
- #cryptos{
- .page-box {
+}
+</script>
+<style lang="scss" scoped>
+@import "@/assets/init.scss";
+
+#cryptos {
+ .page-box {
box-sizing: border-box;
}
+
.btn-wrap {
position: fixed;
left: 0;
@@ -91,34 +99,34 @@
padding: 0 30px;
box-sizing: border-box;
}
+
.mt96 {
- margin-top:114px;
+ margin-top: 114px;
}
- .success-title{
- margin-top:70px;
- margin-bottom:115px;
+
+ .success-title {
+ margin-top: 70px;
+ margin-bottom: 115px;
}
-
- .mt14{
- margin-top:14px;
+
+ .mt14 {
+ margin-top: 14px;
}
-
- .mb87{
- margin-bottom:87px;
+
+ .mb87 {
+ margin-bottom: 87px;
}
-
- .service-text{
- text-decoration:underline;
+
+ .service-text {
+ text-decoration: underline;
}
- .next-btn{
- width:100%;
- height:96px;
- border:none;
- outline:none;
+
+ .next-btn {
+ width: 100%;
+ height: 96px;
+ border: none;
+ outline: none;
border-radius: 8px;
}
- }
-
-
- </style>
-
+}
+</style>
diff --git a/src/views/cryptos/TrendDetails/index.vue b/src/views/cryptos/TrendDetails/index.vue
index b5141fc..a44a0e0 100644
--- a/src/views/cryptos/TrendDetails/index.vue
+++ b/src/views/cryptos/TrendDetails/index.vue
@@ -68,7 +68,7 @@
<p>{{ $t('买入') }}</p>
<p class="flex justify-between font-22">
<span style="margin-right: -10px;">{{ $t('价格') }}{{ queryType == 'cryptos' ? '(USDT)' : '(USD)'
- }}</span>
+ }}</span>
<span class="buy-title">{{ $t('数量') }}({{ symbolData.toUpperCase() }})</span>
</p>
</li>
@@ -111,7 +111,7 @@
<span class="flex-1">{{ $t('方向') }}</span>
<span class="flex-1">{{ $t('价格') }}{{ queryType == 'cryptos' ? '(USDT)' : '(USD)' }}</span>
<span class="flex-1 flex justify-center buy-title">{{ $t('数量') }}({{ symbolData.toUpperCase()
- }})</span>
+ }})</span>
</li>
<li v-for="(item, index) in deals" :key="item.ts + item.price + item.amount || index"
class="flex justify-between mt-30">
@@ -228,6 +228,7 @@
import { mapGetters } from 'vuex';
import { fixDate } from "@/utils";
import { WS_URL } from '@/config';
+import { strToArr } from "@/utils/utis";
import PopupDelivery from "@/components/Transform/popup-delivery/index.vue";
import PopupConfirmOrder from '@/components/Transform/popup-confirm-order/index.vue'
import deepChart from '@/components/Transform/deepChart/index.vue'
@@ -377,7 +378,7 @@
_getHomeList(this.symbol).then(data => {
// console.log(data[0])
this.quote = data[0]
- this.symbolData = data[0].symbol_data
+ this.symbolData = strToArr(data[0].name, '/')[0]
this.$nextTick(() => {
if (!this.sockets.quote && this.symbol) {
this.startQuoteScoket()
diff --git a/src/views/cryptos/Withdraw/withdrawSumbit.vue b/src/views/cryptos/Withdraw/withdrawSumbit.vue
index 760843b..86634b2 100644
--- a/src/views/cryptos/Withdraw/withdrawSumbit.vue
+++ b/src/views/cryptos/Withdraw/withdrawSumbit.vue
@@ -1,12 +1,12 @@
- <template>
- <!-- 提现申请提交页面 -->
- <div id="cryptos">
+<template>
+ <!-- 提现申请提交页面 -->
+ <div id="cryptos">
<assets-head title="" :goHome="true" />
<div class="pl-47 pr-47 page-box relative font-28">
<div class="content-box font-28">
<div class="flex flex-col items-center justify-center mt96">
- <img src="@/assets/image/order/success.png"/>
- <div class="font-45 font-700 success-title textColor">{{ title }} {{$t('申请已提交')}}</div>
+ <img src="@/assets/image/order/success.png" />
+ <div class="font-45 font-700 success-title textColor">{{ title }} {{ $t('申请已提交') }}</div>
</div>
<div class="mb87 font-28">
<div class="font-35 textColor">{{ title }} {{ $t('申请已提交') }}</div>
@@ -25,7 +25,8 @@
<!-- </div>-->
</div>
<div class="btn-wrap">
- <button class="btnMain text-white next-btn font-35" @click="goRouter('/cryptos/assetsCenter/rechargeWithdrawRecord?back=1')">
+ <button class="btnMain text-white next-btn font-35"
+ @click="goRouter('/cryptos/assetsCenter/rechargeWithdrawRecord?back=1')">
{{ $t('查看') }} {{ title }} {{ $t('历史') }}</button>
</div>
</div>
@@ -36,89 +37,96 @@
import { Image as VanImage } from 'vant';
import assetsHead from "@/components/Transform/assets-head/index.vue";
import { dataTimeEx } from '@/utils/utis'
+import { customerServiceUrl } from "@/config";
export default {
- name:'rechargeSubmit',
- components:{
- assetsHead,
- [VanImage.name]:VanImage
+ name: 'rechargeSubmit',
+ components: {
+ assetsHead,
+ [VanImage.name]: VanImage
+ },
+ props: {
+ title: {
+ type: String,
+ default: ""
+ }
+ },
+ data() {
+ return {
+ time: ''
+ }
+ },
+ created() {
+ this.getTime()
+ },
+ methods: {
+ onClickLeft() {
+ this.$router.go(-1);
},
- props:{
- title:{
- type:String,
- default:""
+ goRouter(params) {
+ this.$router.push({
+ path: params,
+ query: {
+ back: 1
}
+ });
},
- data() {
- return {
- time:''
- }
+ getTime() {
+ this.time = dataTimeEx(Date.parse(new Date()), true);
},
- created() {
- this.getTime()
- },
- methods:{
- onClickLeft() {
- this.$router.go(-1);
- },
- goRouter(params) {
- this.$router.push({
- path:params,
- query: {
- back: 1
- }
- });
- },
- getTime(){
- this.time = dataTimeEx(Date.parse(new Date()),true);
- },
- tokefu() {
+ tokefu() {
+ if (customerServiceUrl) {
+ window.location.href = customerServiceUrl;
+ } else {
this.$router.push('/customerService')
}
}
+ }
}
</script>
<style lang="scss" scoped>
@import "@/assets/init.scss";
-#cryptos{
+
+#cryptos {
.page-box {
- box-sizing: border-box;
-}
-.btn-wrap {
- position: fixed;
- left: 0;
- bottom: 86px;
- width: 100%;
- padding: 0 30px;
- box-sizing: border-box;
-}
-.mt96 {
- margin-top:114px;
-}
-.success-title{
- margin-top:70px;
- margin-bottom:115px;
-}
+ box-sizing: border-box;
+ }
-.mt14{
- margin-top:14px;
-}
+ .btn-wrap {
+ position: fixed;
+ left: 0;
+ bottom: 86px;
+ width: 100%;
+ padding: 0 30px;
+ box-sizing: border-box;
+ }
-.mb87{
- margin-bottom:87px;
-}
+ .mt96 {
+ margin-top: 114px;
+ }
-.service-text{
- text-decoration:underline;
-}
-.next-btn{
- width:100%;
- height:96px;
- border:none;
- outline:none;
- border-radius: 8px;
-}
-}
+ .success-title {
+ margin-top: 70px;
+ margin-bottom: 115px;
+ }
+ .mt14 {
+ margin-top: 14px;
+ }
+ .mb87 {
+ margin-bottom: 87px;
+ }
+
+ .service-text {
+ text-decoration: underline;
+ }
+
+ .next-btn {
+ width: 100%;
+ height: 96px;
+ border: none;
+ outline: none;
+ border-radius: 8px;
+ }
+}
</style>
-
diff --git a/src/views/homePage/index.vue b/src/views/homePage/index.vue
index a65c833..36e40c6 100644
--- a/src/views/homePage/index.vue
+++ b/src/views/homePage/index.vue
@@ -118,7 +118,7 @@
{ key: 7, name: t('提现'), icon: new URL('@/assets/imgs/home/home_6.png', import.meta.url), path: '/cryptos/Withdraw/withdrawPage' },
// { key: 8, name: t('卡券中心'), icon: new URL('@/assets/imgs/home/home_7.png', import.meta.url) },
// { key: 9, name: t('闪兑'), icon: new URL('@/assets/imgs/home/home_8.png', import.meta.url), path: '/cryptos/exchangePage' },
- { key: 9, name: t('划转'), icon: new URL('@/assets/imgs/home/home_8.png', import.meta.url), path: '/my/transfer' },
+ // { key: 9, name: t('划转'), icon: new URL('@/assets/imgs/home/home_8.png', import.meta.url), path: '/my/transfer' },
// { key: 10, name: t('更多'), icon: new URL('@/assets/imgs/home/home_9.png', import.meta.url) },
{ key: 11, name: "STO", icon: new URL('@/assets/imgs/home/home_1.png', import.meta.url), path: '/ICO/ico' },
diff --git a/src/views/login/index.vue b/src/views/login/index.vue
index 9a4b2c7..9696f48 100644
--- a/src/views/login/index.vue
+++ b/src/views/login/index.vue
@@ -13,6 +13,15 @@
</span>
</div>
+ <div class="flex re-tab">
+ <div class="textColor1" :class="activeIndex == 1 ? 'active' : ''" @click="changeIndex(1)">
+ {{ $t('email') }}
+ </div>
+ <div class="textColor1" :class="activeIndex == 2 ? 'active' : ''" @click="changeIndex(2)">
+ {{ $t('phoneNum') }}
+ </div>
+ </div>
+
<ExInput style="padding-bottom:16px !important;" :placeholderText="getRegType(activeIndex, false)"
v-model="username" :dialCode="dialCode" @selectArea="onSelectArea" :area="isArea" :icon="icon"
@pressEnter="verifyLogin" />
@@ -67,7 +76,7 @@
let username = ref('')
let password = ref('')
-let activeIndex = ref(0)
+let activeIndex = ref(1)
let isArea = ref(false)
let dialCode = ref(0)
let icon = ref('')
@@ -159,7 +168,8 @@
_loginUser({
userName: (activeIndex.value == 0 || activeIndex.value == 1) ? username.value : `${dialCode.value}${username.value}`,
passWord: password.value,
- type: type.value
+ // type: type.value
+ type: '3' // 写死, 算所有的登录都是账户登录
}).then((res) => {
userStore[GET_USERINFO](res)
store.commit('user/SET_USERINFO', res)
@@ -179,6 +189,26 @@
background: $mainbgWhiteColor;
min-height: 100vh;
+ .re-tab {
+ margin-bottom: 22px;
+
+ div {
+ padding: 0 18px;
+ height: 34px;
+ line-height: 34px;
+ text-align: center;
+ border-radius: 4px;
+ margin-right: 10px;
+ }
+
+ .active {
+ // background: $US_tabActice_background;
+ background: $bg_yellow;
+ // color: $color_main;
+ color: $text_color4;
+ }
+ }
+
:deep(.textColor) {
color: $log-c;
}
diff --git a/src/views/my/assets.vue b/src/views/my/assets.vue
index 5cfceca..46f71f2 100644
--- a/src/views/my/assets.vue
+++ b/src/views/my/assets.vue
@@ -14,12 +14,16 @@
</van-dropdown-item>
</van-dropdown-menu>
</div>
- <div class="assets_revenue mt-5">
- <span>{{ $t('ProfitDay') }}</span>
- {{ currency.currency_symbol }}{{ forexAssets?.money_contract_profit_today ?
- (forexAssets?.money_contract_profit_today * (currency.rate ?? 0)).toFixed(2) :
- '--' }}
- </div>
+ <!-- <div class="assets_revenue mt-5">
+ <span>{{ $t('当日') }}</span>
+ {{ currency.currency_symbol }}
+ <span
+ :style="forexAssets?.money_contract_profit_today > 0 ? 'color:green' : forexAssets?.money_contract_profit_today < 0 ? 'color:red' : ''">
+ {{ forexAssets?.money_contract_profit_today ?
+ (forexAssets?.money_contract_profit_today * (currency.rate ?? 0)).toFixed(2) :
+ '--' }}
+ </span>
+ </div> -->
<div class="tabbers flex justify-between mt-20 pl-1 pr-1">
<div class="item" v-for="item in tabList" :key="item.key" @click="toPage(item.path)">
@@ -43,12 +47,12 @@
<span class="mr-5">{{ assetObj.capital }}</span>
<van-icon name="arrow" />
</div>
- <div class="assets_item flex justify-start items-center mt-14 font-bold">
+ <!-- <div class="assets_item flex justify-start items-center mt-14 font-bold">
<div class="icon" style="background-color: #f7b600;"></div>
<span class="ml-5 flex-1">{{ $t('交易账户') }}</span>
<span class="mr-5">{{ assetObj.contract }}</span>
<van-icon name="arrow" />
- </div>
+ </div> -->
</van-collapse-item>
</van-collapse>
diff --git a/src/views/my/index.vue b/src/views/my/index.vue
index d38fa56..a88694d 100644
--- a/src/views/my/index.vue
+++ b/src/views/my/index.vue
@@ -202,7 +202,8 @@
// { icon: 'todo-list-o', title: t('账变记录'), path: '/cryptos/accountChange' },
{ icon: new URL('../../assets/image/assets-center/valuation.png', import.meta.url), title: t('计价方式'), path: '/cryptos/exchangeRate' },
// { icon: new URL('../../assets/image/assets-center/AddPaymentMethod.png', import.meta.url), title: t('AddPaymentMethod'), path: '/payMentMethod/list' },
- { icon: new URL('../../assets/image/assets-center/help.png', import.meta.url), title: t('帮助中心'), path: '/helpCenter' },
+ // { icon: new URL('../../assets/image/assets-center/help.png', import.meta.url), title: t('帮助中心'), path: '/helpCenter' }, // 原帮助中心页面
+ { icon: new URL('../../assets/image/assets-center/help.png', import.meta.url), title: t('帮助中心'), path: '/aboutUs?serviceTerm=27' }, // 现跳转关于我们通过后台编辑获取的页面
]
}
]
diff --git a/src/views/order/order-submit.vue b/src/views/order/order-submit.vue
index 551c883..ff31e71 100644
--- a/src/views/order/order-submit.vue
+++ b/src/views/order/order-submit.vue
@@ -11,7 +11,7 @@
<div class="order-top">
<div class="title">{{ $t('orderGenerated') }}</div>
<div class="text mt-2">{{ $t('pleaseAt') }} <span>{{ msgTitle }}</span> {{ $t('paymentSeller')
- }}{{ payInfo.direction == 'recharge' ? $t('买家') : $t('卖家') }}</div>
+ }}{{ payInfo.direction == 'recharge' ? $t('买家') : $t('卖家') }}</div>
<div class="customer mt-5" @click="onRoute">
<div class="flex">
<div class="flex flex-1 service">
@@ -29,7 +29,8 @@
<div class="flex step mt-5">
<img class="success mr-1" src="@/assets/image/order/success.png" alt="" />
<!-- {{ $t('Payconfidence') }} -->
- {{ payInfo.direction == 'recharge' ? $t('买家') : $t('卖家') }} {{ payInfo.currency }} {{ $t('已存入交易所账户,请放心付款') }}
+ {{ payInfo.direction == 'recharge' ? $t('买家') : $t('卖家') }} {{ payInfo.currency }} {{ $t('已存入交易所账户,请放心付款')
+ }}
</div>
<div class="flex mt-5">
<div class="flex step flex-1">
@@ -111,6 +112,7 @@
showToast
} from 'vant';
import useClipboard from "vue-clipboard3";
+import { customerServiceUrl } from '@/config'
import { useI18n } from "vue-i18n";
const { toClipboard } = useClipboard();
const { t } = useI18n()
@@ -119,8 +121,11 @@
const showPopup = ref(false)
const orderNo = ref(null)
const onRoute = () => {
- // router.push('/order/success')
- router.push('/customerService?order_no=' + orderNo.value)
+ if (customerServiceUrl) {
+ window.location.href = customerServiceUrl;
+ } else {
+ router.push('/customerService?order_no=' + orderNo.value)
+ }
}
const onClickLeft = () => {
// router.push('/exchange/channel-in')
diff --git a/src/views/register/index.vue b/src/views/register/index.vue
index de22861..0649edb 100644
--- a/src/views/register/index.vue
+++ b/src/views/register/index.vue
@@ -14,7 +14,7 @@
</div>
<div class="textColor1" :class="activeIndex == 2 ? 'active' : ''" @click="changeIndex(2)">{{
$t('phoneNum')
- }}</div>
+ }}</div>
</div>
<ExInput :label="getRegType(activeIndex, true)" :placeholderText="getRegType(activeIndex, false)"
v-model="username" :area="isArea" :dialCode="dialCode" @selectArea="onSelectArea" :icon="icon" />
@@ -41,7 +41,10 @@
<img v-show="agree" src="../../assets/image/login/prot2.png" alt="" />
<img v-show="!agree" src="../../assets/image/login/prot1.png" alt="" />
</i>
- {{ $t('readAgree') }}<span class="colorMain" @click="router.push('/TermsOfService')">{{
+ <!-- {{ $t('readAgree') }}<span class="colorMain" @click="router.push('/TermsOfService')">{{
+ $t('serviceConf')
+ }}</span> -->
+ {{ $t('readAgree') }}<span class="colorMain" @click="router.push('/aboutUs?serviceTerm=23')">{{
$t('serviceConf')
}}</span>
</div>
diff --git a/src/views/resetVerify/index.vue b/src/views/resetVerify/index.vue
index 2c413bd..f1d70a1 100644
--- a/src/views/resetVerify/index.vue
+++ b/src/views/resetVerify/index.vue
@@ -73,18 +73,18 @@
name: t('resetFundsPassword'),
type: 0
},
- {
- name: t('resetPhone'),
- type: 1
- },
- {
- name: t('resetEmail'),
- type: 2
- },
- {
- name: t('resetGoogleVerify'),
- type: 3
- },
+ // {
+ // name: t('resetPhone'),
+ // type: 1
+ // },
+ // {
+ // name: t('resetEmail'),
+ // type: 2
+ // },
+ // {
+ // name: t('resetGoogleVerify'),
+ // type: 3
+ // },
])
const frontFile = ref([])
const reverseFile = ref([])
diff --git a/src/views/safety/index.vue b/src/views/safety/index.vue
index bc94e11..043df3a 100644
--- a/src/views/safety/index.vue
+++ b/src/views/safety/index.vue
@@ -1,6 +1,6 @@
<template>
<div class="safety">
- <fx-header >
+ <fx-header>
</fx-header>
<div class="content">
<div class="title textColor">{{ $t('safe') }}</div>
@@ -91,7 +91,11 @@
{
name: t('manualReset'),
url: "/resetVerify?type=0"
- }
+ },
+ {
+ name: `${t('resetPhone')}/${t('resetEmail')}`,
+ url: "/resetPhoneEmail"
+ },
])
onMounted(() => {
@@ -129,7 +133,7 @@
// background-color: $mainBgColor;
}
-:deep(.van-grid-item__content){
+:deep(.van-grid-item__content) {
// background: $main2_background !important;
color: $text_color;
}
diff --git a/src/views/safety/resetPhoneEmail.vue b/src/views/safety/resetPhoneEmail.vue
new file mode 100644
index 0000000..ddb8d7d
--- /dev/null
+++ b/src/views/safety/resetPhoneEmail.vue
@@ -0,0 +1,401 @@
+<template>
+ <div class="register">
+ <div class="top flex justify-between items-center">
+ <img src="../../assets/image/icon-close.png" alt="" @click="router.go(-1)">
+ <div @click="onRoute('/customerService')">{{ $t('onLineService') }}</div>
+ </div>
+ <div class="title textColor">{{ $t('重置') }}</div>
+ <div class="flex re-tab">
+ <!-- <div class="textColor1" :class="activeIndex == 0 ? 'active' : ''" @click="changeIndex(0)">{{
+ $t('account')
+ }}</div> -->
+ <div class="textColor1" :class="activeIndex == 1 ? 'active' : ''" @click="changeIndex(1)">
+ {{ $t('email') }}
+ </div>
+ <div class="textColor1" :class="activeIndex == 2 ? 'active' : ''" @click="changeIndex(2)">
+ {{ $t('phoneNum') }}
+ </div>
+ </div>
+ <ExInput :label="getRegType(activeIndex, true)" :placeholderText="getRegType(activeIndex, false)"
+ v-model="username" :area="isArea" :dialCode="dialCode" @selectArea="onSelectArea" :icon="icon" />
+
+ <ExInput :label="$t('repassword')" :placeholderText="$t('请输入')" v-model="password"
+ typeText="password" />
+ <!-- <ExInput :label="$t('repassword')" :placeholderText="$t('surePassword')" v-model="repassword"
+ typeText="password" /> -->
+ <ExInput :label="$t('fundsPassword')" :placeholderText="$t('请输入')" v-model="safeword" typeText="password"
+ v-if="activeIndex === 1 || activeIndex === 2" />
+ <div class="inputCom" v-if="activeIndex === 1 || activeIndex === 2">
+ <p class="label textColor">{{ $t('验证码') }}</p>
+ <div class="iptbox inputBackground">
+ <input class="inputBackground textColor" type="text" :placeholder="$t('entryVerifyCode')"
+ v-model="verifyCode">
+ <span v-if="type !== 3" @click="senCode">{{ $t('sendVerifyCode') }}
+ <template v-if="time">({{ time }})s</template>
+ </span>
+ </div>
+ </div>
+
+ <!-- <ExInput :label="$t('金融机构代码')" :placeholderText="$t('请输入')" v-model="invitCode" :clearBtn="false" /> -->
+
+ <div class="protocol textColor">
+ <i @click="agreeProt">
+ <img v-show="agree" src="../../assets/image/login/prot2.png" alt="" />
+ <img v-show="!agree" src="../../assets/image/login/prot1.png" alt="" />
+ </i>
+ <!-- {{ $t('readAgree') }}<span class="colorMain" @click="router.push('/TermsOfService')">{{
+ $t('serviceConf')
+ }}</span> -->
+ {{ $t('readAgree') }}<span class="colorMain" @click="router.push('/aboutUs?serviceTerm=23')">{{
+ $t('serviceConf')
+ }}</span>
+ </div>
+ <van-button class="w-full" style="margin-top:10px;" type="primary" @click="register">{{ $t('confirm') }}
+ </van-button>
+ <!-- <div class="noTips textColor">{{ $t('hasAccount') }}<span class="colorMain" @click="router.push('/login')">
+ {{ $t('goLogin') }}</span>
+ </div> -->
+ <nationality-list ref='controlChildRef' :title="$t('selectArea')" @getName="getName"></nationality-list>
+
+ <Vcode :imgs="[img1, img2]" :show="show" @success="onSuccess" :canvasHeight="200" @fail="onFail"
+ @close="show = false;" sliderText='' :successText="$t('vertifyPass')" :failText="$t('vertifuFail')" />
+
+ <div>{{ msg }}</div>
+ </div>
+</template>
+
+<script setup>
+import ExInput from "@/components/ex-input/index.vue";
+import { _registerUser, _sendVerifyCode } from "@/service/login.api";
+import { _bindEmailRegister, _registerEorP } from "@/service/user.api.js";
+import { useUserStore } from '@/store/user';
+import { GET_USERINFO } from '@/store/types.store'
+import nationalityList from '../authentication/components/nationalityList.vue'
+import Vcode from "vue3-puzzle-vcode";
+import img1 from "@/assets/image/slider/1.png";
+import img2 from "@/assets/image/slider/2.png";
+import { getStorage } from '@/utils/index'
+import { useI18n } from 'vue-i18n'
+import { customerServiceUrl } from "@/config";
+import { useRouter } from 'vue-router';
+import { ref, onMounted, reactive, onUnmounted } from 'vue';
+import { showToast } from "vant";
+import store from '@/store/store'
+const customer_service_url = ref(customerServiceUrl) // 客服链接,有值的话就会跳转到客服外链
+const { t } = useI18n()
+const router = useRouter()
+const onRoute = (path) => {
+ if (path == 'back') {
+ router.go(-1)
+ } else {
+ if (path == '/customerService') {
+ if (customer_service_url.value) {
+ window.location.href = customer_service_url.value;
+ } else {
+ router.push(path)
+ }
+ } else {
+ router.push(path)
+ }
+ }
+}
+const userStore = useUserStore();
+
+let show = ref(false)
+const msg = ref('')
+const type = ref(1)
+const time = ref(0)
+let agree = ref(false)
+const username = ref('')
+const password = ref('')
+const repassword = ref('')
+const verifyCode = ref('')
+const safeword = ref('')
+const fundPassword = ref('')
+const refundPassword = ref('')
+const activeIndex = ref(1)
+const typeText = ref('password')
+let isArea = ref(false)
+let dialCode = ref(0)
+let icon = ref('')
+const state = reactive({
+ timer: null
+})
+
+let invitCode = ref('')
+onMounted(() => {
+ console.log(store)
+ let usercode = getStorage('usercode')
+ if (usercode) {
+ invitCode = usercode;
+ }
+ clearInterval(state.timer)
+ state.timer = null
+})
+
+onUnmounted(() => {
+ clearInterval(state.timer)
+ state.timer = null
+})
+
+const getRegType = (activeIndex, bFlag) => {
+ switch (activeIndex) {
+ case 0:
+ return bFlag ? t('account') : t('entryAccount');
+ case 1:
+ return bFlag ? t('email') : t('entryEmail');
+ case 2:
+ return bFlag ? t('phoneNum') : t('entryPhone');
+ }
+}
+
+const senCode = () => {
+ if (time.value > 0) {
+ return false
+ }
+ _sendVerifyCode({
+ target: activeIndex.value === 1 ? username.value : dialCode.value + username.value,
+ }).then((res) => {
+ time.value = 30;
+ state.timer = setInterval(() => {
+ if (time.value > 0) {
+ time.value = time.value - 1
+ } else {
+ time.value = 0;
+ clearInterval(state.timer)
+ state.timer = null
+ }
+ }, 1000);
+ }).catch((error) => {
+ showToast(t(error.msg));
+ });
+}
+
+const onSuccess = () => {
+ console.log('onSuccess')
+ registerApi();
+ show.value = false;
+}
+const onFail = () => {
+ msg.value = ''
+}
+const onRefresh = () => {
+ msg.value = ''
+}
+
+const controlChildRef = ref(null)
+const onSelectArea = () => {
+ controlChildRef.value.open();
+}
+
+const getName = (params) => {
+ icon.value = params.code;
+ dialCode.value = params.dialCode;
+}
+const agreeProt = () => {
+ agree.value = !agree.value
+}
+const register = () => {
+ console.log(activeIndex.value, 'activeIndex.value')
+ if (activeIndex.value == 0) {
+ if (username.value == '') {
+ showToast(t('entryAccount'));
+ return
+ }
+ if (username.value.length < 6 || username.value.length > 30) {
+ showToast(t('accountLength'));
+ return
+ }
+ } else if (activeIndex.value == 1) {
+ let match = username.value.search(/@/);
+ if (username.value == '' || match.value == -1) {
+ showToast(t('entryCorrectEmail'));
+ return
+ }
+ if (safeword.value == '') {
+ showToast(t('safewordTips'));
+ return
+ }
+ if (verifyCode.value.length < 6) {
+ showToast(t('entryVerifyTips'));
+ return
+ }
+ } else if (activeIndex.value == 2) {
+ if (!(/(^[1-9]\d*$)/.test(username.value))) {
+ showToast(t('entryPhone'));
+ return
+ }
+ if (username.value == '') {
+ showToast(t('entryPhone'));
+ return
+ }
+ }
+ if (password.value == '') {
+ showToast(t('entryPassword'));
+ return
+ }
+ if (password.value.length < 6) {
+ showToast(t('passwordTips'));
+ return
+ }
+ // if (repassword.value !== password.value) {
+ // showToast(t('noSamePassword'));
+ // return
+ // }
+ if (!agree.value) {
+ showToast(t('agreeServiceCond'));
+ return
+ }
+ show.value = true
+}
+const changeIndex = (index) => {
+ activeIndex.value = index;
+ if (index == 0 || index == 1) {
+ isArea.value = false
+ } else {
+ isArea.value = true
+ }
+}
+const registerApi = () => {
+ switch (activeIndex.value) {
+ case 0:
+ {
+ type.value = 3;
+ break;
+ }
+ case 1:
+ {
+ type.value = 2;
+ break;
+ }
+ case 2:
+ {
+ type.value = 1;
+ break;
+ }
+ }
+
+ _registerEorP({
+ username: activeIndex.value === 1 ? username.value : dialCode.value + username.value,
+ password: password.value,
+ type: activeIndex.value === 1 ? '2' : '1', // 2邮箱,1手机
+ verifcode: verifyCode.value,
+ safeword: safeword.value
+ }).then((res) => {
+ userStore[GET_USERINFO](res)
+ store.state.user.userInfo = res
+ // 其他操作??
+ // router.push('/identity')
+ router.push('/login')
+ })
+}
+</script>
+
+<style lang="scss" scoped>
+.activeBKClick {
+ &:active {
+ background: $tab_background;
+ opacity: 0.5;
+ }
+}
+
+.activeClick {
+ &:active {
+ background: $mainbgWhiteColor;
+ opacity: 0.5;
+ }
+}
+
+.register {
+ width: 100%;
+ box-sizing: border-box;
+ padding: 16px;
+ font-size: 13px;
+ background-color: $mainbgWhiteColor;
+}
+
+.top {
+ padding-left: 9px;
+ padding-top: 9px;
+
+ img {
+ width: 18px;
+ height: 18px;
+ }
+}
+
+.title {
+ font-weight: 700;
+ font-size: 26px;
+ margin-top: 27px;
+ margin-bottom: 33px;
+}
+
+.re-tab {
+ margin-bottom: 22px;
+
+ div {
+ padding: 0 18px;
+ height: 34px;
+ line-height: 34px;
+ text-align: center;
+ border-radius: 4px;
+ margin-right: 10px;
+ }
+
+ .active {
+ // background: $US_tabActice_background;
+ background: $bg_yellow;
+ // color: $color_main;
+ color: $text_color4;
+ }
+}
+
+.forget {
+ color: $color_main;
+ font-size: 12px;
+ line-height: 14px;
+}
+
+.noTips {
+ margin-top: 24px;
+}
+
+.protocol {
+ display: flex;
+ align-items: center;
+ height: 15px;
+
+ i {
+ width: 15px;
+ height: 15px;
+ margin-right: 9px;
+
+ img {
+ width: 100%;
+ height: 100%;
+ }
+ }
+}
+
+.iptbox {
+ height: 44px;
+ margin-top: 8px;
+ margin-bottom: 18px;
+ padding: 0 20px;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ border-radius: 6px;
+
+ input {
+ flex: 1;
+ height: 100%;
+ border: none;
+ }
+
+ span {
+ color: $color_main;
+ }
+}
+</style>
--
Gitblit v1.9.3