hellowrc / classisland Goto Github PK
View Code? Open in Web Editor NEW一款适用于班级多媒体屏幕的课表的信息显示工具,可以一目了然地显示各种信息。
License: MIT License
一款适用于班级多媒体屏幕的课表的信息显示工具,可以一目了然地显示各种信息。
License: MIT License
实现类似《崩坏:星穹铁道》中的加载动画
在显示提醒时按照指定的优先顺序显示提醒。
在NotificationRequest
中添加MaskSpeechText
和OverlaySpeechText
属性,对应在不同状态下要朗读的文本。
天气显示、预警功能支持。使用小米天气api。
更新帮助文档的描述和配图。
主界面字重选项在退出应用后被重置为Regular
materialDesign:Card
控件内元素模糊
允许从指定的url拉取应用设置策略清单,然后从策略清单指定的url拉取档案、设置和限制策略,并与本地合并。
自定义TaskbarIcon单击的行为
允许在通知显示时将通知清除。
将帮助文档中部分包含旧版界面ui的配图更新为新ui配图。
主界面GridRoot
中Visibility
属性的Style绑定失效,无法自动隐藏窗口。
为应用添加启动屏幕,可以用参数 --noSplash
关闭。
解决TaskbarIcon在部分Windows 10版本中不兼容的问题。
展开的时间点可以显示其它类型的信息。
类型 | 示例 |
---|---|
时间范围 | 8:00-8:40 |
已过时间/持续时间 | 25/40min |
剩余时间/持续时间 | -15/40min |
百分比 | 50% |
AttachedSettings
在当前时间点将要结束时添加倒计时
AttachedSettings
流程图:
flowchart TD
A["开始导入表格"] --> B("询问界面形式")
B --> C{"从哪里导入时间表?"}
C --> |"本表格"| D("选择时间安排区域") --> G
C --> |"另一表格"| E("打开另一表格") --> D
C --> |"手动创建"| F("打开档案编辑窗口") --> G
G("完成时间表导入") --> H("选择课程区域")
H --> I("选择行列对应关系")
I --> J{"如何导入时间对应关系?"}
J --> |"手动指定"| K("手动指定") --> N
J --> |"自动识别"| L("预览识别结果") --> M("修改识别格式") --> N
N("选择创建课表的区域") --> O("确认识别结果") --> P{"继续导入课表?"}
P --> |"是"| N
P --> |"是,使用新的时间表"| C
P --> |"否"| Q["完成导入"]
从默认或者指定的NTP服务器拉取时间,不使用系统时间。
TimeService
在帮助文档中加入每次更新的功能亮点和更新日志。
显示通知时将主窗口置顶,以增强提醒。
上课准备提醒自定义提醒文字
允许为档案中部分元素追加自定义设置条目。
IAttachedSettingsControl
AttachableSettingsObject
AttachedSettingsHostService
在设置允许自定义主界面的字体
将更新日志移动到与更新设置同级的TabControl下,并添加加载动画
将应用主题色设置为桌面壁纸主题色
启动软件加载正常,但是显示“今天没有课程”
疑似本地网络错误,但是拉取数据逻辑上实现有缺陷。
拉取集控清单与策略失败
System.Net.Http.HttpRequestException: An error occurred while sending the request.
---> System.IO.IOException: Unable to read data from the transport connection: 远程主机强迫关闭了一个现有的连接。.
---> System.Net.Sockets.SocketException (10054): 远程主机强迫关闭了一个现有的连接。
--- End of inner exception stack trace ---
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource<System.Int32>.GetResult(Int16 token)
at System.Net.Security.SslStream.EnsureFullTlsFrameAsync[TIOAdapter](CancellationToken cancellationToken, Int32 estimatedSize)
at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource<TResult>.GetResult(Int16 token)
at System.Net.Security.SslStream.ReadAsyncInternal[TIOAdapter](Memory`1 buffer, CancellationToken cancellationToken)
at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource<TResult>.GetResult(Int16 token)
at System.Net.Http.HttpConnection.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.HttpConnection.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.GetStringAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)
at ClassIsland.Helpers.WebRequestHelper.GetJson[T](Uri uri) in C:\projects\classisland\ClassIsland\Helpers\WebRequestHelper.cs:line 16
at ClassIsland.Helpers.WebRequestHelper.SaveJson[T](Uri uri, String path) in C:\projects\classisland\ClassIsland\Helpers\WebRequestHelper.cs:line 23
at ClassIsland.Services.ManagementService.SetupManagement() in C:\projects\classisland\ClassIsland\Services\ManagementService.cs:line 90
在MainWindow大小变化时展示平滑效果
优化应用主菜单元素排序
在朗读提醒文本时,使用EdgeTTS接口进行朗读。
在创建启动快捷方式时不使用COM引用的库
将项目中文件拆分到ClassIsland.Core
,方便后续集控服务器项目引用和扩展支持。
ClassIsland
中后端Model迁移到项目ClassIsland.Core
ClassIsland
中来自walterlv的代码迁移到项目Walterlv
ClassIsland
中后端服务接口抽象到ClassIsland.Core
将MainWindow中的各个功能解耦到以下服务:
将各个窗口解耦到服务:
将提醒功能模块化
在安装应用更新时,自动向AppCenter汇报更新事件
在帮助界面添加导航功能
发生严重错误时不显示崩溃窗口,而是打开日志窗口。
向欢迎界面添加更多设置,增加跳过功能。更新欢迎界面打开主菜单的引导配图
将应用主题色设置为系统主题色
在黑暗模式时,将窗口标题栏也设置为黑暗模式
提供界面缩放功能,使主界面可以调整缩放比例大小
将所有除了MainWindow的窗口的基类统一为MyWindow
动画描述(大概):
主题色水波纹从界面顶部出发,填充整个桌面,随后淡化;同时主界面被填充区域显示提醒遮罩
更新时允许从镜像下载更新。
提取桌面主题色时兼容动态壁纸软件 #3
在主界面使用更大的字体,缩小元素间距
在桌面壁纸更新时自动提取并更新主题色
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.