跳到主要内容

github/tai

公开

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

提交记录
修改Core/Properties/AssemblyInfo.cs+2 −2看文件
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
3232//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
3333//通过使用 "*",如下所示:
3434// [assembly: AssemblyVersion("1.0.*")]
35删除:[assembly: AssemblyVersion("1.1.0.3")]
36删除:[assembly: AssemblyFileVersion("1.1.0.3")]
35新增:[assembly: AssemblyVersion("1.1.0.4")]
36新增:[assembly: AssemblyFileVersion("1.1.0.4")]
修改Core/Servicers/Instances/Main.cs+42 −30看文件
@@ -251,7 +251,7 @@ namespace Core.Servicers.Instances
251251 Debug.WriteLine("进入睡眠状态");
252252
253253 // 通知sokcet客户端
254删除: _webServer.SendMsg("sleep");
254新增: _webServer?.SendMsg("sleep");
255255 // 停止服务
256256 Stop();
257257
@@ -263,7 +263,7 @@ namespace Core.Servicers.Instances
263263 // 从睡眠状态唤醒
264264 Debug.WriteLine("从睡眠状态唤醒");
265265
266删除: _webServer.SendMsg("wake");
266新增: _webServer?.SendMsg("wake");
267267
268268 Start();
269269 }
@@ -457,47 +457,59 @@ namespace Core.Servicers.Instances
457457 {
458458 if (e == null) return;
459459
460删除: var app = e.App;
461删除: int duration = e.Duration;
462删除: DateTime startTime = e.ActiveTime;
460新增: try
461新增: {
462新增: var app = e.App;
463新增: int duration = e.Duration;
464新增: DateTime startTime = e.ActiveTime;
463465
464删除: bool isCheck = IsCheckApp(app.Process, app.Description, app.ExecutablePath);
465删除: if (isCheck)
466新增: bool isCheck = IsCheckApp(app.Process, app.Description, app.ExecutablePath);
467新增: if (isCheck)
468新增: {
469新增: // 更新统计时长
470新增: data.UpdateAppDuration(app.Process, duration, startTime);
471新增: // 关联进程更新
472新增: HandleLinks(app.Process, duration, startTime);
473新增: OnUpdateTime?.Invoke(this, null);
474新增: }
475新增: }
476新增: catch (Exception ex)
466477 {
467删除: // 更新统计时长
468删除: data.UpdateAppDuration(app.Process, duration, startTime);
469删除: // 关联进程更新
470删除: HandleLinks(app.Process, duration, startTime);
471删除: OnUpdateTime?.Invoke(this, null);
478新增: Logger.Error(ex.ToString());
472479 }
473480 }
474481
475482 #region 浏览器记录
476483 private void WebSocketEvent_OnWebLog(Models.WebPage.NotifyWeb args)
477484 {
478删除: if (_webFilter.IsIgnore(args.Url))
485新增: try
479486 {
480删除: Debug.WriteLine($"URL已被过滤,{args.Url}");
481删除: return;
482删除: }
487新增: if (_webFilter.IsIgnore(args.Url))
488新增: {
489新增: Debug.WriteLine($"URL已被过滤,{args.Url}");
490新增: return;
491新增: }
483492
484删除: // 记录数据
485删除: var site = new Models.WebPage.Site()
486删除: {
487删除: Url = args.Url,
488删除: Title = args.Title
489删除: };
493新增: // 记录数据
494新增: var site = new Models.WebPage.Site()
495新增: {
496新增: Url = args.Url,
497新增: Title = args.Title
498新增: };
490499
491删除: _webData.AddUrlBrowseTime(site, args.Duration, args.ActiveDateTime);
500新增: _webData.AddUrlBrowseTime(site, args.Duration, args.ActiveDateTime);
492501
493删除: // 处理图标
494删除: Task.Run(async () =>
502新增: // 处理图标
503新增: Task.Run(async () =>
504新增: {
505新增: string saveName = UrlHelper.GetName(args.Url) + DateTime.Now.ToString("yyyyMM") + ".ico";
506新增: string path = await FaviconDownloader.DownloadAsync(args.Icon, saveName);
507新增: _webData.UpdateUrlFavicon(site, path);
508新增: });
509新增: }catch(Exception ex)
495510 {
496删除: string saveName = UrlHelper.GetName(args.Url) + DateTime.Now.ToString("yyyyMM") + ".ico";
497删除: string path = await FaviconDownloader.DownloadAsync(args.Icon, saveName);
498删除: _webData.UpdateUrlFavicon(site, path);
499删除: });
500删除:
511新增: Logger.Error(ex.ToString());
512新增: }
501513 }
502514 #endregion
503515 }
修改Core/Servicers/Instances/Sleepdiscover.cs+2 −2看文件
@@ -77,8 +77,8 @@ namespace Core.Servicers.Instances
7777 {
7878 StopTimer();
7979 timer = new DispatcherTimer();
80删除: timer.Interval = new TimeSpan(0, 0, 10);
81删除: //timer.Interval = new TimeSpan(0, 5, 0);
80新增: //timer.Interval = new TimeSpan(0, 0, 10);
81新增: timer.Interval = new TimeSpan(0, 5, 0);
8282 timer.Tick += Timer_Tick;
8383 timer.Start();
8484 }
修改Core/Servicers/Instances/WebServer.cs+23 −6看文件
@@ -1,4 +1,5 @@
11using Core.Event;
2新增:using Core.Librarys;
23using Core.Librarys.Browser;
34using Core.Models.WebPage;
45using Core.Servicers.Interfaces;
@@ -23,22 +24,38 @@ namespace Core.Servicers.Instances
2324 public void Start()
2425 {
2526 if (_isStart) return;
26删除: _webSocket = new WebSocketServer(8908, false);
27删除: _webSocket.AddWebSocketService<WebServer>("/TaiWebSentry");
28删除: _webSocket.Start();
29删除: _isStart = true;
27新增: try
28新增: {
29新增: _webSocket = new WebSocketServer(8908, false);
30新增: _webSocket.AddWebSocketService<WebServer>("/TaiWebSentry");
31新增: _webSocket.Start();
32新增: _isStart = true;
33新增: }
34新增: catch (Exception ex)
35新增: {
36新增: Librarys.Logger.Error("无法启动浏览器服务," + ex);
37新增: }
3038 }
3139
3240 public void Stop()
3341 {
3442 if (!_isStart) return;
35删除: _webSocket.Stop();
43新增: _webSocket?.Stop();
3644 _isStart = false;
3745 }
3846
3947 public void SendMsg(string msg_)
4048 {
41删除: _webSocket.WebSocketServices.Broadcast(msg_);
49新增: try
50新增: {
51新增: if (!_isStart) return;
52新增:
53新增: _webSocket.WebSocketServices.Broadcast(msg_);
54新增: }
55新增: catch (Exception ec)
56新增: {
57新增: Librarys.Logger.Error(ec.ToString());
58新增: }
4259 }
4360
4461
修改UI/Properties/AssemblyInfo.cs+2 −2看文件
@@ -51,5 +51,5 @@ using System.Windows;
5151//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
5252//通过使用 "*",如下所示:
5353// [assembly: AssemblyVersion("1.0.*")]
54删除:[assembly: AssemblyVersion("1.5.0.3")]
55删除:[assembly: AssemblyFileVersion("1.5.0.3")]
54新增:[assembly: AssemblyVersion("1.5.0.4")]
55新增:[assembly: AssemblyFileVersion("1.5.0.4")]