/**
 * 首页相关接口
 */

import { request } from './index.js'

/**
 * 获取首页数据
 * @param {Object} params 查询参数
 * @param {Number} params.noticeType 通知类型
 * @returns {Promise} 返回首页数据（招募信息、公会福利、公会活动等）
 */
export function getHomeData(params = {}) {
	return request({
		url: '/app-api/member/labor-union-notice/page',
		method: 'GET',
		data: params,
		showLoading: true
	})
}

/**
 * 获取公会福利列表
 * @param {Object} params 查询参数
 * @returns {Promise} 返回公会福利列表
 */
export function getGuildBenefits(params = {}) {
	return request({
		url: '/api/guild/benefits',
		method: 'GET',
		data: params
	})
}

/**
 * 获取公会活动列表
 * @param {Object} params 查询参数
 * @param {Number} params.page 页码
 * @param {Number} params.pageSize 每页数量
 * @returns {Promise} 返回公会活动列表
 */
export function getGuildActivities(params = {}) {
	return request({
		url: '/api/guild/activities',
		method: 'GET',
		data: {
			page: params.page || 1,
			pageSize: params.pageSize || 10,
			...params
		}
	})
}

/**
 * 获取工会详情
 * @param {Number} id 工会ID
 * @returns {Promise} 返回工会详情
 */
export function getGuildDetail(id) {
	return request({
		url: '/app-api/member/labor-union-notice/get',
		method: 'GET',
		data: {
			id: id
		}
	})
}

/**
 * 加入工会
 * @param {Object} data 加入工会的数据
 * @returns {Promise} 返回加入结果
 */
export function joinGuild(data = {}) {
	return request({
		url: '/api/guild/join',
		method: 'POST',
		data: data,
		showLoading: true,
		needAuth: true
	})
}

/**
 * 参与活动
 * @param {String|Object} activityIdOrData 活动ID或包含活动ID的对象
 * @returns {Promise} 返回参与结果
 */
export function joinActivity(activityIdOrData) {
	// 兼容传入字符串ID或对象的情况
	const data = typeof activityIdOrData === 'string' 
		? { activityId: activityIdOrData } 
		: activityIdOrData

	return request({
		url: '/api/activity/join',
		method: 'POST',
		data: data,
		showLoading: true,
		needAuth: true
	})
}