Skip to content

Releases: Samera2022/DesktopHelper

v0.0.5.3

08 Sep 14:00

Choose a tag to compare

  • [Released] - [0.0.5.3] - 2025-09-08 21:56

[Changed]

  • 将以往的更新日志文本全部替换为Version数据类型,使得对更新日志与版本的检索与操作变得更加方便。

[Fixed]

  • 修正了空白电脑上ConfigHandler&FileHandler无法正常创建文件的错误。

0.0.5.2

10 Nov 07:09

Choose a tag to compare

  • [Released] - [0.0.5.2] - 2024-11-10 14:24

[Added]

  • 增加了Quiz中累计答对五次自动不再考察该题的逻辑。
  • 优化了Quiz start的相关指令信息,增加了指令的默认参数。
  • 支持自定义背景了!由config.cfg中的enable_characterization(boolean)和bg_path(String)来决定。
    (注:frame指令所创建的窗体暂还未进行支持适配)
  • 支持深色模式了!由config.cfg中的dark_mode(boolean)来决定。

[Changed]

  • 修正了先前输入框内默认文字不清除的问题。
  • 修复了一些logger记录顺序的小问题。
  • 压缩了Logger输出中的ClassName,将module及module之前的内容用...代过。
  • 修正了Quiz中使用list指令误将文件夹和其他文件一起识别的相关逻辑,同时quiz文件后缀名更改为qiz。
  • 修复了窗体组件位置的bug叠bug的问题。之前ver0.0.5.1的时候侥幸有两个bug叠在一起才导致窗体正常显示,这次把两个bug都修了。
    [bug发生的原因:既使用了默认布局管理器(自上而下,自左而右),又填写了错误的绝对窗体坐标。恰巧本来错误的绝对窗体坐标被默认布局管理器压制了,才导致组件显示才维持正常。]

0.0.5.1

10 Jun 13:22

Choose a tag to compare

  • [Released] - [0.0.5.1] - 2024-06-10 21:03

[Added]

  • 添加了version指令。
  • 添加高考倒计时功能。

[Usage]

version指令

  • "version list" 列出该程序的所有历史版号。
  • "version show" 从历史版号中按序号读取更新日志信息。

[Warns]

  • 由于倒计时的加入,Panel的大小和位置大多都发生了改变。如要查询历史版本,则需回到v0.0.5版本。
  • 剩余未开发的功能与bug将会被封存,直至下一次重新激活。

0.0.5

01 Jun 11:27

Choose a tag to compare

  • [Released] - [0.0.5] - 2024-05-26 21:50

[Changed]

  • 修正了Logger的相关逻辑,使之可以正常使用。

[Added]

  • 添加了原先的notification指令,并设法使其兼容新版代码。
  • 添加并重写了原先的颜色系统,使之升级为字体系统,目前其支持的组件仍为notification系统。

[Usage]

notification指令

  • "notification add " 其中,index为可填项,content为必填项。content的格式要求为{,,}或{} 执行该指令后将会将指定提示插入目标行数(如果填写了index)或直接添加到末尾一行(如果未填写index)。
  • "notification remove " 执行该指令后将会将指定目标行数的提示移除。
  • "notification finished " 执行该指令后将会把目标行数的提示切换至完成状态。
  • "notification unfinished " 执行该指令后将会把目标行数的提示切换至未完成状态。

字体系统

  • 字体系统目前适用于notification系统。使用格式为[&&...],比如:[&XA&XB]
  • 目前支持绝大多数Font的参数,已支持的参数对应表如下所示:
    [&FF(fontFamily)]调整字体 [&FS]调整字号 [&XA]粗体 [&XB]斜体 [&XC]下划线 [&XD]删除线 [&XE]上标 [&XF]下标 [&CF]字体颜色 [&CB]背景颜色 [&SA]段落上方留空大小 [&SB]段落下方留空大小 [&FL]首行缩进 [&LI]段落左缩进 [&RI]段落右缩进 [&LS]行间距
  • 特别地,对于[&CF]和[&CB]两个与颜色相关的参数,使用时应当传入色彩信息[&CF(,,)],比如:[&CF(0,0,0)]。

0.0.4.3

05 May 07:27

Choose a tag to compare

  • [Released] - [0.0.4.3] - 2024-05-05 15:00

[Changed]

  • 修改了quiz的一些逻辑,使其更加符合使用需要。

[Added]

  • 增加AminoAcidQuiz指令。
  • quiz start 指令增加四级,五级指令。

[Usage]

quiz start 指令

  • "quiz start " 该指令新增和参数。
    其中,isBreak参数可选stop或continue,分别对应回答错误即停止和回答错误仍继续。
    useSimilarity旨在应对具有小范围开放性的填空,使用一定的相似算法来判断所填入的答案与预设答案是否相关。

AminoAcidQuiz指令

  • "AminoAcidQuiz plain " 执行该指令后将会启动AminoAcidQuiz普通测试。
  • "AminoAcidQuiz structure " 执行该指令后将会启动AminoAcidQuiz结构式测试。

[To-do]

  • 现在有支持显示图片的窗体了,之后或许可以考虑将其整合进Quiz中,实现循环滚大题的操作。
  • Quiz之后应当考虑出题算法,使答对次数多的题目减少出现,答对次数少或出现次数少的题目增多出现。
  • Quiz应当考虑多道题目共用一道大题干的情况,等到多道题目轮流答题完成再滚下一个大题或小题。目前思路如下:
    显示一道大题题干,再显示一个输入窗体。键入第一小题的答案后,出现第二小题的输入窗体......直到所有小题答题结束,再统一对答案进行评价打分。
  • label指令加入待办列表。

[Warns]

  • "quiz start " 指令中的默认改为false,因为相似算法仍然一定存在问题。
  • "AminoAcidQuiz structure " 指令依赖于.../quizzes/resources/amino_acids/下的图片来完成。

0.0.4.2

20 Feb 11:29

Choose a tag to compare

  • [Released] - [0.0.4.2] - 2024-02-20 13:22

[Changed]

  • 完善了mainFrame.ExceptionHandler()方法,但并未进行相关测试。
  • web包更名为gpt包,原web包下HttpURLConnection.java更名为Connection.java

[Added]

  • 增加analyze指令。
  • 增加downloadModpack指令。

[Usage]

downloadModpack指令

  • "downloadModpack key " 执行该指令后将会从zipPath所指向的文件进行模组补全下载,保存至targetPath。同时将配置等文件夹解压至targetPath中。请注意:key下载需要提供curseforge_api_key,即cf_api_key。配置在config.cfg中填入。
  • "downloadModpack browser " 执行该指令后将会从zipPath所指向的文件进行浏览器模组补全下载,该操作不需要提供curseforge_api_key。目前没有设置配置等文件的解压,因为涉及不同浏览器的保存地址,所以暂时不做相关处理。

analyze指令

  • "analyze " 执行该指令后将会读取报错日志,并从已设置的报错内容特征进行检索。目前仅支持一小部分报错分析,更多分析请等待后续版本。

[To-do]

  • 考虑添加依赖缺失报错的模组下载处理逻辑。
  • 或许应当考虑将关于mc的指令全部放在一级指令mc下面?

[Warns]

  • Logger的线程提示有问题,需要解决!

0.0.4.1

08 Feb 11:04

Choose a tag to compare

  • [Released] - [0.0.4.1] - 2024-02-08 18:44

[Changed]

  • Command注解已被简化,仅留下name()属性。
  • 完善openai指令,将认证KEY等配置分离至config/gpt/default.json。

[Added]

  • 添加日志处理系统Logger。
  • 添加配置Config,以config/config.cfg的格式输出。目前支持的内容有:是否将执行的指令再次输出至输出框(command_output)
  • 添加exit指令。
  • 添加clear指令。
  • 添加config指令。目前支持的二级指令参数有:reload。用法见Usage。

[Usage]

config指令

  • "config reload" 执行该指令后将会重载config.cfg。

0.0.4

27 Jan 11:31

Choose a tag to compare

  • [Released] - [0.0.4] - 2024-01-27 19:20

[Changed]&&[Description]

Structure

  • 注册指令变更。注册指令不再使用output(new Mixture[]{Mixture<>(String, Style)...}, Boolean);语句,转而使用formatter(Boolean,Mixture<>(String, Style)...);语句。相较于原先语句该语句能够较好的结合数组和泛型,借助可变参数方法将抽象的数组cast为泛型数组调用output进行输出,再利用SafeVarargs注解消除编译器对formatter方法的警告。简而言之,就是利用formatter方法对output方法进行了一定程度的封装。
  • 指令参数变更。指令参数由原先的Mixture<Boolean,ArrayList>改为ArrayList,毕竟原先这个类型确实长得比较离谱......直接粗暴地把delete(Boolean)和指令本体结合起来,确实不太好。而且delete原本是Command注解里面的参数,再在方法的参数里面出现就太冗杂了。或许我可以在output或者formatter的方法里面直接反射获取目标方法的注解,然后得到delete参数?这样就不需要在方法多个if分支里面重复写false或者true了,其实本来也可以直接在方法体里写一个新的boolean delete声明,但是这样的话再调用delete的时候编译器老是会提示,就让人看得比较烦。
  • 总线升级!已省去Command注解中的delete()和hasTextOutput()的使用,转为在CommandHeads相应指令的方法体中直接调用formatter()方法填入相应参数。
  • 修正fuzzyMatcher方法,更正了该方法的逻辑。

Commands

  • 修正delete指令。

[Added]&&[Description]

  • 增加quiz指令。目前支持的二级指令参数有:create,start,delete,list。用法详见Usage。
  • 增加frame指令。目前支持的二级指令参数有:broaden,close,dispose。用法详见Usage。
  • 增加openai指令(需要联网)。目前仅支持单一对话询问,存在阻塞风险!
    注:阻塞风险是指在执行该指令后,整个程序会陷入阻塞状态,等待请求结果。由于程序的逻辑特点,这个问题几乎无法避免。

[Usage]

quiz指令

  • 概述:quiz指令是一种用于测试(examine)的指令,可以用于新建、追加、删除测试,或者列出本机上已有的全部测试内容。为简化叙述,下文中即为你所希望操作的测试的名称,
  • "quiz create " 执行该指令后将会在本机新建一个名为的测试。若该测试已存在,则会询问是否覆盖该测试。选Yes会复写原有测试,选No会在原有测试上追加,关闭窗体则会取消新建操作。
  • "quiz start " 执行该指令后将会尝试在本机查找名为的测试并启动。
  • "quiz delete " 执行该指令后将会删除本机上名为的测试,并且无法找回。
  • "quiz list" 执行该指令后将会列出本机上可用的所有测试。

frame指令

  • 概述:frame指令是用于操作拓展窗体行为的指令。其中拓展窗体并不是主程序所对应的mainFrame,而是用于辅助显示的拓展大屏幕。其中,这个大屏幕与主程序共享dsdFileContent(DefaultStyledDocument),基本相当于与主程序共享负责文件读取与操作输出的中间组件。
  • "frame broaden" 执行该指令后将会让拓展窗体变得可见。
  • "frame close" 执行该指令后将会让拓展窗体变得不可见。但是通常情况下可以使用dispose来代替。
  • "frame dispose" 执行该指令后将会关闭拓展窗体,并释放一部分资源。

openai指令

  • "openai " 执行该指令后将会联网请求openai模型的内容,并等待回复。目前仅支持单一对话询问。

pre0.0.4

03 Sep 14:08

Choose a tag to compare

pre0.0.4 Pre-release
Pre-release
  • [Released] - [pre0.0.4] - 2023-09-03 16:48

[Changed]&&[Descriptions]

  • 总线更改完成!目前总线仅搭载print指令,故本版本尚为测试版本。总线更改完成后,可以在CommandHeads中使用Command注解,同时填入必要的name参数,选填delete与hasTextOutput参数即可完成指令的注册。故Info中已移除ArrayList COMMANDS,待Notification与其二级指令完成迁移后同时也会删除ArrayList NOTIFICATION_COMMANDS。
  • 总线信息传递大致如下:EnterKeyListener.java监听到输入框输入后调用EventBus.java的register方法,register方法将命令综合处理完成后传入CommandHandler.java中的handleCommand方法,handleCommand方法先对其进行模糊匹配,模糊匹配完成后将直接调用位于CommandHeads的该方法。
  • 对0.0.3.1更新日期做出修正:模糊匹配机制于2023-08-26 09:58推出,而ChemistryQuiz则更早完成,但加入时间不详(晚于模糊匹配机制)。故v0.0.3.1沿用模糊匹配机制的完成时间,即2023-08-26 09:58。

[Warns]

  • 潜在的危险:在EnterKeyListener.java中,为实现按下回车键后光标仍能恢复到第一行最前面的位置(因为EnterKeyListener.java的keyPressed所能实现的功能皆在enter引发换行之前,所以只能在keyReleased进行调正)采用了isCommand进行判断进而删除dsd前面的内容。而使用isCommand未经过严谨的考量,可能存在一些意想不到的问题。

0.0.3.1

02 Sep 06:34

Choose a tag to compare

  • [Released] - [0.0.3] - 2023-09-02 13:45

[Added]

  • 增加模糊匹配机制!简化指令输入的时间,现在你只需要大概打出指令前几个字母就可以调用!
  • 增加gadgets包(小工具包),可以向其中加入各种各样的小功能小工具!目前已加入ChemistryQuiz轨道表达式小测试!

[Descriptions]

  • 即将进行大规模底层逻辑重写,将会把该工程推送至v0.0.3.1分支保存!
  • 工程将会由Listener+switch的结构转为总线注册总线监听结构!