From 2adb5707c0d5aa571c605d885d68073b08d791f5 Mon Sep 17 00:00:00 2001 From: dongzp <975303544@qq.com> Date: Mon, 7 Sep 2026 16:27:49 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E9=A1=B6=E9=83=A8=E5=B1=95?= =?UTF-8?q?=E7=A4=BA=E6=9C=80=E4=BD=B3=E8=AF=84=E5=88=86=E6=8E=A8=E8=8D=90?= =?UTF-8?q?=E5=93=81=E7=A7=8D=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cursor --- src/App.vue | 18 +- src/api/jqka/aiExplain.ts | 20 +- src/components/ai/AiRecommendBar.vue | 351 +++++++++++++++++++++++++++ src/stores/quota.ts | 8 +- 4 files changed, 389 insertions(+), 8 deletions(-) create mode 100644 src/components/ai/AiRecommendBar.vue diff --git a/src/App.vue b/src/App.vue index 6c27c51..f10b84c 100644 --- a/src/App.vue +++ b/src/App.vue @@ -10,6 +10,11 @@
+
@@ -81,7 +86,7 @@ diff --git a/src/stores/quota.ts b/src/stores/quota.ts index 4bba423..3158b2a 100644 --- a/src/stores/quota.ts +++ b/src/stores/quota.ts @@ -288,6 +288,8 @@ export const useQuotaStore = defineStore('quota', () => { // ─── 同花顺 AI 品种评分(全品种列表,按当前合约匹配)───── const aiVarietyScores = ref([]) + /** 最佳推荐品种(来自 recommend_variety_list,通常 3 个) */ + const aiRecommendVarieties = ref([]) const aiVarietyScore = ref(null) const aiVarietyScoreLoading = ref(false) const aiVarietyScoreError = ref(null) @@ -356,8 +358,9 @@ export const useQuotaStore = defineStore('quota', () => { aiVarietyScoreLoading.value = true aiVarietyScoreError.value = null try { - const list = await fetchAiVarietyScores() - aiVarietyScores.value = list + const { all, recommend } = await fetchAiVarietyScores() + aiVarietyScores.value = all + aiRecommendVarieties.value = recommend aiVarietyScoresLoaded.value = true bindCurrentAiScore() } catch (e) { @@ -642,6 +645,7 @@ export const useQuotaStore = defineStore('quota', () => { positionAnomalyLoading, positionAnomalyError, aiVarietyScore, + aiRecommendVarieties, aiVarietyScoreLoading, aiVarietyScoreError, wsStatus,