85 lines
1.9 KiB
JavaScript
85 lines
1.9 KiB
JavaScript
/**
|
|
* @file 用户信息状态 / ES module
|
|
* @module store/category
|
|
* @author Ronger <https://github.com/ronger-x>
|
|
*/
|
|
|
|
export const USER_API_PATH = '/api/user'
|
|
|
|
export const state = () => {
|
|
return {
|
|
fetching: false,
|
|
data: [],
|
|
articles: {
|
|
articles: [],
|
|
pagination: {}
|
|
},
|
|
portfolios: {
|
|
portfolios: [],
|
|
pagination: {}
|
|
}
|
|
}
|
|
}
|
|
|
|
export const mutations = {
|
|
updateFetching(state, action) {
|
|
state.fetching = action
|
|
},
|
|
updateDetailData(state, action) {
|
|
state.data = action
|
|
},
|
|
updateArticleList(state, action) {
|
|
state.articles = action
|
|
},
|
|
updatePortfolioList(state, action) {
|
|
state.portfolios = action
|
|
}
|
|
}
|
|
|
|
export const actions = {
|
|
fetchDetail({ commit }, params) {
|
|
commit('updateFetching', true);
|
|
return this.$axios
|
|
.$get(`${USER_API_PATH}/${params.nickname}`)
|
|
.then(response => {
|
|
commit('updateDetailData', response)
|
|
commit('updateFetching', false)
|
|
})
|
|
.catch(error => {
|
|
commit('updateFetching', false)
|
|
})
|
|
},
|
|
fetchArticleList({commit}, params) {
|
|
commit('updateFetching', true);
|
|
return this.$axios
|
|
.$get(`${USER_API_PATH}/${params.nickname}/articles`, {
|
|
params: {
|
|
page: params.page
|
|
}
|
|
})
|
|
.then(response => {
|
|
commit('updateArticleList', response)
|
|
commit('updateFetching', false)
|
|
})
|
|
.catch(error => {
|
|
commit('updateFetching', false)
|
|
})
|
|
},
|
|
fetchPortfolioList({commit}, params) {
|
|
commit('updateFetching', true);
|
|
return this.$axios
|
|
.$get(`${USER_API_PATH}/${params.nickname}/portfolios`, {
|
|
params: {
|
|
page: params.page
|
|
}
|
|
})
|
|
.then(response => {
|
|
commit('updatePortfolioList', response)
|
|
commit('updateFetching', false)
|
|
})
|
|
.catch(error => {
|
|
commit('updateFetching', false)
|
|
})
|
|
}
|
|
}
|