/**
 * 履约者档案相关 API
 */
import request from '@/utils/request'

/**
 * 接收GPS定位
 * @param {Object} data - { longitude, latitude }
 */
export function uploadGps(data) {
  return request({
    url: '/fulfiller/fulfiller/gps',
    method: 'POST',
    data: data
  })
}

/**
 * 获取当前履约者个人档案 / 获取当前登录履约者信息
 */
export function getMyProfile() {
  return request({
    url: '/fulfiller/fulfiller/my',
    method: 'GET'
  })
}

// 别名，保持与原有调用兼容
export const getUserInfo = getMyProfile;

/**
 * 修改头像
 * @param {string} avatar - 头像ossId
 */
export function updateAvatar(avatar) {
  return request({
    url: '/fulfiller/fulfiller/my/avatar',
    method: 'PUT',
    data: { avatar }
  })
}

/**
 * 修改真实姓名
 * @param {string} name - 真实姓名
 */
export function updateName(name) {
  return request({
    url: '/fulfiller/fulfiller/my/name',
    method: 'PUT',
    data: { name }
  })
}

/**
 * 修改工作状态
 * @param {string} status - 工作状态 (resting:休息, busy:接单中)
 */
export function updateStatus(status) {
  return request({
    url: '/fulfiller/fulfiller/my/status',
    method: 'PUT',
    data: { status }
  })
}

/**
 * 修改工作城市/站点
 * @param {Object} data - 包含 cityCode cityName stationId 等
 */
export function updateCity(data) {
  return request({
    url: '/fulfiller/fulfiller/my/city',
    method: 'PUT',
    data
  })
}

/**
 * 获取认证信息
 */
export function getAuthInfo() {
  return request({
    url: '/fulfiller/fulfiller/my/auth',
    method: 'GET'
  })
}

/**
 * 修改手机号
 * @param {string} phone - 新手机号
 * @param {string} code - 验证码
 */
export function updatePhone(phone, code) {
  return request({
    url: '/fulfiller/fulfiller/my/phone',
    method: 'PUT',
    data: { phone, code }
  })
}

/**
 * 修改密码
 * @param {string} oldPassword - 旧密码
 * @param {string} newPassword - 新密码
 */
export function updatePassword(oldPassword, newPassword) {
  return request({
    url: '/fulfiller/fulfiller/my/password',
    method: 'PUT',
    data: { oldPassword, newPassword }
  })
}

/**
 * 注销账号
 */
export function deleteAccount() {
  return request({
    url: '/fulfiller/fulfiller/my/account',
    method: 'DELETE'
  })
}

/**
 * 更新认证信息
 * @param {Object} data - 认证数据
 */
export function updateAuthInfo(data) {
  return request({
    url: '/fulfiller/fulfiller/my/auth',
    method: 'POST',
    data
  })
}
