Files
gym-manage/gym-manage-uniapp/api/main.js
T

268 lines
7.7 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import request from "@/utils/request.js"
export function login(params) {
return request.post('/member/auth/miniapp/login', params)
}
export function sendCode(params) {
return request.post('/member/auth/send-code', params)
}
export function loginWithPhone(params) {
return request.post('/member/auth/phone-login', params)
}
export function logout() {
return request.post('/member/auth/logout')
}
export function getQRCode(options = { cache: true, cacheTime: 5 * 60 * 1000 }) {
return request.get('/checkIn/qrcode', {}, options)
}
export function checkIn(params) {
return request.post('/checkIn/scan', params)
}
export function getCheckInRecords(params = {}, options = {}) {
const { page = 0, size = 5 } = params
return request.post('/checkIn/page', { page, size }, options)
}
export function getUnreadMessageCount(userId, options = {}) {
return request.get(`/messages/user/${userId}/unread`, {}, options)
}
// ========== 消息相关API ==========
/**
* 获取用户消息列表(支持分页)
* @param {number} userId - 用户ID
* @param {object} params - 查询参数
* @param {number} params.page - 页码(从0开始)
* @param {number} params.size - 每页条数
* @param {object} options - 请求选项
* @returns {Promise} 消息列表
*/
export function getUserMessages(userId, params = {}, options = {}) {
const { page = 0, size = 10 } = params
return request.get(`/messages/user/${userId}/page`, { page, size }, options)
}
/**
* 获取未读消息列表(支持分页)
* @param {number} userId - 用户ID
* @param {object} params - 查询参数
* @param {number} params.page - 页码(从0开始)
* @param {number} params.size - 每页条数
* @param {object} options - 请求选项
* @returns {Promise} 未读消息列表
*/
export function getUnreadMessages(userId, params = {}, options = {}) {
const { page = 0, size = 10 } = params
return request.get(`/messages/user/${userId}/unread/page`, { page, size }, options)
}
/**
* 标记消息为已读
* @param {number|string} id - 消息ID
* @param {object} options - 请求选项
* @returns {Promise} 操作结果
*/
export function markMessageAsRead(id, options = {}) {
return request.put(`/messages/${id}/read`, {}, options)
}
/**
* 标记所有消息为已读
* @param {number} userId - 用户ID
* @param {object} options - 请求选项
* @returns {Promise} 操作结果
*/
export function markAllMessagesAsRead(userId, options = {}) {
return request.put(`/messages/user/${userId}/read`, {}, options)
}
/**
* 删除消息
* @param {number|string} id - 消息ID
* @param {object} options - 请求选项
* @returns {Promise} 操作结果
*/
export function deleteMessage(id, options = {}) {
return request.delete(`/messages/${id}`, {}, options)
}
export function getUserInfo(options = { cache: true, cacheTime: 30 * 60 * 1000 }) {
return request.get('/member/info', {}, options)
}
/**
* 获取会员详细信息(包含会员卡、积分等)
*/
export function getMemberDetail(options = { cache: false }) {
return request.get('/member/info', {}, options)
}
/**
* 获取签到统计
* @param {object} params - 查询参数
* @param {string} params.startDate - 开始日期(yyyy-MM-dd
* @param {string} params.endDate - 结束日期(yyyy-MM-dd
*/
export function getCheckInStats(params = {}, options = { cache: false }) {
return request.get('/checkIn/statistics', params, options)
}
export function updateUserInfo(params) {
return request.put('/member/info', params)
}
/**
* 购买会员卡
* @param {object} params - 购买参数
* @param {number} params.memberId - 会员ID
* @param {number} params.memberCardId - 会员卡类型ID
* @param {number} [params.sourceOrderId] - 来源订单ID
*/
export function purchaseMemberCard(params) {
return request.post('/member-card-records/purchase', params)
}
export function getMyMemberCards(memberId, options = { cache: false }) {
return request.get(`/member-card-records/my-cards/${memberId}`, {}, options)
}
// ========== 支付相关API ==========
/**
* 创建支付订单
* @param {object} params - 支付参数
* @param {number} params.memberId - 会员ID
* @param {string} params.orderType - 订单类型 (MEMBER_CARD-会员卡, GROUP_COURSE-团课, GOODS-商品)
* @param {string} params.goodsDesc - 商品描述
* @param {string} params.transAmt - 交易金额(单位:分)
* @param {string} params.tradeType - 交易类型 (WECHAT-微信, ALIPAY-支付宝)
* @param {string} [params.remark] - 备注
* @param {string} [params.acctId] - 账户号
* @param {string} [params.timeExpire] - 过期时间 (yyyyMMddHHmmss)
* @param {string} [params.delayAcctFlag] - 延迟入账标识
* @param {number} [params.feeFlag] - 手续费标识
* @param {string} [params.limitPayType] - 禁用支付方式
* @param {string} [params.channelNo] - 渠道号
* @param {string} [params.payScene] - 支付场景
* @param {string} [params.notifyUrl] - 回调通知URL
*/
export function createPayment(params) {
return request.post('/payment/create', params)
}
/**
* 查询支付状态
* @param {string} orderId - 订单ID
*/
export function getPaymentStatus(orderId) {
return request.get(`/payment/${orderId}`, {})
}
/**
* 申请退款
* @param {string} orderId - 订单ID
* @param {string} refundAmt - 退款金额(单位:分)
*/
export function refundPayment(orderId, refundAmt) {
return request.post(`/payment/${orderId}/refund`, { refundAmt })
}
export function getRecommendCourses(options = { cache: true, cacheTime: 10 * 60 * 1000 }) {
return request.get('/course/recommend', {}, options)
}
export function getCourseDetail(id, options = { cache: true, cacheTime: 15 * 60 * 1000 }) {
return request.get(`/course/${id}`, {}, options)
}
export function getGroupCoursePage(params = {}, options = { cache: true, cacheTime: 5 * 60 * 1000 }) {
const { page = 0, size = 10, sort = 'id', order = 'asc', keyword } = params
return request.post('/groupCourse/page', { page, size, sort, order, keyword }, options)
}
// ========== 团课预约相关API ==========
/**
* 预约团课
* @param {object} params - 预约参数
* @param {number} params.courseId - 团课ID
* @param {number} params.memberId - 会员ID
* @param {number} params.memberCardRecordId - 会员卡记录ID
*/
export function bookGroupCourse(params) {
return request.post('/groupCourse/book', params)
}
/**
* 取消预约
* @param {number} bookingId - 预约ID
*/
export function cancelBooking(bookingId) {
return request.delete(`/groupCourse/book/${bookingId}`, {})
}
/**
* 团课签到
* @param {number} memberId - 会员ID
* @param {number} courseId - 团课ID
*/
export function signinGroupCourse(memberId, courseId) {
return request.post(`/groupCourse/signin/${memberId}`, { courseId })
}
/**
* 查询会员预约记录
* @param {number} memberId - 会员ID
*/
export function getMemberBookings(memberId, options = { cache: false }) {
return request.get(`/groupCourse/bookings/member/${memberId}`, {}, options)
}
/**
* 查询课程预约记录
* @param {number} courseId - 团课ID
*/
export function getCourseBookings(courseId, options = { cache: false }) {
return request.get(`/groupCourse/bookings/course/${courseId}`, {}, options)
}
export default {
login,
sendCode,
loginWithPhone,
logout,
getQRCode,
checkIn,
getCheckInRecords,
getCheckInStats,
getUnreadMessageCount,
getUserMessages,
getUnreadMessages,
markMessageAsRead,
markAllMessagesAsRead,
deleteMessage,
getUserInfo,
getMemberDetail,
updateUserInfo,
purchaseMemberCard,
getMyMemberCards,
createPayment,
getPaymentStatus,
refundPayment,
getRecommendCourses,
getCourseDetail,
getGroupCoursePage,
bookGroupCourse,
cancelBooking,
signinGroupCourse,
getMemberBookings,
getCourseBookings
}