This commit is contained in:
mzltMpfqGS
2026-04-15 19:45:16 +08:00
commit e4a087e67e
301 changed files with 35048 additions and 0 deletions

119
wechat/services/api.js Normal file
View 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查看完整运行演示。
*/