|
|
|
|
@ -1,60 +1,168 @@
|
|
|
|
|
// 导入axios库用于发送HTTP请求
|
|
|
|
|
import axios from 'axios'
|
|
|
|
|
|
|
|
|
|
// 导出API请求对象,包含各类接口调用方法
|
|
|
|
|
export default {
|
|
|
|
|
/**
|
|
|
|
|
* 获取顶部和精选文章
|
|
|
|
|
* @returns {Promise} axios GET请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
getTopAndFeaturedArticles: () => {
|
|
|
|
|
return axios.get('/api/articles/topAndFeatured')
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取文章列表(支持分页、筛选等参数)
|
|
|
|
|
* @param {any} params - 请求参数(如分页信息、筛选条件等)
|
|
|
|
|
* @returns {Promise} axios GET请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
getArticles: (params: any) => {
|
|
|
|
|
return axios.get('/api/articles/all', { params: params })
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据分类ID获取文章列表
|
|
|
|
|
* @param {any} params - 请求参数(包含分类ID及分页信息等)
|
|
|
|
|
* @returns {Promise} axios GET请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
getArticlesByCategoryId: (params: any) => {
|
|
|
|
|
return axios.get('/api/articles/categoryId', { params: params })
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据文章ID获取文章详情
|
|
|
|
|
* @param {any} articleId - 文章ID
|
|
|
|
|
* @returns {Promise} axios GET请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
getArticeById: (articleId: any) => {
|
|
|
|
|
return axios.get('/api/articles/' + articleId)
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取所有分类
|
|
|
|
|
* @returns {Promise} axios GET请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
getAllCategories: () => {
|
|
|
|
|
return axios.get('/api/categories/all')
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取所有标签
|
|
|
|
|
* @returns {Promise} axios GET请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
getAllTags: () => {
|
|
|
|
|
return axios.get('/api/tags/all')
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取排名前十的标签
|
|
|
|
|
* @returns {Promise} axios GET请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
getTopTenTags: () => {
|
|
|
|
|
return axios.get('/api/tags/topTen')
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据标签ID获取文章列表
|
|
|
|
|
* @param {any} params - 请求参数(包含标签ID及分页信息等)
|
|
|
|
|
* @returns {Promise} axios GET请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
getArticlesByTagId: (params: any) => {
|
|
|
|
|
return axios.get('/api/articles/tagId', { params: params })
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取所有归档信息
|
|
|
|
|
* @param {any} params - 请求参数(如分页信息等)
|
|
|
|
|
* @returns {Promise} axios GET请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
getAllArchives: (params: any) => {
|
|
|
|
|
return axios.get('/api/archives/all', { params: params })
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 用户登录
|
|
|
|
|
* @param {any} params - 登录参数(如用户名、密码等)
|
|
|
|
|
* @returns {Promise} axios POST请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
login: (params: any) => {
|
|
|
|
|
return axios.post('/api/users/login', params)
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 保存评论
|
|
|
|
|
* @param {any} params - 评论参数(如评论内容、关联文章ID等)
|
|
|
|
|
* @returns {Promise} axios POST请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
saveComment: (params: any) => {
|
|
|
|
|
return axios.post('/api/comments/save', params)
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取评论列表
|
|
|
|
|
* @param {any} params - 请求参数(如关联文章ID、分页信息等)
|
|
|
|
|
* @returns {Promise} axios GET请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
getComments: (params: any) => {
|
|
|
|
|
return axios.get('/api/comments', { params: params })
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取最新的六条评论
|
|
|
|
|
* @returns {Promise} axios GET请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
getTopSixComments: () => {
|
|
|
|
|
return axios.get('/api/comments/topSix')
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取关于页面信息
|
|
|
|
|
* @returns {Promise} axios GET请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
getAbout: () => {
|
|
|
|
|
return axios.get('/api/about')
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取友情链接
|
|
|
|
|
* @returns {Promise} axios GET请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
getFriendLink: () => {
|
|
|
|
|
return axios.get('/api/links')
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 提交用户信息(更新用户资料)
|
|
|
|
|
* @param {any} params - 用户信息参数
|
|
|
|
|
* @returns {Promise} axios PUT请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
submitUserInfo: (params: any) => {
|
|
|
|
|
return axios.put('/api/users/info', params)
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据用户ID获取用户信息
|
|
|
|
|
* @param {any} id - 用户ID
|
|
|
|
|
* @returns {Promise} axios GET请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
getUserInfoById: (id: any) => {
|
|
|
|
|
return axios.get('/api/users/info/' + id)
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 更新用户订阅状态
|
|
|
|
|
* @param {any} params - 订阅参数
|
|
|
|
|
* @returns {Promise} axios PUT请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
updateUserSubscribe: (params: any) => {
|
|
|
|
|
return axios.put('/api/users/subscribe', params)
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 发送验证码(用于邮箱验证等)
|
|
|
|
|
* @param {any} username - 用户名/邮箱
|
|
|
|
|
* @returns {Promise} axios GET请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
sendValidationCode: (username: any) => {
|
|
|
|
|
return axios.get('/api/users/code', {
|
|
|
|
|
params: {
|
|
|
|
|
@ -62,52 +170,133 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 绑定邮箱
|
|
|
|
|
* @param {any} params - 绑定参数(如邮箱、验证码等)
|
|
|
|
|
* @returns {Promise} axios PUT请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
bindingEmail: (params: any) => {
|
|
|
|
|
return axios.put('/api/users/email', params)
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 用户注册
|
|
|
|
|
* @param {any} params - 注册参数(如用户名、密码、邮箱等)
|
|
|
|
|
* @returns {Promise} axios POST请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
register: (params: any) => {
|
|
|
|
|
return axios.post('/api/users/register', params)
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 搜索文章
|
|
|
|
|
* @param {any} params - 搜索参数(如关键词等)
|
|
|
|
|
* @returns {Promise} axios GET请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
searchArticles: (params: any) => {
|
|
|
|
|
return axios.get('/api/articles/search', {
|
|
|
|
|
params: params
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取相册列表
|
|
|
|
|
* @returns {Promise} axios GET请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
getAlbums: () => {
|
|
|
|
|
return axios.get('/api/photos/albums')
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据相册ID获取照片
|
|
|
|
|
* @param {any} albumId - 相册ID
|
|
|
|
|
* @param {any} params - 请求参数(如分页信息等)
|
|
|
|
|
* @returns {Promise} axios GET请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
getPhotosBuAlbumId: (albumId: any, params: any) => {
|
|
|
|
|
return axios.get('/api/albums/' + albumId + '/photos', {
|
|
|
|
|
params: params
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取网站配置信息
|
|
|
|
|
* @returns {Promise} axios GET请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
getWebsiteConfig: () => {
|
|
|
|
|
return axios.get('/api')
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* QQ登录
|
|
|
|
|
* @param {any} params - QQ登录参数(如code等)
|
|
|
|
|
* @returns {Promise} axios POST请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
qqLogin: (params: any) => {
|
|
|
|
|
return axios.post('/api/users/oauth/qq', params)
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 发送报告信息
|
|
|
|
|
* @returns {void} 无返回值(仅发送请求)
|
|
|
|
|
*/
|
|
|
|
|
report: () => {
|
|
|
|
|
axios.post('/api/report')
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取说说列表
|
|
|
|
|
* @param {any} params - 请求参数(如分页信息等)
|
|
|
|
|
* @returns {Promise} axios GET请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
getTalks: (params: any) => {
|
|
|
|
|
return axios.get('/api/talks', {
|
|
|
|
|
params: params
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据ID获取说说详情
|
|
|
|
|
* @param {any} id - 说说ID
|
|
|
|
|
* @returns {Promise} axios GET请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
getTalkById: (id: any) => {
|
|
|
|
|
return axios.get('/api/talks/' + id)
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 用户退出登录
|
|
|
|
|
* @returns {Promise} axios POST请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
logout: () => {
|
|
|
|
|
return axios.post('/api/users/logout')
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据评论ID获取回复列表
|
|
|
|
|
* @param {any} commentId - 评论ID
|
|
|
|
|
* @returns {Promise} axios GET请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
getRepliesByCommentId: (commentId: any) => {
|
|
|
|
|
return axios.get(`/api/comments/${commentId}/replies`)
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 更新用户密码
|
|
|
|
|
* @param {any} params - 密码更新参数(如原密码、新密码等)
|
|
|
|
|
* @returns {Promise} axios PUT请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
updatePassword: (params: any) => {
|
|
|
|
|
return axios.put('/api/users/password', params)
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 访问文章(记录访问信息)
|
|
|
|
|
* @param {any} params - 访问参数(如文章ID等)
|
|
|
|
|
* @returns {Promise} axios POST请求Promise对象
|
|
|
|
|
*/
|
|
|
|
|
accessArticle: (params: any) => {
|
|
|
|
|
return axios.post('/api/articles/access', params)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|