bazi_core 0.6.7
bazi_core: ^0.6.7 copied to clipboard
Dart/Flutter 八字(BaZi)计算库,支持真太阳时、早晚子时配置、农历/阳历转换等功能。
0.6.7 #
- [修复] 切换
TimeAdaptor.fromSolar至sxwnl_spa_dart新增的calcGanZhiAstroDate接口,修复13:00:00等整点因 JD 浮点精度漂移导致时辰判定偏差(午时→未时)的问题。
0.6.6 #
- [新增] 新增八字反查核心接口
BaziReverseLookup,支持按年柱/月柱/日柱反查日期候选。 - [新增] 新增
searchTimesForDate(),支持在日期候选上继续反查时辰,并区分普通子时与晚子时。 - [新增] 新增
searchFullBazi()完整八字反查入口,内部自动串联“先搜日期,再搜时辰”。 - [规则对齐] 节气切换日支持
beforeJie / afterJie双候选,兼容立春、清明等同日切年/月场景。 - [规则对齐] 反查时完整透传
RatHourMode,确保晚子时todayGan / tomorrowGan / noSplit语义与正向排盘一致。 - [测试] 补充立春切年切月、晚子时与完整八字反查回归测试。
0.6.5 #
- [依赖升级] 升级
sxwnl_spa_dart至^0.18.4。 - [历法修复] 同步底层
LunarDate在公元前古历区间与公元后历史改历时期的农历归年修复,确保八字相关农历解析与底层历法一致。
0.6.4 #
- [依赖升级] 升级
sxwnl_spa_dart至^0.18.3。 - [BCE 修复] 同步底层
LunarDate.fromString()的 BCE 农历归年修复,确保公元前日期在八字相关农历解析场景下与底层历法保持一致。
0.6.3 #
- [依赖升级] 升级
sxwnl_spa_dart至^0.18.1。 - [兼容修复] 对齐
sxwnl_spa_dart中LunarDate的天文纪年重大修复与历史纪年辅助 API。
0.6.2 #
- [依赖升级] 升级
sxwnl_spa_dart至^0.18.0,适配天文纪年 breaking change。
0.6.1 #
- [依赖升级] 升级
sxwnl_spa_dart至^0.17.0。
0.6.0 #
- [依赖升级] 升级
sxwnl_spa_dart至^0.16.0,对齐 OpenDestiny 0.1.0 发布。 - [工程化] 切换
sxwnl_spa_dart依赖从本地路径 (path) 改为 pub.dev 云端版本,正式支持独立发布。 - [元数据] 完善
pubspec.yaml:新增repository、issue_tracker、topics以提升 pub.dev 评分与可发现性。
0.5.0 #
- [新增] 完整流运表 (FortuneTable): 新增
FortuneTable类,提供大运 → 流年 → 流月 → 流日 → 流时的完整层级结构。- 流月按节气月划分(立春~惊蛰为正月,以此类推)。
- 流时支持:每个流日包含 12 个时辰的干支(五鼠遁)。
- 早晚子时:支持
splitByRatHour配置,精确处理 23:00-24:00 的晚子时归属(用次日日干)。 - 支持通过虚岁或阳历年快速定位特定流年。
- [导出] 导出
Fortune类: 在bazi_core.dart中导出Fortune,方便用户构建流运表。
0.4.5 #
- [依赖更新] 升级
sxwnl_spa_dart依赖至^0.15.1。
0.4.4 #
- [新增] 支持命宫、身宫、胎元、胎息(“附加柱”)参与刑冲克害计算与神煞分析。
- [配置化] 引入
ExtraPillarsConfig,允许用户灵活控制哪些附加柱参与计算(默认关闭以保持原局纯净)。 - [导出增强] 在
bazi_core.dart中导出ExtraPillarsConfig和AstroDateTime,简化外部调用。 - [修复] 修正
interaction_example.dart的测试代码告警。
0.4.3 #
- [新增] 实现“人元司令” (Ren Yuan Si Ling) 计算逻辑,并集成至
BaziChart.siLing。 - [多版本支持] 提供两个版本的人元司令分野表:
sanMingTongHui: 严格遵循《三命通会》原著天数分布(如寅月 5-5-20)。common: 适配网络流传及商业排盘常用天数分布(如寅月 7-7-16)。
- [算法对齐] 经过大量实测对比,人元司令采用精确24小时(从节气时刻起算)的偏移算法(注:针对某些月份存在的非标准天数偏差,已在代码中详细注释说明)。
- [代码规范] 完善了
si_ling.dart的文档注释,包含《三命通会》原文引用。
0.4.2 #
- [重大修复] 修正命宫与身宫计算逻辑:
- 修复了命宫与身宫的地支推算公式,确保完全符合《三命通会》等传统推排规则。
- 修复了“五虎遁”(年上起月)在推算子位与丑位天干时的偏移计算错误(解决 2000 年等案例身宫天干不准的问题)。
- 移除了试验性的“过中气换月”逻辑,改回使用八字月柱地支进行直接推算,以保持与主流平台一致。
- 在代码中增加《三命通会》原文注释,方便逻辑核验。
0.4.1 #
- 新增胎息计算: 在
BaziChart中增加taiXi属性,支持计算日柱的天地双合(胎息)。 - 新增干支合伴查询: 在
BaziTable中增加getStemCombinationPartner和getBranchCombinationPartner辅助方法。
0.4.0 #
- 新增神煞分析系统: 引入
ShenShaHelper和ShenShaInfo,支持全盘神煞检测(实验性功能)。 - 支持多层级岁运分析: 可检测流年、流月、流日、流时的神煞信息。
- 内置大量常见神煞: 包含天乙贵人、驿马、桃花、魁罡、天罗地网等多种神煞规则。
- 修复与优化: 修正了部分干支字符串解析问题,并统一了命名规范。
0.3.0 #
- 新增刑冲合害等计算: 引入
BaziInteractionCalculator,支持全面的干支感应计算。 - 支持多柱全量判定: 打破原局四柱限制,支持将大运、流年、流月等干支统一进行刑冲合害计算,精准处理争合、多冲一等复杂命理意象。
- 高级抑制逻辑: 实现“大局压制小局”算法(如:三合全自动抑制半合/拱合,三刑全抑制两两相刑),确保输出结果精炼无冗余。
- 感应合并机制: 自动合并重复干支产生的同类感应(如:二子冲一午),有效减少 UI 连线过载。
- 模型增强: 引入
InteractionNode和InteractionResult模型,支持PillarType位置标记及合化五行结果输出。 - API 集成: 在
BaziChart中新增getAllInteractions和getInteractionsWith方法,实现一键获取排盘分析结果。
0.2.0 #
- 新增核心属性查询: 引入
BaziTable,支持高性能天干地支的五行、阴阳、地支藏干属性查询。 - 新增十神计算引擎: 引入
Relationship类,支持根据日干计算天干及地支藏干的十神(ShiShen)关系。 - 新增长生十二神: 支持计算长生、沐浴等十二种生命状态,并内置“火土同宫/水土同宫”算法切换开关。
- 架构升级: 采用静态查找表设计,替换 extension 模式,提升库的可移植性及跨语言移植潜力。
- 导出补全: 完善
bazi_core.dart导出,确保新功能全局可用。
0.1.3 #
- 升级依赖
sxwnl_spa_dart至0.10.0 - 移除重复的模型文件,直接复用
sxwnl_spa_dart的实现
0.1.2 #
- 升级依赖
sxwnl_spa_dart至0.9.7以修复节气计算问题
0.1.1 #
- GanZhi 新增 getKongWang
- 修复分析器告警并补充测试
0.1.0 #
- 新增八字大运功能
- 支持大运起运时间计算
- 支持查看任意步大运信息
- 新增 Gender 和 DaYunAlgorithm 枚举
0.0.1 #
- 初始版本
- 八字(四柱)计算
- 真太阳时计算
- 早晚子时配置
- 农历与阳历相互转换