跳到主要内容

github/tai

公开

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

浏览文件

IWebData.cs

177 行 · 6.6 KB历史下载
1using Core.Models.Data;
2using Core.Models.Db;
3using Core.Models.WebPage;
4using System;
5using System.Collections.Generic;
6using System.Linq;
7using System.Linq.Expressions;
8using System.Text;
9using System.Threading.Tasks;
10
11namespace Core.Servicers.Interfaces
12{
13 public interface IWebData
14 {
15 /// <summary>
16 /// 添加链接浏览时长
17 /// </summary>
18 /// <param name="site_">链接</param>
19 /// <param name="time_">时长(秒)</param>
20 void AddUrlBrowseTime(Site site_, int duration_, DateTime? dateTime_ = null);
21 /// <summary>
22 /// 更新链接的图标
23 /// </summary>
24 /// <param name="site_"></param>
25 /// <param name="iconFile_">本地图标相对路径</param>
26 void UpdateUrlFavicon(Site site_, string iconFile_);
27
28 /// <summary>
29 /// 获取日期范围的站点浏览数据(浏览时长降序排序)
30 /// </summary>
31 /// <param name="start">开始日期</param>
32 /// <param name="end">结束日期</param>
33 /// <param name="take">读取条数</param>
34 /// <param name="isTime">是否精确到时间</param>
35 /// <returns></returns>
36 List<WebSiteModel> GetDateRangeWebSiteList(DateTime start, DateTime end, int take = 0, int skip = -1, bool isTime_ = false);
37 /// <summary>
38 /// 获取网站所有分类
39 /// </summary>
40 /// <returns></returns>
41 List<WebSiteCategoryModel> GetWebSiteCategories();
42 /// <summary>
43 /// 创建网站分类
44 /// </summary>
45 /// <param name="data_"></param>
46 /// <returns></returns>
47 WebSiteCategoryModel CreateWebSiteCategory(WebSiteCategoryModel data_);
48 /// <summary>
49 /// 更新网站分类
50 /// </summary>
51 /// <param name="data_"></param>
52 /// <returns></returns>
53 void UpdateWebSiteCategory(WebSiteCategoryModel data_);
54 /// <summary>
55 /// 删除网站分类
56 /// </summary>
57 /// <param name="data_"></param>
58 void DeleteWebSiteCategory(WebSiteCategoryModel data_);
59 /// <summary>
60 /// 通过分类ID获取网站列表
61 /// </summary>
62 /// <param name="categoryId_"></param>
63 /// <returns></returns>
64 List<WebSiteModel> GetWebSites(int categoryId_);
65 /// <summary>
66 /// 通过分类ID获取网站总数
67 /// </summary>
68 /// <param name="categoryId_"></param>
69 /// <returns></returns>
70 int GetWebSitesCount(int categoryId_);
71 /// <summary>
72 /// 获取未设置分类的站点列表
73 /// </summary>
74 /// <returns></returns>
75 List<WebSiteModel> GetUnSetCategoryWebSites();
76 /// <summary>
77 /// 批量更新站点分类
78 /// </summary>
79 /// <param name="siteIds_"></param>
80 /// <param name="categoryId_"></param>
81 void UpdateWebSitesCategory(int[] siteIds_, int categoryId_);
82 /// <summary>
83 /// 获取指定时间段分类统计数据
84 /// </summary>
85 /// <param name="start_"></param>
86 /// <param name="end_"></param>
87 /// <returns></returns>
88 List<CommonDataModel> GetCategoriesStatistics(DateTime start_, DateTime end_);
89 /// <summary>
90 /// 通过分类ID获取分类数据
91 /// </summary>
92 /// <param name="categoryId_"></param>
93 /// <returns></returns>
94 WebSiteCategoryModel GetWebSiteCategory(int categoryId_);
95 /// <summary>
96 /// 获取指定时间段的浏览时长统计数据
97 /// </summary>
98 /// <param name="start_"></param>
99 /// <param name="end_"></param>
100 /// <returns></returns>
101 List<CommonDataModel> GetBrowseDataStatistics(DateTime start_, DateTime end_, int siteId_ = 0);
102 //List<WebSiteModel> GetWebSites(Expression<Func<WebSiteModel, bool>> predicate_);
103 /// <summary>
104 /// 获取指定时间段按照分类统计的浏览时长数据
105 /// </summary>
106 /// <param name="start_"></param>
107 /// <param name="end_"></param>
108 /// <returns></returns>
109 List<ColumnDataModel> GetBrowseDataByCategoryStatistics(DateTime start_, DateTime end_);
110 /// <summary>
111 /// 统计指定时间段的浏览时长
112 /// </summary>
113 /// <param name="start_"></param>
114 /// <param name="end_"></param>
115 /// <returns></returns>
116 int GetBrowseDurationTotal(DateTime start_, DateTime end_);
117 /// <summary>
118 /// 统计指定时间段的站点浏览数量
119 /// </summary>
120 /// <param name="start_"></param>
121 /// <param name="end_"></param>
122 /// <returns></returns>
123 int GetBrowseSitesTotal(DateTime start_, DateTime end_);
124 /// <summary>
125 /// 统计指定时间段的网页浏览数量
126 /// </summary>
127 /// <param name="start_"></param>
128 /// <param name="end_"></param>
129 /// <returns></returns>
130 int GetBrowsePagesTotal(DateTime start_, DateTime end_);
131 /// <summary>
132 /// 获取指定时间段的网页浏览记录
133 /// </summary>
134 /// <param name="start_"></param>
135 /// <param name="end_"></param>
136 /// <param name="siteId_"></param>
137 /// <returns></returns>
138 List<WebBrowseLogModel> GetBrowseLogList(DateTime start_, DateTime end_, int siteId_ = 0);
139 /// <summary>
140 /// 获取网站数据
141 /// </summary>
142 /// <param name="id_"></param>
143 /// <returns></returns>
144 WebSiteModel GetWebSite(int id_);
145 /// <summary>
146 /// 通过域名获取站点数据
147 /// </summary>
148 /// <param name="domain_"></param>
149 /// <returns></returns>
150 WebSiteModel GetWebSite(string domain_);
151 /// <summary>
152 /// 清空指定日期范围数据
153 /// </summary>
154 /// <param name="start_"></param>
155 /// <param name="end_"></param>
156 void Clear(DateTime start_, DateTime end_);
157
158 List<WebSiteModel> GetWebSiteLogList(DateTime start_, DateTime end_);
159 /// <summary>
160 /// 清空所有统计数据
161 /// </summary>
162 /// <param name="siteId_">站点ID</param>
163 void Clear(int siteId_);
164 /// <summary>
165 /// 导出数据
166 /// </summary>
167 /// <param name="dir_">导出目录</param>
168 /// <param name="start_">开始时间</param>
169 /// <param name="end_">结束时间</param>
170 void Export(string dir_, DateTime start_, DateTime end_);
171 /// <summary>
172 /// 更新站点数据
173 /// </summary>
174 /// <param name="website_"></param>
175 WebSiteModel Update(WebSiteModel website_);
176 }
177}