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 }); }; /** * 2. 赛事详情查看接口 * @param {number} id - 赛事ID (路径参数) * @returns {Promise<{ * id: number, * name: string, * coverImage: string, * eventVideo: string, * status: string, * type: string, * registrationType: string, * pointsRuleName: string, * registrationStartTime: string, * registrationEndTime: string, * isNeedMaterial: boolean, * materialRemark: string, * materialUploadEndTime: string, * matchStartTime: string, * matchEndTime: string, * description: string, * address: string, * remark: string, * units: Array<{ * unitType: string, * unitName: string, * logoUrl: string, * sort: number * }>, * limitConfig: { * individualProjectLimit: number, * teamProjectLimit: number * }, * feeConfig: { * chargeMode: string, * price: number * }, * projects: Array<{ * id: number, * name: string, * groupName: string, * fee: number, * limitCount: number, * registeredCount: number, * requirements: string, * teamSize: number, * completionCount: number * }>, * userRegistrationStatus: string, * registrationId: number * }>} */ export const usereventregistrationDetailGet = (id) => { return http.get(`/usereventregistration/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); };