/**
 * 应急力量相关 API
 * @module api/emergencyForce
 */

import { request } from '@shared/utils/request'

/**
 * 获取应急力量点位列表
 *
 * @param {Object} [config={}] - 额外的 axios 配置
 * @param {AbortSignal} [config.signal] - 用于取消请求的信号
 * @param {Object} [config.params] - 查询参数
 * @returns {Promise<Object>} 返回应急力量点位数据
 *
 * @example
 * // 基本用法
 * const data = await fetchEmergencyForceList()
 *
 * @example
 * // 带取消信号
 * const controller = new AbortController()
 * const data = await fetchEmergencyForceList({ signal: controller.signal })
 * // 取消请求
 * controller.abort()
 */
export function fetchEmergencyForceList(config = {}) {
  return request({
    url: '/snow-ops-platform/xqyjllb/list',
    method: 'GET',
    ...config
  })
}

/**
 * 根据 rid 获取应急力量详细信息
 *
 * @param {string|number} rid - 应急力量记录的唯一标识
 * @param {Object} [config={}] - 额外的 axios 配置
 * @param {AbortSignal} [config.signal] - 用于取消请求的信号
 * @returns {Promise<Object>} 返回应急力量详细数据
 *
 * @example
 * // 基本用法
 * const detail = await fetchEmergencyForceDetail('123')
 *
 * @example
 * // 带取消信号
 * const controller = new AbortController()
 * const detail = await fetchEmergencyForceDetail('123', { signal: controller.signal })
 * // 取消请求
 * controller.abort()
 */
export function fetchEmergencyForceDetail(rid, config = {}) {
  if (!rid) {
    return Promise.reject(new Error('rid 参数不能为空'))
  }

  return request({
    url: '/snow-ops-platform/xqyjllb/getById',
    method: 'GET',
    params: { rid },
    ...config
  })
}
