import { getStorage, setStorage, changeTheme, fetchData } from "@/utils/utis"; import { SET_COIN_LIST, SET_CURRENCY, SET_COIN_SYMBOL_ARR, SET_KEFU, SET_THEME, } from "@/store/const.store"; import { _getCoins, _getExchangeRate } from "@/API/home.api"; import { customer } from "@/API/user.api"; export default { namespaced: true, state: { currency: {}, // 当前汇率 coinArr: [], // 解构出来的币种数组 hotArr: [], // 热门币种 coinList: [], // 品种 kefu_url: "", theme: getStorage("theme") || "dark", baic: getStorage("baic") || "jy.coasdisxx123.online", baicArr: [], approximately: "", }, getters: { coinList: (state) => state.coinList, coinArr: (state) => state.coinArr, hotArr: (state) => state.hotArr, currency: (state) => state.currency, kefu_url: (state) => state.kefu_url, theme: (state) => state.theme, }, mutations: { SET_BAIC(state, payload) { console.log(payload); payload.unshift({ title: "线路", type: "jy.coasdisxx123.online", value: 1, id: 10, }); state.baicArr = payload; setStorage("baicArr", payload); }, SET_BAIC_ARR(state, payload) { state.baic = payload; setStorage("baic", payload); window.location.reload(true); }, [SET_THEME]: (state, theme) => { state.theme = theme; window.document.documentElement.setAttribute("data-theme", theme); changeTheme(theme); setStorage("theme", theme); }, [SET_COIN_LIST](state, list) { state.coinList = list; }, [SET_CURRENCY](state, currency) { state.currency = currency; }, [SET_COIN_SYMBOL_ARR](state, list) { const arr = []; const hots = []; list.map((item) => { arr.push(item.symbol); if (item.isTop === "1") { // 热门 hots.push(item.symbol); } }); state.coinArr = arr; state.hotArr = hots; }, [SET_KEFU](state, url) { state.kefu_url = url; }, SET_APPROXIMATELY(state, data) { state.approximately = data; console.log(data, "======"); }, }, actions: { async setApproximately({ commit }, data) { console.log(data, "type"); commit("SET_APPROXIMATELY", data); // window.localStorage.setItem("phones", userInfo.adminPhone); }, async setBaic({ commit }, data) { console.log(data, "type"); commit("SET_BAIC", data); // window.localStorage.setItem("phones", userInfo.adminPhone); }, async [SET_COIN_LIST]({ commit, state }) { // 获取配置的币种 const list = await _getCoins().catch((err) => { Promise.reject(err); }); commit(SET_COIN_SYMBOL_ARR, list); // 原数据 commit(SET_COIN_LIST, list); // 拆分的单个数据 Promise.resolve(list); }, async [SET_CURRENCY]({ commit, state, rootState }) { // 设置汇率 console.log("rootState", rootState); const currency = await _getExchangeRate({ token: rootState.user.userInfo.token, }).catch((err) => Promise.reject(err)); commit(SET_CURRENCY, currency); }, actionsToken({ commit }, data) { commit("SET_TOKEN", data); }, actionsStatus({ commit }, data) { commit("SET_STATUS", data); }, async [SET_KEFU]({ commit, state, rootState }) { // 设置汇率 const data = await customer().catch((err) => Promise.reject(err)); let url = data.customer_service_url; commit(SET_KEFU, url); }, }, };