5.4 KiB
5.4 KiB
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 |
format: ['esm','cjs'],dist/index.cjs 已生成并通过 require() 验证 |
| BUG-02 | 🟠 | ✅ | useCalendar / CalendarGrid / WeekDayBar / CalendarPage |
settings.weekStartDay 已贯通至 getMonthCalendar(weekStart) 与表头渲染 |
| BUG-03 | 🟡 | ✅ | vite.config.ts / index.html |
lang: zh-CN,theme_color 统一为 #FFFBF5,与 index.html 一致 |
| BUG-04 | 🟡 | ⬜ | HomePage(InfoCard) |
highlight prop 传为布尔值,但渲染时当作 border-primary/30 样式类处理,语义不符(需确认意图) |
| BUG-05 | 🟡 | ✅ | 根 package.json |
|
| BUG-06 | 🟡 | ⬜ | pnpm-workspace.yaml |
allowBuilds 不是 pnpm 标准字段(应为 onlyBuiltDependencies),疑似无效配置 |
| BUG-07 | 🟡 | ✅ | SettingsPage 关于区 |
|
| BUG-08 | 🟡 | ✅ | transformers/day.ts |
|
| BUG-09 | 🟡 | ✅ | CalendarPage.tsx |
todaySummary.di.isToday(恒为 true),改为基于 viewDate 判断是否正在查看今天;已在浏览器实测 |
| BUG-10 | 🟡 | ✅ | DayDetailPage.tsx |
getHours() 返回 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/closeDayDetail 及 activeTab/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 |
移除依赖 |