7.3 KiB
7.3 KiB
变更日志(Changelog)
格式参考 Keep a Changelog。版本号遵循 SemVer。
[Unreleased]
文档
- 新增
docs/文档体系:架构(ARCHITECTURE)、需求(REQUIREMENTS)、进度(PROGRESS)、BUG(BUGS)、变更日志(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 + CJS,
exports.require指向的dist/index.cjs现在真实存在并通过require()验证 - BUG-02:周起始设置生效 ——
settings.weekStartDay贯通useCalendar→getMonthCalendar(weekStart)→WeekDayBar表头渲染 - BUG-03:PWA manifest 对齐 ——
lang: zh-CN,theme_color统一为#FFFBF5(与 index.html 一致) - BUG-05:配置 ESLint 9 flat config + typescript-eslint,
pnpm lint通过(修复 24 处代码问题) - BUG-07:设置页版本号统一为 0.1.0
- BUG-08:移除
getMonthCalendar中的死分支 - BUG-09:日历页"回到今天"浮动按钮恢复正常 —— 原条件
todaySummary.di.isToday恒为 true 导致按钮永不显示,改为基于viewDate判断(浏览器实测:非本月可见、点击返回本月) - BUG-10:日详情页时辰列表重复 key 修复 —— 早子/晚子地支均为"子",key 改用唯一的干支(
h.ganzhi) - TECH-06:
BaziFullResult新增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 个 store(calendar / user / settings / ui / bookmarks)
- PWA:vite-plugin-pwa 集成(autoUpdate + Workbox 预缓存)
- 设计系统:Tailwind v4 设计令牌(亮/暗主题)、Badge / Button / Card / Skeleton
已知问题(见 docs/BUGS.md)
- core 包 require 导出指向不存在的
dist/index.cjs - 周起始设置未生效
- 梅花易数互卦简化、卦库缺 8 卦;称骨年索引用日干支近似
- 无自动化测试、无 lint