import api from './index'

/**
 * 获取广场作品列表
 * @param {Object} params
 * @param {number} params.page - 页码，从1开始
 * @param {number} params.size - 每页数量
 * @param {string} [params.sortBy] - 排序方式 latest|hot
 */
export const getPlazaWorks = (params) => {
  return api.get('/plaza/works/list', { params })
}

/**
 * 获取作品详情
 * @param {string} id - 作品编号 (WORK-...) 或任务编号 (TASK-...)
 */
export const getWorkDetail = (id) => {
  let url = `/plaza/works/${id}`
  // 如果是任务ID，则添加查询参数
  if (id?.startsWith('TASK-')) {
    url += '?queryType=taskId'
  }
  return api.get(url)
}

/**
 * 点赞作品
 * @param {string} workNo - 作品编号
 */
export const likeWork = (workNo) => {
  return api.post(`/plaza/works/${workNo}/like`)
}

/**
 * 取消点赞
 * @param {string} workNo - 作品编号
 */
export const unlikeWork = (workNo) => {
  return api.delete(`/plaza/works/${workNo}/like`)
}

/**
 * 获取用户点赞的作品列表
 * @param {Object} params
 * @param {number} params.page - 页码，从1开始
 * @param {number} params.size - 每页数量
 */
export const getUserLikedWorks = (params) => {
  return api.get('/plaza/my-likes', { params })
}

/**
 * 提交举报
 * @param {Object} data
 * @param {string} data.workNo - 作品编号
 * @param {string} data.reportType - 举报类型
 * @param {string} data.reportReason - 举报原因
 */
export const submitReport = (data) => {
  return api.post('/plaza/reports/submit', data)
}


