import { getStorage, setStorage, changeTheme } 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') || 'light'
|
},
|
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_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;
|
},
|
},
|
actions: {
|
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)
|
},
|
},
|
};
|