174 lines
4.4 KiB
JavaScript
174 lines
4.4 KiB
JavaScript
export const DASHBOARD_API_PATH = '/api/admin/dashboard'
|
|
|
|
const getDefaultDashboardData = () => {
|
|
return {
|
|
dashboard: {}
|
|
}
|
|
}
|
|
|
|
const getDefaultLastThirtyDaysData = () => {
|
|
return {
|
|
dates: [],
|
|
articles: [],
|
|
users: [],
|
|
visits: [],
|
|
visitIps: []
|
|
}
|
|
}
|
|
|
|
const getDefaultNewUserData = () => {
|
|
return {
|
|
users: [],
|
|
pagination: {}
|
|
}
|
|
}
|
|
|
|
const getDefaultNewBankAccountData = () => {
|
|
return {
|
|
bankAccounts: [],
|
|
pagination: {}
|
|
}
|
|
}
|
|
|
|
const getDefaultNewArticleData = () => {
|
|
return {
|
|
articles: [],
|
|
pagination: {}
|
|
}
|
|
}
|
|
|
|
export const state = () => {
|
|
return {
|
|
fetching: false,
|
|
data: getDefaultDashboardData(),
|
|
lastThirtyDays: getDefaultLastThirtyDaysData(),
|
|
history: getDefaultLastThirtyDaysData(),
|
|
users: getDefaultNewUserData(),
|
|
bankAccounts: getDefaultNewBankAccountData(),
|
|
articles: getDefaultNewArticleData()
|
|
}
|
|
}
|
|
|
|
export const mutations = {
|
|
updateDashboardFetching(state, action) {
|
|
state.fetching = action
|
|
},
|
|
updateDashboardData(state, action) {
|
|
state.data = action
|
|
},
|
|
updateLastThirtyDaysData(state, action) {
|
|
state.lastThirtyDays = action
|
|
},
|
|
updateHistoryData(state, action) {
|
|
state.history = action
|
|
},
|
|
updateNewUsersData(state, action) {
|
|
state.users = action
|
|
},
|
|
updateNewBankAccountsData(state, action) {
|
|
state.bankAccounts = action
|
|
},
|
|
updateNewArticlesData(state, action) {
|
|
state.articles = action
|
|
}
|
|
}
|
|
|
|
export const actions = {
|
|
fetchDashboard({commit}, params = {}) {
|
|
// 清空已有数据
|
|
commit('updateDashboardData', getDefaultDashboardData())
|
|
commit('updateDashboardFetching', true)
|
|
|
|
return this.$axios
|
|
.$get(`${DASHBOARD_API_PATH}`)
|
|
.then(response => {
|
|
commit('updateDashboardFetching', false);
|
|
commit('updateDashboardData', response);
|
|
})
|
|
.catch(error => {
|
|
console.log(error);
|
|
commit('updateDashboardFetching', false);
|
|
});
|
|
},
|
|
fetchLastThirtyDays({commit}, params = {}) {
|
|
// 清空已有数据
|
|
commit('updateLastThirtyDaysData', getDefaultLastThirtyDaysData())
|
|
commit('updateDashboardFetching', true)
|
|
|
|
return this.$axios
|
|
.$get(`${DASHBOARD_API_PATH}/last-thirty-days`)
|
|
.then(response => {
|
|
commit('updateDashboardFetching', false);
|
|
commit('updateLastThirtyDaysData', response);
|
|
})
|
|
.catch(error => {
|
|
console.log(error);
|
|
commit('updateDashboardFetching', false);
|
|
});
|
|
},
|
|
fetchHistory({commit}, params = {}) {
|
|
// 清空已有数据
|
|
commit('updateHistoryData', getDefaultLastThirtyDaysData())
|
|
commit('updateDashboardFetching', true)
|
|
|
|
return this.$axios
|
|
.$get(`${DASHBOARD_API_PATH}/history`)
|
|
.then(response => {
|
|
commit('updateDashboardFetching', false);
|
|
commit('updateHistoryData', response);
|
|
})
|
|
.catch(error => {
|
|
console.log(error);
|
|
commit('updateDashboardFetching', false);
|
|
});
|
|
},
|
|
fetchNewUsers({commit}, params = {}) {
|
|
// 清空已有数据
|
|
commit('updateNewUsersData', getDefaultNewUserData())
|
|
commit('updateDashboardFetching', true)
|
|
|
|
return this.$axios
|
|
.$get(`${DASHBOARD_API_PATH}/new-users`)
|
|
.then(response => {
|
|
commit('updateDashboardFetching', false);
|
|
commit('updateNewUsersData', response);
|
|
})
|
|
.catch(error => {
|
|
console.log(error);
|
|
commit('updateDashboardFetching', false);
|
|
});
|
|
},
|
|
fetchNewBankAccounts({commit}, params = {}) {
|
|
// 清空已有数据
|
|
commit('updateNewBankAccountsData', getDefaultNewBankAccountData())
|
|
commit('updateDashboardFetching', true)
|
|
|
|
return this.$axios
|
|
.$get(`${DASHBOARD_API_PATH}/new-bank-accounts`)
|
|
.then(response => {
|
|
commit('updateDashboardFetching', false);
|
|
commit('updateNewBankAccountsData', response);
|
|
})
|
|
.catch(error => {
|
|
console.log(error);
|
|
commit('updateDashboardFetching', false);
|
|
});
|
|
},
|
|
fetchNewArticles({commit}, params = {}) {
|
|
// 清空已有数据
|
|
commit('updateNewArticlesData', getDefaultNewBankAccountData())
|
|
commit('updateDashboardFetching', true)
|
|
|
|
return this.$axios
|
|
.$get(`${DASHBOARD_API_PATH}/new-articles`)
|
|
.then(response => {
|
|
commit('updateDashboardFetching', false);
|
|
commit('updateNewArticlesData', response);
|
|
})
|
|
.catch(error => {
|
|
console.log(error);
|
|
commit('updateDashboardFetching', false);
|
|
});
|
|
}
|
|
}
|