import { SET_COIN_LIST, SET_CURRENCY, SET_COIN_SYMBOL_ARR } from '@/store/const.store'
|
import { _getCoins } from '@/service/cryptos.api'
|
import { _getExchangeRate } from '@/service/home.api'
|
|
export default {
|
namespaced: true,
|
state: {
|
currency: {}, // 当前汇率
|
coinArr: [], // 解构出来的币种数组
|
hotArr: [], // 热门币种
|
coinList: [], // 品种
|
},
|
getters: {
|
coinList: state => state.coinList,
|
coinArr: state => state.coinArr,
|
hotArr: state => state.hotArr,
|
currency: state => state.currency,
|
},
|
mutations: {
|
[SET_COIN_LIST](state, list) {
|
state.coinList = list && Array.isArray(list) ? list : [];
|
},
|
[SET_CURRENCY](state, currency) {
|
state.currency = currency;
|
},
|
[SET_COIN_SYMBOL_ARR](state, list) {
|
const safeList = list && Array.isArray(list) ? list : []
|
const arr = []
|
const hots = []
|
safeList.map(item => {
|
arr.push(item.symbol)
|
if (item.isTop === '1') { // 热门
|
hots.push(item.symbol)
|
}
|
})
|
state.coinArr = arr
|
state.hotArr = hots
|
},
|
},
|
actions: {
|
async [SET_COIN_LIST]({ commit }, data) { // 获取配置的币种
|
let list = []
|
try {
|
const res = await _getCoins({ type: data })
|
list = res && Array.isArray(res) ? res : []
|
} catch (err) {
|
list = []
|
}
|
commit(SET_COIN_SYMBOL_ARR, list)
|
commit(SET_COIN_LIST, list)
|
},
|
async [SET_CURRENCY]({ commit }) { // 设置汇率
|
const currency = await _getExchangeRate().catch(err => Promise.reject(err))
|
commit(SET_CURRENCY, currency)
|
},
|
actionsToken({ commit }, data) {
|
commit("SET_TOKEN", data);
|
},
|
actionsStatus({ commit }, data) {
|
commit("SET_STATUS", data);
|
},
|
},
|
};
|