-
设计:Screen Time App on Windows
-
TODO
- 界面
- 测试和Debug
- 提醒功能实装
-
数据库使用sqlite3文件,包含两张表:
-
HourLog:记录每天的日期、时间(以分钟为单位)和应用程序。
- date INTEGER(YYYYMMDDHH)
- time INTERER (in seconds)
- app INTERER
-
AppModels:记录应用程序的名称、文件和类别ID。
- app INTERER PRIMARY KEY
- file NVARCHAR
- name NVARCHAR *默认从file中读入去除拓展名的文件名,
- CategoryID int NULL DEFAULT 0
-
CategoryModels: 分类ID-名称对照
- CategoryID INTEGER PRIMARY KEY
- name NVARCHAR
-
ReminderModels
- ReminderID INTEGER PRIMARY KEY
- ReminderName NVARCHAR
- ReminderBindCategory int
- ReminderTimeLimit int //time limit as in minutes within a day
- ReminderMessage NVARCHAR
-
-
界面部分:Tabs
-
分组:用户可以将使用的软件进行分组,以便更好地管理和控制自己的应用程序。
- struct Reminder (only used in returned value of get_all_category)
- 分组
- get_all_category
- rename_category
- add_category
- delete_category
- 应用
- get_apps_under_category
- move_app_to_category
-
提醒:当用户使用某个应用分组的时间达到指定的使用时间时,程序会提醒用户自定义内容,以便用户可以更好地控制自己的应用程序使用时间。
- get_all_reminder
- add_reminder
- remove_reminder
- modify_reminder
-
统计:用户可以选择指定的开始日期和结束日期,以显示在该时间段内使用软件的时长统计图,以便用户更好地了解自己的应用程序使用情况。
- get_usage_app_timespan
-
时间轴:时间轴可以展示用户在指定日期内使用进程的时间轴,以便用户更好地了解自己的应用程序使用情况。
- get_app_usage_timeline_day
-
-
后台进程部分:
- 记录进程:每10秒获取Windows当前focus的窗口进程名,并将其记录到数据库中,以便用户可以更好地了解自己的应用程序使用情况。 数据库: