183 lines
4.0 KiB
C#
183 lines
4.0 KiB
C#
namespace XiangYi.Application.Interfaces;
|
||
|
||
/// <summary>
|
||
/// 配置服务接口
|
||
/// </summary>
|
||
public interface IConfigService
|
||
{
|
||
/// <summary>
|
||
/// 获取首页配置(Banner列表和金刚位列表)
|
||
/// </summary>
|
||
/// <returns>首页配置响应</returns>
|
||
Task<HomeConfigResponse> GetHomeConfigAsync();
|
||
|
||
/// <summary>
|
||
/// 获取Banner列表
|
||
/// </summary>
|
||
/// <returns>Banner列表</returns>
|
||
Task<List<BannerResponse>> GetBannersAsync();
|
||
|
||
/// <summary>
|
||
/// 获取金刚位列表
|
||
/// </summary>
|
||
/// <returns>金刚位列表</returns>
|
||
Task<List<KingKongResponse>> GetKingKongsAsync();
|
||
|
||
/// <summary>
|
||
/// 获取弹窗配置
|
||
/// </summary>
|
||
/// <param name="popupType">弹窗类型:1每日首次 2服务号关注 3会员广告</param>
|
||
/// <returns>弹窗配置响应</returns>
|
||
Task<PopupConfigResponse?> GetPopupConfigAsync(int popupType);
|
||
|
||
/// <summary>
|
||
/// 获取所有启用的弹窗配置
|
||
/// </summary>
|
||
/// <returns>弹窗配置列表</returns>
|
||
Task<List<PopupConfigResponse>> GetAllPopupConfigsAsync();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 首页配置响应
|
||
/// </summary>
|
||
public class HomeConfigResponse
|
||
{
|
||
/// <summary>
|
||
/// Banner列表
|
||
/// </summary>
|
||
public List<BannerResponse> Banners { get; set; } = new();
|
||
|
||
/// <summary>
|
||
/// 金刚位列表
|
||
/// </summary>
|
||
public List<KingKongResponse> KingKongs { get; set; } = new();
|
||
|
||
/// <summary>
|
||
/// 默认头像URL
|
||
/// </summary>
|
||
public string? DefaultAvatar { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// Banner响应
|
||
/// </summary>
|
||
public class BannerResponse
|
||
{
|
||
/// <summary>
|
||
/// Banner ID
|
||
/// </summary>
|
||
public long Id { get; set; }
|
||
|
||
/// <summary>
|
||
/// 标题
|
||
/// </summary>
|
||
public string Title { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 图片URL
|
||
/// </summary>
|
||
public string ImageUrl { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 链接类型:1内部页面 2外部链接 3小程序
|
||
/// </summary>
|
||
public int LinkType { get; set; }
|
||
|
||
/// <summary>
|
||
/// 链接地址
|
||
/// </summary>
|
||
public string? LinkUrl { get; set; }
|
||
|
||
/// <summary>
|
||
/// 排序
|
||
/// </summary>
|
||
public int Sort { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 金刚位响应
|
||
/// </summary>
|
||
public class KingKongResponse
|
||
{
|
||
/// <summary>
|
||
/// 金刚位ID
|
||
/// </summary>
|
||
public long Id { get; set; }
|
||
|
||
/// <summary>
|
||
/// 标题
|
||
/// </summary>
|
||
public string Title { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 图标URL
|
||
/// </summary>
|
||
public string IconUrl { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 链接类型:1内部页面 2外部链接 3小程序
|
||
/// </summary>
|
||
public int LinkType { get; set; }
|
||
|
||
/// <summary>
|
||
/// 链接地址
|
||
/// </summary>
|
||
public string? LinkUrl { get; set; }
|
||
|
||
/// <summary>
|
||
/// 排序
|
||
/// </summary>
|
||
public int Sort { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 弹窗配置响应
|
||
/// </summary>
|
||
public class PopupConfigResponse
|
||
{
|
||
/// <summary>
|
||
/// 弹窗ID
|
||
/// </summary>
|
||
public long Id { get; set; }
|
||
|
||
/// <summary>
|
||
/// 弹窗类型:1每日首次 2服务号关注 3会员广告
|
||
/// </summary>
|
||
public int PopupType { get; set; }
|
||
|
||
/// <summary>
|
||
/// 弹窗类型名称
|
||
/// </summary>
|
||
public string PopupTypeName { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 标题
|
||
/// </summary>
|
||
public string? Title { get; set; }
|
||
|
||
/// <summary>
|
||
/// 背景图URL
|
||
/// </summary>
|
||
public string ImageUrl { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 跳转链接
|
||
/// </summary>
|
||
public string? LinkUrl { get; set; }
|
||
|
||
/// <summary>
|
||
/// 按钮文字
|
||
/// </summary>
|
||
public string? ButtonText { get; set; }
|
||
|
||
/// <summary>
|
||
/// 显示模式:1每次进入都显示 2关闭后当天不再显示 3关闭后永不显示
|
||
/// </summary>
|
||
public int DisplayMode { get; set; }
|
||
|
||
/// <summary>
|
||
/// 状态:1启用 2禁用
|
||
/// </summary>
|
||
public int Status { get; set; }
|
||
}
|