Files
lunar-mini/web/docs/CHANGELOG.md
T

7.3 KiB
Raw Blame History

变更日志(Changelog

格式参考 Keep a Changelog。版本号遵循 SemVer。

[Unreleased]

文档

  • 新增 docs/ 文档体系:架构(ARCHITECTURE)、需求(REQUIREMENTS)、进度(PROGRESS)、BUGBUGS)、变更日志(CHANGELOG
  • 更新 AGENTS.md / CLAUDE.md:补全新页面/Store/API、修正 PWA 状态、指向文档目录

功能

  • 八字流派切换birthInfoToBazi 新增 ziSect 参数,设置页新增"八字流派"选项(晚子时算次日 23点换日 / 晚子时算当日 0点换日),BaziPage 排盘实时生效;浏览器实测两种流派排出不同日柱/时柱
  • 出生时间选择器:BaziPage 出生时间改为 时/分 下拉选择器(替代不对称的 −/+ 步进),时辰格可点击快速设置时辰
  • 出生地全国化 + 海外时区:出生地列出全国 34 个省级城市(含省会经度真太阳时校正),新增"海外"模式按时区(UTC-12~+14,含半小时时区)将当地出生时间换算为北京时间(UTC+8)排盘;换算与真太阳时校正均按日期运算处理,支持跨日回退(浏览器实测:UTC-5 23:30 → 次日北京 12:30;乌鲁木齐 00:30 真太阳 → 前日 22:20
  • 真太阳时校正开关:设置页新增"真太阳时校正"开关(默认开启);关闭后中国出生按北京时间直接排盘,海外时区换算不受影响(浏览器实测:关闭时乌鲁木齐 00:30 排日柱己酉,开启时排戊申)
  • 宜忌完整显示:引擎本就返回完整黄历宜忌(如 8/3 共 22 条宜),此前首页 slice(0,6) 截断导致显得比别的黄历站少;已放开并标注总数
  • 历法信息增强:DayInfo 新增季节、所处节气/第几天/距下节气天数、儒略日、佛历年(公历+543)、伊斯兰历日期(tyme4ts 原生支持 Hijri),日详情页新增"历法信息"卡片
  • 佛教节日:tyme4ts 无佛教日期支持,新增 getBuddhistFestival(农历 21 个重大佛教节日表),日详情页显示 🪷 徽章
  • 八字神煞:新增 analyzeShensha(22 个常见神煞:天乙/天厨/文昌贵人、禄神、羊刃、金舆、天德/月德贵人、桃花、驿马、华盖、劫煞、亡神、将星、红鸾、天喜、孤辰、寡宿、天罗、地网、魁罡、阴差阳错),八字页新增"神煞"卡片;查法采用主流排盘工具版本(神煞版本差异已在文档注明)
  • 大运/流年生克冲合:新增 analyzeFortuneGanzhi(任意干支 vs 日主:十神、五行生克 生我/我生/克我/我克/比和、天干合冲、地支六合三合冲害刑、吉凶分级);八字页"起运·大运"改为全量 10 个大运并附生克冲合,新增"流年(小运)"10 条卡片
  • 今日流年·流月·流日:八字页新增卡片,用今日年/月/日干支 vs 日主展示生克冲合
  • 大运·流年·流月·流日交互下钻core 新增 getYearMonths(year)(按节气月返回 12 个流月);八字页改为交互浏览器——点选大运 → 流年(按年度切换)→ 流月 12 chips → 该月每日流日列表(带吉凶点与十神),点击日期跳转日详情页;默认定位到当前年份/月份

修复

  • 称骨算命数据表整体修正:年份表改为主流通行版本(原混用两套网络变体错约 40 处);日表修正初五(1两6钱);歌诀补全 2两1钱7两2钱全部 52 条(原缺 5两8钱7两1钱共 8 条,此前这些总重错误取"最近值")
  • 占卜页称骨年索引:改用出生年干支(ec.yearPillar.ganzhi),不再用日干支近似
  • BUG-01:core 包改为同时输出 ESM + CJSexports.require 指向的 dist/index.cjs 现在真实存在并通过 require() 验证
  • BUG-02:周起始设置生效 —— settings.weekStartDay 贯通 useCalendargetMonthCalendar(weekStart)WeekDayBar 表头渲染
  • BUG-03PWA manifest 对齐 —— lang: zh-CNtheme_color 统一为 #FFFBF5(与 index.html 一致)
  • BUG-05:配置 ESLint 9 flat config + typescript-eslintpnpm lint 通过(修复 24 处代码问题)
  • BUG-07:设置页版本号统一为 0.1.0
  • BUG-08:移除 getMonthCalendar 中的死分支
  • BUG-09:日历页"回到今天"浮动按钮恢复正常 —— 原条件 todaySummary.di.isToday 恒为 true 导致按钮永不显示,改为基于 viewDate 判断(浏览器实测:非本月可见、点击返回本月)
  • BUG-10:日详情页时辰列表重复 key 修复 —— 早子/晚子地支均为"子",key 改用唯一的干支(h.ganzhi
  • TECH-06BaziFullResult 新增 solarAdjusted?: boolean 字段,替代 (as any)._solarAdjusted 非类型安全补丁

工程

  • 为 @lunar/core 引入 vitest 单元测试(7 个测试文件 / 29 个用例),覆盖历法转换、八字排盘、每日运势、梅花易数(含 64 卦完整性校验)、称骨、干支关系、五行分析
  • 根与子包新增 test / lint 脚本;根 package.json 标记 "type": "module"
  • 核实梅花卦库为 64/64 完整(此前 review 报告"缺 8 卦"不属实),并以测试固化

已知问题(见 docs/BUGS.md

  • 梅花易数互卦仍为简化实现(上下卦互换)
  • 每日运势当日八字固定取午时;称骨年索引用日干支近似
  • PWA manifest lang/theme_color 不一致;死代码待清理

[0.1.0] - 2026-06-07

首个可用版本(monorepo 初始化于 2026-06-06)。

新增 — @lunar/core

  • 历法转换:getDayInfo / getTodayInfo / getMonthCalendar / solarDayToDayInfo
  • 黄历:getAlmanacInfo / solarDayToAlmanacInfo(含 12 时辰逐时黄历)
  • 八字:birthInfoToBazi(四柱、十神、藏干、十二长生、胎元胎息、命宫身宫、空亡、起运、10 大运、10 流年)
  • 干支关系:getBranchRelationship / getTenStarRelationship / checkStemCombine / checkStemOpposite
  • 五行分析:analyzeElementBalance
  • 每日运势:calculateDailyFortune(四柱打分、宜忌、幸运色/数/方位、分项得分)
  • 占卜:calculatePlumBlossom(梅花易数,56/64 卦)、calculateBoneWeight(袁天罡称骨)

新增 — @lunar/web

  • 路由与骨架:8 页面懒加载、页面过渡动画、ErrorBoundary、Suspense 骨架屏
  • 首页:今日概览、宜忌、运势预览、快捷入口
  • 日历:月/周视图、年/月切换、收藏星标、运势点、滑动切月、日详情页(四柱/黄历/12 时辰/收藏)
  • 八字排盘页:档案管理(最多 3 个,localStorage 持久化)、排盘全览、称骨
  • 每日运势页:日期导航、评分与建议
  • 占卜页:梅花易数今日卦象、称骨
  • 节气页:全年 24 节气
  • 设置页:主题切换(亮/暗/跟随系统)、周起始、阴阳历转换、今日干支
  • 状态管理:Zustand 5 个 storecalendar / user / settings / ui / bookmarks
  • PWAvite-plugin-pwa 集成(autoUpdate + Workbox 预缓存)
  • 设计系统:Tailwind v4 设计令牌(亮/暗主题)、Badge / Button / Card / Skeleton

已知问题(见 docs/BUGS.md

  • core 包 require 导出指向不存在的 dist/index.cjs
  • 周起始设置未生效
  • 梅花易数互卦简化、卦库缺 8 卦;称骨年索引用日干支近似
  • 无自动化测试、无 lint