跳到主要内容

github/tai

公开

Tai · Windows 软件与网站使用时长统计。上游 Planshit/Tai 的源码镜像,非灵栈原创;MIT 许可。来源:https://github.com/Planshit/Tai 。本次为手动同步,暂不提供安装包。

浏览文件

IData.cs

134 行 · 4.6 KB历史下载
1using Core.Models;
2using Core.Models.Data;
3using System;
4using System.Collections.Generic;
5using System.Linq;
6using System.Text;
7using System.Threading.Tasks;
8
9namespace Core.Servicers.Interfaces
10{
11 public interface IData
12 {
13
14 /// <summary>
15 /// 保存APP使用时长数据
16 /// </summary>
17 /// <param name="processName_">进程名称</param>
18 /// <param name="duration_">时长(秒)</param>
19 /// <param name="startDateTime_">记录开始时间</param>
20 void UpdateAppDuration(string processName_, int duration_, DateTime startDateTime_);
21
22 /// <summary>
23 /// 获取今天的数据
24 /// </summary>
25 /// <returns></returns>
26 List<DailyLogModel> GetTodaylogList();
27 /// <summary>
28 /// 查询指定范围数据
29 /// </summary>
30 /// <param name="start"></param>
31 /// <param name="end"></param>
32 /// <returns></returns>
33 IEnumerable<DailyLogModel> GetDateRangelogList(DateTime start, DateTime end, int take = -1, int skip = -1);
34
35 /// <summary>
36 /// 获取本周的数据
37 /// </summary>
38 /// <returns></returns>
39 IEnumerable<DailyLogModel> GetThisWeeklogList();
40 /// <summary>
41 /// 获取上周的数据
42 /// </summary>
43 /// <returns></returns>
44 IEnumerable<DailyLogModel> GetLastWeeklogList();
45
46 /// <summary>
47 /// 获取指定进程某个月的数据
48 /// </summary>
49 /// <param name="processName"></param>
50 /// <param name="month"></param>
51 /// <returns></returns>
52 List<DailyLogModel> GetProcessMonthLogList(int appID, DateTime month);
53
54
55 /// <summary>
56 /// 清空指定进程某月的数据
57 /// </summary>
58 /// <param name="processName"></param>
59 void Clear(int appID, DateTime month);
60
61 /// <summary>
62 /// 获取指定进程某天的数据
63 /// </summary>
64 /// <param name="processName"></param>
65 /// <param name="day"></param>
66 /// <returns></returns>
67 DailyLogModel GetProcess(int appID, DateTime day);
68
69 /// <summary>
70 /// 获取指定日期所有分类时段统计数据
71 /// </summary>
72 /// <returns></returns>
73 List<ColumnDataModel> GetCategoryHoursData(DateTime date);
74 /// <summary>
75 /// 获取指定日期范围所有分类按天统计数据
76 /// </summary>
77 /// <param name="start"></param>
78 /// <param name="end"></param>
79 /// <returns></returns>
80 List<ColumnDataModel> GetCategoryRangeData(DateTime start, DateTime end);
81 /// <summary>
82 /// 获取指定年份所有分类按月份统计数据
83 /// </summary>
84 /// <param name="date"></param>
85 /// <returns></returns>
86 List<ColumnDataModel> GetCategoryYearData(DateTime date);
87
88 List<ColumnDataModel> GetAppDayData(int appID, DateTime date);
89 List<ColumnDataModel> GetAppRangeData(int appID, DateTime start, DateTime end);
90 List<ColumnDataModel> GetAppYearData(int appID, DateTime date);
91 /// <summary>
92 /// 清空指定时间范围数据
93 /// </summary>
94 /// <param name="start"></param>
95 /// <param name="end"></param>
96 void ClearRange(DateTime start, DateTime end);
97 /// <summary>
98 /// 导出数据到EXCEL
99 /// </summary>
100 void ExportToExcel(string dir, DateTime start, DateTime end);
101 /// <summary>
102 /// 获取指定日期范围使用应用量
103 /// </summary>
104 /// <param name="start"></param>
105 /// <param name="end"></param>
106 /// <returns></returns>
107 int GetDateRangeAppCount(DateTime start, DateTime end);
108 /// <summary>
109 /// 获取指定时间(小时)所有使用app数据
110 /// </summary>
111 /// <param name="time"></param>
112 /// <returns></returns>
113 IEnumerable<HoursLogModel> GetTimeRangelogList(DateTime time);
114
115 /// <summary>
116 /// 获取指定时间范围内的汇总数据
117 /// </summary>
118 /// <param name="start"></param>
119 /// <param name="end"></param>
120 /// <returns></returns>
121 double[] GetRangeTotalData(DateTime start, DateTime end);
122 /// <summary>
123 /// 获取指定年份按月统计数据
124 /// </summary>
125 /// <param name="year"></param>
126 /// <returns></returns>
127 double[] GetMonthTotalData(DateTime year);
128 /// <summary>
129 /// 清空所有统计数据
130 /// </summary>
131 /// <param name="appID_">应用ID</param>
132 void Clear(int appID_);
133 }
134}