/** * API 接口封装 * 按模块组织所有后端接口调用 */ import request from './request' // ==================== 用户认证 ==================== /** * 微信手机号登录 * @param {Object} data - { code, encryptedData, iv } */ export function login(data) { return request({ url: '/api/auth/login', method: 'POST', data }) } /** * 微信快捷登录(仅需 code) * @param {Object} data - { code } */ export function wxLogin(data) { return request({ url: '/api/auth/wx-login', method: 'POST', data }) } /** 更新用户信息 */ export function updateProfile(data) { return request({ url: '/api/user/profile', method: 'PUT', data }) } // ==================== Banner ==================== /** 获取已启用的 Banner 列表 */ export function getBanners() { return request({ url: '/api/banners' }) } // ==================== 服务入口 ==================== /** 获取已启用的服务入口列表 */ export function getServiceEntries() { return request({ url: '/api/service-entries' }) } // ==================== 订单 ==================== /** 创建订单(含微信预下单,超时适当放宽) */ export function createOrder(data) { return request({ url: '/api/orders', method: 'POST', data, timeout: 30000 }) } /** 获取订单大厅列表 */ export function getOrderHall(params) { return request({ url: '/api/orders/hall', data: params }) } /** 接取订单 */ export function acceptOrder(id) { return request({ url: `/api/orders/${id}/accept`, method: 'POST' }) } /** 取消订单 */ export function cancelOrder(id) { return request({ url: `/api/orders/${id}/cancel`, method: 'POST' }) } /** 确认支付成功(前端支付成功后调用,支持重试) */ export function confirmPayment(id, retries = 2) { return request({ url: `/api/orders/${id}/pay-confirm`, method: 'POST' }).catch(err => { if (retries > 0) { return new Promise(resolve => setTimeout(resolve, 1000)) .then(() => confirmPayment(id, retries - 1)) } throw err }) } /** 跑腿提交完成 */ export function completeOrder(id, data) { return request({ url: `/api/orders/${id}/complete`, method: 'POST', data }) } /** 单主确认完成 */ export function confirmOrder(id) { return request({ url: `/api/orders/${id}/confirm`, method: 'POST' }) } /** 单主拒绝完成 */ export function rejectOrder(id) { return request({ url: `/api/orders/${id}/reject`, method: 'POST' }) } /** 获取我的订单 */ export function getMyOrders(params) { return request({ url: '/api/orders/mine', data: params }) } /** 获取我的接单 */ export function getMyTaken(params) { return request({ url: '/api/orders/taken', data: params }) } /** 获取订单详情 */ export function getOrderDetail(id) { return request({ url: `/api/orders/${id}` }) } /** 根据聊天对方用户ID查找关联订单 */ export function getOrderByChatUser(targetUserId) { return request({ url: `/api/orders/by-chat-user/${targetUserId}` }) } /** 获取聊天订单列表(消息页用) */ export function getChatOrderList() { return request({ url: '/api/orders/chat-list' }) } // ==================== 美食街 ==================== /** 获取门店列表 */ export function getShops() { return request({ url: '/api/shops' }) } /** 获取门店详情 */ export function getShopDetail(id) { return request({ url: `/api/shops/${id}` }) } // ==================== 跑腿认证 ==================== /** 提交跑腿认证 */ export function submitCertification(data) { return request({ url: '/api/runner/certification', method: 'POST', data }) } /** 获取认证状态 */ export function getCertificationStatus() { return request({ url: '/api/runner/certification' }) } // ==================== 评价 ==================== /** 提交评价 */ export function submitReview(orderId, data) { return request({ url: `/api/orders/${orderId}/review`, method: 'POST', data }) } // ==================== 改价 ==================== /** 发起改价 */ export function createPriceChange(orderId, data) { return request({ url: `/api/orders/${orderId}/price-change`, method: 'POST', data }) } /** 响应改价 */ export function respondPriceChange(orderId, changeId, data) { return request({ url: `/api/orders/${orderId}/price-change/${changeId}`, method: 'PUT', data }) } // ==================== 收益与提现 ==================== /** 获取收益概览 */ export function getEarnings() { return request({ url: '/api/earnings' }) } /** 获取收益记录 */ export function getEarningsRecords() { return request({ url: '/api/earnings/records' }) } /** 获取提现记录 */ export function getWithdrawals() { return request({ url: '/api/earnings/withdrawals' }) } /** 申请提现 */ export function applyWithdraw(data) { return request({ url: '/api/earnings/withdraw', method: 'POST', data }) } // ==================== 消息通知 ==================== /** 获取未读消息数 */ export function getUnreadCount() { return request({ url: '/api/messages/unread-count' }) } /** 获取系统消息列表 */ export function getSystemMessages() { return request({ url: '/api/messages/system' }) } /** 获取系统消息详情 */ export function getSystemMessageDetail(id) { return request({ url: `/api/messages/system/${id}` }) } /** 获取订单通知列表 */ export function getOrderNotifications(params) { return request({ url: '/api/messages/order-notifications', data: params }) } // ==================== 配置 ==================== /** 获取客服二维码 */ export function getQrcode() { return request({ url: '/api/config/qrcode' }) } /** 获取用户协议 */ export function getAgreement() { return request({ url: '/api/config/agreement' }) } /** 获取隐私政策 */ export function getPrivacy() { return request({ url: '/api/config/privacy' }) } /** 获取跑腿协议 */ export function getRunnerAgreement() { return request({ url: '/api/config/runner-agreement' }) } /** 获取提现说明 */ export function getWithdrawalGuide() { return request({ url: '/api/config/withdrawal-guide' }) } /** 获取页面顶图配置 */ export function getPageBanner(page) { return request({ url: `/api/config/page-banner/${page}` }) } /** 获取最低佣金配置 */ export function getMinCommission() { return request({ url: '/api/config/min-commission' }) } /** 获取最低提现金额配置 */ export function getMinWithdrawal() { return request({ url: '/api/config/min-withdrawal' }) } // ==================== 腾讯 IM ==================== /** 获取 IM UserSig */ export function getIMUserSig() { return request({ url: '/api/im/usersig' }) }