1
admin
2026-01-11 fff675a093a912ecdda8e5498421a3e41ab0b596
1
20 files modified
344 ■■■■ changed files
index.html 2 ●●● patch | view | raw | blame | history
src/axios/api.url.js 2 ●●● patch | view | raw | blame | history
src/components/stock-list.vue 8 ●●●●● patch | view | raw | blame | history
src/locales/cht.json 3 ●●●●● patch | view | raw | blame | history
src/locales/de.json 5 ●●●● patch | view | raw | blame | history
src/locales/en.json 5 ●●●● patch | view | raw | blame | history
src/locales/es.json 3 ●●●●● patch | view | raw | blame | history
src/locales/fra.json 5 ●●●● patch | view | raw | blame | history
src/locales/hi.json 5 ●●●● patch | view | raw | blame | history
src/locales/jp.json 5 ●●●● patch | view | raw | blame | history
src/locales/kor.json 5 ●●●● patch | view | raw | blame | history
src/locales/th.json 5 ●●●● patch | view | raw | blame | history
src/locales/zh.json 5 ●●●● patch | view | raw | blame | history
src/page/home/homeIndex.vue 70 ●●●●● patch | view | raw | blame | history
src/page/markets/markets.vue 45 ●●●●● patch | view | raw | blame | history
src/page/trading/TradeNew.vue 6 ●●●● patch | view | raw | blame | history
src/page/user/account.vue 111 ●●●● patch | view | raw | blame | history
src/page/user/recharge-sure.vue 18 ●●●● patch | view | raw | blame | history
src/page/user/transferNew.vue 26 ●●●● patch | view | raw | blame | history
src/page/wallet/index.vue 10 ●●●● patch | view | raw | blame | history
index.html
@@ -5,7 +5,7 @@
    <meta charset="utf-8">
    <meta name="viewport"
        content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
    <title>ACAPL Pro</title>
    <title>FidelityJp</title>
    <link rel="shortcut icon" href=./favicon.ico type=image/x-icon>
    <link href="static/css/public1.css" rel="stylesheet">
    <link href="//at.alicdn.com/t/c/font_4480663_5e9rjcl352x.css" rel="stylesheet">
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://ciapi.stcarlyle.com/" : "https://ciapi.stcarlyle.com/",
    process.env.NODE_ENV == "development" ? "https://dgapi.shengliankeji.top/" : "https://dgapi.shengliankeji.top/",
  util: {
    image: "/util/image.html" // 图片上传
  }
src/components/stock-list.vue
@@ -102,9 +102,11 @@
    propOption: {
      handler(val) {
        // 根据当前股票类型连接对应的ws
        if (val.stockType == "US")
          this.initWebSocket("wss://usws.yanshiz.com/websocket-server");
        else this.initWebSocket("wss://ws.acapl.net/websocket-server");
        // if (val.stockType == "US")
        //   this.initWebSocket("wss://usws.yanshiz.com/websocket-server");
        // else this.initWebSocket("wss://ws.acapl.net/websocket-server");
        this.initWebSocket("wss://rbws.shengliankeji.top/websocket-server");
        this.pageNum = 1;
        this.getStockList();
src/locales/cht.json
@@ -669,6 +669,9 @@
  "建仓成本": "建倉成本",
  "已申购": "已申購",
  "hj316": "請輸入銀行卡戶主名稱",
  "日股指数": "日股指數",
  "日本": "日本",
  "日股账户": "日股賬戶",
  "Password": "密碼",
  "rnv": "實名認證",
  "it1": "證件類型",
src/locales/de.json
@@ -646,5 +646,8 @@
  "确认还款吗":"Confirm repayment",
  "日内":"In the meantime",
  "建仓成本":"Position-building cost",
  "已申购":"Already purchased"
  "已申购":"Already purchased",
  "日股指数": "Japanischer Aktienindex",
  "日本": "Japan",
  "日股账户": "Japanisches Aktienkonto"
}
src/locales/en.json
@@ -700,5 +700,8 @@
  "待补资金": "Pending replenishment funds",
  "身份證件": "Identity document",
  "一键平仓": "One-click liquidation",
  "交易数量": "Transaction quantity"
  "交易数量": "Transaction quantity",
  "日股指数": "Japanese Stock Index",
  "日本": "Japan",
  "日股账户": "Japanese stock account"
}
src/locales/es.json
@@ -654,6 +654,9 @@
  "建仓成本": "Costo de Apertura",
  "已申购": "Suscrito",
  "hj316": "Introduzca el nombre del titular de la tarjeta bancaria",
  "日股指数": "Índice de acciones japonés",
  "日本": "Japón",
  "日股账户": "Cuenta de acciones japonesas",
  "Password": "contraseña",
  "rnv":"Verificación de identidad",
  "it1":"Tipo de identificación",
src/locales/fra.json
@@ -645,5 +645,8 @@
  "确认还款吗":"Confirm repayment",
  "日内":"In the meantime",
  "建仓成本":"Position-building cost",
  "已申购":"Already purchased"
  "已申购":"Already purchased",
  "日股指数": "Indice boursier japonais",
  "日本": "Japon",
  "日股账户": "Compte actions japonaises"
}
src/locales/hi.json
@@ -700,5 +700,8 @@
  "待补资金": "अनुपूरक निधि लंबित",
  "身份證件": "पहचान प्रलेख",
  "一键平仓": "एक कृपया बंद करें",
  "交易数量": "लेनदेन मात्रा"
  "交易数量": "लेनदेन मात्रा",
  "日股指数": "जापानी स्टॉक इंडेक्स",
  "日本": "जापान",
  "日股账户": "जापानी स्टॉक खाता"
}
src/locales/jp.json
@@ -647,5 +647,8 @@
  "确认还款吗":"Confirm repayment",
  "日内":"In the meantime",
  "建仓成本":"Position-building cost",
  "已申购":"Already purchased"
  "已申购":"Already purchased",
  "日股指数": "日経平均",
  "日本": "日本",
  "日股账户": "日本株式口座"
}
src/locales/kor.json
@@ -647,5 +647,8 @@
  "确认还款吗":"Confirm repayment",
  "日内":"In the meantime",
  "建仓成本":"Position-building cost",
  "已申购":"Already purchased"
  "已申购":"Already purchased",
  "日股指数": "일본 주식 지수",
  "日本": "일본",
  "日股账户": "일본 주식 계좌"
}
src/locales/th.json
@@ -647,5 +647,8 @@
  "确认还款吗":"Confirm repayment",
  "日内":"In the meantime",
  "建仓成本":"Position-building cost",
  "已申购":"Already purchased"
  "已申购":"Already purchased",
  "日股指数": "ดัชนีหุ้นญี่ปุ่น",
  "日本": "ญี่ปุ่น",
  "日股账户": "บัญชีหุ้นญี่ปุ่น"
}
src/locales/zh.json
@@ -651,5 +651,8 @@
  "确认还款吗":"确认还款吗",
  "日内":"日内",
  "建仓成本":"建仓成本",
  "已申购":"已申购"
  "已申购":"已申购",
  "日股指数": "日股指数",
  "日本": "日本",
  "日股账户": "日股账户"
}
src/page/home/homeIndex.vue
@@ -1,13 +1,7 @@
<template>
  <div class="home_index">
    <tab-head>
      <van-popover
        v-model="languageShow"
        trigger="click"
        :actions="actions"
        @select="onSelect"
        placement="bottom-end"
      >
      <van-popover v-model="languageShow" trigger="click" :actions="actions" @select="onSelect" placement="bottom-end">
        <template #reference>
          <div class="multilingual">
            <img src="../../assets/img/language.svg" alt="" />
@@ -73,15 +67,24 @@
      </div>
      <div class="flex-between navs">
        <div class="nav_item" v-for="item in usDataStockBeans" :key="item.id">
          <index-component
            :ids="'a' + item.id"
            :dataObj="item"
          ></index-component>
          <index-component :ids="'a' + item.id" :dataObj="item"></index-component>
        </div>
      </div>
    </div>
    <div class="subheading bg-white" style="margin-top: 0.25em">
      <div class="subheading_title">
        <img src="../../assets/img/iconmonstr-chart-5.png" alt="" />
        <span>{{ $t("日股指数") }}</span>
      </div>
      <div class="flex-between navs">
        <div class="nav_item" v-for="item in jpDataStockBeans" :key="item.id">
          <index-component :ids="'b' + item.id" :dataObj="item"></index-component>
        </div>
      </div>
    </div>
    <!-- <div class="subheading bg-white" style="margin-top: 0.25em">
      <div class="subheading_title">
        <img src="../../assets/img/iconmonstr-chart-5.png" alt="" />
        <span>{{ $t("hksi") }}</span>
@@ -94,9 +97,9 @@
          ></index-component>
        </div>
      </div>
    </div>
    </div> -->
    <div class="subheading bg-white" style="margin-top: 0.25em">
    <!-- <div class="subheading bg-white" style="margin-top: 0.25em">
      <div class="subheading_title">
        <img src="../../assets/img/iconmonstr-chart-5.png" alt="" />
        <span>{{ $t("tsi") }}</span>
@@ -109,22 +112,8 @@
          ></index-component>
        </div>
      </div>
    </div>
    </div> -->
    <div class="subheading bg-white" style="margin-top: 0.25em">
      <div class="subheading_title">
        <img src="../../assets/img/iconmonstr-chart-5.png" alt="" />
        <span>{{ $t("ni") }}</span>
      </div>
      <div class="flex-between navs">
        <div class="nav_item" v-for="item in inDataStockBeans" :key="item.id">
          <index-component
            :ids="'b' + item.id"
            :dataObj="item"
          ></index-component>
        </div>
      </div>
    </div>
    <div class="subheading bg-white" style="margin-top: 0.25em">
      <div class="subheading_title">
@@ -132,11 +121,7 @@
        <span>{{ $t("hj6") }}</span>
      </div>
      <news-item
        :item="item"
        v-for="item in newsList"
        :key="item.id"
      ></news-item>
      <news-item :item="item" v-for="item in newsList" :key="item.id"></news-item>
      <div class="more flex-center" @click="$router.push('/new-list')">
        <span>{{ $t("更多新闻") }}</span>
@@ -174,9 +159,7 @@
        }
      ],
      newsList: [],
      hkDataStockBeans: [],
      twDataStockBeans: [],
      inDataStockBeans: [],
      jpDataStockBeans: [],
      usDataStockBeans: [],
      times: null
    };
@@ -217,25 +200,18 @@
      this.newsList = data.data.newsList;
      if (data.status == 0) {
        this.twDataStockBeans = data.data.twDataStockBeans.map(item => {
        let usLIst = data.data.usDataStockBeans || []
        this.usDataStockBeans = usLIst.map(item => {
          item.kData = item.kdata;
          return item;
        });
        this.inDataStockBeans = data.data.inDataStockBeans.map(item => {
        let jpLIst = data.data.jpDataStockBeans || []
        this.jpDataStockBeans = jpLIst.map(item => {
          item.kData = item.kdata;
          return item;
        });
        this.hkDataStockBeans = data.data.hkDataStockBeans.map(item => {
          item.kData = item.kdata;
          return item;
        });
        this.usDataStockBeans = data.data.usDataStockBeans.map(item => {
          item.kData = item.kdata;
          return item;
        });
      }
    },
    // 跳转
src/page/markets/markets.vue
@@ -1,13 +1,7 @@
<template>
  <div class="markets">
    <tab-head :rightShow="false">
      <van-popover
        v-model="switchShow"
        trigger="click"
        :actions="actions"
        @select="onSelect"
        placement="bottom-end"
      >
      <van-popover v-model="switchShow" trigger="click" :actions="actions" @select="onSelect" placement="bottom-end">
        <template #reference>
          <div class="switch flex-center">
            <van-icon name="exchange" size=".45em" />
@@ -18,13 +12,8 @@
    </tab-head>
    <div class="tabs flex-between">
      <div
        class="tab_item flex-center"
        :class="{ active: item.pid == tab }"
        v-for="item in tabList"
        :key="item.pid"
        @click="tab = item.pid"
      >
      <div class="tab_item flex-center" :class="{ active: item.pid == tab }" v-for="item in tabList" :key="item.pid"
        @click="tab = item.pid">
        <span class="line-one">{{ item.name }}</span>
      </div>
    </div>
@@ -56,20 +45,20 @@
          name: this.$t("美国")
        },
        {
          text: this.$t("hk1"),
          value: "HK",
          name: this.$t("hk1")
          text: this.$t("日本"),
          value: "JP",
          name: this.$t("日本")
        },
        {
          text: this.$t("tw"),
          value: "TW",
          name: this.$t("tw")
        },
        {
          text: this.$t("id1"),
          value: "IN",
          name: this.$t("id1")
        }
        // {
        //   text: this.$t("hk1"),
        //   value: "HK",
        //   name: this.$t("hk1")
        // },
        // {
        //   text: this.$t("tw"),
        //   value: "TW",
        //   name: this.$t("tw")
        // },
      ],
      tabList: [],
      tab: 1,
@@ -110,7 +99,7 @@
    }
    await this.getTabData();
  },
  mounted() {},
  mounted() { },
  methods: {
    // 选择
    async onSelect(e) {
src/page/trading/TradeNew.vue
@@ -12,9 +12,9 @@
      <van-tabs v-model="active" swipe-threshold="1">
        <van-tab :title="$t('hj160')" name=""></van-tab>
        <van-tab :title="$t('美股指数')" name="US"></van-tab>
        <van-tab :title="$t('hksi')" name="HK"></van-tab>
        <van-tab :title="$t('tsi')" name="TW"></van-tab>
        <van-tab :title="$t('ni')" name="IN"></van-tab>
        <van-tab :title="$t('日股指数')" name="JP"></van-tab>
        <!-- <van-tab :title="$t('hksi')" name="HK"></van-tab>
        <van-tab :title="$t('tsi')" name="TW"></van-tab> -->
      </van-tabs>
    </div>
src/page/user/account.vue
@@ -88,28 +88,44 @@
          <span class="held_icon">US</span>
          <p>{{ $t("持仓收益") }}</p>
        </div>
        <div
          class="item_right flex-end"
          :class="{
            descend: positionData.usPositionEarnings < 0,
            rise: positionData.usPositionEarnings > 0
          }"
        >
          <img
            src="@/assets/img/rise.png"
            v-if="positionData.usPositionEarnings > 0"
          />
          <img
            src="@/assets/img/descend.png"
            alt=""
            v-else-if="positionData.usPositionEarnings < 0"
          />
        <div class="item_right flex-end" :class="{
          descend: positionData.usPositionEarnings < 0,
          rise: positionData.usPositionEarnings > 0
        }">
          <img src="@/assets/img/rise.png" v-if="positionData.usPositionEarnings > 0" />
          <img src="@/assets/img/descend.png" alt="" v-else-if="positionData.usPositionEarnings < 0" />
          {{ positionData.usPositionEarnings }}
          ({{ positionData.usPositionEarningsParent }})
        </div>
      </div>
      <div class="held_item flex-between">
        <div class="item_left flex-start">
          <span class="held_icon2">JP</span>
          <p>{{ $t("Worth") }}</p>
        </div>
        <div class="item_right flex-end">
          {{ positionData.jpMarketValue }} JPY
        </div>
      </div>
      <div class="held_item flex-between">
        <div class="item_left flex-start">
          <span class="held_icon2">JP</span>
          <p>{{ $t("持仓收益") }}</p>
        </div>
        <div class="item_right flex-end" :class="{
          descend: positionData.jpPositionEarnings < 0,
          rise: positionData.jpPositionEarnings > 0
        }">
          <img src="@/assets/img/rise.png" v-if="positionData.jpPositionEarnings > 0" />
          <img src="@/assets/img/descend.png" alt="" v-else-if="positionData.jpPositionEarnings < 0" />
          {{ positionData.jpPositionEarnings }}
          ({{ positionData.jpPositionEarningsParent }})
        </div>
      </div>
      <!-- <div class="held_item flex-between">
        <div class="item_left flex-start">
          <span class="held_icon2">HK</span>
          <p>{{ $t("Worth") }}</p>
@@ -143,45 +159,10 @@
          {{ positionData.hkPositionEarnings }}
          ({{ positionData.hkPositionEarningsParent }})
        </div>
      </div>
      </div> -->
      <div class="held_item flex-between">
        <div class="item_left flex-start">
          <span class="held_icon2">IN</span>
          <p>{{ $t("Worth") }}</p>
        </div>
        <div class="item_right flex-end">
          {{ positionData.inMarketValue }} INR
        </div>
      </div>
      <div class="held_item flex-between">
        <div class="item_left flex-start">
          <span class="held_icon2">IN</span>
          <p>{{ $t("持仓收益") }}</p>
        </div>
        <div
          class="item_right flex-end"
          :class="{
            descend: positionData.inPositionEarnings < 0,
            rise: positionData.inPositionEarnings > 0
          }"
        >
          <img
            src="@/assets/img/rise.png"
            v-if="positionData.inPositionEarnings > 0"
          />
          <img
            src="@/assets/img/descend.png"
            alt=""
            v-else-if="positionData.inPositionEarnings < 0"
          />
          {{ positionData.inPositionEarnings }}
          ({{ positionData.inPositionEarningsParent }})
        </div>
      </div>
      <div class="held_item flex-between">
      <!-- <div class="held_item flex-between">
        <div class="item_left flex-start">
          <span class="held_icon2">TW</span>
          <p>{{ $t("Worth") }}</p>
@@ -215,7 +196,7 @@
          {{ positionData.twPositionEarnings }}
          ({{ positionData.twPositionEarningsParent }})
        </div>
      </div>
      </div> -->
    </div>
  </div>
</template>
@@ -286,6 +267,7 @@
@green: #c4d600;
@red: #ee0a24;
@dark_green: #07c160;
.account {
  width: 100%;
  min-height: 100vh;
@@ -293,6 +275,7 @@
  font-size: 10vw;
  padding-top: 0.2em;
  padding-bottom: 1.4rem;
  .account_loan {
    height: 2em;
    background-color: #e5eff7;
@@ -303,12 +286,14 @@
      p {
        font-size: 0.4em;
      }
      .loan_left_title {
        font-size: 0.3em;
        color: #999;
        margin-bottom: 0.75em;
      }
    }
    .loan_right {
      font-size: 0.4em;
    }
@@ -372,11 +357,13 @@
    .held_head {
      height: 1.333em;
      box-shadow: 0 0.05333rem 0.26667rem #0000000d;
      .head_left,
      .head_right {
        width: 50%;
        height: 100%;
      }
      .head_left {
        color: @green;
        position: relative;
@@ -391,13 +378,16 @@
          background-color: #ddd;
        }
      }
      .head_right {
        color: @red;
      }
      img {
        width: 0.6em;
        margin-left: 0.1em;
      }
      span {
        font-size: 0.45em;
        font-weight: 600;
@@ -443,7 +433,7 @@
        }
      }
      & > img {
      &>img {
        width: 1.6em;
        margin-bottom: 0.3em;
      }
@@ -457,30 +447,37 @@
    background-color: @purple;
    border-radius: 0.25em 0.25em 0 0;
    color: #fff;
    .wallet_record {
      color: @green;
      // margin-top: 0.5em;
      padding: 0.3em;
      border-top: 0.01em solid rgba(#fff, 0.1);
      span {
        font-size: 0.4em;
      }
    }
    .wallet_price_name {
      padding: 0 0.25em 0.25em;
      span {
        font-size: 0.3em;
      }
    }
    .wallet_i_title {
      border-top: rgba(#fff, 0.1) solid 0.01em;
      font-size: 0.4em;
      padding: 0.6em 0;
    }
    .wallet_price {
      color: #f7b52b;
      padding: 0 0.25em;
      margin-bottom: 0.25em;
      span {
        font-size: 0.4em;
      }
@@ -489,9 +486,11 @@
    .wallet_title {
      padding: 0 0.25em;
      margin-bottom: 0.25em;
      span {
        font-size: 0.5em;
      }
      img {
        width: 0.75em;
      }
@@ -505,9 +504,11 @@
      border-radius: 50%;
      margin-right: 0.25em;
    }
    .real_name {
      font-size: 0.5em;
    }
    .phone {
      font-size: 0.4em;
      color: #999;
src/page/user/recharge-sure.vue
@@ -121,17 +121,17 @@
          key: "US"
        },
        {
          name: this.$t("印股账户"),
          name: this.$t("日股账户"),
          key: "IN"
        },
        {
          name: this.$t("台股账户"),
          key: "TW"
        },
        {
          name: this.$t("港股账户"),
          key: "HK"
        },
        // {
        //   name: this.$t("台股账户"),
        //   key: "TW"
        // },
        // {
        //   name: this.$t("港股账户"),
        //   key: "HK"
        // },
      ],
      bankCard: [],
src/page/user/transferNew.vue
@@ -108,10 +108,10 @@
      showPopover: false,
      showPopover1: false,
      actions: [
        { text: this.$t("日本"), value: "JP", currency: "JPY" },
        { text: this.$t("美国"), value: "US", currency: "USD" },
        { text: this.$t("hk1"), value: "HK", currency: "HKD" },
        { text: this.$t("tw"), value: "TW", currency: "TWD" },
        { text: this.$t("id1"), value: "IN", currency: "INR" }
        // { text: this.$t("hk1"), value: "HK", currency: "HKD" },
        // { text: this.$t("tw"), value: "TW", currency: "TWD" },
      ],
      cValue: {},
      dValue: {},
@@ -159,15 +159,15 @@
        case "USD":
          this.moneyRevise = this.usM.availableBalance;
          break;
        case "HKD":
          this.moneyRevise = this.hkM.availableBalance;
          break;
        case "TWD":
          this.moneyRevise = this.twM.availableBalance;
          break;
        case "INR":
        case "JPY":
          this.moneyRevise = this.inM.availableBalance;
          break;
        // case "HKD":
        //   this.moneyRevise = this.hkM.availableBalance;
        //   break;
        // case "TWD":
        //   this.moneyRevise = this.twM.availableBalance;
        //   break;
        default:
          break;
      }
@@ -185,9 +185,9 @@
      if (data.status === 0) {
        data.data.forEach(item => {
          if (item.accectType == "US") this.usM = item;
          else if (item.accectType == "TW") this.twM = item;
          else if (item.accectType == "IN") this.inM = item;
          else if (item.accectType == "HK") this.hkM = item;
          else if (item.accectType == "JP") this.inM = item;
          // else if (item.accectType == "TW") this.twM = item;
          // else if (item.accectType == "HK") this.hkM = item;
        });
      }
    },
src/page/wallet/index.vue
@@ -4,10 +4,10 @@
    <div class="fgx"></div>
    <div class="wallet_item" v-for="i in moneyData" :key="i.id">
      <div class="wallet_item_title flex-start">
        <img src="@/assets/img/qz_z.png" v-if="i.accectType == 'TW'" />
        <img src="@/assets/img/qz_x.png" v-else-if="i.accectType == 'HK'" />
        <img src="@/assets/img/qz_y.png" v-else-if="i.accectType == 'IN'" />
        <img src="@/assets/img/qz_y.png" v-if="i.accectType == 'JP'" />
        <img src="@/assets/img/qz_m.png" v-else-if="i.accectType == 'US'" />
        <!-- <img src="@/assets/img/qz_z.png" v-else-if="i.accectType == 'TW'" /> -->
        <!-- <img src="@/assets/img/qz_x.png" v-else-if="i.accectType == 'HK'" /> -->
        <span>{{ i.accectType }} {{ $t("Account") }}</span>
      </div>
@@ -29,12 +29,12 @@
          <div class="wic_title">{{ $t("冻结资金") }}</div>
          <div class="wic_money">{{ i.symbol }} {{ i.freezeMoney }}</div>
        </div>
        <div>
        <!-- <div>
          <div class="wic_title" style="text-align: end;">{{ $t("待补资金") }}</div>
          <div class="wic_money" style="text-align: end;">
            {{ i.symbol }} {{ i.amountToBeCovered }}
          </div>
        </div>
        </div> -->
      </div>
      <div class="wallet_item_but flex-between">