跳到主要内容

github/tai

公开

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

提交记录
修改Core/Librarys/SQLite/StatisticContext.cs+4 −0看文件
@@ -15,6 +15,10 @@ namespace Core.Librarys.SQLite
1515 /// 每日数据
1616 /// </summary>
1717 public DbSet<DailyLogModel> DailyLog { get; set; }
18新增: /// <summary>
19新增: /// 时段数据
20新增: /// </summary>
21新增: public DbSet<HoursLogModel> HoursLog { get; set; }
1822
1923 // public StatisticContext(string n)
2024 //: base("StatisticContext")
新增Core/Models/HoursLogModel.cs+33 −0看文件
@@ -0,0 +1,33 @@
1新增:using System;
2新增:using System.Collections.Generic;
3新增:using System.Linq;
4新增:using System.Text;
5新增:using System.Threading.Tasks;
6新增:
7新增:namespace Core.Models
8新增:{
9新增: /// <summary>
10新增: /// 每小时的使用数据
11新增: /// </summary>
12新增: public class HoursLogModel
13新增: {
14新增: public int ID { get; set; }
15新增: /// <summary>
16新增: /// 统计时段(YYYY-MM-dd HH:00:00)
17新增: /// </summary>
18新增: public DateTime DataTime { get; set; }
19新增: /// <summary>
20新增: /// 使用时长(单位:秒)
21新增: /// </summary>
22新增: public int Time { get; set; } = 0;
23新增: /// <summary>
24新增: /// 进程名称
25新增: /// </summary>
26新增: public string ProcessName { get; set; }
27新增:
28新增: /// <summary>
29新增: /// 进程文件(记录以防止进程名称重复)
30新增: /// </summary>
31新增: public string File { get; set; }
32新增: }
33新增:}
修改Core/Servicers/Instances/Data.cs+40 −1看文件
@@ -39,6 +39,32 @@ namespace Core.Servicers.Instances
3939 {
4040 res.Time += seconds;
4141 }
42新增:
43新增: // 分时段记录数据
44新增:
45新增: // 当前时段
46新增: var nowtime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, 0, 0);
47新增: var hourslog = db.HoursLog.SingleOrDefault(
48新增: m =>
49新增: m.DataTime == nowtime
50新增: && m.ProcessName == processName
51新增: && m.File == file);
52新增: if (hourslog == null)
53新增: {
54新增: // 没有时创建
55新增: db.HoursLog.Add(new Models.HoursLogModel()
56新增: {
57新增: DataTime = nowtime,
58新增: ProcessName = processName,
59新增: File = file,
60新增: Time = seconds
61新增: });
62新增: }
63新增: else
64新增: {
65新增: hourslog.Time += seconds;
66新增: }
67新增:
4268 db.SaveChanges();
4369 }
4470 }
@@ -117,9 +143,22 @@ namespace Core.Servicers.Instances
117143 if (res != null)
118144 {
119145 res.Time += seconds;
120删除: db.SaveChanges();
121146 }
122147
148新增: // 分时段记录数据
149新增:
150新增: // 当前时段
151新增: var nowtime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, 0, 0);
152新增: var hourslog = db.HoursLog.SingleOrDefault(
153新增: m =>
154新增: m.DataTime == nowtime
155新增: && m.ProcessName == processName);
156新增: if (hourslog != null)
157新增: {
158新增: hourslog.Time += seconds;
159新增: }
160新增: db.SaveChanges();
161新增:
123162 }
124163 }
125164