mirror of
https://gitee.com/qingqing-coconut-tea/RcKtFezyRAZX
synced 2026-07-21 10:32:32 +08:00
init
This commit is contained in:
119
wechat/services/api.js
Normal file
119
wechat/services/api.js
Normal file
@@ -0,0 +1,119 @@
|
||||
// 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,查看完整运行演示。
|
||||
*/
|
||||
Reference in New Issue
Block a user