mirror of
https://gitee.com/qingqing-coconut-tea/RcKtFezyRAZX
synced 2026-07-21 10:32:32 +08:00
120 lines
4.8 KiB
JavaScript
120 lines
4.8 KiB
JavaScript
// services/api.js
|
||
// API接口封装
|
||
|
||
const app = getApp()
|
||
|
||
const BASE_URL = 'https://api.notmaker.com'
|
||
|
||
const request = (options) => {
|
||
return new Promise((resolve, reject) => {
|
||
const token = wx.getStorageSync('token')
|
||
|
||
wx.showLoading({ title: '加载中...', mask: true })
|
||
|
||
wx.request({
|
||
url: BASE_URL + options.url,
|
||
method: options.method || 'GET',
|
||
data: options.data || {},
|
||
header: {
|
||
'Content-Type': 'application/json',
|
||
'Authorization': token ? `Bearer ${token}` : '',
|
||
...options.header
|
||
},
|
||
success: res => {
|
||
wx.hideLoading()
|
||
if (res.statusCode === 200) {
|
||
resolve(res.data)
|
||
} else if (res.statusCode === 401) {
|
||
wx.removeStorageSync('token')
|
||
wx.removeStorageSync('userInfo')
|
||
wx.showToast({ title: '请先登录', icon: 'none' })
|
||
setTimeout(() => {
|
||
wx.navigateTo({ url: '/pages/login/login' })
|
||
}, 1500)
|
||
reject(res.data)
|
||
} else {
|
||
wx.showToast({ title: res.data.message || '请求失败', icon: 'none' })
|
||
reject(res.data)
|
||
}
|
||
},
|
||
fail: err => {
|
||
wx.hideLoading()
|
||
wx.showToast({ title: '网络请求失败', icon: 'none' })
|
||
reject(err)
|
||
}
|
||
})
|
||
})
|
||
}
|
||
|
||
const api = {
|
||
getBaseUrl: () => BASE_URL,
|
||
|
||
// 用户相关
|
||
loginByPassword: (data) => request({ url: '/api/user/login/password', method: 'POST', data }),
|
||
loginBySms: (data) => request({ url: '/api/user/login/sms', method: 'POST', data }),
|
||
sendSmsCode: (data) => request({ url: '/api/user/sms/send', method: 'POST', data }),
|
||
wxLogin: (data) => request({ url: '/api/user/login/wechat', method: 'POST', data }),
|
||
register: (data) => request({ url: '/api/user/register', method: 'POST', data }),
|
||
getUserInfo: () => request({ url: '/api/user/info' }),
|
||
updateUserInfo: (data) => request({ url: '/api/user/info', method: 'PUT', data }),
|
||
getUserList: (data) => request({ url: '/api/user/list', data }),
|
||
deleteUser: (data) => request({ url: `/api/user/${data.id}`, method: 'DELETE' }),
|
||
followUser: (data) => request({ url: '/api/user/follow', method: 'POST', data }),
|
||
|
||
// 文章相关
|
||
getArticleList: (data) => request({ url: '/api/article/list', data }),
|
||
getArticleDetail: (id) => request({ url: `/api/article/${id}` }),
|
||
getMyArticleList: (data) => request({ url: '/api/article/my/list', data }),
|
||
createArticle: (data) => request({ url: '/api/article', method: 'POST', data }),
|
||
updateArticle: (data) => request({ url: `/api/article/${data.id}`, method: 'PUT', data }),
|
||
deleteArticle: (data) => request({ url: `/api/article/${data.id}`, method: 'DELETE' }),
|
||
addViewCount: (data) => request({ url: '/api/article/view', method: 'POST', data }),
|
||
updateFavorite: (data) => request({ url: '/api/article/favorite', method: 'POST', data }),
|
||
updateLike: (data) => request({ url: '/api/article/like', method: 'POST', data }),
|
||
search: (data) => request({ url: '/api/article/search', data }),
|
||
|
||
// 分类相关
|
||
getCategoryList: () => request({ url: '/api/category/list' }),
|
||
getCategoryDetail: (id) => request({ url: `/api/category/${id}` }),
|
||
|
||
// 标签相关
|
||
getTagList: () => request({ url: '/api/tag/list' }),
|
||
|
||
// 评论相关
|
||
getCommentList: (data) => request({ url: '/api/comment/list', data }),
|
||
addComment: (data) => request({ url: '/api/comment', method: 'POST', data }),
|
||
deleteComment: (data) => request({ url: `/api/comment/${data.id}`, method: 'DELETE' }),
|
||
getMyCommentList: (data) => request({ url: '/api/comment/my/list', data }),
|
||
|
||
// 收藏相关
|
||
getMyFavoriteList: (data) => request({ url: '/api/favorite/my/list', data }),
|
||
|
||
// 浏览历史
|
||
getBrowseHistory: (data) => request({ url: '/api/history/list', data }),
|
||
clearBrowseHistory: () => request({ url: '/api/history/clear', method: 'DELETE' }),
|
||
|
||
// 消息通知
|
||
getNotificationList: (data) => request({ url: '/api/notification/list', data }),
|
||
markNotificationRead: (data) => request({ url: '/api/notification/read', method: 'POST', data }),
|
||
markAllNotificationRead: () => request({ url: '/api/notification/read/all', method: 'POST' }),
|
||
deleteNotification: (data) => request({ url: `/api/notification/${data.id}`, method: 'DELETE' }),
|
||
|
||
// 反馈
|
||
submitFeedback: (data) => request({ url: '/api/feedback', method: 'POST', data }),
|
||
getFeedbackList: (data) => request({ url: '/api/feedback/list', data }),
|
||
|
||
// 热门搜索
|
||
getHotSearch: () => request({ url: '/api/search/hot' }),
|
||
|
||
// 系统配置
|
||
getSystemConfig: () => request({ url: '/api/system/config' })
|
||
}
|
||
|
||
module.exports = api
|
||
|
||
/**
|
||
* @联系作者:16768118056
|
||
* @描述:(此项目非免费分享)源码百分百可用,搞定毕设不发愁,支持远程调试安装、二次开发、定制、讲解、文档类。
|
||
* @访问:https://www.notmaker.com/detail/8326a897119d4542896c863a69d7bbe7/gtt20260415,查看完整运行演示。
|
||
*/
|