# 前端五行报告:普通扶抑简化参考算法 v1 用户确认采用可解释的普通扶抑综合评分。本规则为本产品的确定性参考算法,不是统一命理标准或专业断命依据;只作传统文化娱乐参考。 ## 输入与排盘 - 只使用保存后的公历生日、出生时辰,不使用接口返回的 `elementReport`。 - 使用锁定版本的 `lunar-typescript` 生成四柱和地支藏干;年/月柱沿用库的节气划分。 - 输入按北京时间处理,不转换浏览器时区,不作真太阳时校正。 - 只有时辰时,使用该时辰起始小时(子时23点,丑时1点等);库 `setSect(2)` 约定日柱零点换日。由于缺少具体分钟,节气交界的时辰无法精确划分;不声称处理了分钟级边界。 - 日期支持1900至2100年;非法日期、缺失/非法时辰返回空状态,不伪造默认五行或日主。 ## 组成比例 四个天干各10份,年/日/时支各10份,月支18份。地支分到其藏干:一藏干100%,两藏干70%/30%,三藏干60%/30%/10%,顺序使用历法库藏干顺序。这些份数为产品约定。用最大余数法转换为整数百分比,保证五项之和为100%。 ## 三项评分 1. 得令(40%):以月支主五行作为季节,辰戌丑未简化为土。日主与季节同类为旺100分,季节生日主为相80分,日主生季节为休50分,日主克季节为囚30分,季节克日主为死15分。旺、相标为月令支持。 2. 得地(30%):四支藏干中与日主同五行的份额相加,达到两个完整根计100分,其余按比例计分并封顶100分。有任何同类藏干即标为有根;“有根”不等于“根气充分”。 3. 得势(30%):排除日干本身,计算其他天干和所有地支藏干中印星(生日主)与比劫(同日主)的加权份额占比。月支仍取18份,其他支10份,其他天干10份,占比即评分。达到50%标为生扶力量占优。 总分 = 得令×0.4 + 得地×0.3 + 得势×0.3,四舍五入到整数。该启发式中月令也参与藏干和得势,是刻意强调季节的产品约定,并非三份独立统计样本。 ## 扶抑喜忌 - 小于45分:偏弱。喜生扶,列印星、比劫;忌项为食伤、财、官杀。 - 大于55分:偏强。喜泄耗制衡,列食伤、财、官杀;忌项为印星、比劫。 - 45到55分(含边界):相对平衡,不强行指定喜用/忌用;页面提示保持协调。 此处“喜用”是扶抑方向集合,不进一步判断唯一用神或精确优先级。不包含从格、专旺、化气、合冲刑害、调候、藏干司令天数等;不能把本算法表述为完整八字喜用神体系。 ## 更新与验收 `useDidShow` 重新读取 `GET /api/user/profile` 的个人资料;生日或时辰改变后,`useMemo` 重新计算整份报告。昵称、头像、性别、地点不参与本版计算。加载失败显示重试入口,不退回假资料。保存使用原来的 `PUT /api/user/profile`,无需新增报告接口。 执行 `npm run test:elements`,覆盖强弱反转、藏干根气、无效日期、百分比守恒、时辰变化、节气月份切换和子时换日。构建验证仍需 `tsc --noEmit`、H5与小程序构建。 开发者工具验收:我的→我的元素,检查五项比例、强弱、得令/得地/得势说明;返回修改生日或时辰并保存,再次进入元素页检查四柱和报告。测试平衡命例时,喜忌应显示“暂无明显偏向/偏忌”。