Skip to content

Repository files navigation

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

build plugin

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

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

English READMEReleases问题反馈 | 作者: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 布局);主题可放置同名模板覆盖;插件不写入、不修改任何主题文件(停用 / 卸载零残留)
  • 提供 importantDateFinderlistAll() / 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 优先使用;删除即回退插件默认模板)。

可用数据:

  • 生活视图:titledatespeopleremindersshowImportantTagshowAvatar
  • 爱车视图:cars(含 plateMaskedcoverUrlphotosskinevents)、carEventscarPeopleotherPeoplepersonCarsshowCarSectioncarSkinEnabledview

重新构建(可选)

需 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

About

记得(原名「重要日期」)· Halo 2.x 插件:记录纪念日、生日(阳历/农历)与家人朋友,也管理座驾(汽车/电瓶车/自行车)——车辆级保险公司、保险/年检/车船税到期提醒(年检按登记日期与车型规则自动推算、规则可配置、可与保险同期)、多图相册(来源可按分类+策略限定;附件被删或图片失效时前台自动降级不裂图、后台可一键修复)、前台「生活/爱车」双视图(按到期临近排序/筛选)、仪表盘小组件分页与逐条忽略提醒、后台自检面板、隐私脱敏;零系统配置写入、零主题文件写入

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages