跳到主要内容

github/tai

公开

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

提交记录
修改Core/Models/Config/GeneralModel.cs+16 −0看文件
@@ -40,5 +40,21 @@ namespace Core.Models.Config
4040 /// 窗口高度
4141 /// </summary>
4242 public double WindowHeight { get; set; } = 585;
43新增:
44新增: /// <summary>
45新增: /// 启动页选择
46新增: /// </summary>
47新增: [Config(Options = "概览|统计|详细|分类", Name = "启动页", Description = "设置打开主界面时显示的页面", Group = "基础")]
48新增: public int StartPage { get; set; } = 0;
49新增: /// <summary>
50新增: /// 概览页最为频繁显示条数
51新增: /// </summary>
52新增: [Config(Options = "1|2|3|4|5|6|7|8|9|10", Name = "最为频繁显示条数", Description = "", Group = "概览页")]
53新增: public int IndexPageFrequentUseNum { get; set; } = 2;
54新增: /// <summary>
55新增: /// 概览页最为频繁显示条数
56新增: /// </summary>
57新增: [Config(Options = "1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20", Name = "更多显示条数", Description = "", Group = "概览页")]
58新增: public int IndexPageMoreNum { get; set; } = 11;
4359 }
4460}
修改UI/App.xaml.cs+2 −3看文件
@@ -259,7 +259,7 @@ namespace UI
259259 keepaliveWindow = new HideWindow();
260260 }
261261
262删除:
262新增:
263263
264264 private void ShowMainWindow()
265265 {
@@ -271,8 +271,7 @@ namespace UI
271271 mainWindow = serviceProvider.GetService<MainWindow>();
272272
273273 mainWindow.DataContext = dataContext;
274删除: dataContext.SelectGroup(-1);
275删除: dataContext.Uri = nameof(IndexPage);
274新增: dataContext.LoadDefaultPage();
276275 }
277276
278277 mainWindow.WindowStartupLocation = WindowStartupLocation.CenterScreen;
修改UI/Models/IndexPageModel.cs+12 −0看文件
@@ -51,5 +51,17 @@ namespace UI.Models
5151
5252 private ContextMenu AppContextMenu_;
5353 public ContextMenu AppContextMenu { get { return AppContextMenu_; } set { AppContextMenu_ = value; OnPropertyChanged(); } }
54新增:
55新增: private int FrequentUseNum_;
56新增: /// <summary>
57新增: /// 最为频繁条数
58新增: /// </summary>
59新增: public int FrequentUseNum { get { return FrequentUseNum_; } set { FrequentUseNum_ = value; OnPropertyChanged(); } }
60新增: private int MoreNum_;
61新增: /// <summary>
62新增: /// 更多条数
63新增: /// </summary>
64新增: public int MoreNum { get { return MoreNum_; } set { MoreNum_ = value; OnPropertyChanged(); } }
65新增:
5466 }
5567}
修改UI/ViewModels/IndexPageVM.cs+37 −23看文件
@@ -28,14 +28,16 @@ namespace UI.ViewModels
2828 private readonly IMain mainServicer;
2929 private readonly IAppContextMenuServicer appContextMenuServicer;
3030 private readonly IInputServicer inputServicer;
31新增: private readonly IAppConfig appConfig;
3132 public IndexPageVM(
32删除: IData data, MainViewModel main, IMain mainServicer, IAppContextMenuServicer appContextMenuServicer, IInputServicer inputServicer)
33新增: IData data, MainViewModel main, IMain mainServicer, IAppContextMenuServicer appContextMenuServicer, IInputServicer inputServicer, IAppConfig appConfig)
3334 {
3435 this.data = data;
3536 this.main = main;
3637 this.mainServicer = mainServicer;
3738 this.appContextMenuServicer = appContextMenuServicer;
3839 this.inputServicer = inputServicer;
40新增: this.appConfig = appConfig;
3941
4042 ToDetailCommand = new Command(new Action<object>(OnTodetailCommand));
4143 RefreshCommand = new Command(new Action<object>(OnRefreshCommand));
@@ -58,22 +60,21 @@ namespace UI.ViewModels
5860 {
5961 TabbarData = new System.Collections.ObjectModel.ObservableCollection<string>()
6062 {
61删除: "上周","本周"
63新增: "今日","本周"
6264 };
6365
64删除: TabbarSelectedIndex = 1;
65删除:
66删除: PropertyChanged += IndexPageVM_PropertyChanged;
67删除: LoadThisWeekData();
68删除:
66新增: TabbarSelectedIndex = 0;
6967 AppContextMenu = appContextMenuServicer.GetContextMenu();
7068
69新增: PropertyChanged += IndexPageVM_PropertyChanged;
7170 inputServicer.OnKeyUpInput += InputServicer_OnKeyUpInput;
71新增:
72新增: LoadData();
7273 }
7374
7475 private void InputServicer_OnKeyUpInput(object sender, System.Windows.Forms.Keys key)
7576 {
76删除: if(key== System.Windows.Forms.Keys.F5)
77新增: if (key == System.Windows.Forms.Keys.F5)
7778 {
7879 // 重新加载数据
7980 LoadData();
@@ -113,31 +114,44 @@ namespace UI.ViewModels
113114 return;
114115 }
115116
116删除: if (TabbarSelectedIndex == 1)
117新增: FrequentUseNum = appConfig.GetConfig().General.IndexPageFrequentUseNum + 1;
118新增: MoreNum = appConfig.GetConfig().General.IndexPageMoreNum + 1;
119新增:
120新增: if (TabbarSelectedIndex == 0)
117121 {
118删除: LoadThisWeekData();
122新增: LoadTodayData();
119123 }
120删除: else
124新增: else if (TabbarSelectedIndex == 1)
121125 {
122删除: LoadLastWeekData();
126新增: LoadThisWeekData();
123127 }
128新增: //else
129新增: //{
130新增: // LoadLastWeekData();
131新增: //}
124132 }
125133
126删除: #region 本周数据
127删除: private void LoadThisWeekData()
134新增: #region 今日数据
135新增: private void LoadTodayData()
128136 {
129删除: //IsLoading = true;
137新增: IsLoading = true;
130138
131删除: //var task = Task.Run(() =>
132删除: // {
133删除: // var list = data.GetThisWeeklogList();
134删除: // var res = MapToChartsData(list);
135删除: // IsLoading = false;
136删除: // return res;
139新增: Task.Run(() =>
140新增: {
141新增: var list = data.GetDateRangelogList(DateTime.Now.Date, DateTime.Now.Date);
142新增: var res = MapToChartsData(list);
143新增: IsLoading = false;
144新增: WeekData = res;
145新增: });
137146
138删除: // });
139147
140删除: //WeekData = await task;
148新增:
149新增: }
150新增: #endregion
151新增:
152新增: #region 本周数据
153新增: private void LoadThisWeekData()
154新增: {
141155 IsLoading = true;
142156
143157 Task.Run(() =>
修改UI/ViewModels/MainViewModel.cs+19 −15看文件
@@ -1,4 +1,5 @@
1删除:using System;
1新增:using Core.Servicers.Interfaces;
2新增:using System;
23using System.Collections.Generic;
34using System.Linq;
45using System.Text;
@@ -15,18 +16,22 @@ namespace UI.ViewModels
1516 public class MainViewModel : MainWindowModel
1617 {
1718 private readonly IServiceProvider serviceProvider;
18删除:
19新增: private readonly IAppConfig appConfig;
1920 public Command OnSelectedCommand { get; set; }
2021 public Command GotoPageCommand { get; set; }
2122
23新增: private string[] pages = { nameof(IndexPage), nameof(ChartPage), nameof(DataPage), nameof(CategoryPage) };
2224 public MainViewModel(
23删除: IServiceProvider serviceProvider
25新增: IServiceProvider serviceProvider,
26新增: IAppConfig appConfig,
27新增: IMain main
2428 )
2529 {
2630 this.serviceProvider = serviceProvider;
31新增: this.appConfig = appConfig;
2732
2833 ServiceProvider = serviceProvider;
29删除: Uri = nameof(IndexPage);
34新增:
3035 OnSelectedCommand = new Command(new Action<object>(OnSelectedCommandHandle));
3136 GotoPageCommand = new Command(new Action<object>(OnGotoPageCommand));
3237
@@ -38,6 +43,8 @@ namespace UI.ViewModels
3843 InitNavigation();
3944 }
4045
46新增:
47新增:
4148 private void MainViewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
4249 {
4350 if (e.PropertyName == nameof(Uri))
@@ -49,9 +56,11 @@ namespace UI.ViewModels
4956 }
5057 }
5158
52删除: public void SelectGroup(int ID)
59新增: public void LoadDefaultPage()
5360 {
54删除: NavSelectedItem = Items.Where(m => m.ID == ID).FirstOrDefault();
61新增: int startPageIndex = appConfig.GetConfig().General.StartPage;
62新增: NavSelectedItem = Items[startPageIndex];
63新增: Uri = NavSelectedItem.Uri;
5564 }
5665
5766
@@ -71,11 +80,7 @@ namespace UI.ViewModels
7180 private void InitNavigation()
7281 {
7382 IndexUriList = new List<string>();
74删除: IndexUriList.Add(nameof(IndexPage));
75删除: IndexUriList.Add(nameof(DataPage));
76删除: IndexUriList.Add(nameof(CategoryPage));
77删除: IndexUriList.Add(nameof(ChartPage));
78删除:
83新增: IndexUriList.AddRange(pages);
7984
8085 Items.Add(new Controls.Navigation.Models.NavigationItemModel()
8186 {
@@ -89,7 +94,7 @@ namespace UI.ViewModels
8994 Items.Add(new Controls.Navigation.Models.NavigationItemModel()
9095 {
9196 UnSelectedIcon = Controls.Base.IconTypes.ZeroBars,
92删除: SelectedIcon= IconTypes.FourBars,
97新增: SelectedIcon = IconTypes.FourBars,
9398 Title = "统计",
9499 ID = 1,
95100 Uri = nameof(ChartPage),
@@ -98,7 +103,7 @@ namespace UI.ViewModels
98103 Items.Add(new Controls.Navigation.Models.NavigationItemModel()
99104 {
100105 UnSelectedIcon = Controls.Base.IconTypes.Calendar,
101删除: SelectedIcon= IconTypes.CalendarSolid,
106新增: SelectedIcon = IconTypes.CalendarSolid,
102107 //Icon = Controls.Base.IconTypes.BIDashboard,
103108 Title = "详细",
104109 ID = 2,
@@ -108,13 +113,12 @@ namespace UI.ViewModels
108113 Items.Add(new Controls.Navigation.Models.NavigationItemModel()
109114 {
110115 UnSelectedIcon = Controls.Base.IconTypes.EndPoint,
111删除: SelectedIcon= IconTypes.EndPointSolid,
116新增: SelectedIcon = IconTypes.EndPointSolid,
112117 Title = "分类",
113118 ID = 3,
114119 Uri = nameof(CategoryPage),
115120
116121 });
117删除: NavSelectedItem = Items[0];
118122 }
119123
120124 public void Toast(string content, ToastType type = ToastType.Info, IconTypes icon = IconTypes.Accept)
修改UI/Views/IndexPage.xaml+2 −2看文件
@@ -31,9 +31,9 @@
3131 <TextBlock Text="概览" FontSize="18" Margin="0,5,0,20"/>
3232 <Tabbar:Tabbar Width="100" HorizontalAlignment="Left" Data="{Binding TabbarData}" SelectedIndex="{Binding TabbarSelectedIndex,Mode=TwoWay}"/>
3333 <TextBlock Text="最为频繁" FontSize="15" Margin="0,20,0,10"/>
34删除: <Charts:Charts IsCanScroll="False" Height="180" Data="{Binding WeekData}" ChartsType="HorizontalA" ShowLimit="3" IsLoading="{Binding IsLoading,Mode=TwoWay}" ClickCommand="{Binding ToDetailCommand}" ItemMenu="{Binding AppContextMenu}"/>
34新增: <Charts:Charts IsCanScroll="False" Data="{Binding WeekData}" ChartsType="HorizontalA" ShowLimit="{Binding FrequentUseNum}" IsLoading="{Binding IsLoading,Mode=TwoWay}" ClickCommand="{Binding ToDetailCommand}" ItemMenu="{Binding AppContextMenu}"/>
3535 <TextBlock Text="更多" FontSize="15" Margin="0,20,0,10"/>
36删除: <Charts:Charts Data="{Binding WeekData}" ItemMenu="{Binding AppContextMenu}" ChartsType="Card" ShowLimit="12" IsLoading="{Binding IsLoading,Mode=TwoWay}" ClickCommand="{Binding ToDetailCommand}"/>
36新增: <Charts:Charts Data="{Binding WeekData}" ItemMenu="{Binding AppContextMenu}" ChartsType="Card" ShowLimit="{Binding MoreNum}" IsLoading="{Binding IsLoading,Mode=TwoWay}" ClickCommand="{Binding ToDetailCommand}"/>
3737
3838
3939 </StackPanel>