1
PC-20250623MANY\Administrator
2025-09-16 c69ff22bf0f30cf0421e1a38c8619c520861564c
1
10 files modified
268 ■■■■ changed files
src/axios/api.js 4 ●●●● patch | view | raw | blame | history
src/axios/api.url.js 2 ●●● patch | view | raw | blame | history
src/locales/cht.json 3 ●●●● patch | view | raw | blame | history
src/locales/en.json 3 ●●●● patch | view | raw | blame | history
src/locales/zh.json 3 ●●●● patch | view | raw | blame | history
src/page/authentication/index.vue 24 ●●●●● patch | view | raw | blame | history
src/page/login/login.vue 4 ●●●● patch | view | raw | blame | history
src/page/login/register.vue 88 ●●●● patch | view | raw | blame | history
src/page/user/account.vue 46 ●●●●● patch | view | raw | blame | history
src/page/user/recharge-sure.vue 91 ●●●●● patch | view | raw | blame | history
src/axios/api.js
@@ -675,3 +675,7 @@
export function getWeeklyProfit() {
  return post(`/user/getWeeklyProfit.do`);
}
// 获取验证码
export function getsendmail(options) {
  return post(`/api/user/sendmail.do`, options);
}
src/axios/api.url.js
@@ -14,7 +14,7 @@
  // 本地
  baseURL:
    // process.env.NODE_ENV == "development" ? "http://192.168.10.5:8091/" : "https://api.kuspitai.com/",
    process.env.NODE_ENV == "development" ? "https://usapi.yanshiz.com/" : "https://usapi.yanshiz.com/",
    process.env.NODE_ENV == "development" ? "http://192.168.10.12:8091/" : "https://usapi.yanshiz.com/",
  util: {
    image: "/util/image.html" // 图片上传
  }
src/locales/cht.json
@@ -710,5 +710,6 @@
  "持股": "持股",
  "可卖": "可賣",
  "每週盈利": "每週盈利",
  "平仓盈亏":"平倉盈虧"
  "平仓盈亏":"平倉盈虧",
  "获取验证码":"獲取驗證碼"
}
src/locales/en.json
@@ -710,5 +710,6 @@
  "持股": "Shareholding",
  "可卖": "For sale",
  "每週盈利": "Weekly profit",
  "平仓盈亏":"Closing position profit and loss"
  "平仓盈亏":"Closing position profit and loss",
  "获取验证码":"Obtain verification code"
}
src/locales/zh.json
@@ -710,5 +710,6 @@
  "持股": "持股",
  "可卖": "可卖",
  "每週盈利": "每周盈利",
  "平仓盈亏":"平仓盈亏"
  "平仓盈亏":"平仓盈亏",
  "获取验证码":"获取验证码"
}
src/page/authentication/index.vue
@@ -6,6 +6,10 @@
    <div style="width: 100%; height: .25em; background-color: #777"></div>
    <div class="shjj" v-if="$store.state.userInfo.isActive == 3">
      {{ $t('shjj') }}: {{ $store.state.userInfo.authMsg }}
    </div>
    <div class="form-group" :class="{ 'disabled': isSubmitting || isActive }">
      <label class="required-label">{{ $t('hj195') }}</label>
      <input type="text" v-model="form.name" class="form-input" :disabled="isActive" />
@@ -14,9 +18,7 @@
    <div class="form-group" :class="{ 'disabled': isSubmitting || isActive }">
      <label class="required-label">{{ $t('it1') }}</label>
      <van-radio-group v-model="auRadio" direction="horizontal" disabled style="font-size: 3.5vw;margin-top: 1em;">
        <van-radio name="1">{{ $t('dl1') }}</van-radio>
        <van-radio name="2">{{ $t('pa1') }}</van-radio>
        <van-radio name="3">{{ $t('ot1') }}</van-radio>
        <van-radio name="1">{{ $t('hj196') }}</van-radio>
      </van-radio-group>
    </div>
@@ -57,7 +59,9 @@
    <div style="width: 100%; height: .25em; background-color: #777"></div>
    <div class="submit-button" :class="{ 'disabled': isSubmitting || isActive }" @click="toSure">
      <span>{{ $t("uv1") }}</span>
      <span>
        {{ isSubmitting || isActive ? $store.state.userInfo.isActive == 2 ? $t('sptg') : $t("uv1") : $t('hj161') }}
      </span>
    </div>
  </div>
</template>
@@ -148,17 +152,13 @@
        this.$store.commit("dialogVisible", false);
        this.$store.state.userInfo = data.data;
        this.userInfo = data.data;
        if (
          this.$store.state.userInfo.isActive === 1 ||
          this.$store.state.userInfo.isActive === 2
        ) {
        // 回填数据
          this.form.idCard = this.$store.state.userInfo.idCard;
          this.form.vaildNumber = this.$store.state.userInfo.vaildNumber;
          this.form.name = this.$store.state.userInfo.realName;
          this.form.img1key = this.$store.state.userInfo.img1Key;
          this.form.img2key = this.$store.state.userInfo.img2Key;
          this.showBtn = false;
        }
      } else {
        //this.$store.commit('dialogVisible',true);
        //跳转到login
@@ -221,6 +221,12 @@
  display: none;
}
.shjj {
  font-size: .4rem;
  color: red;
  padding: .2rem;
}
.authentication-container {
  /* padding: 20px; */
  // background-color: #ffffff;
src/page/login/login.vue
@@ -26,9 +26,9 @@
    <div class="logins_content">
      <div class="login_forms">
        <div class="top_forms">
          <div class="forms_title">{{ $t("hj27") }}</div>
          <div class="forms_title">{{ $t("hj16") }}</div>
          <el-input
            :placeholder="$t('hj9')"
            :placeholder="$t('请输入电子邮箱')"
            :size="medium"
            v-model="userName"
            clearable
src/page/login/register.vue
@@ -2,55 +2,37 @@
  <div class="login_page">
    <headers />
    <div class="login_title animated slideInDown">
      <span>{{ $t("hj18") }}</span>
      <span>{{ $t("hj15") }}</span>
    </div>
    <div class="logins_content">
      <div class="login_forms">
        <div class="top_forms">
          <div class="forms_title">{{ placeholder }}</div>
          <el-input
            :placeholder="$t('请输入')"
            :size="medium"
            v-model="phone"
            clearable
            @input="handleInput()"
          >
          <el-input :placeholder="$t('请输入')" :size="medium" v-model="phone" clearable @input="handleInput()">
          </el-input>
          <div class="forms_title">{{ $t("hj25") }}</div>
          <el-input :placeholder="$t('请输入')" :size="medium" v-model="yzmCode" clearable @input="handleInput()">
            <template slot="append">
              <van-button type="info" size="small" @click="getYzm" :loading="djs > 0" :loading-text="djs + ''">
                <span style="font-size: 14px;">{{ $t('获取验证码') }}</span>
              </van-button>
            </template>
          </el-input>
          <div class="forms_title">{{ $t("Password") }}</div>
          <el-input
            :placeholder="$t('hj19')"
            :size="medium"
            v-model="userPassword"
            clearable
            @input="handleInput()"
          >
          <el-input :placeholder="$t('hj19')" :size="medium" v-model="userPassword" clearable @input="handleInput()">
          </el-input>
          <div class="forms_title">{{ $t("hj20") }}</div>
          <el-input
            :placeholder="$t('请输入')"
            :size="medium"
            v-model="rePassword"
            clearable
            @input="handleInput()"
          >
          <el-input :placeholder="$t('请输入')" :size="medium" v-model="rePassword" clearable @input="handleInput()">
          </el-input>
          <div class="forms_title">{{ $t("hj21") }}</div>
          <el-input
            :placeholder="$t('请输入')"
            :size="medium"
            v-model="userName"
            clearable
            @input="handleInput()"
          >
          <el-input :placeholder="$t('请输入')" :size="medium" v-model="userName" clearable @input="handleInput()">
          </el-input>
        </div>
        <div
          class="radio-con"
          style="display: flex; align-items: center; font-size: 14px"
        >
        <div class="radio-con" style="display: flex; align-items: center; font-size: 14px">
          <van-checkbox v-model="checked" @change="handleInput()">
            {{ $t("我已閱讀並同意") }}
          </van-checkbox>
@@ -59,13 +41,7 @@
          </span>
        </div>
        <div class="bottom_btns" :class="btnClass ? 'on' : 'off'">
          <van-button
            type="info"
            :disabled="!btnClass"
            class="butn"
            @click="gook"
            >{{ $t("立即注册") }}</van-button
          >
          <van-button type="info" :disabled="!btnClass" class="butn" @click="gook">{{ $t("立即注册") }}</van-button>
          <!-- <van-button
            type="info"
@@ -87,7 +63,7 @@
import * as api from "@/axios/api";
import { Notify } from "vant";
import { mapMutations } from "vuex";
import deTh from "@/utils/deTh";
export default {
  components: {
    headers
@@ -99,14 +75,16 @@
      verification: this.$t("hj25"),
      loginWay: this.$t("hj26"),
      loginWay: this.$t("hj26"),
      placeholder: this.$t("hj27"),
      placeholder: this.$t("hj16"),
      phone: "",
      userName: "",
      yzmCode: '',
      code: "",
      userPassword: "",
      btnClass: false,
      rePassword: "",
      medium: "medium",
      djs: 0,
    };
  },
  mounted() {
@@ -121,6 +99,7 @@
    handleInput() {
      if (
        this.userPassword !== "" &&
        this.yzmCode !== "" &&
        this.phone !== "" &&
        this.userPassword == this.rePassword &&
        this.userName != "" &&
@@ -129,6 +108,23 @@
        this.btnClass = true;
      } else {
        this.btnClass = false;
      }
    },
    async getYzm() {
      let data = await api.getsendmail({ email: this.phone });
      if (data.status == 0) {
        Notify({ type: 'primary', message: data.msg });
        this.djs = 60;
        let time = setInterval(() => {
          this.djs--;
          if (this.djs <= 0) {
            clearInterval(time);
          }
        }, 1000);
      } else {
        Notify({ type: "warning", message: data.msg });
      }
    },
    async gook() {
@@ -151,7 +147,7 @@
          let opts = {
            // agentCode:'4023', // SR330001
            phone: this.phone,
            yzmCode: "6666",
            yzmCode: this.yzmCode,
            userPwd: this.userPassword,
            agentCode: this.userName
          };
@@ -192,6 +188,12 @@
  margin-top: 0.32rem;
}
/deep/ .el-input-group__append {
  background: #13161e;
  border: none !important;
  size: .3rem;
}
/deep/ .van-checkbox__icon--checked .van-icon {
  background: @green;
  border-color: @green;
src/page/user/account.vue
@@ -1,21 +1,13 @@
<template>
  <div class="account">
    <div class="tui-userInfo flex-between">
      <div class="userinfo-box flex-center">
      <div class="userinfo-box flex-start">
        <img src="@/assets/img/avatar_.png" alt="" />
        <div>{{ userInfo.phone }}</div>
      </div>
      <div class="tui-rightsetting flex-center">
        <img
          src="@/assets/img/services.png"
          alt=""
          @click="$store.dispatch('CustomerService')"
        />
        <img
          src="@/assets/img/setting.png"
          alt=""
          @click="$router.push('/setting')"
        />
        <img src="@/assets/img/services.png" alt="" @click="$store.dispatch('CustomerService')" />
        <img src="@/assets/img/setting.png" alt="" @click="$router.push('/setting')" />
      </div>
    </div>
@@ -69,12 +61,7 @@
        <img src="@/assets/img/account_1.png" />
        <div class="text">{{ this.$t("hj172") }}</div>
      </div>
      <div
        class="tui-rightItem flex-center"
        v-for="i in tabs"
        :key="i.name"
        @click="toPage(i.path)"
      >
      <div class="tui-rightItem flex-center" v-for="i in tabs" :key="i.name" @click="toPage(i.path)">
        <img :src="i.img" />
        <div class="text">{{ i.name }}</div>
      </div>
@@ -183,14 +170,17 @@
  width: 100%;
  min-height: 100vh;
  padding: 0 0.475rem;
  .tui-spendMoney {
    font-size: 0.375rem;
    margin-top: 0.3rem;
    .tui-rightItem {
      padding: 0.4rem 0;
      width: 20%;
      border-radius: 0.325rem;
      flex-direction: column;
      .text {
        width: 100%;
        font-size: 0.3rem;
@@ -199,41 +189,49 @@
        text-align: center;
        color: #b1b2b3;
      }
      img {
        width: 0.825rem;
        height: 0.825rem;
      }
    }
  }
  .tui-money {
    margin-top: 0.65rem;
    background: linear-gradient(90deg, #585fb4, #48529e);
    border-radius: 0.175rem;
    .all-assets {
      width: 100%;
      padding: 0.225rem 0 0.35rem;
      justify-content: space-evenly;
      .assets-item {
        width: 50%;
        flex-shrink: 0;
        flex-direction: column;
        align-items: start;
        padding: 0 0.3rem;
        .big-size {
          font-size: 0.4rem;
          color: #fff;
          padding-top: 0.15rem;
        }
        .all-size {
          font-size: 0.35rem;
          color: #c4c7e4;
        }
      }
    }
    .normal {
      padding: 0.375rem 0;
      margin: 0 0.375rem;
      position: relative;
      .price {
        font-size: 0.825rem;
        // line-height: 0.825rem;
@@ -241,16 +239,19 @@
        padding-top: 0.3rem;
        color: #fff;
      }
      .text-xs {
        font-size: 0.3rem;
        color: #c7c9e6;
      }
    }
  }
  .tui-userInfo {
    box-sizing: border-box;
    padding-top: 0.95rem;
    height: 2.1rem;
    .tui-rightsetting {
      img {
        display: block;
@@ -259,10 +260,19 @@
        margin: 0 0.175rem;
      }
    }
    .userinfo-box {
      font-size: 0.65rem;
      font-size: 0.5rem;
      font-weight: 700;
      color: #fff;
      width: 70%;
      &>div {
        word-break: break-all;
        word-wrap: break-word;
        white-space: normal;
      }
      img {
        width: 1.2rem;
        height: 1.2rem;
src/page/user/recharge-sure.vue
@@ -1,72 +1,31 @@
<template>
  <div>
    <van-nav-bar
      :placeholder="true"
      :safe-area-inset-top="true"
      :title="$t('提款')"
      left-arrow
      @click-left="onClickLeft"
    >
    <van-nav-bar :placeholder="true" :safe-area-inset-top="true" :title="$t('提款')" left-arrow @click-left="onClickLeft">
      <template #right>
        <van-icon
          @click="$router.push('/cashlist')"
          name="orders-o"
          size="20"
        />
        <van-icon @click="$router.push('/cashlist')" name="orders-o" size="20" />
      </template>
    </van-nav-bar>
    <main>
      <div class="main-title">{{ $t("請選擇提款账户") }}</div>
      <van-cell
        is-link
        :title="rechargeAccountData.name || $t('請選擇')"
        @click="rechargeAccountShow = true"
      />
      <van-action-sheet
        v-model="rechargeAccountShow"
        :actions="rechargeAccountActions"
        :cancel-text="$t('hj106')"
        close-on-click-action
        @select="rechargeAccountSelect"
      />
      <van-cell is-link :title="rechargeAccountData.name || $t('請選擇')" @click="rechargeAccountShow = true" />
      <van-action-sheet v-model="rechargeAccountShow" :actions="rechargeAccountActions" :cancel-text="$t('hj106')"
        close-on-click-action @select="rechargeAccountSelect" />
      <div class="main-title">{{ $t("支持得提款渠道") }}</div>
      <van-cell
        is-link
        :title="rechargeSelect.name || $t('請選擇')"
        @click="show = true"
      />
      <van-action-sheet
        v-model="show"
        :actions="actions"
        :cancel-text="$t('hj106')"
        close-on-click-action
        @select="select"
      />
      <van-cell is-link :title="rechargeSelect.name || $t('請選擇')" @click="show = true" />
      <van-action-sheet v-model="show" :actions="actions" :cancel-text="$t('hj106')" close-on-click-action
        @select="select" />
      <div v-if="rechargeSelect.key !== undefined">
        <div class="main-title">{{ $t("請選擇銀行卡") }}</div>
        <!-- <van-cell is-link :title="bankCard.bankName || $t('請選擇')" /> -->
        <van-cell
          is-link
          :title="yhkrechargeSelect.bankName || $t('請選擇')"
          @click="yhkshow = true"
        />
        <van-action-sheet
          v-model="yhkshow"
          :actions="yhkactions"
          :cancel-text="$t('hj106')"
          close-on-click-action
          @select="yhkselect"
        />
        <van-cell is-link :title="yhkrechargeSelect.bankName || $t('請選擇')" @click="yhkshow = true" />
        <van-action-sheet v-model="yhkshow" :actions="yhkactions" :cancel-text="$t('hj106')" close-on-click-action
          @select="yhkselect" />
      </div>
      <div class="main-title">{{ $t("请选择提现金额") }}</div>
      <div class="white-input">
        <input type="number" :value="value" @input="inputValue" />
        <span
          class="myr"
          @click="value = Math.floor(availableBalanceUSD * 100) / 100"
          >{{ $t("最大") }}</span
        >
        <span class="myr" @click="value = Math.floor(availableBalanceUSD * 100) / 100">{{ $t("最大") }}</span>
      </div>
      <div>
        <div class="dz-title" v-if="rechargeAccountData.key !== undefined">
@@ -77,14 +36,8 @@
          </div>
        </div>
      </div>
      <van-button
        class="but"
        type="primary"
        style="margin-top: 1.04rem; margin-bottom: 1.04rem"
        @click="setOutMoney"
        :disabled="isclick"
        >{{ $t("提款") }}</van-button
      >
      <van-button class="but" type="primary" style="margin-top: 1.04rem; margin-bottom: 1.04rem" @click="setOutMoney"
        :disabled="isclick">{{ $t("提款") }}</van-button>
    </main>
  </div>
</template>
@@ -184,6 +137,8 @@
      if (res.status === 0) {
        this.getMoneyList = res.data;
        res.data.map(item => {
          console.log(1111111, item.accectType, this.rechargeAccountData.key, item.availableBalance);
          if (item.accectType === this.rechargeAccountData.key) {
            this.availableBalanceUSD = item.availableBalance;
            this.symbolCode = item.symbolCode;
@@ -240,6 +195,7 @@
<style lang="less" scoped>
@green: #287dff;
.but {
  width: 100%;
  color: #ffffff;
@@ -249,12 +205,14 @@
  height: 66px;
  font-size: 22px;
}
.bottom-text {
  width: 100%;
  background-color: #fff;
  padding: 0.26667rem 0.37333rem;
  box-sizing: border-box;
  margin-top: 0.26667rem;
  // margin-bottom: 80px;
  .balance {
    display: flex;
@@ -265,6 +223,7 @@
    font-style: normal;
    font-weight: 500;
    box-sizing: border-box;
    .balance-text {
      color: #181818;
      font-family: PingFang SC;
@@ -275,6 +234,7 @@
      margin-bottom: 0.37333rem;
    }
  }
  .division {
    width: 100%;
    height: 0.02667rem;
@@ -282,6 +242,7 @@
    background-color: #e5e8ed;
    margin: 0.37333rem 0;
  }
  .upload-text {
    color: #181818;
    font-family: PingFang SC;
@@ -290,6 +251,7 @@
    font-weight: 500;
  }
}
/deep/ .van-nav-bar__content {
  height: 65px;
}
@@ -312,10 +274,12 @@
  margin-top: 0.26667rem;
  box-shadow: 0 0.16rem 0.32rem #eaeaea99;
}
main {
  padding: 0 0.4rem 0.53333rem;
  box-sizing: border-box;
}
.main-title {
  font-style: normal;
  font-weight: 400;
@@ -325,6 +289,7 @@
}
.white-input {
  color: #333;
  width: 100%;
  background: #fff;
  border-radius: 0.10667rem;
@@ -344,14 +309,17 @@
  display: flex;
  justify-content: space-between;
}
.fuzhi {
  font-size: 28px;
  cursor: pointer;
}
.myr {
  color: @green;
  cursor: pointer;
}
.dz-title {
  display: flex;
  justify-content: space-between;
@@ -362,6 +330,7 @@
  margin-top: 0.31333rem;
  padding: 0 0.13333rem;
  box-sizing: border-box;
  .balance-text {
    font-style: normal;
    font-weight: 500;