From bba4046da481abccecf541e76f17a2e32a4cc344 Mon Sep 17 00:00:00 2001
From: lxf <1371462558@qq.com>
Date: Thu, 10 Jul 2025 18:10:29 +0800
Subject: [PATCH] 登录界面

---
 src/views/cryptos/index.vue |   42 ++++++++++++++++++++++++++++++++++--------
 1 files changed, 34 insertions(+), 8 deletions(-)

diff --git a/src/views/cryptos/index.vue b/src/views/cryptos/index.vue
index a035f16..19acbaf 100644
--- a/src/views/cryptos/index.vue
+++ b/src/views/cryptos/index.vue
@@ -42,7 +42,7 @@
       </div>
     </div> -->
     <!-- <ex-hot :listData="hList"></ex-hot> -->
-    <list-quatation :listData="qList" />
+    <list-quatation :listData="qList" @onfetchQList="fetchQList"/>
     <van-popup v-model:show="item.showPopUp" style="border-radius:10px;" :close-on-click-overlay="false"
       v-for="item in popupNewsList" :key="item.id">
       <div class="w-350 p-20 box-border">
@@ -73,6 +73,7 @@
 import { _getUnreadMsg } from '@/service/im.api'
 import { _getNewsList1, _getPopupNews } from '@/service/user.api'
 import { BASE_URL } from "@/config";
+import { _getCoinList } from '@/service/quotes.api'; 
 const THEME = 'dark'
 export default {
   name: "HomePage",
@@ -98,7 +99,7 @@
       currency: 'home/currency',
       coinArr: 'home/coinArr',
       hotArr: 'home/hotArr',
-      userInfo: 'user/userInfo'
+      userInfo: 'user/userInfo',
     }),
   },
   data() {
@@ -122,6 +123,7 @@
       unreadMsg_timer: null,
       unreadMsg_num: '',
       popupNewsList: [],
+      getVal: 1,
     }
   },
   methods: {
@@ -132,16 +134,40 @@
         //console.log('\n *** \n'+unread_num*1+'\n *** \n')
       })
     },
-    async fetchQList() { // 获取行情
-      const list = await _getHomeList(this.coinArr.join(',')).catch(() => {
-        //TODO: 轮询
-        // this.timeout = setTimeout(() => {
-        //   this.fetchQList()
-        // }, 1000)
+    async fetchQList(v) { // 获取行情
+      let coninArr = ''
+      // if (v) { this.getVal = v }
+      let arr = getStorage('qoutes')
+
+      // 优先用本地缓存的 coins
+      let coins = (arr && arr.coins && arr.coins.length) ? arr.coins : arr
+
+      if (coins && coins.length) {
+        // 如果本地有 coins,优先用本地
+        coins.forEach(item => {
+          coninArr += item.symbol + ','
+        })
+      } else {
+        // 如果本地没有 coins,拉取接口
+        const quotesData = await _getCoinList()
+        if (quotesData && quotesData.coins && quotesData.coins.length) {
+          quotesData.coins.forEach(item => {
+            coninArr += item.symbol + ','
+          })
+        }
+      }
+      console.log('fetchQList', v, coninArr)
+      // if()
+      const list = await _getHomeList(coninArr).catch(() => {
+        //请求失败时,1秒后重试
+        this.timeout = setTimeout(() => {
+          this.fetchQList()
+        }, 1000)
       })
       if (!(list instanceof Array)) {
         return
       }
+      // console.log('接口:_getHomeList 热门:',list)
       this.loading = false
       // this.qList = list.slice(0,10);
       this.qList = list;

--
Gitblit v1.9.3