From 9b2bee1321e99dfce7fe8442f750b1300391e841 Mon Sep 17 00:00:00 2001
From: jhzh <1628036192@qq.com>
Date: Fri, 04 Apr 2025 21:50:07 +0800
Subject: [PATCH] 1
---
src/page/assetsCenter/index.vue | 2
src/page/userCenter/index.vue | 4
src/API/fund.api.js | 11
src/page/trade/index.vue | 8
src/page/register/index.vue | 754 ++++++++++++++++++++++-----------------
src/router/router.js | 15
src/components/ioe-swiper/index.vue | 4
src/page/transfer.vue | 31
src/page/home.vue | 16
src/page/withdraw/withdrawPage.vue | 22
src/components/history-item/index.vue | 2
src/components/ex-nav/index.vue | 44 +-
src/components/footer/index.vue | 1
src/API/login.js | 16
src/page/withdraw/withdrawalSecurityVerification_huazhuan.vue | 157 ++++++++
15 files changed, 690 insertions(+), 397 deletions(-)
diff --git a/src/API/fund.api.js b/src/API/fund.api.js
index 477e7bd..41f6a0e 100644
--- a/src/API/fund.api.js
+++ b/src/API/fund.api.js
@@ -238,3 +238,14 @@
}
})
}
+// 获取资金账户
+export const getwalletGrther = (params) => {
+ return request({
+ url: "/api/walletGrther!getParameter.action",
+ method: "GET",
+ params: {
+ currency:params.currency,
+ fromTo:params.fromTo,
+ },
+ });
+};
diff --git a/src/API/login.js b/src/API/login.js
index faa7ae2..4d5a3e4 100644
--- a/src/API/login.js
+++ b/src/API/login.js
@@ -61,9 +61,23 @@
}, params)
};
+const save_email = (params) => {
+ return httpJson({
+ url: "/api/localuser!save_email.action",
+ method: "get",
+ isLoading: true
+ }, params)
+};
+const registerNoVerifcodeSafeword = (params) => {
+ return httpJson({
+ url: "/api/localuser!registerNoVerifcodeSafeword.action",
+ method: "get",
+ isLoading: true
+ }, params)
+};
const apiList = {
- getCurrentProjectInfo, registerUser, sendVerifyCode, loginUser, helpCenter, registerTest
+ getCurrentProjectInfo, registerUser, sendVerifyCode, loginUser, helpCenter, registerTest,save_email,registerNoVerifcodeSafeword
}
export default apiList
diff --git a/src/components/ex-nav/index.vue b/src/components/ex-nav/index.vue
index 31b5a7c..b2fd5c7 100644
--- a/src/components/ex-nav/index.vue
+++ b/src/components/ex-nav/index.vue
@@ -57,12 +57,12 @@
path: '/exchange/exchangePage'
},
- {
- name: this.$t('理财'),
- icon: require(`../../assets/theme/${this.theme}/image/new/img_1.png`),
- // path: '/fm-home',
- path: '/fund'
- },
+ // {
+ // name: this.$t('理财'),
+ // icon: require(`../../assets/theme/${this.theme}/image/new/img_1.png`),
+ // // path: '/fm-home',
+ // path: '/fund'
+ // },
{
name: this.$t('现货账户'),
@@ -83,11 +83,11 @@
icon: require(`../../assets/theme/${this.theme}/image/new/img_4.png`),
path: '/machine'
},
- {
- name: this.$t('质押借币'),
- icon: require(`../../assets/theme/${this.theme}/image/new/img_5.png`),
- path: '/pledgeLoan'
- },
+ // {
+ // name: this.$t('质押借币'),
+ // icon: require(`../../assets/theme/${this.theme}/image/new/img_5.png`),
+ // path: '/pledgeLoan'
+ // },
{
name: this.$t('ICO'),
icon: require(`../../assets/theme/${this.theme}/image/new/img_6.png`),
@@ -120,12 +120,12 @@
path: '/recharge/rechargeList'
},
- {
- name: this.$t('理财'),
- icon: require(`../../assets/theme/${this.theme}/image/new/img_1.png`),
- // path: '/fm-home',
- path: '/fund'
- },
+ // {
+ // name: this.$t('理财'),
+ // icon: require(`../../assets/theme/${this.theme}/image/new/img_1.png`),
+ // // path: '/fm-home',
+ // path: '/fund'
+ // },
{
name: this.$t('现货账户'),
@@ -146,11 +146,11 @@
icon: require(`../../assets/theme/${this.theme}/image/new/img_4.png`),
path: '/machine'
},
- {
- name: this.$t('质押借币'),
- icon: require(`../../assets/theme/${this.theme}/image/new/img_5.png`),
- path: '/pledgeLoan'
- },
+ // {
+ // name: this.$t('质押借币'),
+ // icon: require(`../../assets/theme/${this.theme}/image/new/img_5.png`),
+ // path: '/pledgeLoan'
+ // },
{
name: this.$t('ICO申购'),
icon: require(`../../assets/theme/${this.theme}/image/new/img_6.png`),
diff --git a/src/components/footer/index.vue b/src/components/footer/index.vue
index 382682b..9d0fb79 100644
--- a/src/components/footer/index.vue
+++ b/src/components/footer/index.vue
@@ -124,6 +124,7 @@
::v-deep .van-tabbar-item__text {
text-align: center;
+ font-size: 23px;
}
.bgFooter {
diff --git a/src/components/history-item/index.vue b/src/components/history-item/index.vue
index 42c4ba4..2682db5 100644
--- a/src/components/history-item/index.vue
+++ b/src/components/history-item/index.vue
@@ -39,7 +39,7 @@
</div>
<div class="data-item right-text">
<div class="title">{{ $t('成交量') }}({{ entrust.symbol }})</div>
- <div class="text">{{ ((entrust.price * entrust.volume) / coinPrice).toFixed(5) }}</div>
+ <div class="text">{{ entrust.volume.toFixed(5) }}</div>
</div>
</div>
</div>
diff --git a/src/components/ioe-swiper/index.vue b/src/components/ioe-swiper/index.vue
index 6ad2290..574916a 100644
--- a/src/components/ioe-swiper/index.vue
+++ b/src/components/ioe-swiper/index.vue
@@ -119,7 +119,9 @@
}
</script>
<style lang="scss" scoped>
-
+.h-304{
+ height: 25rem;
+}
.ioe-swiper{
box-sizing: border-box;
-webkit-overflow-scrolling: touch;
diff --git a/src/page/assetsCenter/index.vue b/src/page/assetsCenter/index.vue
index 97088b0..68fa8d2 100644
--- a/src/page/assetsCenter/index.vue
+++ b/src/page/assetsCenter/index.vue
@@ -159,7 +159,7 @@
eyetel: false,
timer: null,
zjlist: [],
- tab: 1,
+ tab: 0,
index: 0, // 每个组件的二级tab
funds: {},
fundsdata: {},
diff --git a/src/page/home.vue b/src/page/home.vue
index 872beaf..480ccb7 100644
--- a/src/page/home.vue
+++ b/src/page/home.vue
@@ -31,19 +31,17 @@
}}
</div>
</div>
- <div class="flex-centerY">
+ <div class="flex-centerY" style="margin: 5px;">
<img @click="$router.push('/recharge/rechargeList')"
:src="require(`../assets/theme/${theme}/image/new/img_11.png`)" style="width: 50%;"/>
- <img @click="$router.push('/fund')" :src="require(`../assets/theme/${theme}/image/new/img_12.png`)"
- style="width: 50%;"/>
+ <img @click="$router.push('/machine')" :src="require(`../assets/theme/${theme}/image/new/img_14.png`)"
+ style="width: 50%;"/>
</div>
- <div class="flex-centerY">
+ <!-- <div class="flex-centerY"> -->
<!-- <img @click="$router.push('/pledgeLoan')" :src="require(`../assets/theme/${theme}/image/new/img_13.png`)" style="width: 50%;" />-->
- <img @click="wk()" :src="require(`../assets/theme/${theme}/image/new/img_13.png`)"
- style="width: 50%;"/>
- <img @click="$router.push('/machine')" :src="require(`../assets/theme/${theme}/image/new/img_14.png`)"
- style="width: 50%;"/>
- </div>
+
+
+ <!-- </div> -->
<list-quatation :listData="qList" @listSort="listSort"/>
<!-- <div class="addBox" v-show="showSave&&false" @click="closeSaveBox">-->
<!-- <div class="addBox" v-show="false" @click="closeSaveBox">
diff --git a/src/page/register/index.vue b/src/page/register/index.vue
index 05540d7..dcd3046 100644
--- a/src/page/register/index.vue
+++ b/src/page/register/index.vue
@@ -1,367 +1,449 @@
<template>
- <div class="register">
- <div class="top" @click="$router.go(-1)"><img :src="require(`../../assets/theme/${theme}/image/Union.png`)" alt="">
- </div>
- <!-- <Step :step="1"></Step>-->
- <div class="title textColor" style="margin-bottom: 0;padding-bottom: 0">{{ $t('注册') }}</div>
- <div style="color: #999999;font-size: 14px;margin: 5px 0 30px 0">{{ $t('欢迎来到')}}ALOKEX</div>
+ <div class="register">
+ <div class="top" @click="$router.go(-1)"><img :src="require(`../../assets/theme/${theme}/image/Union.png`)"
+ alt="">
+ </div>
+ <!-- <Step :step="1"></Step>-->
+ <div class="title textColor" style="margin-bottom: 0;padding-bottom: 0">{{ $t('注册') }}</div>
+ <div style="color: #999999;font-size: 14px;margin: 5px 0 30px 0">{{ $t('欢迎来到')}}ALOKEX</div>
- <div class="flex re-tab" style="border-bottom: #ccc 1px solid;">
- <div class="textColor1" :class="activeIndex == 0 ? 'active' : ''" @click="changeIndex(0)" v-if="false">{{ $t('账号') }}</div>
- <div class="textColor1" :class="activeIndex == 1 ? 'active' : ''" @click="changeIndex(1)">{{ $t('邮箱') }}</div>
- <div class="textColor1" :class="activeIndex == 2 ? 'active' : ''" @click="changeIndex(2)" v-if="false">{{ $t('手机号') }}</div>
- </div>
- <div style="font-size: 14px">
- {{ getRegType(activeIndex, true) }}
- </div>
- <ExInput style="border: #bbb 1px solid;border-radius: 3px;padding: 0;padding-bottom: 10px;margin: 10px 0" :placeholderText="getRegType(activeIndex, false)"
- v-model.trim="username"
- :area="isArea" :dialCode="dialCode" @selectArea="onSelectArea" :icon="icon"/>
+ <div class="flex re-tab" style="border-bottom: #ccc 1px solid;">
+ <div class="textColor1" :class="activeIndex == 0 ? 'active' : ''" @click="changeIndex(0)" v-if="false">
+ {{ $t('账号') }}</div>
+ <div class="textColor1" :class="activeIndex == 1 ? 'active' : ''" @click="changeIndex(1)">{{ $t('邮箱') }}
+ </div>
+ <div class="textColor1" :class="activeIndex == 2 ? 'active' : ''" @click="changeIndex(2)" v-if="false">
+ {{ $t('手机号') }}</div>
+ </div>
+ <div style="font-size: 14px">
+ {{ getRegType(activeIndex, true) }}
+ </div>
+ <ExInput style="border: #bbb 1px solid;border-radius: 3px;padding: 0;padding-bottom: 10px;margin: 10px 0"
+ :placeholderText="getRegType(activeIndex, false)" v-model.trim="username" :area="isArea"
+ :dialCode="dialCode" @selectArea="onSelectArea" :icon="icon" />
- <div style="font-size: 14px">
- {{ $t('设置密码') }}
- </div>
- <ExInput style="border: #bbb 1px solid;border-radius: 3px;padding: 0;padding-bottom: 10px;margin: 10px 0" :placeholderText="$t('密码(6-12个字符)')" v-model="password" typeText="password"/>
- <div style="font-size: 14px">
- {{ $t('确认密码') }}
- </div>
- <ExInput style="border: #bbb 1px solid;border-radius: 3px;padding: 0;padding-bottom: 10px;margin: 10px 0" :placeholderText="$t('请确认密码')" v-model="repassword" typeText="password"/>
- <div style="font-size: 14px">
+ <div style="font-size: 14px">
+ {{ $t('设置密码') }}
+ </div>
+ <ExInput style="border: #bbb 1px solid;border-radius: 3px;padding: 0;padding-bottom: 10px;margin: 10px 0"
+ :placeholderText="$t('密码(6-12个字符)')" v-model="password" typeText="password" />
+ <div style="font-size: 14px">
+ {{ $t('确认密码') }}
+ </div>
+ <ExInput style="border: #bbb 1px solid;border-radius: 3px;padding: 0;padding-bottom: 10px;margin: 10px 0"
+ :placeholderText="$t('密码(6-12个字符)')" v-model="repassword" typeText="password" />
+
+ <div style="font-size: 14px">
+ {{ $t('资金密码') }}
+ </div>
+ <ExInput style="border: #bbb 1px solid;border-radius: 3px;padding: 0;padding-bottom: 10px;margin: 10px 0"
+ :placeholderText="$t('请输入密码')" v-model="safeword" typeText="password" />
+ <div style="font-size: 14px">
+ {{ $t('确认资金密码') }}
+ </div>
+ <ExInput style="border: #bbb 1px solid;border-radius: 3px;padding: 0;padding-bottom: 10px;margin: 10px 0"
+ :placeholderText="$t('请确认密码')" v-model="re_safeword" typeText="password" />
+ <!-- 邮箱验证码 -->
+ <div style="display: flex; align-items: center; margin-top: 20px;">
+ <ExInput
+ style="border: #bbb 1px solid; border-radius: 3px; padding: 0; padding-bottom: 10px; margin-right: 10px;width: 253px;"
+ :placeholderText="$t('请输入邮箱验证码')" v-model="emailVerificationCode" typeText="text" />
+ <div style="background-color: #007BFF; color: white; border-radius: 3px; padding: 6px 12px; font-size: 14px;"
+ @click="sendVerificationCode">
+ {{ time==0? $t('获取验证码'):time }}
+ </div>
+ </div>
+ <!-- <div style="font-size: 14px">
{{ $t('邀请码(选填)') }}
</div>
- <ExInput style="border: #bbb 1px solid;border-radius: 3px;padding: 0;padding-bottom: 10px;margin: 10px 0" :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('我已阅读并同意') }}<span class="colorMain" @click="$router.push('/TermsOfService?serviceTerm=1')">{{
+ <ExInput style="border: #bbb 1px solid;border-radius: 3px;padding: 0;padding-bottom: 10px;margin: 10px 0" :placeholderText="$t('请输入邀请码')" v-model="invitCode" :clearBtn="false"/> -->
+ <div class="protocol textColor" style="margin-top: 20px;">
+ <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('我已阅读并同意') }}<span class="colorMain" @click="$router.push('/TermsOfService?serviceTerm=1')">{{
$t('服务条款')
}}</span>
- </div>
- <div class="btn btnMain" @click="register">{{ $t('注册') }}</div>
- <div class="noTips textColor">{{ $t('已有账号') }}<span class="colorMain" @click="$router.push('/login')">
- {{ $t('去登录') }}</span>
- </div>
- <nationality-list ref='controlChild' :title="$t('选择区域码')" @getName="getName(arguments)"></nationality-list>
+ </div>
+ <div class="btn btnMain" @click="register">{{ $t('注册') }}</div>
+ <div class="noTips textColor">{{ $t('已有账号') }}<span class="colorMain" @click="$router.push('/login')">
+ {{ $t('去登录') }}</span>
+ </div>
+ <nationality-list ref='controlChild' :title="$t('选择区域码')" @getName="getName(arguments)"></nationality-list>
- <Vcode :imgs="[img1, img2]" :show="show" @success="onSuccess" :canvasHeight="200" @fail="onFail"
- @close="show = false;" sliderText='' :successText="$t('验证通过!')" :failText="$t('验证失败,请重试')"/>
+ <Vcode :imgs="[img1, img2]" :show="show" @success="onSuccess" :canvasHeight="200" @fail="onFail"
+ @close="show = false;" sliderText='' :successText="$t('验证通过!')" :failText="$t('验证失败,请重试')" />
- <div>{{ msg }}</div>
- </div>
+ <div>{{ msg }}</div>
+ </div>
</template>
<script>
-import {Popup} from "vant";
-import ExInput from "@/components/ex-input";
-import Step from "./step.vue";
-import Axios from "@/API/login.js";
-import {mapActions, mapGetters} from 'vuex';
-import {GET_USERINFO} from '@/store/const.store';
-import nationalityList from '../authentication/components/nationalityList.vue'
-import Vcode from "vue-puzzle-vcode";
-import img1 from "../../assets/image/slider/1.png";
-import img2 from "../../assets/image/slider/2.png";
-import {getStorage} from '@/utils/utis'
+ import {
+ Popup
+ } from "vant";
+ import ExInput from "@/components/ex-input";
+ import Step from "./step.vue";
+ import Axios from "@/API/login.js";
+ import {
+ mapActions,
+ mapGetters
+ } from 'vuex';
+ import {
+ GET_USERINFO
+ } from '@/store/const.store';
+ import nationalityList from '../authentication/components/nationalityList.vue'
+ import Vcode from "vue-puzzle-vcode";
+ import img1 from "../../assets/image/slider/1.png";
+ import img2 from "../../assets/image/slider/2.png";
+ import {
+ getStorage
+ } from '@/utils/utis'
-export default {
- props: {},
- components: {
- [Popup.name]: Popup,
- ExInput,
- Step,
- nationalityList,
- Vcode
- },
- data() {
- return {
- show: false,
- msg: '',
- type: 3,// 1手机 2 邮箱 3账号
- agree: false,
- username: '',
- password: "",
- repassword: '',
- invitCode: '',//邀请码
- activeIndex: 1,
- typeText: "password",
- isArea: false,
- dialCode: 0, //电话号前缀
- icon: '',
- img1,
- img2,
- }
- },
- mounted() {
- let usercode = getStorage('usercode')
- if (usercode) {
- this.invitCode = usercode;
- }
- },
- computed: {
- ...mapGetters({
- theme: 'home/theme'
- }),
- },
- methods: {
- ...mapActions('user', [GET_USERINFO]),
- getRegType(activeIndex, bFlag) {
- switch (activeIndex) {
- case 0:
- return bFlag ? this.$t('账号') : this.$t('请输入账号');
- case 1:
- return bFlag ? this.$t('邮箱') : this.$t('请输入邮箱');
- case 2:
- return bFlag ? this.$t('手机号') : this.$t('请输入手机号');
- }
- },
- onClose() {
- console.log('onClose')
- },
- onSuccess() {
- console.log('onSuccess')
- this.registerApi();
- this.show = false;
- },
- onFail() {
- this.msg = ''
- },
- onRefresh() {
- this.msg = ''
- },
- onSelectArea() {
- this.openBtn();
- },
- //打开国家列表底部弹窗
- openBtn() {
- this.$refs.controlChild.open();
- },
- //获取到当前选中国家的code值
- getName(params) {
- this.icon = params[1];
- this.dialCode = params[2];
- },
- agreeProt() {
- this.agree = !this.agree
- },
- register() {
- // if (this.activeIndex == 0){
- // let match = this.username.search(/@/);
- // if (this.username == '' || match == -1) {
- // this.$toast(this.$t('请输入正确的邮箱地址'));
- // return
- // }
- // }else{
- // if (this.username == '' ) {
- // this.$toast(this.$t('请输入手机号'));
- // return
- // }
- // }
- switch (this.activeIndex) {
- case 0: {
- if (this.username == '') {
- this.$toast(this.$t('请输入账号'));
- return;
- }
- if (this.username.length < 6 || this.username.length > 30) {
- this.$toast(this.$t('账号长度必须6-30位'));
- return;
- }
- break;
- }
- case 1: {
- let match = this.username.search(/@/);
- if (this.username == '' || match == -1) {
- this.$toast(this.$t('请输入正确的邮箱地址'));
- return;
- }
- break;
- }
- case 2: {
- if (this.username == '') {
- this.$toast(this.$t('请输入手机号'));
- return;
- }
- break;
- }
- }
- if (this.password == '') {
- this.$toast(this.$t('请输入密码'));
- return
- }
- if (this.invitCode == '') {
- this.$toast(this.$t('请输入邀请码'));
- return
- }
- if (this.password.length < 6) {
- this.$toast(this.$t('密码(6-12个字符)'));
- return
- }
- if (this.repassword !== this.password) {
- this.$toast(this.$t('密码不一致'));
- return
- }
- if (!this.agree) {
- this.$toast(this.$t('请同意服务条款'));
- return
- }
- this.show = true
- },
- changeIndex(index) {
- this.activeIndex = index;
- switch (index) {
- case 0:
- case 1: {
- this.isArea = false;
- break;
- }
- case 2: {
- this.isArea = true;
- break;
- }
- }
- },
- registerApi() {
- switch (this.activeIndex) {
- case 0: {
- this.type = 3;
- break;
- }
- case 1: {
- this.type = 2;
- break;
- }
- case 2: {
- this.type = 1;
- break;
- }
- }
- Axios.registerUser({
- username: (this.activeIndex == 0 || this.activeIndex == 1) ? this.username : `${this.dialCode}${this.username}`,
- password: this.password,
- re_password: this.repassword,
- type: this.type,
- usercode: this.invitCode,
- }).then((res) => {
- this.$toast(this.$t('注册成功'));
- setTimeout(()=>{
- this.$router.push('/login')
- },1500)
- return;
- // this.GET_USERINFO(res.data)
- // if (this.activeIndex == 0) {
- // this.$router.push('/setFond')
- // } else {
- // this.$router.push({name: 'verify',
- // query: {
- // type: this.activeIndex,
- // account: this.activeIndex == 1 ? this.username : `${this.dialCode}${this.username}`
- // }
- // })
- // }
- }).catch((error) => {
- if (error.code === 'ECONNABORTED') {
- this.$toast(this.$t('网络超时!'));
- } else if (error.msg !== undefined) {
- this.$toast(this.$t(error.msg));
- }
- });
- }
- }
-}
+ export default {
+ props: {},
+ components: {
+ [Popup.name]: Popup,
+ ExInput,
+ Step,
+ nationalityList,
+ Vcode
+ },
+ data() {
+ return {
+ show: false,
+ msg: '',
+ type: 3, // 1手机 2 邮箱 3账号
+ agree: false,
+ username: '',
+ password: "",
+ repassword: '',
+ invitCode: '', //邀请码
+ re_safeword: '',
+ safeword: '',
+ activeIndex: 1,
+ typeText: "password",
+ isArea: false,
+ dialCode: 0, //电话号前缀
+ emailVerificationCode: '', //邮箱验证码
+ icon: '',
+ time: 0,
+ img1,
+ img2,
+ }
+ },
+ mounted() {
+ let usercode = getStorage('usercode')
+ if (usercode) {
+ this.invitCode = usercode;
+ }
+ },
+ computed: {
+ ...mapGetters({
+ theme: 'home/theme'
+ }),
+ },
+ methods: {
+ ...mapActions('user', [GET_USERINFO]),
+ sendVerificationCode() {
+
+ Axios.sendVerifyCode({
+ target: this.username,
+ }).then((res) => {
+ this.time = 30;
+ this.timer = setInterval(() => {
+ if (this.time > 0) {
+ this.time = this.time - 1
+ } else {
+ this.time = 0;
+ clearInterval(this.timer)
+ }
+ }, 1000);
+ }).catch((error) => {
+ if (error.code === 'ECONNABORTED') {
+ this.$toast(this.$t('网络超时!'));
+ } else if (error.msg !== undefined) {
+ this.$toast(this.$t(error.msg));
+ }
+ });
+ },
+ getRegType(activeIndex, bFlag) {
+ switch (activeIndex) {
+ case 0:
+ return bFlag ? this.$t('账号') : this.$t('请输入账号');
+ case 1:
+ return bFlag ? this.$t('邮箱') : this.$t('请输入邮箱');
+ case 2:
+ return bFlag ? this.$t('手机号') : this.$t('请输入手机号');
+ }
+ },
+ onClose() {
+ console.log('onClose')
+ },
+ onSuccess() {
+ console.log('onSuccess')
+ // this.save_email()
+ this.registerApi();
+
+ this.show = false;
+ },
+ onFail() {
+ this.msg = ''
+ },
+ onRefresh() {
+ this.msg = ''
+ },
+ onSelectArea() {
+ this.openBtn();
+ },
+ //打开国家列表底部弹窗
+ openBtn() {
+ this.$refs.controlChild.open();
+ },
+ //获取到当前选中国家的code值
+ getName(params) {
+ this.icon = params[1];
+ this.dialCode = params[2];
+ },
+ agreeProt() {
+ this.agree = !this.agree
+ },
+ register() {
+ // if (this.activeIndex == 0){
+ // let match = this.username.search(/@/);
+ // if (this.username == '' || match == -1) {
+ // this.$toast(this.$t('请输入正确的邮箱地址'));
+ // return
+ // }
+ // }else{
+ // if (this.username == '' ) {
+ // this.$toast(this.$t('请输入手机号'));
+ // return
+ // }
+ // }
+ switch (this.activeIndex) {
+ case 0: {
+ if (this.username == '') {
+ this.$toast(this.$t('请输入账号'));
+ return;
+ }
+ if (this.username.length < 6 || this.username.length > 30) {
+ this.$toast(this.$t('账号长度必须6-30位'));
+ return;
+ }
+ break;
+ }
+ case 1: {
+ let match = this.username.search(/@/);
+ if (this.username == '' || match == -1) {
+ this.$toast(this.$t('请输入正确的邮箱地址'));
+ return;
+ }
+ break;
+ }
+ case 2: {
+ if (this.username == '') {
+ this.$toast(this.$t('请输入手机号'));
+ return;
+ }
+ break;
+ }
+ }
+ if (this.password == '') {
+ this.$toast(this.$t('请输入密码'));
+ return
+ }
+ // if (this.invitCode == '') {
+ // this.$toast(this.$t('请输入邀请码'));
+ // return
+ // }
+ if (this.password.length < 6) {
+ this.$toast(this.$t('密码(6-12个字符)'));
+ return
+ }
+ if (this.repassword !== this.password) {
+ this.$toast(this.$t('密码不一致'));
+ return
+ }
+ if (!this.agree) {
+ this.$toast(this.$t('请同意服务条款'));
+ return
+ }
+ this.show = true
+ },
+ changeIndex(index) {
+ this.activeIndex = index;
+ switch (index) {
+ case 0:
+ case 1: {
+ this.isArea = false;
+ break;
+ }
+ case 2: {
+ this.isArea = true;
+ break;
+ }
+ }
+ },
+ save_email() {
+ Axios.save_email({
+ email: this.username,
+ verifcode: this.emailVerificationCode,
+ }).then((res) => {
+
+ }).catch((error) => {
+ if (error.code === 'ECONNABORTED') {
+ this.$toast(this.$t('网络超时!'));
+ } else if (error.msg !== undefined) {
+ this.$toast(this.$t(error.msg));
+ }
+ });
+ },
+ registerApi() {
+ switch (this.activeIndex) {
+ case 0: {
+ this.type = 3;
+ break;
+ }
+ case 1: {
+ this.type = 2;
+ break;
+ }
+ case 2: {
+ this.type = 1;
+ break;
+ }
+ }
+ Axios.registerUser({
+ username: (this.activeIndex == 0 || this.activeIndex == 1) ? this.username :
+ `${this.dialCode}${this.username}`,
+ password: this.password,
+ re_password: this.repassword,
+ type: this.type,
+ verifcode: this.emailVerificationCode,
+ safeword: this.safeword,
+ re_safeword: this.re_safeword,
+ // usercode: this.invitCode,
+ }).then((res) => {
+ this.$toast(this.$t('注册成功'));
+ setTimeout(() => {
+ this.$router.push('/login')
+ }, 1500)
+ return;
+ // this.GET_USERINFO(res.data)
+ // if (this.activeIndex == 0) {
+ // this.$router.push('/setFond')
+ // } else {
+ // this.$router.push({name: 'verify',
+ // query: {
+ // type: this.activeIndex,
+ // account: this.activeIndex == 1 ? this.username : `${this.dialCode}${this.username}`
+ // }
+ // })
+ // }
+ }).catch((error) => {
+ if (error.code === 'ECONNABORTED') {
+ this.$toast(this.$t('网络超时!'));
+ } else if (error.msg !== undefined) {
+ this.$toast(this.$t(error.msg));
+ }
+ });
+ }
+ }
+ }
</script>
<style lang="scss" scoped>
-.register {
- width: 100%;
- box-sizing: border-box;
- padding: 32px;
- font-size: 26px;
-}
+ .register {
+ width: 100%;
+ box-sizing: border-box;
+ padding: 32px;
+ font-size: 26px;
+ }
-.top {
- padding-left: 18px;
- padding-top: 18px;
+ .top {
+ padding-left: 18px;
+ padding-top: 18px;
- img {
- width: 37px;
- height: 37px;
- }
-}
+ img {
+ width: 37px;
+ height: 37px;
+ }
+ }
-.title {
- font-weight: 700;
- font-size: 52px;
- margin-top: 54px;
- margin-bottom: 66px;
-}
+ .title {
+ font-weight: 700;
+ font-size: 52px;
+ margin-top: 54px;
+ margin-bottom: 66px;
+ }
-.re-tab {
- margin-bottom: 44px;
+ .re-tab {
+ margin-bottom: 44px;
- div {
- padding: 0 36px;
- height: 68px;
- line-height: 68px;
- text-align: center;
- border-radius: 8px;
- margin-right: 20px;
- }
+ div {
+ padding: 0 36px;
+ height: 68px;
+ line-height: 68px;
+ text-align: center;
+ border-radius: 8px;
+ margin-right: 20px;
+ }
- .active {
- @include themify() {
- background: themed("tab_background");
- }
+ .active {
+ @include themify() {
+ background: themed("tab_background");
+ }
- @include themify() {
- color: themed("text_color");
- }
+ @include themify() {
+ color: themed("text_color");
+ }
- border-bottom: #1976d2 2px solid;
- color: #1976d2 !important;
- padding-bottom: 20px;
- font-size: 16px;
- font-weight: bold;
- border-radius: 0;
- }
-}
+ border-bottom: #1976d2 2px solid;
+ color: #1976d2 !important;
+ padding-bottom: 20px;
+ font-size: 16px;
+ font-weight: bold;
+ border-radius: 0;
+ }
+ }
-.forget {
- color: #1D91FF;
- font-size: 24px;
- line-height: 28px;
-}
+ .forget {
+ color: #1D91FF;
+ font-size: 24px;
+ line-height: 28px;
+ }
-.btn {
- color: #fff;
- height: 88px;
- line-height: 88px;
- text-align: center;
- font-size: 32px;
- margin-top: 40px;
- border-radius: 10px;
-}
+ .btn {
+ color: #fff;
+ height: 88px;
+ line-height: 88px;
+ text-align: center;
+ font-size: 32px;
+ margin-top: 40px;
+ border-radius: 10px;
+ }
-.noTips {
- margin-top: 48px;
-}
+ .noTips {
+ margin-top: 48px;
+ }
-.protocol {
- display: flex;
- align-items: center;
- height: 30px;
+ .protocol {
+ display: flex;
+ align-items: center;
+ height: 30px;
- i {
- width: 30px;
- height: 30px;
- margin-right: 18px;
+ i {
+ width: 30px;
+ height: 30px;
+ margin-right: 18px;
- img {
- width: 100%;
- height: 100%;
- }
- }
-}
-</style>
+ img {
+ width: 100%;
+ height: 100%;
+ }
+ }
+ }
+</style>
\ No newline at end of file
diff --git a/src/page/trade/index.vue b/src/page/trade/index.vue
index f3c42fa..fbdceb4 100644
--- a/src/page/trade/index.vue
+++ b/src/page/trade/index.vue
@@ -79,8 +79,8 @@
<ul>
<li v-for="item in pairsList" :key="item.symbol" class="flex justify-between py-10">
<div class="flex items-center">
- <img :src="item.symbol ? `${HOST_URL}/symbol/${item.symbol}.png` : require('@/assets/loading-default.png')"
- class="w-52 h-52 rounded-full mr-16" />
+ <!-- <img :src="item.symbol ? `${HOST_URL}/symbol/${item.symbol}.png` : require('@/assets/loading-default.png')"
+ class="w-52 h-52 rounded-full mr-16" /> -->
<p class="flex flex-col">
<strong class="font-28 textColor mb-6">{{ item.symbol.toUpperCase() }}</strong>
<span class="font-20 text-grey">{{ item.full_name }}</span>
@@ -101,8 +101,8 @@
<ul>
<li v-for="item in no_zeroList" :key="item.symbol" class="flex justify-between py-10">
<div class="flex items-center">
- <img :src="item.symbol ? `${HOST_URL}/symbol/${item.symbol}.png` : require('@/assets/loading-default.png')"
- class="w-52 h-52 rounded-full mr-16" />
+ <!-- <img :src="item.symbol ? `${HOST_URL}/symbol/${item.symbol}.png` : require('@/assets/loading-default.png')"
+ class="w-52 h-52 rounded-full mr-16" /> -->
<p class="flex flex-col">
<strong class="font-28 textColor mb-6">{{ item.symbol.toUpperCase() }}</strong>
<span class="font-20 text-grey">{{ item.full_name }}</span>
diff --git a/src/page/transfer.vue b/src/page/transfer.vue
index 2ed1384..935ce35 100644
--- a/src/page/transfer.vue
+++ b/src/page/transfer.vue
@@ -87,8 +87,24 @@
buttitle:this.$t('交易')+this.$t('账户'),
};
},
+ mounted(){
+ this.getwallet()
+ },
created() {
this.getwallet()
+ },
+ beforeRouteUpdate(to, from, next) {
+ // 路由更新时调用
+ next(vm => {
+ this.getwallet()
+ // 这里你可以访问到组件实例 `vm`,可以用来调用一些方法
+ });
+ },
+ watch: {
+ '$route'(to, from) {
+ // 路由变化时手动触发操作
+ this.getwallet()
+ }
},
methods: {
clickall(){
@@ -162,30 +178,19 @@
newcurrency = 'usdc'
}
this.$router.push({
- path: "/Fundverification",
+ path: "/withdraw/securityVerification_zh",
query: {
currency: newcurrency,
fromTo: this.toptitle==(this.$t('资金')+this.$t('账户'))?'1':'2',
amount: this.amount
},
});
- // return
- // var data = {
- // currency: newcurrency,
- // fromTo: this.toptitle==(this.$t('资金')+this.$t('账户'))?'1':'2',
- // amount: this.amount
- // }
- // await walletGrthertransfer(data).then((res) => {
- // console.log(res);
- // });
},
async getwallet() {
await walletGrther().then((data) => {
- console.log(data.id);
- this.usdcMoney = err.usdtMoney
+ this.usdcMoney = data.usdtMoney
}).catch((err)=>{
console.log(err.id);
- this.usdcMoney = err.usdtMoney
});
},
onClickLeft() {
diff --git a/src/page/userCenter/index.vue b/src/page/userCenter/index.vue
index ae00b29..dff0080 100644
--- a/src/page/userCenter/index.vue
+++ b/src/page/userCenter/index.vue
@@ -41,7 +41,7 @@
</div>
</div>
</div>
- <div class="flex flex-centerY" style="margin-top: 20px">
+ <!-- <div class="flex flex-centerY" style="margin-top: 20px">
<div @click="$router.push('/recharge/rechargeList')" class="flexY-center" style="flex: 1">
<img src="../../assets/new/img_1.png" class="ic1"/>
<div>
@@ -66,7 +66,7 @@
{{ $t('资产') }}
</div>
</div>
- </div>
+ </div> -->
<!-- <div @click="$router.push('/promote')" class="flex flex-centerY css-1uwabd6">
<img :src="require(`../../assets/theme/${this.theme}/image/yqhy.png`)" style="width: 25px;height: 25px"/>
<div style="margin-left: 20px">
diff --git a/src/page/withdraw/withdrawPage.vue b/src/page/withdraw/withdrawPage.vue
index cf63ebd..8ddb1ad 100644
--- a/src/page/withdraw/withdrawPage.vue
+++ b/src/page/withdraw/withdrawPage.vue
@@ -123,7 +123,7 @@
import AxiosWithdraw from "@/API/withdraw.js"
import assetsHead from "@/components/assets-head";
import BarScan from '@/components/scan/scan.vue';
-import { _getAllWallet } from "@/API/fund.api";
+import { _getAllWallet,walletGrther } from "@/API/fund.api";
import AxiosUser from "@/API/userCenter";
import { mapGetters } from "vuex";
export default {
@@ -298,12 +298,20 @@
},
//获取钱包余额
getAvailable(symbol) {
- _getAllWallet().then((res) => {
- let walletList = res.extends;
- let initObj = walletList.find(item => {
- return item.symbol.toLowerCase() == symbol.toLowerCase()
- })
- this.usdtBalance = initObj.usable
+ walletGrther().then((res) => {
+ console.log('symbol.toLowerCase()',symbol.toLowerCase());
+ if(symbol.toLowerCase()=='usdt'){
+ this.usdtBalance = res.usdtMoney
+ }else if(symbol.toLowerCase()=='eth'){
+ this.usdtBalance = res.ethMoney
+ }else{
+ this.usdtBalance = res.btcMoney
+ }
+ // let walletList = res.extends;
+ // let initObj = walletList.find(item => {
+ // return item.symbol.toLowerCase() == symbol.toLowerCase()
+ // })
+ // this.usdtBalance = initObj.usable
});
},
//点全部
diff --git a/src/page/withdraw/withdrawalSecurityVerification_huazhuan.vue b/src/page/withdraw/withdrawalSecurityVerification_huazhuan.vue
new file mode 100644
index 0000000..2990791
--- /dev/null
+++ b/src/page/withdraw/withdrawalSecurityVerification_huazhuan.vue
@@ -0,0 +1,157 @@
+<template>
+ <div id="withdraw_verify" class="withdraw_verify">
+ <assets-head />
+ <div class="content">
+ <div class="title textColor">{{ $t('安全验证') }}</div>
+ <p>{{ $t('请输入资金密码') }}</p>
+ <div class="iptbox inputBackground">
+ <input class="inputBackground textColor" type="password" :placeholder="$t('请输入密码')" v-model="password">
+ </div>
+ <div class="mt-40" v-if="this.isGoogleInput">
+ <p>{{ $t('请输入谷歌验证码') }}</p>
+ <div class="iptbox inputBackground">
+ <input class="inputBackground textColor" type="password" :placeholder="$t('请输入谷歌验证码')"
+ v-model="googleCode">
+ </div>
+ </div>
+ <div class="btn btnMain" @click="confirm">{{ $t('提交') }}</div>
+ <div class="mt-42" style="color:#1D91FF;"><span
+ @click="$router.push('/resetVerify?type=0')">{{ $t('资金密码不可用?') }}</span>
+ </div>
+ </div>
+ </div>
+</template>
+
+<script>
+ import assetsHead from "@/components/assets-head";
+ import {
+ Form,
+ Field,
+ CellGroup
+ } from 'vant';
+ import {
+ walletGrther,
+ walletGrthertransfer,
+ getwalletGrther
+ } from "@/API/fund.api";
+ import AxiosWithdraw from "@/API/withdraw.js"
+ import otcApi from "@/API/otc";
+ import AxiosUser from "@/API/userCenter";
+
+ export default {
+ name: "withdrawalSecurityVerification",
+ props: ['type'],
+ components: {
+ assetsHead,
+ [Form.name]: Form,
+ [Field.name]: Field,
+ [CellGroup.name]: CellGroup,
+ },
+ data() {
+ return {
+ password: '',
+ data: null,
+ sessionToken: '',
+ googleCode: '',
+ isGoogleInput: false
+ }
+ },
+ created() {
+ AxiosUser._getIsGoogleAuth({
+ code: 'google_auth_secret_open'
+ }).then(res => {
+ this.isGoogleInput = res.data.google_auth_secret_open === '1'
+ })
+ this.data = this.$route.query
+ this.getToken()
+ },
+ methods: {
+ getToken() {
+ AxiosWithdraw.GetSessionToken().then((res) => {
+ this.sessionToken = res.data.session_token;
+ });
+ },
+ onSubmit(values) {
+ console.log('submit', values);
+ },
+ async confirm(data) {
+ if (!this.password) {
+ this.$toast(this.$t('请输入资金密码'));
+ return
+ }
+ var data = {
+ currency: this.$route.query.currency,
+ fromTo: this.$route.query.fromTo,
+ amount: this.$route.query.amount,
+ safeword:this.password
+ }
+ await walletGrthertransfer(data).then((res) => {
+ console.log(res);
+ this.$toast(this.$t('操作成功'));
+ // this.$router.push({
+ // path: "/transfer",
+ // });
+ this.$router.go(-1);
+ });
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .withdraw_verify {
+ width: 100%;
+ box-sizing: border-box;
+ }
+
+ .cl {
+ color: dodgerblue;
+ }
+
+ .title {
+ font-weight: 700;
+ font-size: 52px;
+ margin-top: 54px;
+ margin-bottom: 56px;
+ }
+
+ .content {
+ padding: 0 32px;
+
+ p {
+ color: #868D9A;
+ font-size: 30px;
+ margin-bottom: 18px;
+ }
+
+ .iptbox {
+ height: 88px;
+ margin-top: 16px;
+ padding: 0 20px;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ border-radius: 8px;
+
+ input {
+ flex: 1;
+ height: 100%;
+ border: none;
+ }
+
+ span {
+ color: #1D91FF;
+ }
+ }
+ }
+
+ .btn {
+ color: #fff;
+ height: 88px;
+ line-height: 88px;
+ text-align: center;
+ font-size: 32px;
+ margin-top: 178px;
+ border-radius: 10px;
+ }
+</style>
\ No newline at end of file
diff --git a/src/router/router.js b/src/router/router.js
index 3b023a6..05b43f1 100644
--- a/src/router/router.js
+++ b/src/router/router.js
@@ -138,6 +138,21 @@
/* webpackChunkName: "SecurityVerification" */ /* webpackPrefetch: true */"@/page/withdraw/withdrawalSecurityVerification"
),
},
+ {
+ //提现申请密码验证
+ path: "/withdraw/securityVerification_zh",
+ name: "SecurityVerification_zh",
+ meta: { index: 10 },
+ props(route) {
+ return {
+ ...route.query
+ }
+ },
+ component: () =>
+ import(
+ /* webpackChunkName: "SecurityVerification" */ /* webpackPrefetch: true */"@/page/withdraw/withdrawalSecurityVerification_huazhuan"
+ ),
+ },
{
//提现详情
path: "/withdraw/withdrawDetail",
--
Gitblit v1.9.3