FIT2CLOUD
记得 的图标

记得

1,497
334

把容易忘的事记下来:纪念日与生日、家人朋友、爱车的保险年检保养到期,到点提醒你,愿意公开的还能展示在博客前台。

2.0.0
铭 发布于

2.0.0

最新
>=2.26.0

2.0.0 正式版说明 · 收官版本

装包后请强刷浏览器(Ctrl+Shift+R),并完整重启一次 Halo 服务(仅替换 jar 不重启,Halo 会继续用内存里的旧代码)。

这是最后一个功能版本。此后本插件不再新增功能,只维持可用。所以这一版的重点不是"还能做什么",而是让它在你不管它的情况下也不容易坏、坏了你能自己看出来。

一、插件内自检:提醒不弹时,先点这里

设置里新增「提醒自检」卡片,点一下会沿着提醒链路逐项检查,并用人话告诉你结论:

检查项 它会告诉你
提醒接口 能不能取到提醒数据、当前有几条进入提醒期
服务端版本 后端实际在跑的版本(排查"换了包没生效")
插件版本 插件版本与服务端版本是否一致 —— 不一致几乎就是换了 jar 没重启
弹窗脚本 当前页面有没有注入弹窗脚本、脚本序号是多少

任何一项异常都会直接给出下一步该做什么(强刷浏览器 / 重启 Halo / 检查开关)。这一项是为"以后没人给你排查"准备的:以前这类问题只能靠翻日志和猜,现在用户自己点一下就有答案。

二、使用说明搬进了插件里

从应用市场安装的用户看不到仓库里的 README,所以把用法直接放进设置页,做成可折叠的「使用说明与常见问题」:

  • 三步就能用起来(先记日子 → 想管车再加座驾 → 要公开才开前台开关)
  • 提醒会在哪三个地方出现
  • 弹窗为什么"刷新又出来了"、怎么才能不烦我
  • 默认值是给谁看的(哪些内容默认不对访客展示)
  • 到期了没办会怎么样(逾期 → 待处理 → 一直保留,可撤销)
  • 提醒没出现怎么办(三步排查)
  • 数据在哪、怎么搬走

三、条目多了也能一眼看出最近要办什么

「记得」页的重要日期列表此前只能按人员筛选,排序还是拖拽顺序 —— 条目一多,根本看不出"最近有什么"。

  • 新增临近程度筛选:全部 / 今天 / 7 天内 / 30 天内 / 30 天以后,每档都带条目数;
  • 新增「还有」列:直接显示「明天」「5 天后」「已过 3 天」,临近的用颜色标出来。

四、修掉一个会打乱顺序的问题

拖拽排序此前把筛选后可见的那几条的顺序整份写回,于是被筛掉的条目顺序被抹平,会在列表里悄悄跳位。现在只移动可见项,其余条目保持原有相对位置。加了临近程度筛选之后这个问题的破坏力会成倍放大,所以一并修掉。

五、弹窗的无障碍与小改进

  • 支持 Esc 关闭:按键盘的习惯动作只收起当前弹窗,不写任何静音记录(不该因为按了下 Esc 就"以后都不提醒")。
  • 关闭按钮从 <span> 换成真正的 <button>:可以 Tab 聚焦、回车触发,读屏软件能正确朗读「关闭提醒」。
  • 弹窗语义从 role="alert" 改为 role="status" + aria-live="polite":这是提醒不是报错,不该打断用户正在听的内容。

六、描述收敛成一句话

插件描述从 200 多字的长句改成一句话:

把容易忘的事记下来:纪念日与生日、家人朋友、爱车的保险年检保养到期,到点提醒你,愿意公开的还能展示在博客前台。

七、关于后续维护

  • 升级方式:请在「插件」页面上传新 jar 升级。不要手工替换 plugins 目录里的文件 —— Halo 在数据库里记录插件的加载路径,换了文件名它就不再加载(表现为接口 404、后台菜单消失)。
  • 数据安全:纪念日、人员、座驾都存在 Halo 自己的数据里,卸载插件不会替你删除;「记得」页右上角的导出可以把全部内容存成 JSON 留底。
  • 遇到问题先点「提醒自检」,它能覆盖绝大多数"提醒不出现"的情况。

资源下载

  • plugin-important-dates-2.0.0.jar
1.3.3
铭 发布于
>=2.26.0

记得(plugin-important-dates)

build
plugin

一个 Halo 2.x 插件:记录纪念日、生日与家人朋友,也管好你的座驾(汽车 / 电瓶车 / 自行车)——保险、年检、保养到期自动提醒;支持阳历/农历、多图相册、前台「生活 / 爱车」双视图、隐私脱敏,零系统配置写入、零主题文件写入。

English README | Releases | 问题反馈 | 作者:yyliucha

截图

截图 说明
仪表盘提醒小组件 控制台仪表盘小组件:到期提醒常驻仪表盘,每分钟自动刷新
后台页签 后台页签:重要日期 / 人员 / 座驾,提醒横幅 + 卡片列表 + 拖拽排序
座驾列表 座驾页签:分类图标、车牌、到期徽章(已过期 / 临近)、车主与驾驶人、前台开关
座驾表单 座驾表单(1.3.0):五个可折叠分区(基本信息 / 到期提醒默认展开);字段按车型显示——电瓶车锁定「纯电」、不留发动机号,自行车连车牌与能源都不出现
前台页面 前台 /important-dates:生活视图——重要日期 + 牵挂的人(生日与纪念日倒计时)
前台爱车视图 爱车视图:车辆卡片(脱敏车牌、到期徽章)+ 车主与驾驶人(统一徽章)+ 其他重要的人
前台相册 相册查看:点击封面全屏浏览(只读、Esc 关闭),仅显示后台勾选「展示」的照片
全站悬浮提醒 悬浮提醒:位置自选、倒计时 + 进度条、关闭方式菜单(本次关闭 / 今天不再提示 / N 天内不显示),默认只在「记得」页弹出

功能

📅 重要日期

  • 名称 + 日期 + 多行备注;阳历 / 农历(含闰月),农历自动换算当年阳历
  • 每年自动循环,列表显示"最近一次"与"还有几天";支持拖拽排序(前后台一致)
  • 自研日期选择器:阳历格内标注农历;农历选年/月(含闰月)/日实时换算;编辑时面板定位到已选日期

👤 人员

  • 姓名、昵称、关系(含"本人")、生日(阳历/农历)、性别、血型、身高、体重、喜好、备注、大头贴(官方附件上传 / 附件库选择);支持拖拽排序
  • 重要日期可关联多人,列表可按人员筛选

🚗 座驾(汽车 / 电瓶车 / 自行车)

  • 17 类分类(轿车 / SUV / MPV / 跑车 / 越野车 / 皮卡 / 旅行车 / 两厢车 / 跨界车 / 微面 / 房车 / 货车 / 客车 / 摩托车 / 电瓶车 / 自行车 / 其他)、能源类型(燃油 / 纯电 / 插混 / 油电混动 / 人力)、品牌型号、颜色、VIN、发动机号、注册与购买日期、里程、状态(在用车 / 已出售 / 已报废)
  • 按车型只显示用得上的字段(1.3.0):以「有没有发动机、有没有牌照」分档——自行车不显示车牌 / 能源类型 / 车架号 / 里程 / 购买价格;电瓶车保留车牌与车架号(称「整车编号 / 车架号」),能源类型锁定为纯电,不显示发动机号与首次登记日期;保险公司与保险 / 年检 / 车船税只对汽车、摩托车等机动车出现。编辑弹窗相应精简为五个可折叠分区(基本信息、到期提醒默认展开,相册 / 关联人员 / 更多资料收起并显示摘要),每条到期项压成一行、细节收进「设置」
  • 改车型不丢数据:把汽车改成自行车时,已有的保险 / 年检项保留在库里但不再展示、也不再提醒(表单里看不到、卡片与前台都不出现),改回汽车后原样恢复,到期日一字不改
  • 多图相册:上传或附件库多选、拖拽排序、设封面;每张可单独勾选「展示」(未勾选仅后台可见,适合行驶证、保单等证件照)
  • 附件库来源范围:可在「设置 → 照片设置」为人员大头贴与座驾相册分别指定「分类(分组)」与「存储策略」;命中不到时自动放宽范围并在弹窗中说明当前生效范围与命中数(不会出现空白列表),也可一键「显示全部图片」
  • 图片失效自动降级:附件被删除(或被其它插件的全局规则拦截)导致图片打不开时,前台封面回退车型图标、大头贴回退首字、相册显示占位说明——访客永远看不到破图;后台车辆/人员卡片会标出「含失效图片 N」「大头贴已失效」,可一键「移除失效图片」或逐张「重新选择」
  • 省流量的图片处理:列表 / 相册网格 / 前台卡片使用 ?width= 缩略图(默认 480px,可配,0=原图),点开查看仍是原图;上传超过 1.5MB 的图片会先在浏览器压缩(默认压到 1920px,可关)
  • 提醒状态机(1.2.6):到期日过了没办就是逾期(不再自动滚到下一期)——逾期期间逐日提醒,之后转「待处理」但一直保留在清单里;只有点「已办」才顺延:循环项顺延一期、保养项记为「刚做完保养」(自动更新上次保养日期并按间隔推算下次)、一次性项标记完成;支持一键撤销办理(含上次保养日期一起还原)
  • 节点式提醒节奏:提醒期每 7 天一个节点、最后 15 天加密为 15/7/3/1/0 天、逾期 1/2/3 天,每个节点给出对应的贴心文案—— 这条管的是后台/前台横幅与仪表盘的主动提醒节奏;悬浮弹窗按下面的规则每次打开都提示
  • 弹窗内动作原地生效:在座驾编辑弹窗点「已办 / 撤销办理」立即写库、只刷新本行、不关闭弹窗(不必再"记得点保存")
  • 提醒可逐条忽略:前台横幅与仪表盘小组件每条右侧的 ✕ 表示"本次到期周期内不再提示"(存在浏览器里,到期日变化后自动恢复),可一键「恢复显示」,也可在设置里关闭
  • 年检规则可配置:「座驾设置 → 年检节点(默认 2,4,6,10)」「从第几年起每年上线检验(默认 11)」可按当地车管所规则调整,表单预览与提醒同步
  • 到期提醒:交强险 / 商业险 / 年检 / 保养(按上次保养 + 间隔月数推算)/ 车船税 / 自定义项;每项可设启用、提前天数与循环间隔(每年 / 每两年 / 每三年 / 不循环 / 自定义月数);已出售 / 报废不再提醒(「驾照换证」自 1.3.0 起不再挂在座驾上——它属于"人"而非"车",同一个人开两辆车不会重复提醒)
  • 保险公司填一次就够:车辆级「保险公司」全车共用(含常用公司快捷提示),个别险种可「使用其他保险公司」单独覆盖;老数据启动时自动迁移(幂等)
  • 年检自动推算:按「首次登记日期 + 车型规则」推算下一次年检(第 2/4 年免检申领 → 第 6/10 年上线检验 → 第 11 年起每年),提示阶段与依据,可「手动指定日期」覆盖;默认提前 30 天提醒
  • 年检 / 车船税默认与保险同期:日期跟随交强险到期日(可取消后独立填写),保存时写入相同日期
  • 同车同日合并提醒:交强险 / 商业险 / 车船税 / 年检同日到期时合并为一条(如「小白 · 交强险 / 商业险 / 年检」),后台列表仍逐项显示
  • 规则切换一次性提示:车辆进入上线检验期(第 6 年起)或改为每年一次(第 11 年起)时后台提示一次,点「知道了」不再重复
  • 关联人员:车主 + 常用驾驶人(可选),车辆卡片与人员卡片使用统一徽章(男生「酷」/ 女生「可爱」/ 未关联中性)

🔔 到期提醒(三处,任你挑)

  • 仪表盘小组件(Halo 2.21+):常驻仪表盘、每分钟刷新、小分页(默认每页 5 条,可调或关闭),显示完整提醒列表(仪表盘 → 编辑 → 添加部件 → 小部件中心 → 分组「记得」)
  • 后台 + 前台横幅:“「结婚纪念日」明天就到啦~” / “「小白」的交强险还有 7 天到期,记得安排一下呀~”
  • 悬浮弹窗(可选):默认只在「记得」页面弹出(访客看不到站主提醒),可切回"全站";位置 / 文案 / 倒计时可配;每次打开页面都会提示(设置里可关闭菜单,改成静音需访客主动选择时长)
  • 重要日期与座驾到期统一排序(谁近谁靠前);同一辆车同一天到期的多项自动合并为一条

👁 隐私

  • 日期、人员、车辆各有「前台展示」开关(车辆默认关闭)
  • 前台永不输出:体重、血型、身高、喜好、备注;车牌号永远脱敏(粤B·****5);VIN、发动机号、保单号、购买价格不输出;生日默认脱敏
  • 未勾选「展示」的照片不出现在前台相册

🏠 前台页面(插件默认模板,主题可选覆盖)

  • 单页 「生活 / 爱车」 双视图切换(地址栏记忆 ?view=car):生活视图=重要日期 + 牵挂的人;爱车视图=车辆卡片 + 车主与驾驶人 + 其他重要的人
  • 相册:点击车辆封面全屏滚动查看(只读)
  • 通过官方页面布局契约复用主题外壳(主题不支持时用 Halo fallback 布局);主题可放置同名模板覆盖;插件不写入、不修改任何主题文件(停用 / 卸载零残留)
  • 提供 importantDateFinder:listAll() / listAllPeople() / listAllCars() / listUpcoming(days) / listUpcomingCarEvents(days)

📊 其他

  • 导出 / 导入:JSON(v3,含人员与座驾),判重跳过、不覆盖,兼容旧版导出文件

数据与合规

  • 数据存于 Halo 扩展存储(importantdates.halo.run/v1alpha1),底层即站点数据库(H2 / MySQL / PostgreSQL),与站点同库同备份
  • 零系统配置写入(不使用「代码注入」,脚本经官方 TemplateHeadProcessor 输出)、零主题文件写入
  • 无任何联网请求,不采集、不上传任何用户数据

兼容性

  • Halo 2.26 及以上(按官方 2.26 文档与扩展点实现;Java 17 字节码;1.3.0 在真实 2.26 实例上以既有数据(含 10 辆历史车辆)完成功能自测 18/18 与前台回归 5/5,覆盖卡片到期项、车型联动、切车型不丢数据、折叠分区与老数据纠偏)
  • 管理员安装后默认拥有全部权限,无需手动配置角色权限

安装与升级

  1. 从 Releases 下载 plugin-important-dates-*.jar;
  2. Halo 后台 → 插件 → 安装 → 本地安装 → 上传 jar → 启用(左侧菜单 内容 → 记得);
  3. 前台访问 https://你的域名/important-dates。

升级:停用 → 卸载旧版 → 安装新 jar → 启用(数据不丢失)。若使用页面静态化 / 缓存插件,升级后清理一次页面缓存。

使用(后台)

  • 新增日期:名称、日期类型、日期(阳历点选 / 农历选年月日)、关联人员(可多选)、备注;可设「重要」与「前台展示」
  • 人员页签:维护人员信息与「前台展示」;可拖拽排序
  • 座驾页签:维护车辆档案、相册(含逐张「展示」勾选)、到期项;可拖拽排序;卡片上可直接切换「前台展示」
  • 导出 / 导入:页面右上角
  • 提醒与隐私配置:插件 → 记得 → 设置(提醒设置、全站悬浮提醒、展示设置、隐私设置、照片设置、座驾设置)

全站悬浮提醒(可选,设置驱动)

  • 启用:经官方 TemplateHeadProcessor 输出脚本,关闭即不输出,停用 / 卸载随插件消失
  • 位置:右下角 / 左下角 / 右上角 / 左上角 / 底部居中 / 屏幕中间(默认右下角)
  • 文案占位符:{title}、{whenText}、{daysUntil}、{dateText}、{nextSolarDate}
  • 行为:每次打开页面都会提示(1.3.1 起;此前是同一浏览器只弹一次);自动关闭(默认 8 秒,含倒计时 + 进度条);点 × 可选本次关闭 / 今天不再提示 / N 天内不显示
  • 只提醒、不堆清单(1.3.3 起):一辆车只占一行(显示最近到期的那项,并注明「这辆车共 N 项到期」);被折叠或超出「每类最多 N 条」的汇总成「还有 N 项」,底部一行可点文字直达「记得」页看全部。完整日期在前台横幅、仪表盘小组件与「记得」页始终逐条可见
  • 关闭方式菜单(默认开):点 × 弹出上面这些选项;若关掉菜单,点 × 只收起当前弹窗,不会静默静音
    • 时长可在设置里勾选(默认 3 / 5 / 7 / 30 天)
    • 没有「永久不再提示」:所有静音都有期限,到期自动恢复,不会有人手一滑就再也收不到提醒
    • ⚠️ 菜单开启时有 5 秒超时:未选择则执行「× 关闭默认行为」,建议保持「本次关闭」或「今天不再提示」

历史升级提示:1.0.21 及以前使用「代码注入」方式,1.0.30–1.1.1 曾自动维护注入片段;自 1.1.2 起改为官方扩展点。若站点仍留有 id-toast:start/end 片段,请到「系统设置 → 代码注入」删除一次。

主题模板(自定义展示,可选)

插件不写入主题文件。想完全自定义时,在主题放置 templates/important-dates.html(TemplateNameResolver 优先使用;删除即回退插件默认模板)。

可用数据:

  • 生活视图:title、dates、people、reminders、showImportantTag、showAvatar
  • 爱车视图:cars(含 plateMasked、coverUrl、photos、skin、events)、carEvents、carPeople、otherPeople、personCars、showCarSection、carSkinEnabled、view

重新构建(可选)

需 JDK 17+(已在 JDK 23 验证)与 Node.js 18+:

cd plugin-important-dates
./gradlew build

构建结果位于 build/libs/plugin-important-dates-<版本>.jar(当前版本:1.3.3)。

版本说明:最新正式版 1.3.3(弹窗学会"少抛决定":一辆车只占一行并注明共几项到期、被折叠的汇总成「还有 N 项」、底部一行可点文字直达「记得」页;关闭方式菜单只保留有期限的选项,去掉「永久不再提示」并自动清掉老访客浏览器里的永久静音标记;「提示频率」可限制弹窗次数,另加「今天不再提示」菜单项;修好座驾自定义到期项从不提醒的老问题)。装包后请强刷浏览器并完整重启 Halo 服务。

更早:1.3.1 修复悬浮提醒不出现的一串问题(纪念日被过滤、渲染时提前记账、上报接口 403、全站作用域取不到数据),弹窗改为每次打开页面都提示,点 × 不再被静默静音;1.3.0 座驾按车型分档、改车型保留数据、编辑弹窗折叠分区、移除座驾上的「驾照换证」;1.2.6 提醒状态机与 1.2.5 写操作加固、图片失效降级。

License

MIT

资源下载

  • plugin-important-dates-1.3.3.jar
1.3.1
铭 发布于
>=2.26.0

记得 · 重要日期与爱车(plugin-important-dates)

build
plugin

一个 Halo 2.x 插件:记录纪念日、生日与家人朋友,也管好你的座驾(汽车 / 电瓶车 / 自行车)——保险、年检、保养到期自动提醒;支持阳历/农历、多图相册、前台「生活 / 爱车」双视图、隐私脱敏,零系统配置写入、零主题文件写入。

更名说明:原名「重要日期」,1.2.0 起更名「记得」——功能已从"记日期"扩展到"记日子、记人、记爱车",旧名装不下。插件 ID(plugin-important-dates)不变,数据、设置、前台地址(/important-dates)与升级路径均不受影响。

English README | Releases | 问题反馈 | 作者:yyliucha

截图

截图 说明
仪表盘提醒小组件 控制台仪表盘小组件:到期提醒常驻仪表盘,每分钟自动刷新
后台页签 后台页签:重要日期 / 人员 / 座驾,提醒横幅 + 卡片列表 + 拖拽排序
座驾列表 座驾页签:分类图标、车牌、到期徽章(已过期 / 临近)、车主与驾驶人、前台开关
座驾表单 座驾表单(1.3.0):五个可折叠分区(基本信息 / 到期提醒默认展开);字段按车型显示——电瓶车锁定「纯电」、不留发动机号,自行车连车牌与能源都不出现
前台页面 前台 /important-dates:生活视图——重要日期 + 牵挂的人(生日与纪念日倒计时)
前台爱车视图 爱车视图:车辆卡片(脱敏车牌、到期徽章)+ 车主与驾驶人(统一徽章)+ 其他重要的人
前台相册 相册查看:点击封面全屏浏览(只读、Esc 关闭),仅显示后台勾选「展示」的照片
全站悬浮提醒 悬浮提醒:位置自选、倒计时 + 进度条、关闭方式菜单(本次 / 3 天 / 10 天 / 永久),默认只在「记得」页弹出

功能

📅 重要日期

  • 名称 + 日期 + 多行备注;阳历 / 农历(含闰月),农历自动换算当年阳历
  • 每年自动循环,列表显示"最近一次"与"还有几天";支持拖拽排序(前后台一致)
  • 自研日期选择器:阳历格内标注农历;农历选年/月(含闰月)/日实时换算;编辑时面板定位到已选日期

👤 人员

  • 姓名、昵称、关系(含"本人")、生日(阳历/农历)、性别、血型、身高、体重、喜好、备注、大头贴(官方附件上传 / 附件库选择);支持拖拽排序
  • 重要日期可关联多人,列表可按人员筛选

🚗 座驾(汽车 / 电瓶车 / 自行车)

  • 17 类分类(轿车 / SUV / MPV / 跑车 / 越野车 / 皮卡 / 旅行车 / 两厢车 / 跨界车 / 微面 / 房车 / 货车 / 客车 / 摩托车 / 电瓶车 / 自行车 / 其他)、能源类型(燃油 / 纯电 / 插混 / 油电混动 / 人力)、品牌型号、颜色、VIN、发动机号、注册与购买日期、里程、状态(在用车 / 已出售 / 已报废)
  • 按车型只显示用得上的字段(1.3.0):以「有没有发动机、有没有牌照」分档——自行车不显示车牌 / 能源类型 / 车架号 / 里程 / 购买价格;电瓶车保留车牌与车架号(称「整车编号 / 车架号」),能源类型锁定为纯电,不显示发动机号与首次登记日期;保险公司与保险 / 年检 / 车船税只对汽车、摩托车等机动车出现。编辑弹窗相应精简为五个可折叠分区(基本信息、到期提醒默认展开,相册 / 关联人员 / 更多资料收起并显示摘要),每条到期项压成一行、细节收进「设置」
  • 改车型不丢数据:把汽车改成自行车时,已有的保险 / 年检项保留在库里但不再展示、也不再提醒(表单里看不到、卡片与前台都不出现),改回汽车后原样恢复,到期日一字不改
  • 多图相册:上传或附件库多选、拖拽排序、设封面;每张可单独勾选「展示」(未勾选仅后台可见,适合行驶证、保单等证件照)
  • 附件库来源范围:可在「设置 → 照片设置」为人员大头贴与座驾相册分别指定「分类(分组)」与「存储策略」;命中不到时自动放宽范围并在弹窗中说明当前生效范围与命中数(不会出现空白列表),也可一键「显示全部图片」
  • 图片失效自动降级:附件被删除(或被其它插件的全局规则拦截)导致图片打不开时,前台封面回退车型图标、大头贴回退首字、相册显示占位说明——访客永远看不到破图;后台车辆/人员卡片会标出「含失效图片 N」「大头贴已失效」,可一键「移除失效图片」或逐张「重新选择」
  • 省流量的图片处理:列表 / 相册网格 / 前台卡片使用 ?width= 缩略图(默认 480px,可配,0=原图),点开查看仍是原图;上传超过 1.5MB 的图片会先在浏览器压缩(默认压到 1920px,可关)
  • 提醒状态机(1.2.6):到期日过了没办就是逾期(不再自动滚到下一期)——逾期期间逐日提醒,之后转「待处理」但一直保留在清单里;只有点「已办」才顺延:循环项顺延一期、保养项记为「刚做完保养」(自动更新上次保养日期并按间隔推算下次)、一次性项标记完成;支持一键撤销办理(含上次保养日期一起还原)
  • 节点式提醒节奏:提醒期每 7 天一个节点、最后 15 天加密为 15/7/3/1/0 天、逾期 1/2/3 天,每个节点只弹一次并记录在数据库(换浏览器 / 换设备都不会重置)—— 这条管的是后台/前台横幅与仪表盘的主动提醒节奏;悬浮弹窗按下面的规则每次打开都提示
  • 弹窗内动作原地生效:在座驾编辑弹窗点「已办 / 撤销办理」立即写库、只刷新本行、不关闭弹窗(不必再"记得点保存")
  • 提醒可逐条忽略:前台横幅与仪表盘小组件每条右侧的 ✕ 表示"本次到期周期内不再提示"(存在浏览器里,到期日变化后自动恢复),可一键「恢复显示」,也可在设置里关闭
  • 年检规则可配置:「座驾设置 → 年检节点(默认 2,4,6,10)」「从第几年起每年上线检验(默认 11)」可按当地车管所规则调整,表单预览与提醒同步
  • 到期提醒:交强险 / 商业险 / 年检 / 保养(按上次保养 + 间隔月数推算)/ 车船税 / 自定义项;每项可设启用、提前天数与循环间隔(每年 / 每两年 / 每三年 / 不循环 / 自定义月数);已出售 / 报废不再提醒(「驾照换证」自 1.3.0 起不再挂在座驾上——它属于"人"而非"车",同一个人开两辆车不会重复提醒)
  • 保险公司填一次就够:车辆级「保险公司」全车共用(含常用公司快捷提示),个别险种可「使用其他保险公司」单独覆盖;老数据启动时自动迁移(幂等)
  • 年检自动推算:按「首次登记日期 + 车型规则」推算下一次年检(第 2/4 年免检申领 → 第 6/10 年上线检验 → 第 11 年起每年),提示阶段与依据,可「手动指定日期」覆盖;默认提前 30 天提醒
  • 年检 / 车船税默认与保险同期:日期跟随交强险到期日(可取消后独立填写),保存时写入相同日期
  • 同车同日合并提醒:交强险 / 商业险 / 车船税 / 年检同日到期时合并为一条(如「小白 · 交强险 / 商业险 / 年检」),后台列表仍逐项显示
  • 规则切换一次性提示:车辆进入上线检验期(第 6 年起)或改为每年一次(第 11 年起)时后台提示一次,点「知道了」不再重复
  • 关联人员:车主 + 常用驾驶人(可选),车辆卡片与人员卡片使用统一徽章(男生「酷」/ 女生「可爱」/ 未关联中性)

🔔 到期提醒(三处,任你挑)

  • 仪表盘小组件(Halo 2.21+):常驻仪表盘、每分钟刷新、小分页(默认每页 5 条,可调或关闭),显示完整提醒列表(仪表盘 → 编辑 → 添加部件 → 小部件中心 → 分组「记得」)
  • 后台 + 前台横幅:“「结婚纪念日」明天就到啦~” / “「小白」的交强险还有 7 天到期,记得安排一下呀~”
  • 悬浮弹窗(可选):默认只在「记得」页面弹出(访客看不到站主提醒),可切回"全站";位置 / 文案 / 倒计时可配;每次打开页面都会提示(设置里可关闭菜单,改成静音需访客主动选择时长)
  • 重要日期与座驾到期统一排序(谁近谁靠前);同一辆车同一天到期的多项自动合并为一条

👁 隐私

  • 日期、人员、车辆各有「前台展示」开关(车辆默认关闭)
  • 前台永不输出:体重、血型、身高、喜好、备注;车牌号永远脱敏(粤B·****5);VIN、发动机号、保单号、购买价格不输出;生日默认脱敏
  • 未勾选「展示」的照片不出现在前台相册

🏠 前台页面(插件默认模板,主题可选覆盖)

  • 单页 「生活 / 爱车」 双视图切换(地址栏记忆 ?view=car):生活视图=重要日期 + 牵挂的人;爱车视图=车辆卡片 + 车主与驾驶人 + 其他重要的人
  • 相册:点击车辆封面全屏滚动查看(只读)
  • 通过官方页面布局契约复用主题外壳(主题不支持时用 Halo fallback 布局);主题可放置同名模板覆盖;插件不写入、不修改任何主题文件(停用 / 卸载零残留)
  • 提供 importantDateFinder:listAll() / listAllPeople() / listAllCars() / listUpcoming(days) / listUpcomingCarEvents(days)

📊 其他

  • 导出 / 导入:JSON(v3,含人员与座驾),判重跳过、不覆盖,兼容旧版导出文件

数据与合规

  • 数据存于 Halo 扩展存储(importantdates.halo.run/v1alpha1),底层即站点数据库(H2 / MySQL / PostgreSQL),与站点同库同备份
  • 零系统配置写入(不使用「代码注入」,脚本经官方 TemplateHeadProcessor 输出)、零主题文件写入
  • 无任何联网请求,不采集、不上传任何用户数据

兼容性

  • Halo 2.26 及以上(按官方 2.26 文档与扩展点实现;Java 17 字节码;1.3.0 在真实 2.26 实例上以既有数据(含 10 辆历史车辆)完成功能自测 18/18 与前台回归 5/5,覆盖卡片到期项、车型联动、切车型不丢数据、折叠分区与老数据纠偏)
  • 管理员安装后默认拥有全部权限,无需手动配置角色权限

安装与升级

  1. 从 Releases 下载 plugin-important-dates-*.jar;
  2. Halo 后台 → 插件 → 安装 → 本地安装 → 上传 jar → 启用(左侧菜单 内容 → 记得);
  3. 前台访问 https://你的域名/important-dates。

升级:停用 → 卸载旧版 → 安装新 jar → 启用(数据不丢失)。若使用页面静态化 / 缓存插件,升级后清理一次页面缓存。

使用(后台)

  • 新增日期:名称、日期类型、日期(阳历点选 / 农历选年月日)、关联人员(可多选)、备注;可设「重要」与「前台展示」
  • 人员页签:维护人员信息与「前台展示」;可拖拽排序
  • 座驾页签:维护车辆档案、相册(含逐张「展示」勾选)、到期项;可拖拽排序;卡片上可直接切换「前台展示」
  • 导出 / 导入:页面右上角
  • 提醒与隐私配置:插件 → 记得 → 设置(提醒设置、全站悬浮提醒、展示设置、隐私设置、照片设置、座驾设置)

全站悬浮提醒(可选,设置驱动)

  • 启用:经官方 TemplateHeadProcessor 输出脚本,关闭即不输出,停用 / 卸载随插件消失
  • 位置:右下角 / 左下角 / 右上角 / 左上角 / 底部居中 / 屏幕中间(默认右下角)
  • 文案占位符:{title}、{whenText}、{daysUntil}、{dateText}、{nextSolarDate}
  • 行为:每次打开页面都会提示(1.3.1 起;此前是同一浏览器只弹一次);自动关闭(默认 8 秒,含倒计时 + 进度条);点 × 可选本次 / 3 天 / 10 天 / 永久
  • 关闭方式菜单(默认开):点 × 弹出上面 4 个选项;若关掉菜单,点 × 只收起当前弹窗,不会静默静音
    • ⚠️ 菜单开启时有 5 秒超时:未选择则执行「× 关闭默认行为」。所以该默认项建议设成「本次关闭」或「3 天内不显示」,不要设成「永久关闭」,否则手慢一点就会被永久静音

历史升级提示:1.0.21 及以前使用「代码注入」方式,1.0.30–1.1.1 曾自动维护注入片段;自 1.1.2 起改为官方扩展点。若站点仍留有 id-toast:start/end 片段,请到「系统设置 → 代码注入」删除一次。

主题模板(自定义展示,可选)

插件不写入主题文件。想完全自定义时,在主题放置 templates/important-dates.html(TemplateNameResolver 优先使用;删除即回退插件默认模板)。

可用数据:

  • 生活视图:title、dates、people、reminders、showImportantTag、showAvatar
  • 爱车视图:cars(含 plateMasked、coverUrl、photos、skin、events)、carEvents、carPeople、otherPeople、personCars、showCarSection、carSkinEnabled、view

重新构建(可选)

需 JDK 17+(已在 JDK 23 验证)与 Node.js 18+:

cd plugin-important-dates
./gradlew build

构建结果位于 build/libs/plugin-important-dates-<版本>.jar(当前版本:1.3.1)。

版本说明:最新正式版 1.3.1(修复悬浮提醒不出现的一串问题——纪念日/生日被过滤、渲染时提前记账、上报接口 403、全站作用域取不到数据;弹窗改为每次打开页面都提示;点 × 不再被静默静音;并补上接口的版本标记便于排查)。装包后请强刷浏览器并完整重启 Halo 服务。

更早:1.3.0 座驾按车型分档(电瓶车锁定纯电、自行车不留车牌与能源)、改车型保留数据、编辑弹窗折叠分区、移除座驾上的「驾照换证」,并修复后台座驾卡片到期项标签整块消失的缺陷。

更早:1.2.6 提醒状态机(已办才滚动、逾期逐日提醒、节点式提醒、保养项「已办」= 刚做完保养、一键撤销)与 1.2.5 写操作加固与图片失效降级、1.2.4 拖拽 503 修复、1.2.3 卡片样式修复、1.2.2 附件库范围修复。

License

MIT

资源下载

  • plugin-important-dates-1.3.1.jar
1.3.0
铭 发布于
>=2.26.0

记得 · 重要日期与爱车(plugin-important-dates)

build
plugin

一个 Halo 2.x 插件:记录纪念日、生日与家人朋友,也管好你的座驾(汽车 / 电瓶车 / 自行车)——保险、年检、保养到期自动提醒;支持阳历/农历、多图相册、前台「生活 / 爱车」双视图、隐私脱敏,零系统配置写入、零主题文件写入。

更名说明:原名「重要日期」,1.2.0 起更名「记得」——功能已从"记日期"扩展到"记日子、记人、记爱车",旧名装不下。插件 ID(plugin-important-dates)不变,数据、设置、前台地址(/important-dates)与升级路径均不受影响。

English README | Releases | 问题反馈 | 作者:yyliucha

截图

截图 说明
仪表盘提醒小组件 控制台仪表盘小组件:到期提醒常驻仪表盘,每分钟自动刷新
后台页签 后台页签:重要日期 / 人员 / 座驾,提醒横幅 + 卡片列表 + 拖拽排序
座驾列表 座驾页签:分类图标、车牌、到期徽章(已过期 / 临近)、车主与驾驶人、前台开关
座驾表单 座驾表单(1.3.0):五个可折叠分区(基本信息 / 到期提醒默认展开);字段按车型显示——电瓶车锁定「纯电」、不留发动机号,自行车连车牌与能源都不出现
前台页面 前台 /important-dates:生活视图——重要日期 + 牵挂的人(生日与纪念日倒计时)
前台爱车视图 爱车视图:车辆卡片(脱敏车牌、到期徽章)+ 车主与驾驶人(统一徽章)+ 其他重要的人
前台相册 相册查看:点击封面全屏浏览(只读、Esc 关闭),仅显示后台勾选「展示」的照片
全站悬浮提醒 悬浮提醒:位置自选、倒计时 + 进度条、关闭方式菜单(本次 / 3 天 / 10 天 / 永久),默认只在「记得」页弹出

功能

📅 重要日期

  • 名称 + 日期 + 多行备注;阳历 / 农历(含闰月),农历自动换算当年阳历
  • 每年自动循环,列表显示"最近一次"与"还有几天";支持拖拽排序(前后台一致)
  • 自研日期选择器:阳历格内标注农历;农历选年/月(含闰月)/日实时换算;编辑时面板定位到已选日期

👤 人员

  • 姓名、昵称、关系(含"本人")、生日(阳历/农历)、性别、血型、身高、体重、喜好、备注、大头贴(官方附件上传 / 附件库选择);支持拖拽排序
  • 重要日期可关联多人,列表可按人员筛选

🚗 座驾(汽车 / 电瓶车 / 自行车)

  • 17 类分类(轿车 / SUV / MPV / 跑车 / 越野车 / 皮卡 / 旅行车 / 两厢车 / 跨界车 / 微面 / 房车 / 货车 / 客车 / 摩托车 / 电瓶车 / 自行车 / 其他)、能源类型(燃油 / 纯电 / 插混 / 油电混动 / 人力)、品牌型号、颜色、VIN、发动机号、注册与购买日期、里程、状态(在用车 / 已出售 / 已报废)
  • 按车型只显示用得上的字段(1.3.0):以「有没有发动机、有没有牌照」分档——自行车不显示车牌 / 能源类型 / 车架号 / 里程 / 购买价格;电瓶车保留车牌与车架号(称「整车编号 / 车架号」),能源类型锁定为纯电,不显示发动机号与首次登记日期;保险公司与保险 / 年检 / 车船税只对汽车、摩托车等机动车出现。编辑弹窗相应精简为五个可折叠分区(基本信息、到期提醒默认展开,相册 / 关联人员 / 更多资料收起并显示摘要),每条到期项压成一行、细节收进「设置」
  • 改车型不丢数据:把汽车改成自行车时,已有的保险 / 年检项保留在库里但不再展示、也不再提醒(表单里看不到、卡片与前台都不出现),改回汽车后原样恢复,到期日一字不改
  • 多图相册:上传或附件库多选、拖拽排序、设封面;每张可单独勾选「展示」(未勾选仅后台可见,适合行驶证、保单等证件照)
  • 附件库来源范围:可在「设置 → 照片设置」为人员大头贴与座驾相册分别指定「分类(分组)」与「存储策略」;命中不到时自动放宽范围并在弹窗中说明当前生效范围与命中数(不会出现空白列表),也可一键「显示全部图片」
  • 图片失效自动降级:附件被删除(或被其它插件的全局规则拦截)导致图片打不开时,前台封面回退车型图标、大头贴回退首字、相册显示占位说明——访客永远看不到破图;后台车辆/人员卡片会标出「含失效图片 N」「大头贴已失效」,可一键「移除失效图片」或逐张「重新选择」
  • 省流量的图片处理:列表 / 相册网格 / 前台卡片使用 ?width= 缩略图(默认 480px,可配,0=原图),点开查看仍是原图;上传超过 1.5MB 的图片会先在浏览器压缩(默认压到 1920px,可关)
  • 提醒状态机(1.2.6):到期日过了没办就是逾期(不再自动滚到下一期)——逾期期间逐日提醒,之后转「待处理」但一直保留在清单里;只有点「已办」才顺延:循环项顺延一期、保养项记为「刚做完保养」(自动更新上次保养日期并按间隔推算下次)、一次性项标记完成;支持一键撤销办理(含上次保养日期一起还原)
  • 节点式提醒节奏:提醒期每 7 天一个节点、最后 15 天加密为 15/7/3/1/0 天、逾期 1/2/3 天,每个节点只弹一次并记录在数据库(换浏览器 / 换设备都不会重置)
  • 弹窗内动作原地生效:在座驾编辑弹窗点「已办 / 撤销办理」立即写库、只刷新本行、不关闭弹窗(不必再"记得点保存")
  • 提醒可逐条忽略:前台横幅与仪表盘小组件每条右侧的 ✕ 表示"本次到期周期内不再提示"(存在浏览器里,到期日变化后自动恢复),可一键「恢复显示」,也可在设置里关闭
  • 年检规则可配置:「座驾设置 → 年检节点(默认 2,4,6,10)」「从第几年起每年上线检验(默认 11)」可按当地车管所规则调整,表单预览与提醒同步
  • 到期提醒:交强险 / 商业险 / 年检 / 保养(按上次保养 + 间隔月数推算)/ 车船税 / 自定义项;每项可设启用、提前天数与循环间隔(每年 / 每两年 / 每三年 / 不循环 / 自定义月数);已出售 / 报废不再提醒(「驾照换证」自 1.3.0 起不再挂在座驾上——它属于"人"而非"车",同一个人开两辆车不会重复提醒)
  • 保险公司填一次就够:车辆级「保险公司」全车共用(含常用公司快捷提示),个别险种可「使用其他保险公司」单独覆盖;老数据启动时自动迁移(幂等)
  • 年检自动推算:按「首次登记日期 + 车型规则」推算下一次年检(第 2/4 年免检申领 → 第 6/10 年上线检验 → 第 11 年起每年),提示阶段与依据,可「手动指定日期」覆盖;默认提前 30 天提醒
  • 年检 / 车船税默认与保险同期:日期跟随交强险到期日(可取消后独立填写),保存时写入相同日期
  • 同车同日合并提醒:交强险 / 商业险 / 车船税 / 年检同日到期时合并为一条(如「小白 · 交强险 / 商业险 / 年检」),后台列表仍逐项显示
  • 规则切换一次性提示:车辆进入上线检验期(第 6 年起)或改为每年一次(第 11 年起)时后台提示一次,点「知道了」不再重复
  • 关联人员:车主 + 常用驾驶人(可选),车辆卡片与人员卡片使用统一徽章(男生「酷」/ 女生「可爱」/ 未关联中性)

🔔 到期提醒(三处,任你挑)

  • 仪表盘小组件(Halo 2.21+):常驻仪表盘、每分钟刷新、小分页(默认每页 5 条,可调或关闭),显示完整提醒列表(仪表盘 → 编辑 → 添加部件 → 小部件中心 → 分组「记得」)
  • 后台 + 前台横幅:“「结婚纪念日」明天就到啦~” / “「小白」的交强险还有 7 天到期,记得安排一下呀~”
  • 悬浮弹窗(可选):默认只在「记得」页面弹出(访客看不到站主提醒),可切回"全站";位置 / 文案 / 倒计时可配;每个提醒节点只弹一次
  • 重要日期与座驾到期统一排序(谁近谁靠前);同一辆车同一天到期的多项自动合并为一条

👁 隐私

  • 日期、人员、车辆各有「前台展示」开关(车辆默认关闭)
  • 前台永不输出:体重、血型、身高、喜好、备注;车牌号永远脱敏(粤B·****5);VIN、发动机号、保单号、购买价格不输出;生日默认脱敏
  • 未勾选「展示」的照片不出现在前台相册

🏠 前台页面(插件默认模板,主题可选覆盖)

  • 单页 「生活 / 爱车」 双视图切换(地址栏记忆 ?view=car):生活视图=重要日期 + 牵挂的人;爱车视图=车辆卡片 + 车主与驾驶人 + 其他重要的人
  • 相册:点击车辆封面全屏滚动查看(只读)
  • 通过官方页面布局契约复用主题外壳(主题不支持时用 Halo fallback 布局);主题可放置同名模板覆盖;插件不写入、不修改任何主题文件(停用 / 卸载零残留)
  • 提供 importantDateFinder:listAll() / listAllPeople() / listAllCars() / listUpcoming(days) / listUpcomingCarEvents(days)

📊 其他

  • 导出 / 导入:JSON(v3,含人员与座驾),判重跳过、不覆盖,兼容旧版导出文件

数据与合规

  • 数据存于 Halo 扩展存储(importantdates.halo.run/v1alpha1),底层即站点数据库(H2 / MySQL / PostgreSQL),与站点同库同备份
  • 零系统配置写入(不使用「代码注入」,脚本经官方 TemplateHeadProcessor 输出)、零主题文件写入
  • 无任何联网请求,不采集、不上传任何用户数据

兼容性

  • Halo 2.26 及以上(按官方 2.26 文档与扩展点实现;Java 17 字节码;1.3.0 在真实 2.26 实例上以既有数据(含 10 辆历史车辆)完成功能自测 18/18 与前台回归 5/5,覆盖卡片到期项、车型联动、切车型不丢数据、折叠分区与老数据纠偏)
  • 管理员安装后默认拥有全部权限,无需手动配置角色权限

安装与升级

  1. 从 Releases 下载 plugin-important-dates-*.jar;
  2. Halo 后台 → 插件 → 安装 → 本地安装 → 上传 jar → 启用(左侧菜单 内容 → 记得);
  3. 前台访问 https://你的域名/important-dates。

升级:停用 → 卸载旧版 → 安装新 jar → 启用(数据不丢失)。若使用页面静态化 / 缓存插件,升级后清理一次页面缓存。

使用(后台)

  • 新增日期:名称、日期类型、日期(阳历点选 / 农历选年月日)、关联人员(可多选)、备注;可设「重要」与「前台展示」
  • 人员页签:维护人员信息与「前台展示」;可拖拽排序
  • 座驾页签:维护车辆档案、相册(含逐张「展示」勾选)、到期项;可拖拽排序;卡片上可直接切换「前台展示」
  • 导出 / 导入:页面右上角
  • 提醒与隐私配置:插件 → 记得 → 设置(提醒设置、全站悬浮提醒、展示设置、隐私设置、照片设置、座驾设置)

全站悬浮提醒(可选,设置驱动)

  • 启用:经官方 TemplateHeadProcessor 输出脚本,关闭即不输出,停用 / 卸载随插件消失
  • 位置:右下角 / 左下角 / 右上角 / 左上角 / 底部居中 / 屏幕中间(默认右下角)
  • 文案占位符:{title}、{whenText}、{daysUntil}、{dateText}、{nextSolarDate}
  • 行为:自动关闭(默认 8 秒,含倒计时 + 进度条);点 × 可选本次 / 3 天 / 10 天 / 永久;站主可设 × 默认行为与是否显示关闭菜单

历史升级提示:1.0.21 及以前使用「代码注入」方式,1.0.30–1.1.1 曾自动维护注入片段;自 1.1.2 起改为官方扩展点。若站点仍留有 id-toast:start/end 片段,请到「系统设置 → 代码注入」删除一次。

主题模板(自定义展示,可选)

插件不写入主题文件。想完全自定义时,在主题放置 templates/important-dates.html(TemplateNameResolver 优先使用;删除即回退插件默认模板)。

可用数据:

  • 生活视图:title、dates、people、reminders、showImportantTag、showAvatar
  • 爱车视图:cars(含 plateMasked、coverUrl、photos、skin、events)、carEvents、carPeople、otherPeople、personCars、showCarSection、carSkinEnabled、view

重新构建(可选)

需 JDK 17+(已在 JDK 23 验证)与 Node.js 18+:

cd plugin-important-dates
./gradlew build

构建结果位于 build/libs/plugin-important-dates-<版本>.jar(当前版本:1.3.0)。

版本说明:最新正式版 1.3.0(座驾按车型分档只显示用得上的字段——电瓶车锁定纯电、自行车不留车牌与能源;改车型保留数据不再提醒、改回即恢复;编辑弹窗改为可折叠分区;不再把「驾照换证」挂在座驾上;并修复 1.2.6 起后台座驾卡片的到期项标签会整块消失的缺陷)。装包后请强刷一次浏览器(Ctrl+Shift+R)。

更早:1.2.6 提醒状态机(已办才滚动、逾期逐日提醒、节点式提醒、保养项「已办」= 刚做完保养、一键撤销)与 1.2.5 写操作加固与图片失效降级、1.2.4 拖拽 503 修复、1.2.3 卡片样式修复、1.2.2 附件库范围修复。

License

MIT

资源下载

  • plugin-important-dates-1.3.0.jar
1.2.7
铭 发布于
>=2.26.0

记得 · 重要日期与爱车(plugin-important-dates)

build
plugin

一个 Halo 2.x 插件:记录纪念日、生日与家人朋友,也管好你的座驾(汽车 / 电瓶车 / 自行车)——保险、年检、保养到期自动提醒;支持阳历/农历、多图相册、前台「生活 / 爱车」双视图、隐私脱敏,零系统配置写入、零主题文件写入。

更名说明:原名「重要日期」,1.2.0 起更名「记得」——功能已从"记日期"扩展到"记日子、记人、记爱车",旧名装不下。插件 ID(plugin-important-dates)不变,数据、设置、前台地址(/important-dates)与升级路径均不受影响。

English README | Releases | 问题反馈 | 作者:yyliucha

截图

截图 说明
仪表盘提醒小组件 控制台仪表盘小组件:到期提醒常驻仪表盘,每分钟自动刷新
后台页签 后台页签:重要日期 / 人员 / 座驾,提醒横幅 + 卡片列表 + 拖拽排序
座驾列表 座驾页签:分类图标、车牌、到期徽章(已过期 / 临近)、车主与驾驶人、前台开关
座驾表单 座驾表单:分类(含电瓶车 / 自行车)、能源、证照与里程、多图相册、到期项
前台页面 前台 /important-dates:生活视图——重要日期 + 牵挂的人(生日与纪念日倒计时)
前台爱车视图 爱车视图:车辆卡片(脱敏车牌、到期徽章)+ 车主与驾驶人(统一徽章)+ 其他重要的人
前台相册 相册查看:点击封面全屏浏览(只读、Esc 关闭),仅显示后台勾选「展示」的照片
全站悬浮提醒 悬浮提醒:位置自选、倒计时 + 进度条、关闭方式菜单(本次 / 3 天 / 10 天 / 永久),默认只在「记得」页弹出

功能

📅 重要日期

  • 名称 + 日期 + 多行备注;阳历 / 农历(含闰月),农历自动换算当年阳历
  • 每年自动循环,列表显示"最近一次"与"还有几天";支持拖拽排序(前后台一致)
  • 自研日期选择器:阳历格内标注农历;农历选年/月(含闰月)/日实时换算;编辑时面板定位到已选日期

👤 人员

  • 姓名、昵称、关系(含"本人")、生日(阳历/农历)、性别、血型、身高、体重、喜好、备注、大头贴(官方附件上传 / 附件库选择);支持拖拽排序
  • 重要日期可关联多人,列表可按人员筛选

🚗 座驾(汽车 / 电瓶车 / 自行车)

  • 17 类分类(轿车 / SUV / MPV / 跑车 / 越野车 / 皮卡 / 旅行车 / 两厢车 / 跨界车 / 微面 / 房车 / 货车 / 客车 / 摩托车 / 电瓶车 / 自行车 / 其他)、能源类型(燃油 / 纯电 / 插混 / 油电混动 / 人力)、品牌型号、颜色、VIN、发动机号、注册与购买日期、里程、状态(在用车 / 已出售 / 已报废)
  • 多图相册:上传或附件库多选、拖拽排序、设封面;每张可单独勾选「展示」(未勾选仅后台可见,适合行驶证、保单等证件照)
  • 附件库来源范围:可在「设置 → 照片设置」为人员大头贴与座驾相册分别指定「分类(分组)」与「存储策略」;命中不到时自动放宽范围并在弹窗中说明当前生效范围与命中数(不会出现空白列表),也可一键「显示全部图片」
  • 图片失效自动降级:附件被删除(或被其它插件的全局规则拦截)导致图片打不开时,前台封面回退车型图标、大头贴回退首字、相册显示占位说明——访客永远看不到破图;后台车辆/人员卡片会标出「含失效图片 N」「大头贴已失效」,可一键「移除失效图片」或逐张「重新选择」
  • 省流量的图片处理:列表 / 相册网格 / 前台卡片使用 ?width= 缩略图(默认 480px,可配,0=原图),点开查看仍是原图;上传超过 1.5MB 的图片会先在浏览器压缩(默认压到 1920px,可关)
  • 提醒状态机(1.2.6):到期日过了没办就是逾期(不再自动滚到下一期)——逾期期间逐日提醒,之后转「待处理」但一直保留在清单里;只有点「已办」才顺延:循环项顺延一期、保养项记为「刚做完保养」(自动更新上次保养日期并按间隔推算下次)、一次性项标记完成;支持一键撤销办理(含上次保养日期一起还原)
  • 节点式提醒节奏:提醒期每 7 天一个节点、最后 15 天加密为 15/7/3/1/0 天、逾期 1/2/3 天,每个节点只弹一次并记录在数据库(换浏览器 / 换设备都不会重置)
  • 弹窗内动作原地生效:在座驾编辑弹窗点「已办 / 撤销办理」立即写库、只刷新本行、不关闭弹窗(不必再"记得点保存")
  • 提醒可逐条忽略:前台横幅与仪表盘小组件每条右侧的 ✕ 表示"本次到期周期内不再提示"(存在浏览器里,到期日变化后自动恢复),可一键「恢复显示」,也可在设置里关闭
  • 年检规则可配置:「座驾设置 → 年检节点(默认 2,4,6,10)」「从第几年起每年上线检验(默认 11)」可按当地车管所规则调整,表单预览与提醒同步
  • 到期提醒:交强险 / 商业险 / 年检 / 保养(按上次保养 + 间隔月数推算)/ 车船税 / 驾照换证 / 自定义项;每项可设启用、提前天数与循环间隔(每年 / 每两年 / 每三年 / 不循环 / 自定义月数);已出售 / 报废不再提醒
  • 保险公司填一次就够:车辆级「保险公司」全车共用(含常用公司快捷提示),个别险种可「使用其他保险公司」单独覆盖;老数据启动时自动迁移(幂等)
  • 年检自动推算:按「首次登记日期 + 车型规则」推算下一次年检(第 2/4 年免检申领 → 第 6/10 年上线检验 → 第 11 年起每年),提示阶段与依据,可「手动指定日期」覆盖;默认提前 30 天提醒
  • 年检 / 车船税默认与保险同期:日期跟随交强险到期日(可取消后独立填写),保存时写入相同日期
  • 同车同日合并提醒:交强险 / 商业险 / 车船税 / 年检同日到期时合并为一条(如「小白 · 交强险 / 商业险 / 年检」),后台列表仍逐项显示
  • 规则切换一次性提示:车辆进入上线检验期(第 6 年起)或改为每年一次(第 11 年起)时后台提示一次,点「知道了」不再重复
  • 关联人员:车主 + 常用驾驶人(可选),车辆卡片与人员卡片使用统一徽章(男生「酷」/ 女生「可爱」/ 未关联中性)

🔔 到期提醒(三处,任你挑)

  • 仪表盘小组件(Halo 2.21+):常驻仪表盘、每分钟刷新、小分页(默认每页 5 条,可调或关闭),显示完整提醒列表(仪表盘 → 编辑 → 添加部件 → 小部件中心 → 分组「记得」)
  • 后台 + 前台横幅:“「结婚纪念日」明天就到啦~” / “「小白」的交强险还有 7 天到期,记得安排一下呀~”
  • 悬浮弹窗(可选):默认只在「记得」页面弹出(访客看不到站主提醒),可切回"全站";位置 / 文案 / 倒计时可配;每个提醒节点只弹一次
  • 重要日期与座驾到期统一排序(谁近谁靠前);同一辆车同一天到期的多项自动合并为一条

👁 隐私

  • 日期、人员、车辆各有「前台展示」开关(车辆默认关闭)
  • 前台永不输出:体重、血型、身高、喜好、备注;车牌号永远脱敏(粤B·****5);VIN、发动机号、保单号、购买价格不输出;生日默认脱敏
  • 未勾选「展示」的照片不出现在前台相册

🏠 前台页面(插件默认模板,主题可选覆盖)

  • 单页 「生活 / 爱车」 双视图切换(地址栏记忆 ?view=car):生活视图=重要日期 + 牵挂的人;爱车视图=车辆卡片 + 车主与驾驶人 + 其他重要的人
  • 相册:点击车辆封面全屏滚动查看(只读)
  • 通过官方页面布局契约复用主题外壳(主题不支持时用 Halo fallback 布局);主题可放置同名模板覆盖;插件不写入、不修改任何主题文件(停用 / 卸载零残留)
  • 提供 importantDateFinder:listAll() / listAllPeople() / listAllCars() / listUpcoming(days) / listUpcomingCarEvents(days)

📊 其他

  • 导出 / 导入:JSON(v3,含人员与座驾),判重跳过、不覆盖,兼容旧版导出文件

数据与合规

  • 数据存于 Halo 扩展存储(importantdates.halo.run/v1alpha1),底层即站点数据库(H2 / MySQL / PostgreSQL),与站点同库同备份
  • 零系统配置写入(不使用「代码注入」,脚本经官方 TemplateHeadProcessor 输出)、零主题文件写入
  • 无任何联网请求,不采集、不上传任何用户数据

兼容性

  • Halo 2.26 及以上(按官方 2.26 文档与扩展点实现;Java 17 字节码;1.2.6 在全新 2.26 实例经保养项语义、状态机、提示与撤销、图片失效降级、浏览器端到端 13/13 等专项验证)
  • 管理员安装后默认拥有全部权限,无需手动配置角色权限

安装与升级

  1. 从 Releases 下载 plugin-important-dates-*.jar;
  2. Halo 后台 → 插件 → 安装 → 本地安装 → 上传 jar → 启用(左侧菜单 内容 → 记得);
  3. 前台访问 https://你的域名/important-dates。

升级:停用 → 卸载旧版 → 安装新 jar → 启用(数据不丢失)。若使用页面静态化 / 缓存插件,升级后清理一次页面缓存。

使用(后台)

  • 新增日期:名称、日期类型、日期(阳历点选 / 农历选年月日)、关联人员(可多选)、备注;可设「重要」与「前台展示」
  • 人员页签:维护人员信息与「前台展示」;可拖拽排序
  • 座驾页签:维护车辆档案、相册(含逐张「展示」勾选)、到期项;可拖拽排序;卡片上可直接切换「前台展示」
  • 导出 / 导入:页面右上角
  • 提醒与隐私配置:插件 → 记得 → 设置(提醒设置、全站悬浮提醒、展示设置、隐私设置、照片设置、座驾设置)

全站悬浮提醒(可选,设置驱动)

  • 启用:经官方 TemplateHeadProcessor 输出脚本,关闭即不输出,停用 / 卸载随插件消失
  • 位置:右下角 / 左下角 / 右上角 / 左上角 / 底部居中 / 屏幕中间(默认右下角)
  • 文案占位符:{title}、{whenText}、{daysUntil}、{dateText}、{nextSolarDate}
  • 行为:自动关闭(默认 8 秒,含倒计时 + 进度条);点 × 可选本次 / 3 天 / 10 天 / 永久;站主可设 × 默认行为与是否显示关闭菜单

历史升级提示:1.0.21 及以前使用「代码注入」方式,1.0.30–1.1.1 曾自动维护注入片段;自 1.1.2 起改为官方扩展点。若站点仍留有 id-toast:start/end 片段,请到「系统设置 → 代码注入」删除一次。

主题模板(自定义展示,可选)

插件不写入主题文件。想完全自定义时,在主题放置 templates/important-dates.html(TemplateNameResolver 优先使用;删除即回退插件默认模板)。

可用数据:

  • 生活视图:title、dates、people、reminders、showImportantTag、showAvatar
  • 爱车视图:cars(含 plateMasked、coverUrl、photos、skin、events)、carEvents、carPeople、otherPeople、personCars、showCarSection、carSkinEnabled、view

重新构建(可选)

需 JDK 17+(已在 JDK 23 验证)与 Node.js 18+:

cd plugin-important-dates
./gradlew build

构建结果位于 build/libs/plugin-important-dates-<版本>.jar(当前版本:1.2.6)。

版本说明:最新正式版 1.2.6(提醒状态机:已办才滚动、逾期逐日提醒后转待处理、节点式提醒、保养项「已办」= 刚做完保养、一键撤销、前台只显示未逾期的待办项、弹窗内动作原地生效、提示语人性化;并含 1.2.5 写操作加固与图片失效降级、1.2.4 拖拽 503 修复、1.2.3 卡片样式修复、1.2.2 附件库范围修复)。装包后请强刷一次浏览器(Ctrl+Shift+R)。

License

MIT

资源下载

  • plugin-important-dates-1.2.7.jar
1.2.6
铭 发布于
>=2.26.0

v1.2.6 正式版 · 提醒状态机与体验打磨

测试与升级说明

本版已在全新 Halo 2.26 实例完成回归:保养项语义 4/4、已办才滚动/节奏 B/原地生效 4/4、提醒状态机 7/7、提示与撤销 7/7、图片失效降级 7/7、浏览器端到端 13/13、附件库范围 5/5、拖拽排序 6/6。长期运行、多主题兼容、极端数据量等场景未覆盖。

升级后请强刷一次浏览器(Ctrl+Shift+R):控制台会缓存插件的控制台包与提示脚本,不强刷可能看不到新界面或仍跑旧提示。

升级后你会看到的变化:以前"到期日过了就自动当作进入下一期"的行为已取消——现在只有你点「已办」才会顺延。所以现有数据里凡是"到期日已过、但你一直没确认办过"的循环项,会统一以「已逾期」出现在后台(红色 / 待处理),点一次「已办」即可把它顺延到下一期。

一、提醒状态机(本次核心)

  • 已办才滚动:到期日过了没办就是逾期,不再静默滚到下一期;只有点「已办」才按循环间隔顺延,且保证滚到未来。
  • 逾期窗口 3 天(可配 1–30):逾期期间每天文案不同;超过窗口转「待处理」——不再主动提醒,但永远保留在清单里,直到你「已办」或「忽略」(不再像以前那样满 30 天直接消失)。
  • 已办语义:循环项(保险 / 车船税 / 驾照等)顺延一期;保养项记为「刚做完保养」(自动更新上次保养日期并按间隔推算下次);一次性项标记完成、不再提醒。
  • 撤销办理:一键把到期日(保养项连同上一次保养日期)还原到办理前,误操作可自救。
  • 忽略 / 恢复:本周期不再提醒,到期日一变自动恢复。

二、提醒节奏(节点式)

进入提醒期后按节点提醒,每个节点只弹一次并写库(关浏览器、换设备都不会重置):窗口内每 7 天一个节点(提前 60 天 → 60、53、46、39、32、25、18 天);最后 15 天加密为 15 / 7 / 3 / 1 / 0 天;逾期 1 / 2 / 3 天。

三、前台与展示

  • 前台只显示"待办且未逾期":已办、已忽略、逾期项都不出现在访客可见面(横幅 / 悬浮提示 / 卡片徽章),逾期项只在后台可见(可在设置里打开前台显示)。
  • 悬浮提示默认只在「记得」页面弹出(访客浏览其它页面看不到站主提醒),也可切回"全站";提示数据每次实时获取,站点装了页面缓存也不会再弹旧提醒。
  • 去掉前台排序/筛选工具条:前台完全按后台拖拽顺序显示。
  • 跨年软提示:动作结果的年份不是今年时,提示里会轻轻提醒一句(防连点误操作)。

四、体验与文案

  • 弹窗内动作原地生效:编辑座驾时点「已办 / 撤销办理」立即写库、只刷新本行、不关闭弹窗,不再需要"记得点保存"。
  • 提示语全面人性化:日期改中文(2027 年 9 月 23 日)、成功提示口语化(办好了 ✅ / 保养记好啦 ✅ / 已撤销 ✅)、报错去掉 HTTP 状态码与技术术语。

五、移除(按使用反馈精简)

后台「自检」入口与「操作日志」入口(并停止写入日志数据);列表下方"数据存储于…"与仪表盘小组件底部"来自「记得」插件…"说明;设置里的「关于」与「日志设置」分组(设置页由 9 个页签精简为 6 个)。

六、修复的历史问题

开启「全站悬浮提醒」会导致「记得」页面内容整块消失(注入脚本用了自闭合 <script />);在座驾编辑弹窗保存会清空提醒状态;编辑弹窗提醒行整块不渲染(缺少 import 导致渲染报错)。

七、兼容与升级

Halo 2.26 及以上;由 1.2.0 – 1.2.5 升级:停用 → 卸载 → 安装本版 → 启用,数据不会丢失(新增字段缺失时按"待办"处理,无需迁移脚本)。若主题目录存在 templates/important-dates.html 覆盖文件,请用仓库 docs/theme-override/ 下最新版替换。

资源下载

  • plugin-important-dates-1.2.6.jar
1.2.5
铭 发布于
>=2.26.0

记得 · 重要日期与爱车(plugin-important-dates)

build
plugin

一个 Halo 2.x 插件:记录纪念日、生日与家人朋友,也管好你的座驾(汽车 / 电瓶车 / 自行车)——保险、年检、保养到期自动提醒;支持阳历/农历、多图相册、前台「生活 / 爱车」双视图、隐私脱敏,零系统配置写入、零主题文件写入。

更名说明:原名「重要日期」,1.2.0 起更名「记得」——功能已从"记日期"扩展到"记日子、记人、记爱车",旧名装不下。插件 ID(plugin-important-dates)不变,数据、设置、前台地址(/important-dates)与升级路径均不受影响。

English README | Releases | 问题反馈 | 作者:yyliucha

截图

截图 说明
仪表盘提醒小组件 控制台仪表盘小组件:到期提醒常驻仪表盘,每分钟自动刷新
后台页签 后台页签:重要日期 / 人员 / 座驾,提醒横幅 + 卡片列表 + 拖拽排序
座驾列表 座驾页签:分类图标、车牌、到期徽章(已过期 / 临近)、车主与驾驶人、前台开关
座驾表单 座驾表单:分类(含电瓶车 / 自行车)、能源、证照与里程、多图相册、到期项
前台页面 前台 /important-dates:生活视图——重要日期 + 牵挂的人(生日与纪念日倒计时)
前台爱车视图 爱车视图:车辆卡片(脱敏车牌、到期徽章)+ 车主与驾驶人(统一徽章)+ 其他重要的人
前台相册 相册查看:点击封面全屏浏览(只读、Esc 关闭),仅显示后台勾选「展示」的照片
全站悬浮提醒 全站悬浮提醒:位置自选、倒计时 + 进度条、关闭方式菜单(本次 / 3 天 / 10 天 / 永久)

功能

📅 重要日期

  • 名称 + 日期 + 多行备注;阳历 / 农历(含闰月),农历自动换算当年阳历
  • 每年自动循环,列表显示"最近一次"与"还有几天";支持拖拽排序(前后台一致)
  • 自研日期选择器:阳历格内标注农历;农历选年/月(含闰月)/日实时换算;编辑时面板定位到已选日期

👤 人员

  • 姓名、昵称、关系(含"本人")、生日(阳历/农历)、性别、血型、身高、体重、喜好、备注、大头贴(官方附件上传 / 附件库选择);支持拖拽排序
  • 重要日期可关联多人,列表可按人员筛选

🚗 座驾(汽车 / 电瓶车 / 自行车)

  • 17 类分类(轿车 / SUV / MPV / 跑车 / 越野车 / 皮卡 / 旅行车 / 两厢车 / 跨界车 / 微面 / 房车 / 货车 / 客车 / 摩托车 / 电瓶车 / 自行车 / 其他)、能源类型(燃油 / 纯电 / 插混 / 油电混动 / 人力)、品牌型号、颜色、VIN、发动机号、注册与购买日期、里程、状态(在用车 / 已出售 / 已报废)
  • 多图相册:上传或附件库多选、拖拽排序、设封面;每张可单独勾选「展示」(未勾选仅后台可见,适合行驶证、保单等证件照)
  • 附件库来源范围:可在「设置 → 照片设置」为人员大头贴与座驾相册分别指定「分类(分组)」与「存储策略」;命中不到时自动放宽范围并在弹窗中说明当前生效范围与命中数(不会出现空白列表),也可一键「显示全部图片」
  • 图片失效自动降级:附件被删除(或被其它插件的全局规则拦截)导致图片打不开时,前台封面回退车型图标、大头贴回退首字、相册显示占位说明——访客永远看不到破图;后台车辆/人员卡片会标出「含失效图片 N」「大头贴已失效」,可一键「移除失效图片」或逐张「重新选择」
  • 省流量的图片处理:列表 / 相册网格 / 前台卡片使用 ?width= 缩略图(默认 480px,可配,0=原图),点开查看仍是原图;上传超过 1.5MB 的图片会先在浏览器压缩(默认压到 1920px,可关)
  • 到期项「已办,顺延一期」:续保 / 年检办完后一键把到期日按循环间隔往后推一期,不用手改日期
  • 提醒可逐条忽略:前台横幅与仪表盘小组件每条右侧的 ✕ 表示"本次到期周期内不再提示"(存在浏览器里,到期日变化后自动恢复),可一键「恢复显示」,也可在设置里关闭
  • 年检规则可配置:「座驾设置 → 年检节点(默认 2,4,6,10)」「从第几年起每年上线检验(默认 11)」可按当地车管所规则调整,表单预览与提醒同步
  • 前台爱车视图工具栏:按「默认(后台拖拽顺序)/ 到期临近 / 名称」排序,按「在用车 / 全部(含已出售、已报废)」筛选
  • 后台「自检」面板:页面右上角一键查看插件版本、数据量、提醒与展示设置、照片设置命中张数、图片引用失效数量、即将到期条数
  • 到期提醒:交强险 / 商业险 / 年检 / 保养(按上次保养 + 间隔月数推算)/ 车船税 / 驾照换证 / 自定义项;每项可设启用、提前天数与循环间隔(每年 / 每两年 / 每三年 / 不循环 / 自定义月数);已出售 / 报废不再提醒
  • 保险公司填一次就够:车辆级「保险公司」全车共用(含常用公司快捷提示),个别险种可「使用其他保险公司」单独覆盖;老数据启动时自动迁移(幂等)
  • 年检自动推算:按「首次登记日期 + 车型规则」推算下一次年检(第 2/4 年免检申领 → 第 6/10 年上线检验 → 第 11 年起每年),提示阶段与依据,可「手动指定日期」覆盖;默认提前 30 天提醒
  • 年检 / 车船税默认与保险同期:日期跟随交强险到期日(可取消后独立填写),保存时写入相同日期
  • 同车同日合并提醒:交强险 / 商业险 / 车船税 / 年检同日到期时合并为一条(如「小白 · 交强险 / 商业险 / 年检」),后台列表仍逐项显示
  • 规则切换一次性提示:车辆进入上线检验期(第 6 年起)或改为每年一次(第 11 年起)时后台提示一次,点「知道了」不再重复
  • 关联人员:车主 + 常用驾驶人(可选),车辆卡片与人员卡片使用统一徽章(男生「酷」/ 女生「可爱」/ 未关联中性)

🔔 到期提醒(三处,任你挑)

  • 仪表盘小组件(Halo 2.21+):常驻仪表盘、每分钟刷新、小分页(默认每页 5 条,可调或关闭),显示完整提醒列表(仪表盘 → 编辑 → 添加部件 → 小部件中心 → 分组「记得」)
  • 后台 + 前台横幅:“「结婚纪念日」明天就到啦~” / “「小白」的交强险还有 7 天到期,记得安排一下呀~”
  • 全站悬浮弹窗(可选):任意页面弹出,位置 / 文案 / 倒计时可配
  • 重要日期与座驾到期统一排序(谁近谁靠前);悬浮弹窗每类最多 N 条,超出自动合并提示

👁 隐私

  • 日期、人员、车辆各有「前台展示」开关(车辆默认关闭)
  • 前台永不输出:体重、血型、身高、喜好、备注;车牌号永远脱敏(粤B·****5);VIN、发动机号、保单号、购买价格不输出;生日默认脱敏
  • 未勾选「展示」的照片不出现在前台相册

🏠 前台页面(插件默认模板,主题可选覆盖)

  • 单页 「生活 / 爱车」 双视图切换(地址栏记忆 ?view=car):生活视图=重要日期 + 牵挂的人;爱车视图=车辆卡片 + 车主与驾驶人 + 其他重要的人
  • 相册:点击车辆封面全屏滚动查看(只读)
  • 通过官方页面布局契约复用主题外壳(主题不支持时用 Halo fallback 布局);主题可放置同名模板覆盖;插件不写入、不修改任何主题文件(停用 / 卸载零残留)
  • 提供 importantDateFinder:listAll() / listAllPeople() / listAllCars() / listUpcoming(days) / listUpcomingCarEvents(days)

📊 其他

  • 操作日志:日期 / 人员 / 座驾的增删改全程记录,分页浏览 + 按天自动清理(默认 30 天)
  • 导出 / 导入:JSON(v3,含人员与座驾),判重跳过、不覆盖,兼容旧版导出文件

数据与合规

  • 数据存于 Halo 扩展存储(importantdates.halo.run/v1alpha1),底层即站点数据库(H2 / MySQL / PostgreSQL),与站点同库同备份
  • 零系统配置写入(不使用「代码注入」,脚本经官方 TemplateHeadProcessor 输出)、零主题文件写入
  • 无任何联网请求,不采集、不上传任何用户数据

兼容性

  • Halo 2.26 及以上(按官方 2.26 文档与扩展点实现;Java 17 字节码;全新 2.26 实例全量回归 50/50 通过;1.2.5 另经浏览器端到端 13/13、专项 18 项验证)
  • 管理员安装后默认拥有全部权限,无需手动配置角色权限

安装与升级

  1. 从 Releases 下载 plugin-important-dates-*.jar;
  2. Halo 后台 → 插件 → 安装 → 本地安装 → 上传 jar → 启用(左侧菜单 内容 → 记得);
  3. 前台访问 https://你的域名/important-dates。

升级:停用 → 卸载旧版 → 安装新 jar → 启用(数据不丢失)。若使用页面静态化 / 缓存插件,升级后清理一次页面缓存。

使用(后台)

  • 新增日期:名称、日期类型、日期(阳历点选 / 农历选年月日)、关联人员(可多选)、备注;可设「重要」与「前台展示」
  • 人员页签:维护人员信息与「前台展示」;可拖拽排序
  • 座驾页签:维护车辆档案、相册(含逐张「展示」勾选)、到期项;可拖拽排序;卡片上可直接切换「前台展示」
  • 操作日志 / 导出 / 导入:页面右上角
  • 提醒与隐私配置:插件 → 记得 → 设置(提醒、座驾设置、照片设置、隐私、日志)

全站悬浮提醒(可选,设置驱动)

  • 启用:经官方 TemplateHeadProcessor 输出脚本,关闭即不输出,停用 / 卸载随插件消失
  • 位置:右下角 / 左下角 / 右上角 / 左上角 / 底部居中 / 屏幕中间(默认右下角)
  • 文案占位符:{title}、{whenText}、{daysUntil}、{dateText}、{nextSolarDate}
  • 行为:自动关闭(默认 8 秒,含倒计时 + 进度条);点 × 可选本次 / 3 天 / 10 天 / 永久;站主可设 × 默认行为与是否显示关闭菜单

历史升级提示:1.0.21 及以前使用「代码注入」方式,1.0.30–1.1.1 曾自动维护注入片段;自 1.1.2 起改为官方扩展点。若站点仍留有 id-toast:start/end 片段,请到「系统设置 → 代码注入」删除一次。

主题模板(自定义展示,可选)

插件不写入主题文件。想完全自定义时,在主题放置 templates/important-dates.html(TemplateNameResolver 优先使用;删除即回退插件默认模板)。

可用数据:

  • 生活视图:title、dates、people、reminders、showImportantTag、showAvatar
  • 爱车视图:cars(含 plateMasked、coverUrl、photos、skin、events)、carEvents、carPeople、otherPeople、personCars、showCarSection、carSkinEnabled、view

重新构建(可选)

需 JDK 17+(已在 JDK 23 验证)与 Node.js 18+:

cd plugin-important-dates
./gradlew build

构建结果位于 build/libs/plugin-important-dates-<版本>.jar(当前版本:1.2.5)。

版本说明:最新正式版 1.2.5(14 项完善:写操作统一为「只改变化字段 + 串行 + 退避重试」、导入节流与失败明细、中文可操作报错、上传后自检、图片失效自动降级与一键修复、缩略图与上传压缩、到期项「已办顺延一期」、提醒逐条忽略、年检规则可配置、爱车排序筛选、后台自检面板、设置「关于」分组;并含 1.2.2 附件库范围修复、1.2.3 卡片样式修复、1.2.4 拖拽 503 修复)。更早的正式版为 1.2.0(更名「记得」,新增座驾模块)。装包后请强刷一次浏览器(Ctrl+Shift+R)。

License

MIT

资源下载

  • plugin-important-dates-1.2.5.jar
1.2.4
铭 发布于
>=2.26.0

v1.2.4 正式版 · 修复拖拽排序保存时的 503

测试与升级说明

本版已在全新 Halo 2.26 实例完成:自动化回归 50/50 PASS、浏览器端到端 13/13 PASS、附件库来源范围专项 5/5 PASS、拖拽排序专项 6/6 PASS(写入最大并发 = 1、全部 JSON Patch、无逐条 GET、无 5xx、顺序落库正确)。长期运行、多主题兼容、极端数据量等场景未覆盖。

升级后请强刷一次浏览器(Ctrl+Shift+R / Cmd+Shift+R):Halo 控制台会缓存插件的控制台包,不强刷时看不到新界面(如侧边栏没有「记得」、仪表盘小组件消失)。

修复:拖拽排序时的 503(反向代理把请求突发挡在了 Halo 之外)

  • 现象:拖拽人员 / 日期 / 座驾卡片调序时提示「保存排序失败:Request failed with status code 503」,弹窗里是反向代理返回的 503 Service Temporarily Unavailable,而 Halo 日志里没有任何记录。

  • 根因:

    1. 旧实现把整张表重新编号,并用 Promise.all 并发提交;每次提交还要「先 GET 最新版本 → 再 PUT」两步;
    2. 实测(4~6 个对象的列表拖一次):6 个 GET + 6 个 PUT,最大并发 6,全部集中在 45 毫秒内;
    3. 站点前有反向代理(nginx / CDN)。nginx 的 limit_req(请求速率)与 limit_conn(并发连接数)默认以 503 自行拒绝,请求到不了 Halo——这正是"服务端查不到报错"的原因。
  • 修复:① 只写真正发生位移的连续区间(非 1…n 稠密数据回退整表重排,保证正确);② 改用 JSON Patch 只改 spec.sortOrder 一个字段,去掉 GET,请求数减半;③ 串行提交(间隔 40ms),最大并发降到 1;④ 对 429/5xx 退避重试 3 次;⑤ 报错文案点明「站点反向代理暂时不可用」而不是只抛状态码。

  • 实测对比:

    修复前 修复后
    写请求 6 个 PUT(+6 个 GET) 5 个 PATCH(0 个 GET)
    最大并发 6 1
    结果 突发、易被代理 503 全部 2xx,顺序正确落库

提示:若站点反向代理限流设置非常严格(例如 limit_conn 只允许极少并发),仍建议检查一次 limit_req / limit_conn;本插件已不再产生突发请求。

验证(全新 Halo 2.26 实例)

  • 冒烟回归 halo-smoke.mjs 50/50 PASS;浏览器端到端 browser-121-e2e.mjs 13/13 PASS;附件库来源范围 verify-album-scope.mjs 5/5 PASS;
  • 拖拽排序专项 verify-sort-save.mjs 6/6 PASS:断言写入最大并发 = 1、无逐条 GET、全部 PATCH、无 5xx、排序结果正确落库;
  • 顺带加固:冒烟脚本的就绪检测现在同时确认「插件接口 + 前台页面」连续两次正常,避免安装后 Halo 重启插件的窗口期(前台瞬时 500 Scheme not found,属 Halo 插件生命周期)被误判为失败。

兼容与升级

  • Halo 2.26 及以上;由 1.2.0 / 1.2.1 / 1.2.2 / 1.2.3 / 1.1.x 升级:停用 → 卸载 → 安装本版 → 启用,数据不会丢失;
  • 若主题目录存在自定义覆盖文件 templates/important-dates.html,请用仓库 docs/theme-override/ 下最新版替换(或删除该文件使用插件默认模板);
  • 使用页面缓存 / 静态化插件时,升级后清理一次页面缓存。

资源下载

  • plugin-important-dates-1.2.4.jar
1.2.3
铭 发布于
>=2.26.0

v1.2.3 正式版 · 修复后台座驾卡片被样式丢失导致的尺寸异常

测试与升级说明

本版已在全新 Halo 2.26 实例完成:自动化回归 50/50 PASS、浏览器端到端 13/13 PASS、附件库来源范围专项 5/5 PASS,并针对本版修复项做了尺寸复现验证(1920×1080 封面 → 卡片 395×191 / 封面 84×62)。长期运行、多主题兼容、极端数据量等场景未覆盖。

升级后请强刷一次浏览器(Ctrl+Shift+R / Cmd+Shift+R):Halo 控制台会缓存插件的控制台包,不强刷时看不到新界面(如侧边栏没有「记得」、仪表盘小组件消失)。

修复:后台「座驾」页签恢复紧凑卡片布局(封面不再铺满屏幕)

  • 现象:给车辆相册加了照片后,后台「座驾」页签里的封面被拉成整屏大小(1920×1080 的原图渲染成 1180×664,卡片本身 1212×836),几乎铺满屏幕。
  • 根因:console/src/views/ImportantDatesView.vue 的样式块被提前闭合——约 3KB 的 CSS(.cars-grid / .car-card / .car-cover / .car-events / .rule-notice / .person-avatar-char 等)落在 </style> 之后,构建时被整体丢弃,这些规则从未生效。没有照片时卡片看起来"还行",加了照片立刻暴露。
  • 修复:把样式块闭合位置修正到文件末尾,全部规则重新进入产物(CSS 由 16.65 KB 恢复到 19.29 KB)。
  • 效果(实测):卡片 1212×836 → 395×191;封面 1180×664 → 84×62(object-fit: cover 裁切,原图多大都不影响);座驾列表恢复多列网格,到期徽章(已过期 / N 天后)、车主与驾驶人、编辑 / 前台展示 / 删除按钮恢复设计中的紧凑样式。
  • 顺带修复:同批被丢弃的规则里还包含「上线检验期一次性提示」横幅(.rule-notice)与人员首字头像(.person-avatar-char)的样式,现在也恢复正常外观。

验证(全新 Halo 2.26 实例)

  • 冒烟回归 halo-smoke.mjs 50/50 PASS;浏览器端到端 browser-121-e2e.mjs 13/13 PASS;附件库来源范围专项 verify-album-scope.mjs 5/5 PASS;
  • 尺寸复现 repro-car-card.mjs:上传 1920×1080 封面后,卡片与封面尺寸符合设计值(395×191 / 84×62)。

兼容与升级

  • Halo 2.26 及以上;由 1.2.0 / 1.2.1 / 1.2.2 / 1.1.x 升级:停用 → 卸载 → 安装本版 → 启用,数据不会丢失;
  • 若主题目录存在自定义覆盖文件 templates/important-dates.html,请用仓库 docs/theme-override/ 下最新版替换(或删除该文件使用插件默认模板);
  • 使用页面缓存 / 静态化插件时,升级后清理一次页面缓存。

资源下载

  • plugin-important-dates-1.2.3.jar
1.2.2
铭 发布于
>=2.26.0

v1.2.2 正式版 · 修复附件库「分类 / 策略」来源范围

测试与升级说明

说明:本版的实际测试范围是「全新 Halo 2.26 实例自动化回归 50/50 PASS + 浏览器端到端 13/13 PASS + 附件库来源范围专项 5/5 PASS」,尚未覆盖长期运行、多主题兼容、极端数据量等场景;开发版(1.2.2-SNAPSHOT)已先行发布供体验,本次为正式版 1.2.2,功能与开发版一致,后续会持续修复与完善,欢迎反馈问题。

升级后请强刷一次浏览器(Ctrl+Shift+R / Cmd+Shift+R):Halo 控制台会缓存插件的控制台包,不强刷时可能看不到新界面(如侧边栏没有「记得」、仪表盘小组件消失)。

修复:附件库「分类 / 策略」范围不再显示空白

  • 问题:座驾相册与人员大头贴的「从附件库选择」原先要求 分类 + 策略同时命中。站点里只要有一项与实际数据不一致(图片没有分组、或用了别的存储策略),列表就会是空的——人员大头贴弹窗甚至只显示一个空白框,看起来像"设置没生效"。
  • 现在:优先按「分类 + 策略」过滤;命中为空时自动放宽为「仅分类」→「仅策略」→「全部图片」,并在弹窗顶部用一行说明当前生效范围与各自命中数,例如:
    设置中「分类 + 策略」没有同时命中的图片,已放宽为仅按分类显示 12 张(分类「文章插图」命中 12 张 · 策略「大头贴」命中 0 张)
  • 「未分组」正确匹配:设置里的「未分组」现在按"没有分类的图片"处理(此前被当成一个真实分组名去比对,必然 0 张)。
  • 不再自动选第一个分类 / 策略:旧行为在未配置时会静默把附件库收窄到某个分类 + 策略(正是"看起来没生效"的来源);现在未配置就是「不限定」,显示全部图片。已保存但已失效的分类 / 策略(分组被删除等)会自动回到「不限定」。
  • 上传归档不变:仍按设置的分类 / 策略存放;分类为「未分组」时不提交分组名(避免把 __ungrouped__ 当成真实分组)。
  • 界面:范围说明单独一行,长文案不再挤压弹窗标题;底部仍显示「当前显示 N 张 · 附件库共 M 张图片」,并提供「显示全部图片(忽略分类 / 策略)」开关。

验证(全新 Halo 2.26 实例)

  • 冒烟回归 halo-smoke.mjs 50/50 PASS;浏览器端到端 browser-121-e2e.mjs 13/13 PASS;
  • 附件库来源范围专项 5/5 PASS(verify-album-scope.mjs):分类命中 + 策略不命中 → 放宽为仅分类并给出命中数(座驾 / 人员两条路径都验);「未分组」正确过滤;未配置时显示全部;控制台零脚本错误。

兼容与升级

  • Halo 2.26 及以上;由 1.2.0 / 1.2.1 / 1.1.x 升级:停用 → 卸载 → 安装本版 → 启用,数据不会丢失;
  • 若主题目录存在自定义覆盖文件 templates/important-dates.html,请用仓库 docs/theme-override/ 下最新版替换(或删除该文件使用插件默认模板)。

资源下载

  • plugin-important-dates-1.2.2.jar
1.2.1
铭 发布于
>=2.26.0

v1.2.1 正式版 · 座驾到期提醒更懂车务

⚠️ 重要提示(请先读)

本版本功能测试尚不完整,可能存在导致数据异常甚至数据丢失的严重问题(毁灭性 Bug)。
请务必先完整备份站点数据(数据库 + 附件),并谨慎升级;建议先在测试站点验证无误后再用于生产环境。

说明:本版的实际测试范围是「全新 Halo 2.26 实例自动化回归 50/50 PASS + 浏览器端到端 13/13 PASS + 老数据迁移幂等验证」,尚未覆盖长期运行、多主题兼容、极端数据量等场景;开发版(1.2.1-SNAPSHOT)已先行发布供体验,本次为正式版 1.2.1,功能与开发版一致,后续会持续修复与完善,欢迎反馈问题。

版本号说明:1.2.1 号段此前未发布过 Release(当时最新正式版为 1.2.0),故本次直接以 1.2.1 发布,不跳号。

本次重点:座驾到期项更贴合真实车务

  • 车辆级「保险公司」:一辆车只需填一次保险公司(带常用公司快捷提示),交强险 / 商业险共用;个别险种可用「使用其他保险公司」单独覆盖
  • 循环间隔可选:每个到期项可设 每年(12)/ 每两年(24)/ 每三年(36)/ 不循环 / 自定义月数;「不循环」表示提醒一次后不再滚动
  • 到期项表单精简:一行一个项目——险种 / 保单号 / 到期日 / 提前提醒天数 / 循环间隔 / 启用
  • 老数据幂等迁移:启动时把旧数据里"每个险种各填一份的保险公司"提升为车辆级,并清理重复值;只读写插件自身的座驾数据,可重复执行

年检:按规则自动推算,可手动覆盖

  • 未填写年检日期时,按「首次登记日期 + 车型规则」自动推算下一次年检:
    • 非营运小微型载客汽车:第 2、4 年免检申领标志 → 第 6、10 年上线检验 → 第 11 年起每年上线
    • 摩托车:前 4 年每 2 年申领免检标志,之后每年上线检验(以当地车管所为准)
    • 电瓶车 / 自行车:通常无需年检,可按当地规定手动填写
  • 提醒标题带阶段(如「年检·免检申领」),表单里显示推算结果与依据;缺少首次登记日期时会提示补填
  • 可手动指定日期:勾选后以手填日期为准(清空则不提醒年检)
  • 提前 30 天提醒(默认):办理含上线检验通常需 2–3 个工作日,建议提前安排

年检 / 车船税默认「与保险同期」

  • 两项默认跟随交强险到期日(联动显示、只读),保存时写入相同日期
  • 取消勾选后可独立填写;尚未填交强险日期时给出提示,填好后自动联动

提醒与仪表盘

  • 同车同日多事项合并:同一辆车、同一天到期的交强险 / 商业险 / 车船税 / 年检合并为一条(如「小白 · 交强险 / 商业险 / 年检」),后台列表仍逐项显示
  • 仪表盘小组件分页:默认每页 5 条,可在「设置 → 展示设置」调整每页条数或关闭分页;组件显示完整提醒列表(不再受悬浮弹窗"每类最多 N 条"降噪限制),底部始终显示「共 X 条 · 每页 N 条」(关闭分页时只显示条数),翻页只切本地状态
  • 一次性规则提示:车辆按规则进入上线检验期(第 6 年起)或切换为每年一次(第 11 年起)时,后台座驾页顶部给出一次提示,点「知道了」后不再重复
  • 过期更醒目:小组件中已过期的提醒显示「已过期 N 天」(原先会显示为"今天")

兼容与升级

  • Halo 2.26 及以上(全新 2.26 实例全量回归 50/50 PASS;浏览器端到端 13/13 PASS,覆盖座驾表单、年检推算与手动覆盖、同期联动、仪表盘分页、提醒合并;老数据迁移幂等验证通过)
  • 由 1.2.0 / 1.1.x 升级:停用 → 卸载 → 安装本版 → 启用,数据不会丢失(老数据自动迁移,幂等)
  • 升级后请强刷一次浏览器(Ctrl+Shift+R / Cmd+Shift+R):Halo 控制台会缓存插件的控制台包;不强刷时可能出现「侧边栏没有『记得』、插件设置页签看不到、仪表盘小组件消失」等现象(实测确认,强刷即恢复,与服务端无关)
  • 若主题目录存在自定义覆盖文件 templates/important-dates.html,请用仓库 docs/theme-override/ 下最新版替换(或删除该文件使用插件默认模板)
  • 使用页面缓存 / 静态化插件时,升级后清理一次页面缓存

资源下载

  • plugin-important-dates-1.2.1.jar
1.2.0
铭 发布于
>=2.26.0

v1.2.0 正式版 · 记得(重要日期与爱车)

⚠️ 重要提示(请先读)

本版本功能测试尚不完整,可能存在导致数据异常甚至数据丢失的严重问题(毁灭性 Bug)。
请务必先完整备份站点数据(数据库 + 附件),并谨慎升级;建议先在测试站点验证无误后再用于生产环境。

说明:本版实际测试范围是「全新 Halo 2.26 实例的自动化回归 44/44 + 浏览器交互验证」,尚未覆盖长期运行、历史数据迁移、多主题兼容、极端数据量等场景;开发版(1.2.0-SNAPSHOT)已先行发布供体验,本次为正式版 1.2.0,功能与开发版一致,后续会持续修复与完善,欢迎反馈问题。

应用更名

原名「重要日期」→ 现名「记得」。原因:本次新增完整的座驾(爱车)模块并扩展为前台「生活 / 爱车」双视图,功能已从"记日期"变成"记日子、记人、记爱车",旧名字无法覆盖。插件 ID(plugin-important-dates)不变,更名不影响数据、设置、前台地址(/important-dates)与升级路径。

🚗 新增:座驾(汽车 / 电瓶车 / 自行车)

  • 车辆档案:品牌与车系型号、17 类分类(轿车 / SUV / MPV / 跑车 / 越野车 / 皮卡 / 旅行车 / 两厢车 / 跨界车 / 微面 / 房车 / 货车 / 客车 / 摩托车 / 电瓶车 / 自行车 / 其他)、能源类型、颜色、车牌号、VIN、发动机号、注册与购买日期、里程、状态(在用车 / 已出售 / 已报废)
  • 多图相册:上传或从附件库多选、拖拽排序、设封面;每张可单独勾选是否在前台展示(未勾选仅后台可见,适合行驶证、保单等证件照)
  • 到期提醒:交强险 / 商业险 / 年检 / 保养 / 车船税 / 驾照换证 / 自定义项;每项可设置提前天数与启用开关;按年循环项到期自动滚动;已出售 / 报废不再提醒
  • 车主与常用驾驶人(可选):车辆卡片与人员卡片使用统一徽章(男生「酷」/ 女生「可爱」/ 未关联中性)
  • 拖拽排序:车辆列表可拖拽排序,前后台顺序一致

🖥 前台:生活 / 爱车 双视图

  • 顶部切换(地址栏记忆 ?view=car):生活视图=重要日期 + 牵挂的人;爱车视图=车辆卡片 + 车主与驾驶人 + 其他重要的人
  • 相册查看:点击车辆封面 → 全屏滚动浏览(只读),仅显示勾选「展示」的照片

🔒 隐私

  • 车牌号在前台永远脱敏(如 粤B·****5);VIN / 发动机号 / 保单号 / 购买价格不输出到前台;未勾选「展示」的照片不出现在前台
  • 零系统配置写入、零主题文件写入、无联网请求

✨ 其他改进(相对 1.1.5)

  • 重要日期与座驾到期统一按剩余天数排序(谁近谁靠前);悬浮弹窗每类最多 N 条,超出自动合并提示
  • 编辑日期 / 人员时日历面板自动定位到已选日期;人员关系新增「本人」
  • 操作日志支持分页浏览 + 按天自动清理;导出 / 导入升级为 JSON v3(含座驾与相册,兼容旧文件)
  • 「生活 / 爱车」切换按钮对比度提升至 5.17(WCAG AA),不再受主题样式影响

⬆️ 兼容与升级

  • Halo 2.26 及以上(全新 2.26 实例全量回归 44/44 通过;未覆盖极端场景,见文首提示)
  • 由 1.1.x 升级:先备份 → 停用 → 卸载 → 安装本版 → 启用
  • 若主题目录存在自定义覆盖文件 templates/important-dates.html,请用仓库 docs/theme-override/ 下最新版替换(或删除该文件使用插件默认模板),否则前台看不到「爱车」视图
  • 若使用页面静态化 / 缓存插件,升级后清理一次页面缓存

资源下载

  • plugin-important-dates-1.2.0.jar
1.2.0-SNAPSHOT
铭 发布于
>=2.26.0

⚠️ 本版本为开发版本(1.2.0-SNAPSHOT),用于提前体验新功能;后续将发布正式版 1.2.0,正式版会在此基础上继续完善,欢迎反馈问题。

应用已由「重要日期」更名为「记得」:功能从"记日期"扩展到"记日子、记人、记爱车"。插件标识、数据、设置与前台地址(/important-dates)均不受影响,升级即可。

新增:座驾(汽车 / 电瓶车 / 自行车)

  • 车辆档案:品牌与车系型号、17 类分类(轿车 / SUV / MPV / 跑车 / 越野车 / 皮卡 / 旅行车 / 两厢车 / 跨界车 / 微面 / 房车 / 货车 / 客车 / 摩托车 / 电瓶车 / 自行车 / 其他)、能源类型、颜色、车牌号、VIN、发动机号、注册与购买日期、里程、状态(在用车 / 已出售 / 已报废)
  • 多图相册:上传或从附件库多选、拖拽排序、设封面;每张可单独勾选是否在前台展示(未勾选仅后台可见,适合行驶证、保单等证件照)
  • 到期提醒:交强险 / 商业险 / 年检 / 保养 / 车船税 / 驾照换证 / 自定义项;每项可设置提前天数与启用开关;按年循环项到期后自动滚动到下一次;已出售 / 报废车辆不再提醒
  • 车主与常用驾驶人(可选):车辆卡片与人员卡片使用统一徽章(男生「酷」/ 女生「可爱」/ 未关联中性)

前台:生活 / 爱车 双视图

  • 页面顶部切换(地址栏记忆 ?view=car):生活视图=重要日期 + 牵挂的人;爱车视图=车辆卡片 + 车主与驾驶人 + 其他重要的人
  • 相册查看:点击车辆封面 → 全屏滚动浏览(只读),仅显示后台勾选「展示」的照片

隐私

  • 车牌号在前台永远脱敏(如 粤B·****5);VIN / 发动机号 / 保单号 / 购买价格不输出到前台;未勾选「展示」的照片不出现在前台
  • 零系统配置写入、零主题文件写入、无联网请求

其他改进(相对 1.1.5)

  • 重要日期与座驾到期统一按剩余天数排序(谁近谁靠前);悬浮弹窗每类最多 N 条,超出自动合并提示
  • 编辑日期 / 人员时,日历面板自动定位到已选日期;人员关系新增「本人」
  • 操作日志支持分页浏览 + 按天自动清理;导出 / 导入升级为 JSON v3(含座驾与相册,兼容旧文件)

兼容与升级

  • Halo 2.26 及以上(全新 2.26 实例全量回归 44/44 通过)
  • 由 1.1.x 升级:停用 → 卸载 → 安装本版 → 启用,数据不会丢失
  • 若主题目录存在自定义覆盖文件 templates/important-dates.html,请用仓库 docs/theme-override/ 下最新版替换(或删除该文件使用插件默认模板),否则前台看不到「爱车」视图

资源下载

  • plugin-important-dates-1.2.0-SNAPSHOT.jar
1.1.5
铭 发布于
>=2.26.0

重要日期 · v1.1.5 正式版

在后台记录自己的重要日期与家人朋友(结婚纪念日、孩子出生日期等):阳历/农历(含闰月)每年自动循环、人员档案与大头贴、拖拽排序、到期提醒、隐私脱敏、操作日志与导出导入。完全按 Halo 2.26 官方文档与扩展点实现,零系统配置写入、零主题文件写入。

✨ 本次优化

  • 日历面板定位到已选日期:编辑人员/日期时,展开日期面板直接停在用户已选时间(阳历=所选年月日;农历=对应公历年+所选月/日/闰月),不再每次回落到当前月份
  • 人员关系新增「本人」:关系下拉增加「本人」选项(未填写/本人/配偶/子女/父亲/母亲/朋友/其他),前台与后台卡片显示「(本人)」

🧩 功能

  • 重要日期:名称+日期+多行备注;阳历/农历(含闰月);每年自动循环;自研日期选择器(阳历日历标注农历/农历实时换算);拖拽排序(前后台顺序一致)
  • 人员管理:姓名/昵称/关系(含本人)/生日(阳历农历)/性别/血型/身高/体重(最新值)/喜好/备注/大头贴(单张;官方附件库上传或选择;后台始终显示,前台由隐私设置控制;附件被删除自动回退首字符);拖拽排序
  • 到期提醒(三处):①控制台仪表盘常驻小组件(无关闭、每分钟刷新,Halo 2.21+)②后台+前台横幅「「…」明天就到啦~」③全站悬浮弹窗(位置自选、倒计时+进度条、关闭方式菜单:本次/3天/10天/永久)
  • 隐私:日期/人员各自「前台展示」开关;体重/血型/身高/喜好/备注字段级永不出现在前台;生日默认脱敏
  • 前台页:官方页面布局契约——主题支持契约时自动复用主题外壳,否则 Halo fallback;主题可提供同名模板覆盖;插件不读写任何主题文件(停用/卸载零残留)
  • 操作日志:新增/编辑/删除及开关切换全记录;分页浏览(每页 20 条)+自动清理(设置保留天数,默认 30 天,每 6 小时执行)
  • 导出/导入:JSON 判重跳过;Finder API:importantDateFinder 供主题自定义

🔒 兼容与合规

  • Halo 2.26+(按官方 2.26 文档与扩展点实现;2.26 全新实例 39/39 全流程回归通过)
  • 数据存于站点数据库;插件无任何联网请求、不采集用户数据;MIT 开源
  • 脚本经官方 TemplateHeadProcessor 输出(不读写系统配置);附件设置下拉实时同步系统策略/分类(官方 Setting/Policy/Group 扩展 API)

🚀 安装

上传 jar → 插件 → 安装 → 启用;前台访问 /important-dates 查看页面;升级不丢数据(停用→卸载→装新版);若启用页面缓存/静态化插件,升级后清理一次页面缓存。

资源下载

  • plugin-important-dates-1.1.5.jar
1.1.4
铭 发布于
>=2.26.0

重要日期 · v1.1.4 正式版

在后台记录自己的重要日期与家人朋友(结婚纪念日、孩子出生日期等):阳历/农历(含闰月)每年自动循环、人员档案与大头贴、拖拽排序、到期提醒、隐私脱敏、操作日志与导出导入。完全按 Halo 2.26 官方文档与扩展点实现,零系统配置写入、零主题文件写入。

✨ 功能

  • 重要日期:名称+日期+多行备注;阳历/农历(含闰月);每年自动循环;自研日期选择器(阳历日历标注农历/农历实时换算);支持拖拽排序(前后台显示顺序一致)
  • 人员管理:姓名/昵称/关系/生日(阳历农历)/性别/血型/身高/体重(最新值)/喜好/备注/大头贴(单张;官方附件库上传或选择;后台始终显示,前台由隐私设置控制;附件被删除自动回退首字符);支持拖拽排序
  • 到期提醒(三处):①控制台仪表盘常驻小组件(无关闭、每分钟刷新,Halo 2.21+)②后台+前台横幅「「…」明天就到啦~」③全站悬浮弹窗(位置自选、倒计时+进度条、关闭方式菜单:本次/3天/10天/永久)
  • 隐私:日期/人员各自「前台展示」开关;体重/血型/身高/喜好/备注字段级永不出现在前台;生日默认脱敏
  • 前台页:官方页面布局契约——主题支持契约时自动复用主题外壳,否则 Halo fallback;主题可提供同名模板覆盖;插件不读写任何主题文件(停用/卸载零残留)
  • 操作日志:新增/编辑/删除及开关切换全记录;分页浏览(每页 20 条)+ 自动清理(设置保留天数,默认 30 天,每 6 小时执行)
  • 导出/导入:JSON 判重跳过;Finder API:importantDateFinder 供主题自定义

🔒 兼容与合规

  • Halo 2.26+(按官方 2.26 文档与扩展点实现;2.26 全新实例 39/39 全流程回归通过)
  • 数据存于站点数据库;插件无任何联网请求、不采集用户数据;MIT 开源
  • 脚本经官方 TemplateHeadProcessor 输出(不读写系统配置);附件设置下拉实时同步系统策略/分类(官方 Setting/Policy/Group 扩展 API)

🚀 安装

上传 jar → 插件 → 安装 → 启用;前台访问 /important-dates 查看页面;升级不丢数据(停用→卸载→装新版);若启用页面缓存/静态化插件,升级后清理一次页面缓存。

资源下载

  • plugin-important-dates-1.1.4.jar
1.1.3
铭 发布于
>=2.26.0

功能

  • 重要日期:名称+日期+备注;阳历/农历(含闰月);每年自动循环;自研日期选择器(阳历日历标注农历)
  • 人员管理:姓名/昵称/关系/生日/血型/身高/体重/喜好/备注;日期关联多人、按人筛选
  • 到期提醒三处:①控制台仪表盘常驻小组件(无关闭、每分钟刷新,Halo 2.21+)②后台+前台横幅「「…」明天就到啦~」③全站悬浮弹窗(位置可选、倒计时、关闭菜单:本次/3天/10天/永久)
  • 隐私:日期/人员各自「前台展示」开关;体重血型等敏感字段永不出现在前台;生日默认脱敏
  • 前台页:官方「页面布局契约」——主题支持契约时自动复用主题外壳,否则使用 Halo fallback 布局;主题可选同名模板覆盖(TemplateNameResolver);插件零主题文件写入
  • 操作日志:新增/编辑/删除及开关切换全记录;导出/导入:JSON 判重跳过
  • Finder API:importantDateFinder 供主题自定义

兼容与合规

  • Halo 2.26+(基于 2.20 平台 API 编译;2.26.0 全新实例 36/36 全流程实测通过)
  • 数据存于站点数据库;插件无任何联网请求、不采集用户数据;MIT 开源
  • 按 2026-09 应用市场审核意见整改:脚本经官方 TemplateHeadProcessor 扩展点输出(不读写系统配置)、不写入主题文件(零残留)、兼容范围统一 >=2.26.0

安装

上传 jar → 插件 → 安装 → 启用;前台访问 /important-dates 查看页面;升级不丢数据(停用→卸载→装新版)。

资源下载

  • plugin-important-dates-1.1.3.jar
1.1.2
铭 发布于
>= 2.20.0

功能

  • 重要日期:名称+日期+备注;阳历/农历(含闰月);每年自动循环;自研日期选择器(阳历日历标注农历)
  • 人员管理:姓名/昵称/关系/生日/血型/身高/体重/喜好/备注;日期关联多人、按人筛选
  • 到期提醒三处:①控制台仪表盘常驻小组件(无关闭、每分钟刷新,Halo 2.21+)②后台+前台横幅「「…」明天就到啦~」③全站悬浮弹窗(位置可选、倒计时、关闭菜单:本次/3天/10天/永久)
  • 隐私:日期/人员各自「前台展示」开关;体重血型等敏感字段永不出现在前台;生日默认脱敏
  • 前台页:插件自带默认模板,主题可提供同名模板自定义覆盖(TemplateNameResolver),不写入/不修改主题文件
  • 操作日志:新增/编辑/删除及开关切换全记录;导出/导入:JSON 判重跳过
  • Finder API:importantDateFinder 供主题自定义

兼容与合规

  • Halo 2.20+(基于 2.20 平台 API 编译;2.20.20 与 2.26.0 双版本全流程 36/36 实测通过;2.14–2.19 未验证)
  • 数据存于站点数据库;插件无任何联网请求、不采集用户数据;MIT 开源
  • 按 2026-09 应用市场审核意见整改:脚本经官方 TemplateHeadProcessor 扩展点输出(不读写系统配置)、不再写入主题文件(零残留)、兼容范围统一 >=2.20.0

安装

上传 jar → 插件 → 安装 → 启用;前台访问 /important-dates 查看插件默认模板页面;升级不丢数据(停用→卸载→装新版)。

资源下载

  • plugin-important-dates-1.1.2.jar