lxf
2025-07-15 264ae424801ec3d1a1d6046121ecf3884deea069
Merge branch 'dev6.19' of http://124.156.157.155:8060/r/composite_h5-main into dev6.19
43 files modified
274 ■■■■■ changed files
src/components/Transform/contract-futrue/index.vue 2 ●●● patch | view | raw | blame | history
src/components/Transform/contract-header/index.vue 50 ●●●● patch | view | raw | blame | history
src/components/Transform/deliveryContract/FullWarehouse.vue 4 ●●●● patch | view | raw | blame | history
src/components/Transform/deliveryContract/hold.vue 10 ●●●● patch | view | raw | blame | history
src/components/Transform/deliveryContract/index.vue 2 ●●● patch | view | raw | blame | history
src/components/Transform/deliveryContract/position.vue 4 ●●●● patch | view | raw | blame | history
src/components/Transform/list-quotation/index.vue 14 ●●●● patch | view | raw | blame | history
src/components/Transform/perpetual-open/index.vue 28 ●●●● patch | view | raw | blame | history
src/components/Transform/popup-delivery/index.vue 10 ●●●● patch | view | raw | blame | history
src/components/Transform/trade-head/index.vue 10 ●●●● patch | view | raw | blame | history
src/components/Transform/trade-order-area/index.vue 10 ●●●● patch | view | raw | blame | history
src/components/foreign/foreign-contract-futrue/index.vue 2 ●●● patch | view | raw | blame | history
src/components/foreign/foreign-popup-delivery/index.vue 2 ●●● patch | view | raw | blame | history
src/config/index.js 1 ●●●● patch | view | raw | blame | history
src/i18n/Deutsch.js 3 ●●●●● patch | view | raw | blame | history
src/i18n/Italy.js 3 ●●●●● patch | view | raw | blame | history
src/i18n/Japanese.js 3 ●●●●● patch | view | raw | blame | history
src/i18n/Portuguese.js 3 ●●●●● patch | view | raw | blame | history
src/i18n/Spanish.js 3 ●●●●● patch | view | raw | blame | history
src/i18n/cn.js 3 ●●●●● patch | view | raw | blame | history
src/i18n/en.js 3 ●●●●● patch | view | raw | blame | history
src/i18n/fa.js 3 ●●●●● patch | view | raw | blame | history
src/i18n/korean.js 3 ●●●●● patch | view | raw | blame | history
src/i18n/th.js 3 ●●●●● patch | view | raw | blame | history
src/i18n/vi.js 3 ●●●●● patch | view | raw | blame | history
src/i18n/zhcn.js 3 ●●●●● patch | view | raw | blame | history
src/views/changeFundsPassword/index.vue 16 ●●●●● patch | view | raw | blame | history
src/views/cryptos/AccountChange/index.vue 2 ●●● patch | view | raw | blame | history
src/views/cryptos/PerpetualContract/index.vue 8 ●●●● patch | view | raw | blame | history
src/views/cryptos/Trade/index.vue 2 ●●● patch | view | raw | blame | history
src/views/foreign/deliveryContract/FullWarehouse.vue 4 ●●●● patch | view | raw | blame | history
src/views/foreign/deliveryContract/hold.vue 2 ●●● patch | view | raw | blame | history
src/views/foreign/deliveryContract/index.vue 2 ●●● patch | view | raw | blame | history
src/views/foreign/deliveryContract/position.vue 2 ●●● patch | view | raw | blame | history
src/views/foreign/foreignPerpetualContract/deliveryContract.vue 2 ●●● patch | view | raw | blame | history
src/views/login/index.vue 4 ●●● patch | view | raw | blame | history
src/views/morePage/index.vue 2 ●●● patch | view | raw | blame | history
src/views/my/index.vue 1 ●●●● patch | view | raw | blame | history
src/views/my/newindex.vue 13 ●●●●● patch | view | raw | blame | history
src/views/news/index.vue 13 ●●●● patch | view | raw | blame | history
src/views/register/index.vue 8 ●●●●● patch | view | raw | blame | history
src/views/register/setFond.vue 6 ●●●●● patch | view | raw | blame | history
src/views/trade/index.vue 2 ●●● patch | view | raw | blame | history
src/components/Transform/contract-futrue/index.vue
@@ -1,7 +1,7 @@
<template>
  <div>
    <div class="contact-futrue">
      <div class="font-24 text-grey mb-24">{{ $t('交割时间') }}</div>
      <div class="font-24 text-grey mb-24">{{ $t('兑换时间') }}</div>
      <ul class="flex flex-wrap w-full"  v-if="initFutrue.para?.length" >
        <!-- v-if="initFutrue.para" -->
        <!-- initFutrue: {{ initFutrue.para }} -->
src/components/Transform/contract-header/index.vue
@@ -12,12 +12,11 @@
              <div class="font-35">{{ symbolName.toUpperCase() || '--' }}</div>
              <div class="ml-15 font-28">{{ title }}</div>
            </div>
            <div class="pl-10 w-160  font-28" :class="{ 'text-green': range > 0, 'text-red': range <= 0 }">{{ range ||
              '--' }}%</div>
            <!-- 右上角小图标 -->
            <img src="@/assets/image/kline.png" class="w-44 h-44 right" alt="" @click="klineJump()">
            <img src="../../../assets/image/public/record.png" alt="record-img" class="w-64 h-35 pr-30 record-img"
              @click="goHistory" />
            <div class="pl-10 w-160  font-28" :class="{ 'text-green': range > 0, 'text-red': range <= 0 }">{{ range || '--' }}%</div>
              <!-- 右上角小图标 -->
            <!-- <img src="@/assets/image/kline.png" class="w-44 h-44 right" alt="" @click="klineJump()"> -->
            <img src="../../../assets/image/public/record.png" alt="record-img" class="w-44 h-44 right"
              @click="goHistory" />
          </div>
          <!-- <div class="flex items-center">
                        <img src="../../assets/image/public/k-line.png" alt="line-img" class="w-38 h-35"
@@ -60,13 +59,12 @@
        <div class="flex justify-between mb-50" v-for="item in list" :key="item.name" @click="onRoute(item)">
          <div>
            <div class="textColor font-28">{{ item.name }}</div>
            <!-- <div class="text-grey mt-10 font-28">{{ selectIndex == 1 ? $t('永续') : $t('交割') }}</div> -->
            <!-- <div class="text-grey mt-10 font-28">{{ selectIndex == 1 ? $t('永续') : $t('兑换') }}</div> -->
          </div>
          <div class="text-right">
            <div class="textColor font-28">{{ item.close }}</div>
            <div class="mt-10 font-28" :class="item.change_ratio_str > 0 ? 'text-green' : 'text-red'">{{
              item.change_ratio_str
              }}%</div>
            <div class="mt-10 font-28" :class="item.change_ratio > 0 ? 'text-green' : 'text-red'">{{ item.change_ratio
            }}%</div>
          </div>
        </div>
      </div>
@@ -123,7 +121,7 @@
      myCoinList: 'qoutes/coinList'
    }),
    title() {
      return [this.$t('永续'), this.$t('交割')][this.selectIndex - 1]
      return [this.$t('永续'), this.$t('兑换')][this.selectIndex - 1]
    }
  },
  data() {
@@ -149,21 +147,21 @@
    }
  },
  methods: {
    goHistory() {
      if (this.$store.state.user.userInfo.token) {
        let type = 'cryptos'
        if (this.$route.query.type) {
          type = this.$route.query.type
        }
        const url = this.topIndex / 1 === 1 ? '/cryptos/perpetualHistory' : '/cryptos/deliveryContractHistory'
        this.$router.push({
          path: url, query: { symbol: this.symbol, type: type }
        });
      } else {
        this.$router.push('/login')
      }
    },
      goHistory() {
        if (this.$store.state.user.userInfo.token) {
          let type = 'forex'
          if (this.$route.query.type) {
            type = this.$route.query.type
          }
          const url = this.topIndex / 1 === 1 ? '/cryptos/perpetualHistory' : '/cryptos/deliveryContractHistory'
          this.$router.push({
            path: url, query: { symbol: this.symbol, type: type }
          });
        } else {
          this.$router.push('/login')
        }
      },
    onRoute(item) {
      if (this.$route.params.symbol !== item.symbol) {
        this.$router.push(`/cryptos/perpetualContract/${item.symbol}?selectIndex=${this.selectIndex}`)
src/components/Transform/deliveryContract/FullWarehouse.vue
@@ -6,7 +6,7 @@
    <div class="segmentation"></div>
    <div class="Full-warehouse-list">
      <div class="Delivery-time">
        <div class="Delivery-time-title">{{ $t('交割时间') }}</div>
        <div class="Delivery-time-title">{{ $t('兑换时间') }}</div>
        <div class="Delivery-time-list">
          <div class="Delivery-time-item" v-for="(item, index) in DeliveryTime" :key="index"
            @click="DeliveryTime_index = index">
@@ -95,7 +95,7 @@
export default {
  data() {
    return {
      title: this.$t('交割'),
      title: this.$t('兑换'),
      symbol: 'BTC',
      price: '22637.22',
      range: '-3.81%',
src/components/Transform/deliveryContract/hold.vue
@@ -7,10 +7,10 @@
          <div class="flex items-center">
            <div class="pl-29 pr-29 pt-11 pb-11 text-white open-btn font-28"
              :class="item.direction == 'buy' ? ' bg-green' : 'bg-red'">
              {{ item.direction == 'buy' ? $t('开多') : $t('开空') }}
              {{ item.direction == 'buy' ? $t('买入') : $t('卖出') }}
            </div>
            <div class="ml-22 font-31 font-600">
              <span class="textColor">{{ item.name }} {{ $t('交割') }}</span>
              <span class="textColor">{{ item.name }} {{ $t('兑换') }}</span>
              <span class="text-grey font-28 font-400 ml-17 mr-17">{{ $t('全仓') }} {{ item.lever_rate
              }}x</span>
            </div>
@@ -34,14 +34,14 @@
        <div class="flex-1">
          <div class="text-grey">{{ $t('方向') }}</div>
          <div class="mt-20" :class="item.direction === 'buy' ? 'text-green' : 'text-red'">{{ item.direction ===
            'buy' ? $t('开多') : $t('开空') }}</div>
            'buy' ? $t('买入') : $t('卖出') }}</div>
        </div>
        <div class="flex-1 font-28">
          <div class="text-grey text-center">{{ $t('数量') }}</div>
          <div class="mt-20 text-center textColor">{{ item.volume }}</div>
        </div>
        <div class="flex-1 flex flex-col items-end font-28">
          <div class="text-grey">{{ $t('盈亏') }}</div>
          <div class="text-grey">{{ $t('服务费') }}</div>
          <div class="mt-20" :class="item.profit / 1 > 0 ? 'text-green' : 'text-red'">
            {{ item.profit / 1 > 0 ? '+' + item.profit : item.profit }}
          </div>
@@ -53,7 +53,7 @@
          <div class="mt-20 textColor">{{ fomatTime(item.remain_time) }}</div>
        </div>
        <div class="flex-1">
          <div class="text-grey  text-center">{{ $t('交割时间') }}</div>
          <div class="text-grey  text-center">{{ $t('兑换时间') }}</div>
          <div class="mt-20  text-center textColor">{{ item.time_num + item.time_unit }}</div>
        </div>
        <div class="flex-1">
src/components/Transform/deliveryContract/index.vue
@@ -15,7 +15,7 @@
export default {
  data() {
    return {
      title:this.$t('交割'),
      title:this.$t('兑换'),
      symbol:'BTC',
      price:'22637.22',
      range:'-3.81%',
src/components/Transform/deliveryContract/position.vue
@@ -5,7 +5,7 @@
        <div class="position-tag ">
          <div class="position-tag-style" :class="item.direction === 'buy' ? 'green' : 'red'">
            {{ item.direction === 'buy' ? $t('开多') : $t('开空') }}</div>
          <div class="position-tag-title textColor">{{ item.name }} {{ $t('交割') }}</div>
          <div class="position-tag-title textColor">{{ item.name }} {{ $t('兑换') }}</div>
          <div class="position-tag-title2">{{ $t('全仓') }}</div>
          <img class="position-tag-img" src="@/assets/image/deliveryContract/Group1042.png" />
        </div>
@@ -19,7 +19,7 @@
            {{ item.direction === 'buy' ? $t('开多') : $t('开空') }}</span>
        </div>
        <div class="position-div1">
          <span class="position-text1">{{ $t('交割时间') }}</span>
          <span class="position-text1">{{ $t('兑换时间') }}</span>
          <span class="position-text2 textColor">{{ item.time_num + item.time_unit }}</span>
        </div>
        <div class="position-div1">
src/components/Transform/list-quotation/index.vue
@@ -25,8 +25,8 @@
            <van-icon name="play" style="align-content:center;transform: rotate(90deg);"/>
          </div>
          <div class="px-16 py-20 bg-black text-white flex flex-col absolute min-w-140 box-border top-25 rounded-11 leading-28" style="z-index:999;margin-top: 0.8rem;" v-show="isTopShow">
            <div @click="changeType('外汇交易', 1)">{{ $t('外汇交易') }}</div>
            <div @click="changeType('外汇交割', 2)">{{ $t('外汇交割') }}</div>
            <div @click="changeType('货币兑换', 2)">{{ $t('货币兑换') }}</div>
            <div @click="changeType('外汇交易', 1)">{{ $t('外汇交易') }}</div>
            <!-- <div>期貨</div>
            <div>收藏</div> -->
          </div>
@@ -62,10 +62,10 @@
                    currency.rate).toFixed(2) || '--' }}</p> -->
              </li>
              <li class="right flex items-center justify-end">
                <p class="w-153 font-31 h-71 bg-green text-white border-0 text-center btn" v-if="item.change_ratio_str > 0">
                  {{ (item.change_ratio_str === 0 ? 0 : item.change_ratio_str) }}%</p>
                <p class="w-153 font-31 h-71 bg-green text-white border-0 text-center btn" v-if="item.change_ratio > 0">
                  {{ (item.change_ratio === 0 ? 0 : item.change_ratio) }}%</p>
                <p class="w-153 font-31 h-71 bg-red text-white border-0 text-center btn" v-else>
                  {{ (item.change_ratio_str === 0 ? 0 : item.change_ratio_str) }}%</p>
                  {{ (item.change_ratio === 0 ? 0 : item.change_ratio) }}%</p>
              </li>
            </ul>
          </van-cell>
@@ -133,8 +133,8 @@
      HOST_URL,
      active: 0,
      isTopShow: false,
      topTitle: '外汇交易',
      topValue: 1,
      topTitle: this.$t('货币兑换'),
      topValue: 2,
      type: 'left' //left 从左往右 right 从有王座
    }
  },
src/components/Transform/perpetual-open/index.vue
@@ -125,7 +125,7 @@
              <div class="textColor">{{ initFutrue.amount }} {{ queryType === 'cryptos' ? 'USDT' : 'USD' }}</div>
            </div>
            <!-- {{JSON.stringify(initFutrue.para) != '[]'}} {{JSON.stringify(initFutrue.para)}} -->
            <div class="flex font-24 text-grey justify-between mt-20"
            <!-- <div class="flex font-24 text-grey justify-between mt-20"
              v-if="selectIndex == 2 && JSON.stringify(initFutrue.para) != '[]'">
              <div>{{ $t("手续费") }}</div>
              <div class="textColor">
@@ -139,17 +139,17 @@
                }}
                {{ queryType === 'cryptos' ? 'USDT' : 'USD' }}
              </div>
            </div>
            </div> -->
            <template v-if="userInfo.token">
              <template v-if="selectIndex == 1">
                <div class="w-full h-80 lh-80 bg-green flex text-white rounded-md mt-70" v-if="currentType == 'long'"
                  @click="order('long')">
                  <div class="font-34 relative text-center" style="flex-grow:1;" v-if="selectIndex == 1">
                    {{ $t('开多') }}
                    <span class="right-word font-22 text-center">{{
                    {{ $t('买入') }}
                    <!-- <span class="right-word font-22 text-center">{{
                      $t("看涨")
                    }}</span>
                    }}</span> -->
                  </div>
                  <div class="font-34 relative text-center" style="flex-grow:1;" v-else>
                    {{ $t('做多买入') }}
@@ -158,10 +158,10 @@
                <div class="w-full h-80 lh-80 bg-red flex text-white rounded-md mt-70" v-if="currentType == 'short'"
                  @click="order('short')">
                  <div class="relative font-34 text-center" style="flex-grow:1;" v-if="selectIndex == 1">
                    {{ $t('开空') }}
                    <span class="right-word font-22 text-center">{{
                    {{ $t('卖出') }}
                    <!-- <span class="right-word font-22 text-center">{{
                      $t("看跌")
                    }}</span>
                    }}</span> -->
                  </div>
                  <div class="relative font-34 text-center" style="flex-grow:1;" v-else>
                    {{ $t('做空买入') }}
@@ -172,19 +172,19 @@
                <div class="w-full h-80 lh-80 bg-green flex text-white rounded-md mt-10 " @click="order('open')"
                  v-if="userInfo.token">
                  <div class="font-34 relative text-center" style="flex-grow: 1">
                    {{ $t("开多") }}
                    <span class="right-word font-22 text-center">{{
                    {{ $t("买入") }}
                    <!-- <span class="right-word font-22 text-center">{{
                      $t("看涨")
                    }}</span>
                    }}</span> -->
                  </div>
                </div>
                <div class="w-full h-80 lh-80 bg-red flex text-white rounded-md mt-20 mb-10" style="position: relative;"
                  :class="{ 'mt-22': selectIndex == 2 }" @click="order('close')" v-if="userInfo.token">
                  <div class="relative font-34 text-center" style="flex-grow: 1">
                    {{ $t("开空") }}
                    <span class="right-word font-22 text-center">{{
                    {{ $t("卖出") }}
                    <!-- <span class="right-word font-22 text-center">{{
                      $t("看跌")
                    }}</span>
                    }}</span> -->
                  </div>
                </div>
              </template>
src/components/Transform/popup-delivery/index.vue
@@ -2,7 +2,7 @@
  <div id="cryptos">
    <div class="popup-delivery w-500 font-28 rounded-2xl overflow-hidden" style="padding: 10px;height: 90%;">
      <div class="border-b-color pt-54 pb-36 relative textColor">
        <h1 class="font-38 px-32">{{ detailData.name }} {{ $t('交割') }}</h1>
        <h1 class="font-38 px-32">{{ detailData.name }} {{ $t('兑换') }}</h1>
        <!-- <img src="@/assets/image/icon-close.png" class="w-38 h-38 absolute right-10 top-10" @click="onClose" /> -->
      </div>
      <div class="flex justify-center mt-45" v-if="!(detailData.state === 'created')">
@@ -18,7 +18,7 @@
      </div>
      <div class="mt-45 font-50 text-center"
        :class="{ 'text-green': detailData.profit_state === '1', 'text-red': detailData.profit_state === '0' }" v-else>{{
          $t('盈亏') }}<span>{{ detailData.profit_state === '1' ? '+' : '' }}{{ detailData.profit }}</span> {{ routeType == 'cryptos' ? 'USDT' : 'USD' }}</div>
          $t('服务费') }}<span>{{ detailData.profit_state === '1' ? '+' : '' }}{{ detailData.profit }}</span> {{ routeType == 'cryptos' ? 'USDT' : 'USD' }}</div>
      <ul class="flex flex-col pb-61 textColor">
        <li v-for="item in listItem" :key="item.id" class="flex justify-between px-38 mt-28">
          <p class="text-grey font-30">{{ item.text }}</p>
@@ -109,7 +109,7 @@
        { id: 2, text: this.detailData.state !== 'created' ? this.$t('现价') : this.$t('结算价格'), key: 'close_price' },
        { id: 3, text: this.$t('方向'), key: 'direction' },
        { id: 4, text: this.$t('数量'), key: 'amount', extro: this.routeType == 'cryptos' ? 'USDT' : 'USD' },
        { id: 5, text: this.$t('交割时间'), key: 'settlement_time' }
        { id: 5, text: this.$t('兑换时间'), key: 'settlement_time' }
      ]
    }
  },
@@ -153,9 +153,9 @@
    handleBuyWord(item) {
      if (item.id === 3) {
        if (this.detailData.direction === 'buy') {
          return this.$t('开多')
          return this.$t('买入')
        } else {
          return this.$t('开空')
          return this.$t('卖出')
        }
      } else if (item.key === 'settlement_time') {
        return this.detailData.time_num + this.detailData.time_unit
src/components/Transform/trade-head/index.vue
@@ -45,8 +45,8 @@
          <img src="../../../assets/image/public/record.png" alt="record-img" class="w-44 h-44  "
              @click="goHistory" />
          
          <img v-if="isTrade" src="../../../assets/image/kline.png" class="w-44 h-44 right" alt=""
            @click="$router.push(`/cryptos/trendDetails/${symbol}?kineType=trade`)">
          <!-- <img v-if="isTrade" src="../../../assets/image/kline.png" class="w-44 h-44 right" alt=""
            @click="$router.push(`/cryptos/trendDetails/${symbol}?kineType=trade`)"> -->
        </div>
      </div>
      <!-- 左侧边弹出菜单 -->
@@ -72,8 +72,8 @@
            </div>
            <div class="text-right">
              <div class="textColor font-28">{{ item.close || '--' }}</div>
              <div class="mt-10 font-28" :class="item.change_ratio_str > 0 ? 'text-green' : 'text-red'">
                {{ item.change_ratio_str }}%</div>
              <div class="mt-10 font-28" :class="item.change_ratio > 0 ? 'text-green' : 'text-red'">
                {{ item.change_ratio }}%</div>
            </div>
          </div>
        </div>
@@ -232,7 +232,7 @@
            if (this.$route.query.type) {
                type = this.$route.query.type
            }
            this.$router.push(`/cryptos/tradeRecord/${this.symbol}/?type=${type}`)
            this.$router.push(`/cryptos/tradeRecord/${this.symbol}/?type=forex`)
        } else {
            this.$router.push('/login')
        }
src/components/Transform/trade-order-area/index.vue
@@ -23,9 +23,9 @@
        :disabled="type / 1 === 1" />
      <span>USDT</span>
    </div>
    <div class="h-70 lh-70  inputBackground mb-25 flex justify-center px-16 textColor2">
    <!-- <div class="h-70 lh-70  inputBackground mb-25 flex justify-center px-16 textColor2">
      <span>{{ title }}</span>
    </div>
    </div> -->
    <div class="flex total-list">
      <div class="total-div" :class="[!isTotal ? 'active-bg' : '']" @click="checkIsTotal(false)">
        {{ $t('数量') }}
@@ -44,8 +44,8 @@
        @input="onInputTotal" />
      <span class="textColor font-28">{{ 'USDT' }}</span>
    </div>
    <div class="font-24 w-full flex justify-between items-center textColor1">
      <!-- <span class="flex-1 text-left">0%</span> -->
    <!-- <div class="font-24 w-full flex justify-between items-center textColor1">
      <span class="flex-1 text-left">0%</span>
      <span class="flex-1 tab-item" :class="[percentageVal == 25 ? 'select-active' : '']"
        @click="exchangeVal(25)">25%</span>
      <span class="flex-1 tab-item" :class="[percentageVal == 50 ? 'select-active' : '']"
@@ -54,7 +54,7 @@
        @click="exchangeVal(75)">75%</span>
      <span class="flex-1 tab-item" :class="[percentageVal == 100 ? 'select-active' : '']"
        @click="exchangeVal(100)">100%</span>
    </div>
    </div> -->
    <div class="flex justify-between items-center mt-40">
      <div class="flex flex-col font-24">
        <p class="text-grey" v-if="this.currentType === 'open'">{{ $t('可用') }}<span class="textColor ml-8">
src/components/foreign/foreign-contract-futrue/index.vue
@@ -1,6 +1,6 @@
<template>
<div class="contact-futrue">
    <div class="font-24 text-grey mb-24">{{ $t('交割时间') }}</div>
    <div class="font-24 text-grey mb-24">{{ $t('兑换时间') }}</div>
    <ul class="flex flex-wrap w-full">
        <li v-for="(item, index) in initFutrue.para" :key="item.para_id" class="h-92 flex items-center mb-22" @click="onSelect(item, index)">
            <p class="w-95 h-full flex justify-center items-center font-22 flex-1"
src/components/foreign/foreign-popup-delivery/index.vue
@@ -107,7 +107,7 @@
    { id: 2, text: props.detailData.state !== 'created' ? t('现价') : t('结算价格'), key: 'close_price' },
    { id: 3, text: t('方向'), key: 'direction' },
    { id: 4, text: t('number'), key: 'amount', extro: 'USD' },
    { id: 5, text: t('交割时间'), key: 'settlement_time' }
    { id: 5, text: t('兑换时间'), key: 'settlement_time' }
  ]
})
src/config/index.js
@@ -36,6 +36,7 @@
// const ENV_DEV = 'zhapi.coinbtcs.com' // dev
// const ENV_DEV = 'openapi.yanshiz.com' // dev
const ENV_DEV = 'aa.yanshiz.com' // dev
// const ENV_DEV = '192.168.10.24:8086' // dev
// const ENV_DEV = 'aa.yanshiz.com' // dev
src/i18n/Deutsch.js
@@ -1,4 +1,7 @@
export default {
    hbjy:"Devisenhandel",
    hbdhdd:"Währungsumtauschauftrag",
    whjydd:"Forex-Handelsaufträge",
    entrustOrder: "Betrauungsauftrag",
    installApp: "Diese Anwendung installieren",
    press: "drücken",
src/i18n/Italy.js
@@ -1,4 +1,7 @@
export default {
    hbjy:"Trading di valute",
    hbdhdd:"Ordine di cambio valuta",
    whjydd:"Ordini di trading Forex",
    entrustOrder: "Ordine di Affidamento",
    installApp: "Installa questa applicazione",
    press: "premere",
src/i18n/Japanese.js
@@ -1,4 +1,7 @@
export default {
    hbjy:"通貨取引",
    hbdhdd:"外貨両替注文",
    whjydd:"外国為替取引注文",
    entrustOrder: "委託注文",
    installApp: "このアプリをインストール",
    press: "押す",
src/i18n/Portuguese.js
@@ -1,4 +1,7 @@
export default {
    hbjy:"Negociação de moedas",
    whjydd:"Ordens de negociação Forex",
    hbdhdd:"Pedidos de troca",
    entrustOrder: "Ordem de Confiança",
    installApp: "Instalar este aplicativo",
    press: "pressione",
src/i18n/Spanish.js
@@ -1,4 +1,7 @@
export default {
    hbjy:"Negociação de moedas",
    whjydd:"Ordens de negociação Forex",
    hbdhdd:"Pedidos de troca",
    entrustOrder: "Ordem de Confiança",
    installApp: "Instalar este aplicativo",
    press: "pressione",
src/i18n/cn.js
@@ -1,4 +1,7 @@
export default {
    hbjy:"貨幣交易",
    hbdhdd:"貨幣兌換訂單",
    whjydd:"外匯交易訂單",
    entrustOrder: "委託訂單",
    installApp: "安裝此應用程序",
    press: "按",
src/i18n/en.js
@@ -1,4 +1,7 @@
export default {
    hbjy:"Currency Trading",
    hbdhdd:"Currency exchange order",
    whjydd:"Forex trading orders",
    entrustOrder: "Entrust Order",
    installApp: "Install this application",
    press: "Press",
src/i18n/fa.js
@@ -1,4 +1,7 @@
export default {
    hbjy:"Négociation de devises",
    hbdhdd:"Ordre de change",
    whjydd:"Ordres de trading Forex",
    entrustOrder: "Ordonnance de mandat",
    installApp: "Installer cette application",
    press: "appuyer",
src/i18n/korean.js
@@ -1,4 +1,7 @@
export default {
    hbjy:"통화 거래",
    hbdhdd:"교환요청",
    whjydd:"외환 거래 주문",
    entrustOrder: "위탁 주문",
    installApp: "이 앱을 설치",
    press: "누르다",
src/i18n/th.js
@@ -1,4 +1,7 @@
export default {
    hbjy:"การซื้อขายสกุลเงิน",
    whjydd:"คำสั่งการซื้อขายฟอเร็กซ์",
    hbdhdd:"คำสั่งแลกเงิน",
    entrustOrder: "คำสั่งซื้อ",
    InstallApp: "ติดตั้งแอปนี้",
    press: "กด",
src/i18n/vi.js
@@ -1,4 +1,7 @@
export default {
    hbjy:"giao dịch tiền tệ",
    hbdhdd:"Lệnh đổi tiền",
    whjydd:"Lệnh giao dịch ngoại hối",
    entrustOrder: "Lệnh ủy thác",
    installApp: "Cài đặt ứng dụng này",
    press: "nhấn",
src/i18n/zhcn.js
@@ -1,4 +1,7 @@
export default {
    hbjy:"货币交易",
    hbdhdd:"货币兑换订单",
    whjydd:"外汇交易订单",
    entrustOrder: "委托订单",
    installApp: "安装此应用程序",
    press: "按",
src/views/changeFundsPassword/index.vue
@@ -6,17 +6,19 @@
      </template>
    </fx-header>
    <div class="content">
        <ExInput :label="$t('oldPassword')" :placeholderText="$t('entryPassword')" :tips="$t('funsPasswordTips')"
          v-model="oldPassword" typeText="password" />
      <ExInput :label="$t('newPassword')" :placeholderText="$t('entryPassword')" :tips="$t('funsPasswordTips')"
        v-model="password" typeText="password" />
      <ExInput :label="$t('sureNewPassword')" :placeholderText="$t('entryPassword')" :tips="$t('funsPasswordTips')"
        v-model="rePassword" typeText="password" />
      <ExChecked class="mb-42" :list="list" @checkedSelect="onChecked"></ExChecked>
      <p class="label mt-14 textColor">{{ $t('verificationCode') }}</p>
      <!-- <ExChecked class="mb-42" :list="list" @checkedSelect="onChecked"></ExChecked> -->
      <!-- <p class="label mt-14 textColor">{{ $t('verificationCode') }}</p>
      <div class="iptbox inputBackground">
        <input class="inputBackground textColor" type="text" :placeholder="$t('entryVerifyCode')" v-model="verifyCode">
        <span v-if="currentType != 3" @click="senCode">{{ $t('sendVerifyCode') }}<template v-if="time">
            ({{ time }})s</template></span>
      </div>
      </div> -->
      <van-button class="w-full" style="margin-top:10px;" @click="submit" type="primary">
        {{ $t('sure') }}
      </van-button>
@@ -35,7 +37,7 @@
import { useI18n } from "vue-i18n";
const { t } = useI18n()
const router = useRouter()
const oldPassword = ref('')//旧密码
const password = ref('')//密码
const rePassword = ref('')//确认密码
const verifyCode = ref('') //验证码
@@ -90,8 +92,10 @@
  }
  _setSafeword({
    safeword: password.value,
    verifcode_type: currentType.value,
    verifcode: verifyCode.value
    // verifcode_type: currentType.value,
    verifcode_type: '3',
    verifcode: verifyCode.value,
    odl_safeword:oldPassword.value
  }).then((res) => {
    showToast(t('changeSuccess'))
    setTimeout(() => {
src/views/cryptos/AccountChange/index.vue
@@ -65,7 +65,7 @@
      selectData: [
        { title: this.$t('全部'), type: '' },
        { title: this.$t('法币交易'), type: 'coin' },
        { title: this.$t('合约交易'), type: 'contract' },
        { title: this.$t('货币交易'), type: 'contract' },
        { title: this.$t('币币交易'), type: 'exchange' },
      ],
      type: "",//选中类型
src/views/cryptos/PerpetualContract/index.vue
@@ -8,7 +8,7 @@
      <k-line-charts :update-key="updateKey" :update-data="quote" :symbol="symbol" :showBottom="true" />
      <p class="status-info" v-if="chartData.market && chartData.market.status">
        <span>{{ chartData.market.status && $t(chartData.market.status) }},</span>
        <span class="time">{{ chartData.market.time_str }}</span>&nbsp;
        <span class="time">{{ chartData.market.time }}</span>&nbsp;
        <span>{{ chartData.market.time_zone && $t(chartData.market.time_zone) }}</span>
      </p>
      <div :class="{ slide2: animated1 }" v-if="selectIndex === 1">
@@ -36,7 +36,7 @@
            <p class="first-line red">{{ formatMoney(chartData?.close) }}</p>
            <p class="second-line">
              <span class="red">{{ chartData?.netChange }}</span>&nbsp;
              <span class="red">{{ `${chartData?.change_ratio_str}%` }}</span>
              <span class="red">{{ `${chartData?.change_ratio}%` }}</span>
            </p>
          </div>
          <div class="flex-r">
@@ -124,7 +124,7 @@
            <p class="first-line red">{{ formatMoney(chartData?.close) }}</p>
            <p class="second-line">
              <span class="red">{{ chartData?.netChange }}</span>&nbsp;
              <span class="red">{{ `${chartData?.change_ratio_str}%` }}</span>
              <span class="red">{{ `${chartData?.change_ratio}%` }}</span>
            </p>
          </div>
          <div class="flex-r">
@@ -527,7 +527,7 @@
      if (data && data.length) {
        const cur = data[0]
        this.price = cur.close
        this.range = (cur.change_ratio_str || cur.changeRatioStr)
        this.range = (cur.change_ratio || cur.changeRatio)
        this.quote = cur
        this.updateKey++
      }
src/views/cryptos/Trade/index.vue
@@ -548,7 +548,7 @@
                if (data && data.length) {
                    const cur = data[0]
                    this.price = cur.close
                    this.range = cur.change_ratio_str || cur.changeRatioStr
                    this.range = cur.change_ratio || cur.changeRatio
                    this.quote = cur
                    this.updateKey++
                }
src/views/foreign/deliveryContract/FullWarehouse.vue
@@ -6,7 +6,7 @@
    <div class="segmentation"></div>
    <div class="Full-warehouse-list">
      <div class="Delivery-time">
        <div class="Delivery-time-title">{{ $t('交割时间') }}</div>
        <div class="Delivery-time-title">{{ $t('兑换时间') }}</div>
        <div class="Delivery-time-list">
          <div class="Delivery-time-item" v-for="(item,index) in DeliveryTime" :key="index" @click="DeliveryTime_index=index">
            <div class="Delivery-time-item-time" :style="index==DeliveryTime_index?'background: #7F81FD;color: #ffffff;':''">{{ item.time }}</div>
@@ -77,7 +77,7 @@
export default {
  data() {
    return {
      title:this.$t('交割'),
      title:this.$t('兑换'),
      symbol:'BTC',
      price:'22637.22',
      range:'-3.81%',
src/views/foreign/deliveryContract/hold.vue
@@ -54,7 +54,7 @@
                    <div class="mt-10 textColor">{{ fomatTime(item.remain_time) }}</div>
                </div>
                <div class="flex-1">
                    <div class="text-grey1  text-center">{{ $t('交割时间') }}</div>
                    <div class="text-grey1  text-center">{{ $t('兑换时间') }}</div>
                    <div class="mt-10  text-center textColor">{{ item.time_num + item.time_unit }}</div>
                </div>
                <div class="flex-1">
src/views/foreign/deliveryContract/index.vue
@@ -15,7 +15,7 @@
export default {
  data() {
    return {
      title:this.$t('交割'),
      title:this.$t('兑换'),
      symbol:'BTC',
      price:'22637.22',
      range:'-3.81%',
src/views/foreign/deliveryContract/position.vue
@@ -18,7 +18,7 @@
          {{ item.direction === 'buy' ? $t('开多') : $t('开空') }}</span>
      </div>
      <div class="position-div1">
        <span class="position-text1">{{ $t('交割时间') }}</span>
        <span class="position-text1">{{ $t('兑换时间') }}</span>
        <span class="position-text2 textColor">{{ item.time_num + item.time_unit }}</span>
      </div>
      <div class="position-div1">
src/views/foreign/foreignPerpetualContract/deliveryContract.vue
@@ -14,7 +14,7 @@
                        @click="goToTab('delivery')"
                        style="cursor:pointer;"
           >
                        <span>{{ t('交割') }}</span>
                        <span>{{ t('兑换') }}</span>
                    </span>
                </dev>
            </dev>
src/views/login/index.vue
@@ -209,7 +209,9 @@
<style lang="scss" scoped>
@import '@/assets/css/deepseek_css_20250625_30ff932.css';
.uni-input-input{
    background-color: #fff;
}
.login {
    width: 100%;
    padding: 15px 0;
src/views/morePage/index.vue
@@ -112,7 +112,7 @@
    foreign: [
        { name: t('外汇交易'), url: new URL('@/assets/theme/dark/image/nav/trade.png', import.meta.url), path: '/foreign/coinChart?symbol=USDSGD', isLogin: false },
        { name: t('外汇合约'), url: new URL('@/assets/theme/dark/image/nav/contract.png', import.meta.url), path: '/foreign/coinChart?symbol=USDSGD', isLogin: false },
        { name: t('外汇交割'), url: new URL('@/assets/theme/dark/image/nav/delivery1.png', import.meta.url), path: '/foreign/deliveryContract/USDSGD', isLogin: false },
        { name: t('货币兑换'), url: new URL('@/assets/theme/dark/image/nav/delivery1.png', import.meta.url), path: '/foreign/deliveryContract/USDSGD', isLogin: false },
    ]
})
const searchList = ref([])
src/views/my/index.vue
@@ -177,7 +177,6 @@
          { icon: new URL('../../assets/image/assets-center/help.png', import.meta.url), title: t('language'), path: '/language' },
          // { icon: 'gold-coin-o', title: t('计价方式'), path: '/cryptos/exchangeRate' },
          { icon: new URL('../../assets/image/assets-center/aboutUs.png', import.meta.url), title: t('onLineService'), path: '/customerService' },
        ]
      },
      // {
src/views/my/newindex.vue
@@ -90,9 +90,10 @@
// 账户详情选项数据
const accountItems = ref([
  // { icon: 'icon-option.png', title: '貨幣訂單' , path: '/position/index'},
  { icon: new URL('../../assets/img/icon-option.png', import.meta.url), title: t('现货订单') , path: '/position/index'},
  { icon: new URL('../../assets/img/icon-option.png', import.meta.url), title: t('hbdhdd') , path: '/cryptos/deliveryContractHistory?symbol=USDSGD&type=forex'},
  { icon: new URL('../../assets/img/icon-option.png', import.meta.url), title: t('whjydd') , path: '/cryptos/tradeRecord/USDSGD/?type=forex'},
  { icon: new URL('../../assets/img/icon-option.png', import.meta.url), title: t('账变记录') , path:'/cryptos/accountChange'},
  { icon: new URL('../../assets/img/icon-wallet.png', import.meta.url), title: t('银行卡'), path: '/payMentMethod/list'},
  // { icon: new URL('../../assets/img/icon-wallet.png', import.meta.url), title: t('银行卡'), path: '/payMentMethod/list'},
  { icon: new URL('../../assets/img/icon-real.png', import.meta.url), title: t('实名认证'), status: status.value[userStore.userInfo.kyc_status] , path: '/certificationCenter'},
  { icon: new URL('../../assets/img/icon-small-language.png', import.meta.url), title: t('语言'), status: JSON.parse(localStorage.getItem('lang_tit')), path: '/language' },
  { icon: new URL('../../assets/img/icon-small-password.png', import.meta.url), title: t('修改密码'), path: '/changePassword'},
@@ -107,7 +108,7 @@
  // { icon: 'icon-service.png', title: '專屬客服' },
  { icon: new URL('../../assets/img/icon-about.png', import.meta.url), title: t('关于我们'), path: '/aboutUs' },
  // { icon: 'icon-logout.png', title: '下載 APP' },
  { icon: new URL('../../assets/img/icon-logout.png', import.meta.url), title: t('退出'), button: true  }
  { icon: new URL('../../assets/img/icon-logout.png', import.meta.url), title: t('退出'),path:'/aaa', button: true  }
]);
const state = reactive({
@@ -136,7 +137,11 @@
    router.push('/login')
    return
  }
  router.push(path)
  if(path=='/aaa'){
      loginOut()
  }else{
      router.push(path)
  }
}
onMounted(() => {
  if (userStore.userInfo && userStore.userInfo.token) {
src/views/news/index.vue
@@ -47,7 +47,7 @@
            </div>
          </div>
          <div class="flex justify-between">
            <div class="py-2 px-8 rounded-full text-13 font-medium bg-white">{{ item.change_ratio_str }}</div>
            <div class="py-2 px-8 rounded-full text-13 font-medium bg-white">{{ item.change_ratio }}</div>
            <span class="text-18" :class="index % 2 === 1 ? 'c2c_color' : ''">→</span>
          </div>
        </div>
@@ -75,7 +75,7 @@
      <div class="w-40 h-40 rounded-full flex items-center justify-center">
        <img class="w-33 h-33" src="@/assets/c.jpg" draggable="false">
      </div>
      <div class="text-center">{{ t('外汇交割') }}</div>
      <div class="text-center">{{ t('货币兑换') }}</div>
    </div>
    <!-- <div class="flex-1 flex flex-col items-center" @click="copyInviteLink">
      <div class="w-40 h-40 rounded-full flex items-center justify-center">
@@ -163,7 +163,14 @@
  goToPage('/customerService')
}
const goToPage = (path) => {
  router.push(path)
    if(path=='/mining'){
        showToast({
          message: 'Stay tuned',
          position: 'bottom',
        })
    }else{
        router.push(path)
    }
}
const getInformationList = () => {
src/views/register/index.vue
@@ -99,7 +99,7 @@
                        </div>
                    </div>
                </div>
                <div class="mt-15 bg-white p-14 rounded-10 flex items-center">
                <!-- <div class="mt-15 bg-white p-14 rounded-10 flex items-center">
                    <div class="w-22 h-22">
                        <img src="../../assets/img/icon-invite.png" draggable="false">
                    </div>
@@ -109,7 +109,7 @@
                                class="uni-input-input" autocomplete="off" :placeholder="$t('invitCode')">
                        </div>
                    </div>
                </div>
                </div> -->
            </div>
            <div class="py-17 text-center bg-black mt-80 rounded-10 text-19 font-700" @click="register">{{
                $t('register') }}</div>
@@ -358,7 +358,9 @@
<style lang="scss" scoped>
@import '@/assets/css/deepseek_css_20250625_30ff932.css';
.uni-input-input{
    background-color: #fff;
}
.activeBKClick {
    &:active {
        background: $tab_background;
src/views/register/setFond.vue
@@ -72,7 +72,7 @@
    }).then((res) => {
        // showToast(t('bindSuccess'));
        console.log('sss')
        router.push('/identity')
        router.push('/news')
    }).catch((error) => {
        showToast(t(error.msg));
    });
@@ -93,7 +93,9 @@
<style lang="scss" scoped>
@import '@/assets/css/deepseek_css_20250625_30ff932.css';
.uni-input-input{
    background-color: #fff;
}
.setFond {
    width: 100%;
    height: 100vh;
src/views/trade/index.vue
@@ -463,7 +463,7 @@
      <div class="symbol-list">
        <div class="flex flex-col justify-center pt-50 pb-20 items-center" v-if="symbolList.length === 0">
          <img src="@/assets/image/assets-center/no-data.png" alt="" class="no-data-img" />
          <p class="text-grey mt-10">{{ $t('暂无记录') }}123</p>
          <p class="text-grey mt-10">{{ $t('暂无记录') }}</p>
        </div>
        <ul v-else>
          <li class="symbol-list-item" v-for="item in symbolList" :key="item" @click="itemClickSecondOrFourth(item)">