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);
|
},
|
},
|
};
|