79 lines
3.0 KiB
C#
Raw Normal View History

2025-07-17 13:11:29 +08:00
using System;
using System.Threading.Tasks;
namespace VOL.Business.IServices.UserActivity
{
/// <summary>
/// 用户活跃度统计服务接口
/// </summary>
public interface IUserActivityService
{
/// <summary>
/// 获取用户活跃度概览数据
/// </summary>
/// <param name="timeRange">时间范围day, week, month</param>
/// <param name="date">选择的日期</param>
/// <returns></returns>
Task<object> GetUserActivityOverviewAsync(string timeRange, DateTime date);
/// <summary>
/// 获取活跃用户时间序列数据
/// </summary>
/// <param name="timeRange">时间范围day, week, month</param>
/// <param name="date">选择的日期</param>
/// <returns></returns>
Task<object> GetActiveUsersDataAsync(string timeRange, DateTime date);
/// <summary>
/// 获取地域分析数据
/// </summary>
/// <param name="timeRange">时间范围day, week, month</param>
/// <param name="date">选择的日期</param>
/// <returns></returns>
Task<object> GetRegionDataAsync(string timeRange, DateTime date);
/// <summary>
/// 获取人口统计数据(年龄和性别)
/// </summary>
/// <param name="timeRange">时间范围day, week, month</param>
/// <param name="date">选择的日期</param>
/// <returns></returns>
Task<object> GetDemographicsDataAsync(string timeRange, DateTime date);
/// <summary>
/// 获取功能使用量统计数据
/// </summary>
/// <param name="timeRange">时间范围day, week, month</param>
/// <param name="date">选择的日期</param>
/// <param name="module">模块名称</param>
/// <param name="function">功能名称</param>
/// <param name="button">按钮名称</param>
/// <returns></returns>
Task<object> GetFeatureUsageDataAsync(string timeRange, DateTime date, string module = "", string function = "", string button = "");
/// <summary>
/// 获取新增用户统计数据
/// </summary>
/// <param name="timeRange">时间范围day, week, month</param>
/// <param name="date">选择的日期</param>
/// <returns></returns>
Task<object> GetNewUsersDataAsync(string timeRange, DateTime date);
/// <summary>
/// 获取用户总数统计数据
/// </summary>
/// <param name="timeRange">时间范围day, week, month</param>
/// <param name="date">选择的日期</param>
/// <returns></returns>
Task<object> GetTotalUsersDataAsync(string timeRange, DateTime date);
/// <summary>
/// 获取平均使用时长数据
/// </summary>
/// <param name="timeRange">时间范围day, week, month</param>
/// <param name="date">选择的日期</param>
/// <returns></returns>
Task<object> GetAvgUsageTimeDataAsync(string timeRange, DateTime date);
}
}