import fetch from '@/utils/fetch'

/**
 * 登陆
 *
 * @param {string} username 用户名
 * @param {string} password 密码
 * @returns
 */
export const loginApi = (username, password) =>
  fetch({ url: '/system/login', method: 'post', data: { username, password } })

/**
 * 校验管理员密码
 *
 * @param {string} password
 * @returns
 */
export const checkAdminPasswordApi = (password) =>
  fetch({ url: '/system/checkAdminPassword', params: { password } })

/**
 * 单文件上传
 *
 * @param {File} file 文件
 * @param {Object} options 参数
 * @param {Object} options.data 携带Body请求参数
 * @param {string} options.data.path 文件存储路径
 * @param {number} options.data.classifyId 文件分类
 * @param {()=>void} options.onUploadProgress 上传进度回调
 * @param {any} options.signal 用于取消请求
 * @returns
 */
export const uploadApi = (file, options) =>
  fetch({
    url: '/resource/upload',
    method: 'post',
    timeout: 0,
    ...options,
    formData: { ...options?.data, file }
  })

/**
 * 【查】 - 角色功能
 *
 * @returns
 */
export const findRoleFeatureApi = () =>
  fetch({ url: 'system/feature', method: 'get' })
