import { http } from '../../utils/request'; // ==================== 用户端报名管理服务 ==================== /** * 1. 赛事列表展示接口 * @param {Object} params - 查询参数 * @param {string} [params.Status] - 赛事状态 (Enrolling=报名中, Ongoing=比赛中, Ended=已结束) * @param {string} [params.Type] - 赛事类型 (Online=线上, Offline=线下) * @param {string} [params.StartTime] - 时间范围开始 * @param {string} [params.EndTime] - 时间范围结束 * @param {string} [params.Keyword] - 关键字搜索(赛事名称) * @param {number} [params.PageNo] - 当前页码 * @param {number} [params.PageSize] - 每页条数 * @returns {Promise<{ * pageNo: number, * pageSize: number, * pages: number, * total: number, * rows: Array<{ * id: number, * name: string, * coverImage: string, * status: string, * type: string, * registrationEndTime: string, * matchStartTime: string, * matchEndTime: string * }> * }>} */ export const usereventregistrationListGet = (params) => { return http.get('/usereventregistration/list', { params }); }; /** * 获取赛事详情 * @param {number} id - 赛事ID (路径参数) * @returns {Promise<{ * eventName: string, * coverImage: string, * eventVideo: string, * eventType: string, * registrationType: string, * pointsRuleId: number, * registrationStartTime: string, * registrationEndTime: string, * isNeedMaterial: boolean, * materialRemark: string, * materialUploadStartTime: string, * materialUploadEndTime: string, * matchStartTime: string, * matchEndTime: string, * provinceId: number, * cityId: number, * districtId: number, * detailAddress: string, * eventIntroduction: string, * customConfigJson: string, * units: Array<{ * unitType: string, * unitName: string, * logoUrl: string, * sort: number * }>, * projects: Array<{ * id: number, * name: string, * projectTypeId: number, * projectTypeName: string, * completionCount: number, * durationMinutes: number, * durationSeconds: number, * fee: number, * limitCount: number, * groups: Array<{ * groupName: string, * birthDateStart: string, * birthDateEnd: string, * gender: string * }> * }>, * registrationLimit: { * individualProjectLimit: number, * teamProjectLimit: number * }, * feeConfig: { * chargeMode: string, * price: number, * merchantId: number, * merchantName: string, * creditCode: string, * bankName: string, * accountNumber: string * }, * id: number, * provinceName: string, * cityName: string, * districtName: string, * eventStatus: string, * qrCodeUrl: string * }>} */ export const usereventregistrationDetailGet = (id) => { // return http.get(`/usereventregistration/detail/${id}`); return http.get(`/event/detail/${id}`); }; /** * 3.1 选择报名项目接口 * @param {number} eventid - 赛事ID (路径参数) * @returns {Promise>} */ export const usereventregistrationProjectsGet = (eventid) => { return http.get(`/usereventregistration/projects/${eventid}`); }; /** * 3.2 分配队员接口 - 搜索队员 * @param {Object} params - 查询参数 * @param {string} params.keyword - 搜索关键字 * @returns {Promise>} */ export const usereventregistrationMembersSearchGet = (params) => { return http.get('/usereventregistration/members/search', { params }); }; /** * 3.2 分配队员接口 - 提交报名(含保存草稿) * @param {Object} data - 报名信息 * @param {number} data.eventId - 赛事ID * @param {Array} data.projectIds - 选择的项目ID列表 * @param {Array} data.memberIds - 选择的队员ID列表 * @param {boolean} data.isDraft - 是否为草稿 (true=保存草稿, false=提交) * @returns {Promise} - 返回报名记录ID */ export const usereventregistrationSubmitPost = (data) => { return http.post('/usereventregistration/submit', data); }; /** * 3.3 预览支付接口 * @param {number} registrationid - 报名记录ID (路径参数) * @returns {Promise<{ * eventId: number, * eventName: string, * projects: Array<{ * id: number, * name: string, * groupName: string, * fee: number, * limitCount: number, * registeredCount: number, * requirements: string, * teamSize: number, * completionCount: number * }>, * members: Array<{ * userId: number, * name: string, * mobile: string, * idCard: string, * gender: string, * isEligible: boolean, * ineligibilityReason: string * }>, * totalAmount: number, * feeDetails: object * }>} */ export const usereventregistrationPreviewGet = (registrationid) => { return http.get(`/usereventregistration/preview/${registrationid}`); }; /** * 创建支付订单 * @param {Object} data - 订单信息 * @param {number} data.registrationId - 报名记录ID * @param {number} data.paymentMethod - 支付方式 (1:微信支付, 2:支付宝支付, 3:银行转账) * @returns {Promise<{ * orderNo: string, * payUrl: string, * status: number * }>} */ export const usereventregistrationOrderCreatePost = (data) => { return http.post('/usereventregistration/order/create', data); };