46 lines
2.0 KiB
JavaScript
46 lines
2.0 KiB
JavaScript
import request from '@/utils/request'
|
|
|
|
// 文章管理API
|
|
export const articleApi = {
|
|
// ==================== 用户端API ====================
|
|
// 文章查询
|
|
getArticles: (params) => request.get('/articles', { params }),
|
|
getArticleDetail: (id) => request.get(`/articles/${id}`),
|
|
|
|
// 分类查询
|
|
getCategories: () => request.get('/article-categories'),
|
|
getCategoryDetail: (id) => request.get(`/article-categories/${id}`),
|
|
|
|
// 标签查询
|
|
getTags: () => request.get('/article-tags'),
|
|
getTagDetail: (id) => request.get(`/article-tags/${id}`),
|
|
|
|
// ==================== 管理员端API ====================
|
|
// 统计信息
|
|
getArticleStats: () => request.get('/admin/articles/stats'),
|
|
|
|
// 文章管理
|
|
getArticlesForAdmin: (params) => request.get('/admin/articles', { params }),
|
|
createArticle: (data) => request.post('/admin/articles', data),
|
|
updateArticle: (id, data) => request.put(`/admin/articles/${id}`, data),
|
|
deleteArticle: (id) => request.delete(`/admin/articles/${id}`),
|
|
|
|
// 文章状态管理
|
|
publishArticle: (id) => request.post(`/admin/articles/${id}/publish`),
|
|
schedulePublishArticle: (id, data) => request.post(`/admin/articles/${id}/schedule-publish`, data),
|
|
updateSchedulePublishArticle: (id, data) => request.post(`/admin/articles/${id}/update-schedule-publish`, data),
|
|
cancelSchedulePublishArticle: (id) => request.post(`/admin/articles/${id}/cancel-schedule`),
|
|
archiveArticle: (id) => request.post(`/admin/articles/${id}/archive`),
|
|
setFeatured: (id, data) => request.put(`/admin/articles/${id}/featured`, data),
|
|
|
|
// 分类管理
|
|
createCategory: (data) => request.post('/admin/article-categories', data),
|
|
updateCategory: (id, data) => request.put(`/admin/article-categories/${id}`, data),
|
|
deleteCategory: (id) => request.delete(`/admin/article-categories/${id}`),
|
|
|
|
// 标签管理
|
|
createTag: (data) => request.post('/admin/article-tags', data),
|
|
updateTag: (id, data) => request.put(`/admin/article-tags/${id}`, data),
|
|
deleteTag: (id) => request.delete(`/admin/article-tags/${id}`)
|
|
}
|