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

5.4 KiB
Raw Blame History

BUG 记录(Known Issues

最后更新:2026-08-02 严重度:🔴 高(影响功能/构建) · 🟠 中 · 🟡 低 状态: 待修复 · 🔧 修复中 · 已修复

0. 已修复汇总(2026-08-02

  • BUG-01 core CJS 导出 · BUG-02 周起始设置 · BUG-05 lint · BUG-07 版本号 · BUG-08 死分支
  • BUG-03 PWA manifest 与 index.html 对齐(lang=zh-CN、theme_color 统一)
  • BUG-09 日历页"回到今天"按钮永不显示(条件恒为 false)
  • BUG-10 日详情页时辰列表重复 React key(早子/晚子均为"子",改用 ganzhi 作 key
  • TECH-03 更正:梅花卦库实测 64/64 完整(原 review 报告"缺 8 卦"不属实),已添加测试锁定
  • TECH-06 以 solarAdjusted 类型安全字段替代 (as any)._solarAdjusted
  • TECH-04 称骨数据表整体修正(年表主流版本 + 日表初五 + 歌诀 21~72 补全)
  • TECH-05 占卜页称骨年索引改用出生年干支
  • 新增单元测试 50 个(vitest)与 ESLint 配置
  • 功能深化:八字流派/出生地全国化/海外时区/太阳时开关、神煞、大运流年流月流日交互、历法信息、佛教节日(见 CHANGELOG)

1. 已知 BUG

ID 严重度 状态 位置 描述
BUG-01 🟠 packages/core exports.require 指向不存在的 dist/index.cjs → tsup 改为 format: ['esm','cjs']dist/index.cjs 已生成并通过 require() 验证
BUG-02 🟠 useCalendar / CalendarGrid / WeekDayBar / CalendarPage 周一开始设置无效settings.weekStartDay 已贯通至 getMonthCalendar(weekStart) 与表头渲染
BUG-03 🟡 vite.config.ts / index.html PWA manifest lang=en、theme_color 不一致 → manifest 增加 lang: zh-CNtheme_color 统一为 #FFFBF5,与 index.html 一致
BUG-04 🟡 HomePageInfoCard highlight prop 传为布尔值,但渲染时当作 border-primary/30 样式类处理,语义不符(需确认意图)
BUG-05 🟡 package.json pnpm lint 失败 → 已配置 ESLint 9 flat config + typescript-eslint,两个包均通过
BUG-06 🟡 pnpm-workspace.yaml allowBuilds 不是 pnpm 标准字段(应为 onlyBuiltDependencies),疑似无效配置
BUG-07 🟡 SettingsPage 关于区 版本号 v0.2 → 与 package.json 统一为 v0.1.0
BUG-08 🟡 transformers/day.ts getMonthCalendar 死分支 → 已移除 if/else 相同调用
BUG-09 🟡 CalendarPage.tsx "回到今天"按钮永不显示 → 条件误用 todaySummary.di.isToday(恒为 true),改为基于 viewDate 判断是否正在查看今天;已在浏览器实测
BUG-10 🟡 DayDetailPage.tsx 时辰列表重复 React keygetHours() 返回 13 个时辰(早子 00:00 / 晚子 23:00 均为地支"子"),原用 h.branch 作 key 冲突,改为唯一的 h.ganzhi;已在浏览器实测无警告

2. 算法近似 / 技术债

非紧急,但应在后续迭代中改善。

ID 位置 说明
TECH-01 calculators/dailyMatch.ts 当日八字固定取午时(getHours()[6]),无法体现时辰差异
TECH-02 calculators/plumBlossom.ts 互卦为简化实现(上下卦互换),非真·互卦(2-4/3-5 爻法)
TECH-03 calculators/plumBlossom.ts 已核实:数据集 64/64 完整,plumBlossom.test.ts 含完整性校验用例
TECH-04 calculators/boneWeight.ts 已修复:歌诀补全 2两1钱~7两2钱(原缺 5两8钱/5两9钱/6两1钱/6两3钱/6两5钱/6两7钱/6两9钱/7两1钱,此前这些总重会错误地取"最近值");年表已按主流版本整体修正(原混用两套网络变体错约 40 处),日表修正初五重量
TECH-05 DivinationPage 已修复:称骨年索引改用出生年干支(ec.yearPillar.ganzhi),不再用日干支近似
TECH-06 types/bazi.ts 已修复:BaziFullResult 新增 solarAdjusted?: boolean,替代 (as any) 补丁
TECH-07 calculators/elementStrength.ts 五行推断按天干名字映射而非复用 tyme4ts 元素定义(可接受但存在重复逻辑)
TECH-08 lib/utils.ts getChineseDayName / getChineseMonthName 未使用

3. 死代码清单

位置 内容 建议
hooks/useDayDetail.ts 从未被 import 删除或接入 DayDetailPage
hooks/useBazi.ts 从未被 import(本轮仅修复了其 lint 错误) 删除或接入 BaziPage
components/ui/AnimatedPanel.tsx 从未使用 删除或接入日详情弹层
components/ui/Card.tsx CardHeader 未使用 删除导出
components/ui/Skeleton.tsx CalendarSkeleton/BaziSkeleton 未使用 删除
stores/ui.ts toggleSideNav/closeSideNav/setActiveTab/openDayDetail/closeDayDetailactiveTab/showDayDetail 未被消费 精简或接入
stores/settings.ts showLunar/showSolarTerm/showHoliday/eightCharProvider 及对应 toggle 未被读取 接入设置页或删除
stores/calendar.ts weekStart/setWeekStart/clearSelection 未使用(周起始现直接读 settings store 删除
stores/bookmarks.ts getByDate/getByLunarDate 未使用 配合农历收藏规划
lib/utils.ts getChineseDayName/getChineseMonthName 删除
web 依赖 tailwind-variants 从未 import 移除依赖