/** * 履约者业务 API * @author steelwei */ import request from '@/utils/request' import { BASE_URL, CLIENT_ID, PLATFORM_CODE } from '@/utils/config' /** * 获取当前履约者个人档案 */ export function getMyProfile() { return request({ url: '/fulfiller/fulfiller/my', method: 'GET' }) } /** * 提交入驻申请(招募表单) * @param {Object} data - 申请数据 */ export function submitAudit(data) { return request({ url: '/fulfiller/app/audit/submit', method: 'POST', needToken: false, data }) } /** * 获取服务项目列表(动态获取服务类型) * @author steelwei */ export function getServiceTypes() { return request({ url: '/fulfiller/app/service/list', method: 'GET', needToken: false }) } /** * 查询子级区域/站点列表(级联选择器用) * @param {number} parentId - 父级ID,0或不传查顶级 */ export function getAreaChildren(parentId = 0) { return request({ url: '/fulfiller/app/area/children', method: 'GET', needToken: false, data: { parentId } }) } /** * 上传文件(图片等) * @param {string} filePath - 本地文件路径 * @returns {Promise} - { url, fileName, ossId } */ export function uploadFile(filePath) { return new Promise((resolve, reject) => { const token = uni.getStorageSync('fulfiller_token') uni.uploadFile({ url: BASE_URL + '/fulfiller/app/upload', filePath: filePath, name: 'file', header: { 'clientid': CLIENT_ID, 'X-Platform-Code': PLATFORM_CODE, 'Authorization': token ? `Bearer ${token}` : '' }, success: (res) => { try { const data = JSON.parse(res.data) if (data.code === 200) { resolve(data) } else { uni.showToast({ title: data.msg || '上传失败', icon: 'none' }) reject(data) } } catch (e) { reject(e) } }, fail: (err) => { uni.showToast({ title: '上传失败', icon: 'none' }) reject(err) } }) }) } /** * 查询我的审核状态 */ export function getMyAuditStatus() { return request({ url: '/fulfiller/audit/my', method: 'GET' }) } /** * 获取我的积分日志 */ export function getMyPointsLog(params) { return request({ url: '/fulfiller/log/points', method: 'GET', data: params }) } /** * 获取我的余额日志 */ export function getMyBalanceLog(params) { return request({ url: '/fulfiller/log/balance', method: 'GET', data: params }) } /** * 获取我的奖惩记录 */ export function getMyRewardLog(params) { return request({ url: '/fulfiller/log/reward', method: 'GET', data: params }) } /** * 修改头像 * @param {string} avatar - 头像URL * @author steelwei */ export function updateAvatar(avatar) { return request({ url: '/fulfiller/fulfiller/my/avatar', method: 'PUT', data: { avatar } }) } /** * 修改真实姓名 * @param {string} name - 真实姓名 * @author steelwei */ export function updateName(name) { return request({ url: '/fulfiller/fulfiller/my/name', method: 'PUT', data: { name } }) } /** * 修改工作状态 * @param {string} status - 工作状态 (resting:休息, busy:接单中) * @author steelwei */ export function updateStatus(status) { return request({ url: '/fulfiller/fulfiller/my/status', method: 'PUT', data: { status } }) } /** * 修改工作城市 * @param {string} cityCode - 城市编码 * @param {string} cityName - 城市名称 * @author steelwei */ export function updateCity(cityCode, cityName) { return request({ url: '/fulfiller/fulfiller/my/city', method: 'PUT', data: { cityCode, cityName } }) } /** * 获取认证信息 * @author steelwei */ export function getAuthInfo() { return request({ url: '/fulfiller/fulfiller/my/auth', method: 'GET' }) } /** * 修改手机号 * @param {string} phone - 新手机号 * @param {string} code - 验证码 * @author steelwei */ export function updatePhone(phone, code) { return request({ url: '/fulfiller/fulfiller/my/phone', method: 'PUT', data: { phone, code } }) } /** * 修改密码 * @param {string} oldPassword - 旧密码 * @param {string} newPassword - 新密码 * @author steelwei */ export function updatePassword(oldPassword, newPassword) { return request({ url: '/fulfiller/fulfiller/my/password', method: 'PUT', data: { oldPassword, newPassword } }) } /** * 注销账号 * @author steelwei */ export function deleteAccount() { return request({ url: '/fulfiller/fulfiller/my/account', method: 'DELETE' }) } /** * 更新认证信息 * @param {Object} data - 认证数据 * @author steelwei */ export function updateAuthInfo(data) { return request({ url: '/fulfiller/fulfiller/my/auth', method: 'POST', data }) } /** * 获取待接单列表 * @param {Object} params - { service, minPrice, maxPrice, pageNum, pageSize } */ export function getPendingOrders(params) { return request({ url: '/order/subOrder/listPendingAccept', method: 'GET', data: params }) } /** * 接单 * @param {number} orderId - 订单ID */ export function acceptOrder(orderId) { return request({ url: '/order/subOrder/accept', method: 'PUT', data: { orderId } }) } /** * 获取订单统计数据 */ export function getOrderCount() { return request({ url: '/order/subOrder/count', method: 'GET' }) } /** * 获取我的订单列表 * @param {Object} params - { status, content, service, startServiceTime, endServiceTime } */ export function getMyOrders(params) { return request({ url: '/order/subOrder/listOnMyOrder', method: 'GET', data: params }) } /** * 获取订单详情 * @param {number} id - 订单ID */ export function getOrderInfo(id) { return request({ url: `/order/subOrder/getInfo?id=${id}`, method: 'GET' }) } /** * 获取订单日志列表 * @param {string} orderId - 订单ID */ export function getOrderLogs(orderId) { return request({ url: `/order/subOrderLog/list?orderId=${orderId}`, method: 'GET' }) } /** * 订单打卡 * @param {Object} data - { orderId, photos, content, type, title } */ export function clockIn(data) { return request({ url: '/order/subOrder/clockIn', method: 'PUT', data }) }