using QYZH.InteractiveMagazine.Models.Dto;

namespace QYZH.InteractiveMagazine.IService;

/// <summary>
/// 社区微信端服务接口
/// </summary>
public interface IWeChatCommunityService
{
    /// <summary>
    /// 获取社区Feed流（翻页）
    /// </summary>
    /// <param name="userId">当前用户ID</param>
    /// <param name="cursor">游标（上一页最后一条消息的ID，首次传null）</param>
    Task<WxFeedOutput> GetFeedAsync(long userId, long? cursor);

    /// <summary>
    /// 下拉刷新（返回最新列表）
    /// </summary>
    Task<WxFeedOutput> RefreshFeedAsync(long userId);

    /// <summary>
    /// 点赞
    /// </summary>
    Task<WxLikeOutput> LikeAsync(long userId, WxLikeInput input);

    /// <summary>
    /// 取消点赞
    /// </summary>
    Task<WxLikeOutput> UnlikeAsync(long userId, long messageId);
}
