|
|
import { defineStore } from "pinia"; import { ref, watch } from "vue"; import { useUserStore } from "./userPessionCode"; import { useLanguage } from "@/utils/languageService"; import { dataListAPI } from "@/api/AIxiaocaishen"; // import { useSkeletonStore } from '@/utils/skeletonLoader'
import { useRoute } from "vue-router"; // const skeletonStore = useSkeletonStore()
// const { t } = useLanguage()
export const useDataStore = defineStore("data", () => { const route = useRoute(); console.log(route, "地址栏携带的参数。。。。。。"); const userStore = useUserStore(); const brainDataList = ref(null); const swordDataList = ref(null); const priceDataList = ref(null); const timeDataList = ref(null); const showALLData = ref(null); const HomePage = ref(null); const AIBull = ref(null); const AIGoldBull = ref(null); const AIRadar = ref(null); const loading = ref(false); const klineData = ref(null); const activeTabIndex = ref(null); const isFeedback = ref(false); // 用于控制是否显示反馈页面的标志
const setKlineData = (data) => { klineData.value = data; };
const setActiveTabIndex = (index) => { activeTabIndex.value = index; };
const getQueryVariable = (variable) => { const query = window.location.search.substring(1); // console.log(query,'query')
const vars = query.split("&"); // console.log(vars,'vars')
for (let i = 0; i < vars.length; i++) { const pair = vars[i].split("="); if (pair[0] === variable) { return pair[1]; } } return ""; };
// const getAnswer = (result) => {
// const data = result.data;
// const vars = query.split('&')
// for (let i = 0; i < vars.length; i++) {
// const pair = vars[i].split('=')
// if (pair[0] === variable) {
// return pair[1]
// }
// }
// return ''
// }
// 使用示例,获取地址栏参数
const token = ref(getQueryVariable("token")); const market = ref(getQueryVariable("market")); const code = ref(getQueryVariable("code")); console.log(token.value); // 输出 token 的值,例如 "111"
const fetchChartData = async (market,code) => { const getTokenString = String(localStorage.getItem("localToken")); // const getMarketString = String(localStorage.getItem("localMarket"));
// const getCodeString = String(localStorage.getItem("localCode"));
// const getMarket = String()
try { const res = await dataListAPI({ token: getTokenString || "", market: market || "gb", code: code || "NDX", language: "cn", //t.value.suoxie,
brainPrivilegeState: userStore.brainPerssion, swordPrivilegeState: userStore.swordPerssion, stockForecastPrivilegeState: userStore.pricePerssion, spaceForecastPrivilegeState: userStore.timePerssion, aibullPrivilegeState: userStore.aibullPerssion, aigoldBullPrivilegeState: userStore.aiGnbullPerssion, airadarPrivilegeState: userStore.airadarPerssion, marketList: userStore.aiGoldMarketList, });
brainDataList.value = res.data.Brain; swordDataList.value = res.data.Sword; priceDataList.value = res.data.StockForecast; timeDataList.value = res.data.SpaceForecast; showALLData.value = res.data.ShowAll; HomePage.value = res.data.HomePage; AIBull.value = res.data.AIBull; AIGoldBull.value = res.data.AIGoldBull; AIRadar.value = res.data.AIRadar; } catch (error) { console.error("获取图表数据出错:", error); } finally { loading.value = false; console.log("数据获取过程结束"); } };
// 获取路径上market的值
const getMarket = () => { let market = ""; const queryMarket = getQueryVariable("market"); if (queryMarket) { if ( ["sg", "my", "in", "hk", "th", "vi", "usa", "can", "gb", "cn"].includes( queryMarket ) ) { return queryMarket; } else { switch (queryMarket) { case "SGX": return "sg"; case "BMB": return "my"; case "IDX": return "in"; case "HKEX": return "hk"; case "SET": return "th"; case "HN": return "vi"; case "HONSE": return "vi"; case "AMERA": return "usa"; case "NYSE": return "usa"; case "NASDAQ": return "usa"; case "DLD": return "can"; case "DLDCY": return "can"; case "GINDEX": return "gb"; case "BZ": return "cn"; case "SH": return "cn"; case "SZ": return "cn"; default: return "无市场数据"; } } } return ""; };
const isLoading = ref(true); const initData = async () => { isLoading.value = true; try { // 初始化逻辑
} catch (error) { console.error("Error loading data:", error); } finally { isLoading.value = false; } };
// watch(
// () => [userStore.isReady, t.value?.suoxie],
// ([isReady]) => {
// console.log('isReady 或 language 变化:', isReady)
// if (isReady) {
// setTimeout(() => fetchChartData(), 500)
// }
// },
// { immediate: true, deep: true }
// )
watch( () => window.location.ancestorOrigins, (newQuery, oldQuery) => { console.log("newQuery", newQuery); // if () {
// fetchChartData();
// }
} );
// watch(() => userStore.aibullPerssion, (newValue) => {
// if (newValue === 1) fetchChartData()
// })
initData();
return { // brainDataList,
// swordDataList,
// priceDataList,
// timeDataList,
// showALLData,
HomePage, // AIBull,
AIGoldBull, // loading,
// AIRadar,
fetchChartData, activeTabIndex, klineData, setKlineData, initData, getMarket, getQueryVariable, setActiveTabIndex, isFeedback, }; });
|