mingpan 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +120 -47
- package/dist/core/bazi/BaziCore.d.ts +7 -1
- package/dist/core/bazi/BaziCore.d.ts.map +1 -1
- package/dist/core/bazi/BaziCore.js +37 -11
- package/dist/core/bazi/BaziCore.js.map +1 -1
- package/dist/core/bazi/types.d.ts +4 -0
- package/dist/core/bazi/types.d.ts.map +1 -1
- package/dist/core/qimen/FlyingRule.d.ts +60 -0
- package/dist/core/qimen/FlyingRule.d.ts.map +1 -0
- package/dist/core/qimen/FlyingRule.js +94 -0
- package/dist/core/qimen/FlyingRule.js.map +1 -0
- package/dist/core/qimen/GongMapping.d.ts +29 -0
- package/dist/core/qimen/GongMapping.d.ts.map +1 -0
- package/dist/core/qimen/GongMapping.js +83 -0
- package/dist/core/qimen/GongMapping.js.map +1 -0
- package/dist/core/qimen/RotatingRule.d.ts +76 -0
- package/dist/core/qimen/RotatingRule.d.ts.map +1 -0
- package/dist/core/qimen/RotatingRule.js +126 -0
- package/dist/core/qimen/RotatingRule.js.map +1 -0
- package/dist/core/qimen/YinYangDunCalculator.d.ts +28 -0
- package/dist/core/qimen/YinYangDunCalculator.d.ts.map +1 -0
- package/dist/core/qimen/YinYangDunCalculator.js +79 -0
- package/dist/core/qimen/YinYangDunCalculator.js.map +1 -0
- package/dist/core/qimen/index.d.ts +10 -0
- package/dist/core/qimen/index.d.ts.map +1 -0
- package/dist/core/qimen/index.js +58 -0
- package/dist/core/qimen/index.js.map +1 -0
- package/dist/core/qimen/types.d.ts +19 -0
- package/dist/core/qimen/types.d.ts.map +1 -0
- package/dist/core/qimen/types.js +7 -0
- package/dist/core/qimen/types.js.map +1 -0
- package/dist/index.d.ts +10 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -1311
- package/dist/index.js.map +1 -1
- package/dist/output/fortuneTextRenderer.d.ts +8 -7
- package/dist/output/fortuneTextRenderer.d.ts.map +1 -1
- package/dist/output/fortuneTextRenderer.js +83 -21
- package/dist/output/fortuneTextRenderer.js.map +1 -1
- package/dist/output/qimenTextRenderer.d.ts +36 -0
- package/dist/output/qimenTextRenderer.d.ts.map +1 -0
- package/dist/output/qimenTextRenderer.js +230 -0
- package/dist/output/qimenTextRenderer.js.map +1 -0
- package/dist/server.d.ts +11 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +33 -0
- package/dist/server.js.map +1 -0
- package/dist/services/bazi/BaziService.d.ts +1 -17
- package/dist/services/bazi/BaziService.d.ts.map +1 -1
- package/dist/services/bazi/BaziService.js +9 -194
- package/dist/services/bazi/BaziService.js.map +1 -1
- package/dist/services/bazi/analyzers/TenGodsAnalyzer.js +12 -12
- package/dist/services/bazi/analyzers/TenGodsAnalyzer.js.map +1 -1
- package/dist/services/bazi/index.d.ts +0 -2
- package/dist/services/bazi/index.d.ts.map +1 -1
- package/dist/services/bazi/index.js +1 -5
- package/dist/services/bazi/index.js.map +1 -1
- package/dist/services/bazi/types.d.ts +4 -112
- package/dist/services/bazi/types.d.ts.map +1 -1
- package/dist/services/bazi/types.js +3 -102
- package/dist/services/bazi/types.js.map +1 -1
- package/dist/services/daliuren/DaliurenService.d.ts +11 -1
- package/dist/services/daliuren/DaliurenService.d.ts.map +1 -1
- package/dist/services/daliuren/DaliurenService.js +30 -0
- package/dist/services/daliuren/DaliurenService.js.map +1 -1
- package/dist/services/daliuren/calculators/TianDiPanCalculator.d.ts.map +1 -1
- package/dist/services/daliuren/calculators/TianDiPanCalculator.js +3 -4
- package/dist/services/daliuren/calculators/TianDiPanCalculator.js.map +1 -1
- package/dist/services/daliuren/data/constants.d.ts +7 -0
- package/dist/services/daliuren/data/constants.d.ts.map +1 -1
- package/dist/services/daliuren/data/constants.js +17 -1
- package/dist/services/daliuren/data/constants.js.map +1 -1
- package/dist/services/daliuren/types.d.ts +13 -0
- package/dist/services/daliuren/types.d.ts.map +1 -1
- package/dist/services/meihua/calculators/TiyongCalculator.d.ts.map +1 -1
- package/dist/services/meihua/calculators/TiyongCalculator.js +6 -5
- package/dist/services/meihua/calculators/TiyongCalculator.js.map +1 -1
- package/dist/services/qimen/QimenService.d.ts +76 -0
- package/dist/services/qimen/QimenService.d.ts.map +1 -0
- package/dist/services/qimen/QimenService.js +393 -0
- package/dist/services/qimen/QimenService.js.map +1 -0
- package/dist/services/qimen/calculators/BaMenCalculator.d.ts +45 -0
- package/dist/services/qimen/calculators/BaMenCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/BaMenCalculator.js +87 -0
- package/dist/services/qimen/calculators/BaMenCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/BaShenCalculator.d.ts +34 -0
- package/dist/services/qimen/calculators/BaShenCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/BaShenCalculator.js +57 -0
- package/dist/services/qimen/calculators/BaShenCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/GeJuCalculator.d.ts +141 -0
- package/dist/services/qimen/calculators/GeJuCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/GeJuCalculator.js +711 -0
- package/dist/services/qimen/calculators/GeJuCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/JiuGongCalculator.d.ts +49 -0
- package/dist/services/qimen/calculators/JiuGongCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/JiuGongCalculator.js +68 -0
- package/dist/services/qimen/calculators/JiuGongCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/JiuXingCalculator.d.ts +44 -0
- package/dist/services/qimen/calculators/JiuXingCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/JiuXingCalculator.js +72 -0
- package/dist/services/qimen/calculators/JiuXingCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/JuShuCalculator.d.ts +60 -0
- package/dist/services/qimen/calculators/JuShuCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/JuShuCalculator.js +110 -0
- package/dist/services/qimen/calculators/JuShuCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/PanTypeCalculator.d.ts +117 -0
- package/dist/services/qimen/calculators/PanTypeCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/PanTypeCalculator.js +237 -0
- package/dist/services/qimen/calculators/PanTypeCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/SanQiLiuYiCalculator.d.ts +41 -0
- package/dist/services/qimen/calculators/SanQiLiuYiCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/SanQiLiuYiCalculator.js +73 -0
- package/dist/services/qimen/calculators/SanQiLiuYiCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/ShenShaCalculator.d.ts +80 -0
- package/dist/services/qimen/calculators/ShenShaCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/ShenShaCalculator.js +300 -0
- package/dist/services/qimen/calculators/ShenShaCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/YongShenCalculator.d.ts +78 -0
- package/dist/services/qimen/calculators/YongShenCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/YongShenCalculator.js +497 -0
- package/dist/services/qimen/calculators/YongShenCalculator.js.map +1 -0
- package/dist/services/qimen/calculators/ZhuanPanCalculator.d.ts +111 -0
- package/dist/services/qimen/calculators/ZhuanPanCalculator.d.ts.map +1 -0
- package/dist/services/qimen/calculators/ZhuanPanCalculator.js +232 -0
- package/dist/services/qimen/calculators/ZhuanPanCalculator.js.map +1 -0
- package/dist/services/qimen/data/constants.d.ts +105 -0
- package/dist/services/qimen/data/constants.d.ts.map +1 -0
- package/dist/services/qimen/data/constants.js +295 -0
- package/dist/services/qimen/data/constants.js.map +1 -0
- package/dist/services/qimen/data/shensha-rules.d.ts +177 -0
- package/dist/services/qimen/data/shensha-rules.d.ts.map +1 -0
- package/dist/services/qimen/data/shensha-rules.js +397 -0
- package/dist/services/qimen/data/shensha-rules.js.map +1 -0
- package/dist/services/qimen/data/yongshen-rules.d.ts +115 -0
- package/dist/services/qimen/data/yongshen-rules.d.ts.map +1 -0
- package/dist/services/qimen/data/yongshen-rules.js +365 -0
- package/dist/services/qimen/data/yongshen-rules.js.map +1 -0
- package/dist/services/qimen/index.d.ts +20 -0
- package/dist/services/qimen/index.d.ts.map +1 -0
- package/dist/services/qimen/index.js +43 -0
- package/dist/services/qimen/index.js.map +1 -0
- package/dist/services/qimen/types.d.ts +316 -0
- package/dist/services/qimen/types.d.ts.map +1 -0
- package/dist/services/qimen/types.js +21 -0
- package/dist/services/qimen/types.js.map +1 -0
- package/dist/services/qimen/utils/gongUtils.d.ts +80 -0
- package/dist/services/qimen/utils/gongUtils.d.ts.map +1 -0
- package/dist/services/qimen/utils/gongUtils.js +164 -0
- package/dist/services/qimen/utils/gongUtils.js.map +1 -0
- package/dist/shared/logger.d.ts +5 -0
- package/dist/shared/logger.d.ts.map +1 -1
- package/dist/shared/logger.js +11 -4
- package/dist/shared/logger.js.map +1 -1
- package/dist/tools/baziTools.d.ts +13 -0
- package/dist/tools/baziTools.d.ts.map +1 -0
- package/dist/tools/baziTools.js +331 -0
- package/dist/tools/baziTools.js.map +1 -0
- package/dist/tools/divinationTools.d.ts +9 -0
- package/dist/tools/divinationTools.d.ts.map +1 -0
- package/dist/tools/divinationTools.js +209 -0
- package/dist/tools/divinationTools.js.map +1 -0
- package/dist/tools/qimenTools.d.ts +10 -0
- package/dist/tools/qimenTools.d.ts.map +1 -0
- package/dist/tools/qimenTools.js +132 -0
- package/dist/tools/qimenTools.js.map +1 -0
- package/dist/tools/schemas.d.ts +99 -0
- package/dist/tools/schemas.d.ts.map +1 -0
- package/dist/tools/schemas.js +162 -0
- package/dist/tools/schemas.js.map +1 -0
- package/dist/tools/ziweiTools.d.ts +14 -0
- package/dist/tools/ziweiTools.d.ts.map +1 -0
- package/dist/tools/ziweiTools.js +483 -0
- package/dist/tools/ziweiTools.js.map +1 -0
- package/dist/utils/timeNormalization.d.ts +42 -17
- package/dist/utils/timeNormalization.d.ts.map +1 -1
- package/dist/utils/timeNormalization.js +99 -41
- package/dist/utils/timeNormalization.js.map +1 -1
- package/package.json +15 -9
- package/dist/services/bazi/analyzers/HiddenStemsAnalyzer.d.ts +0 -16
- package/dist/services/bazi/analyzers/HiddenStemsAnalyzer.d.ts.map +0 -1
- package/dist/services/bazi/analyzers/HiddenStemsAnalyzer.js +0 -60
- package/dist/services/bazi/analyzers/HiddenStemsAnalyzer.js.map +0 -1
- package/dist/services/bazi/analyzers/NaYinAnalyzer.d.ts +0 -33
- package/dist/services/bazi/analyzers/NaYinAnalyzer.d.ts.map +0 -1
- package/dist/services/bazi/analyzers/NaYinAnalyzer.js +0 -209
- package/dist/services/bazi/analyzers/NaYinAnalyzer.js.map +0 -1
- package/dist/services/bazi/analyzers/ShenShaAnalyzer.d.ts +0 -236
- package/dist/services/bazi/analyzers/ShenShaAnalyzer.d.ts.map +0 -1
- package/dist/services/bazi/analyzers/ShenShaAnalyzer.js +0 -2079
- package/dist/services/bazi/analyzers/ShenShaAnalyzer.js.map +0 -1
- package/dist/services/bazi/analyzers/TraditionalAnalyzer.d.ts +0 -46
- package/dist/services/bazi/analyzers/TraditionalAnalyzer.d.ts.map +0 -1
- package/dist/services/bazi/analyzers/TraditionalAnalyzer.js +0 -260
- package/dist/services/bazi/analyzers/TraditionalAnalyzer.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GeJuCalculator.js","sourceRoot":"","sources":["../../../../src/services/qimen/calculators/GeJuCalculator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 九宫计算器
|
|
3
|
+
* 计算地盘布局(三奇六仪在九宫中的分布)
|
|
4
|
+
*/
|
|
5
|
+
import type { GongWei, JuShu, TianGan, YinYangDun } from '../types';
|
|
6
|
+
export interface DiPanResult {
|
|
7
|
+
/** 各宫地盘干 (宫位 -> 干) */
|
|
8
|
+
gongGan: Record<GongWei, TianGan>;
|
|
9
|
+
/** 干找宫位映射 (干 -> 宫位) */
|
|
10
|
+
ganGong: Record<TianGan, GongWei>;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* 九宫计算器
|
|
14
|
+
* 负责计算地盘布局(三奇六仪的分布)
|
|
15
|
+
*/
|
|
16
|
+
export declare class JiuGongCalculator {
|
|
17
|
+
/**
|
|
18
|
+
* 计算地盘布局
|
|
19
|
+
* @param juShu 局数 (1-9)
|
|
20
|
+
* @param yinYangDun 阴阳遁
|
|
21
|
+
* @returns 地盘各宫的干
|
|
22
|
+
*
|
|
23
|
+
* 原理:
|
|
24
|
+
* - 阳遁:从局数对应的宫位开始,按宫位数字顺序(1→2→…→9→1)顺布戊己庚辛壬癸丁丙乙
|
|
25
|
+
* - 阴遁:从局数对应的宫位开始,按宫位数字逆序(1→9→…→2→1)顺布戊己庚辛壬癸丁丙乙
|
|
26
|
+
* - 落入中五宫的干寄坤二宫(查询时换算,显示时仍在中宫)
|
|
27
|
+
*
|
|
28
|
+
* 例如阳遁一局:戊-坎1, 己-坤2, 庚-震3, 辛-巽4, 壬-中5(寄坤2), 癸-乾6, 丁-兑7, 丙-艮8, 乙-离9
|
|
29
|
+
* 例如阴遁九局:戊-离9, 己-艮8, 庚-兑7, 辛-乾6, 壬-中5(寄坤2), 癸-巽4, 丁-震3, 丙-坤2, 乙-坎1
|
|
30
|
+
*
|
|
31
|
+
* 参照:《神奇之门》、kentang2017/kinqimen pan_earth(MIT)
|
|
32
|
+
*/
|
|
33
|
+
static calculate(juShu: JuShu, yinYangDun: YinYangDun): DiPanResult;
|
|
34
|
+
/**
|
|
35
|
+
* 根据天干找落宫
|
|
36
|
+
* @param diPan 地盘信息
|
|
37
|
+
* @param gan 要查找的天干
|
|
38
|
+
* @returns 该天干所在的宫位
|
|
39
|
+
*/
|
|
40
|
+
static findGongByGan(ganGong: Record<TianGan, GongWei>, gan: TianGan): GongWei;
|
|
41
|
+
/**
|
|
42
|
+
* 根据宫位找天干
|
|
43
|
+
* @param gongGan 地盘各宫的干
|
|
44
|
+
* @param gong 宫位
|
|
45
|
+
* @returns 该宫位的天干
|
|
46
|
+
*/
|
|
47
|
+
static findGanByGong(gongGan: Record<GongWei, TianGan>, gong: GongWei): TianGan;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=JiuGongCalculator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JiuGongCalculator.d.ts","sourceRoot":"","sources":["../../../../src/services/qimen/calculators/JiuGongCalculator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAMpE,MAAM,WAAW,WAAW;IAC1B,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClC,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,GAAG,WAAW;IAoBnE;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO;IAM9E;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO;CAGhF"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* 九宫计算器
|
|
4
|
+
* 计算地盘布局(三奇六仪在九宫中的分布)
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.JiuGongCalculator = void 0;
|
|
8
|
+
const constants_1 = require("../data/constants");
|
|
9
|
+
/**
|
|
10
|
+
* 九宫计算器
|
|
11
|
+
* 负责计算地盘布局(三奇六仪的分布)
|
|
12
|
+
*/
|
|
13
|
+
class JiuGongCalculator {
|
|
14
|
+
/**
|
|
15
|
+
* 计算地盘布局
|
|
16
|
+
* @param juShu 局数 (1-9)
|
|
17
|
+
* @param yinYangDun 阴阳遁
|
|
18
|
+
* @returns 地盘各宫的干
|
|
19
|
+
*
|
|
20
|
+
* 原理:
|
|
21
|
+
* - 阳遁:从局数对应的宫位开始,按宫位数字顺序(1→2→…→9→1)顺布戊己庚辛壬癸丁丙乙
|
|
22
|
+
* - 阴遁:从局数对应的宫位开始,按宫位数字逆序(1→9→…→2→1)顺布戊己庚辛壬癸丁丙乙
|
|
23
|
+
* - 落入中五宫的干寄坤二宫(查询时换算,显示时仍在中宫)
|
|
24
|
+
*
|
|
25
|
+
* 例如阳遁一局:戊-坎1, 己-坤2, 庚-震3, 辛-巽4, 壬-中5(寄坤2), 癸-乾6, 丁-兑7, 丙-艮8, 乙-离9
|
|
26
|
+
* 例如阴遁九局:戊-离9, 己-艮8, 庚-兑7, 辛-乾6, 壬-中5(寄坤2), 癸-巽4, 丁-震3, 丙-坤2, 乙-坎1
|
|
27
|
+
*
|
|
28
|
+
* 参照:《神奇之门》、kentang2017/kinqimen pan_earth(MIT)
|
|
29
|
+
*/
|
|
30
|
+
static calculate(juShu, yinYangDun) {
|
|
31
|
+
const isYang = yinYangDun === '阳遁';
|
|
32
|
+
const gongGan = {};
|
|
33
|
+
const ganGong = {};
|
|
34
|
+
// 起始宫位就是局数
|
|
35
|
+
const startGong = juShu;
|
|
36
|
+
// 遍历九个干(三奇六仪),按宫位数字飞布
|
|
37
|
+
for (let i = 0; i < 9; i++) {
|
|
38
|
+
const gan = constants_1.SAN_QI_LIU_YI[i];
|
|
39
|
+
const offset = isYang ? i : -i;
|
|
40
|
+
const gong = (((startGong - 1 + offset) % 9) + 9) % 9 + 1;
|
|
41
|
+
gongGan[gong] = gan;
|
|
42
|
+
ganGong[gan] = gong;
|
|
43
|
+
}
|
|
44
|
+
return { gongGan, ganGong };
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* 根据天干找落宫
|
|
48
|
+
* @param diPan 地盘信息
|
|
49
|
+
* @param gan 要查找的天干
|
|
50
|
+
* @returns 该天干所在的宫位
|
|
51
|
+
*/
|
|
52
|
+
static findGongByGan(ganGong, gan) {
|
|
53
|
+
const gong = ganGong[gan];
|
|
54
|
+
// 如果在中宫,返回寄宫
|
|
55
|
+
return gong === 5 ? constants_1.ZHONG_GONG_JI : gong;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* 根据宫位找天干
|
|
59
|
+
* @param gongGan 地盘各宫的干
|
|
60
|
+
* @param gong 宫位
|
|
61
|
+
* @returns 该宫位的天干
|
|
62
|
+
*/
|
|
63
|
+
static findGanByGong(gongGan, gong) {
|
|
64
|
+
return gongGan[gong];
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.JiuGongCalculator = JiuGongCalculator;
|
|
68
|
+
//# sourceMappingURL=JiuGongCalculator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JiuGongCalculator.js","sourceRoot":"","sources":["../../../../src/services/qimen/calculators/JiuGongCalculator.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,iDAG2B;AAS3B;;;GAGG;AACH,MAAa,iBAAiB;IAC5B;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,SAAS,CAAC,KAAY,EAAE,UAAsB;QACnD,MAAM,MAAM,GAAG,UAAU,KAAK,IAAI,CAAC;QACnC,MAAM,OAAO,GAA6B,EAA8B,CAAC;QACzE,MAAM,OAAO,GAA6B,EAA8B,CAAC;QAEzE,WAAW;QACX,MAAM,SAAS,GAAW,KAAK,CAAC;QAEhC,sBAAsB;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,yBAAa,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1D,OAAO,CAAC,IAAe,CAAC,GAAG,GAAG,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,IAAe,CAAC;QACjC,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,OAAiC,EAAE,GAAY;QAClE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1B,aAAa;QACb,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,yBAAa,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,OAAiC,EAAE,IAAa;QACnE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;CACF;AA1DD,8CA0DC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 九星计算器(飞盘式)
|
|
3
|
+
* 计算九星在九宫中的飞布
|
|
4
|
+
*/
|
|
5
|
+
import type { GongWei, JiuXing, YinYangDun } from '../types';
|
|
6
|
+
export interface JiuXingResult {
|
|
7
|
+
/** 各宫九星 (宫位 -> 星) */
|
|
8
|
+
gongXing: Record<GongWei, JiuXing>;
|
|
9
|
+
/** 值符星 */
|
|
10
|
+
zhiFuXing: JiuXing;
|
|
11
|
+
/** 值符星原始宫位 */
|
|
12
|
+
zhiFuGong: GongWei;
|
|
13
|
+
/** 值符星落宫 */
|
|
14
|
+
zhiFuLuoGong: GongWei;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* 九星计算器(飞盘式)
|
|
18
|
+
* 负责计算九星的飞布
|
|
19
|
+
*/
|
|
20
|
+
export declare class JiuXingCalculator {
|
|
21
|
+
/**
|
|
22
|
+
* 计算飞盘式九星布局
|
|
23
|
+
* @param xunShouGong 旬首遁干在地盘的宫位(值符星原始宫)
|
|
24
|
+
* @param shiGanLuoGong 参考干(时干等,甲用旬首仪)的地盘落宫
|
|
25
|
+
* @param yinYangDun 阴阳遁
|
|
26
|
+
* @returns 九星布局
|
|
27
|
+
*
|
|
28
|
+
* 原理(飞盘式):
|
|
29
|
+
* 1. 值符星 = 旬首遁干原始宫对应的星(中五宫为天禽)
|
|
30
|
+
* 2. 值符星随时干:飞到参考干落宫
|
|
31
|
+
* 3. 其余诸星按九星原始序(蓬芮冲辅禽心柱任英,即原始宫数字序)
|
|
32
|
+
* 自值符星起,按宫位数字顺序飞布,阳遁顺飞、阴遁逆飞
|
|
33
|
+
*/
|
|
34
|
+
static calculate(xunShouGong: GongWei, shiGanLuoGong: GongWei, yinYangDun: YinYangDun): JiuXingResult;
|
|
35
|
+
/**
|
|
36
|
+
* 根据宫位获取原始星
|
|
37
|
+
*/
|
|
38
|
+
private static getXingByGong;
|
|
39
|
+
/**
|
|
40
|
+
* 根据宫位找星
|
|
41
|
+
*/
|
|
42
|
+
static findXingByGong(gongXing: Record<GongWei, JiuXing>, gong: GongWei): JiuXing;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=JiuXingCalculator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JiuXingCalculator.d.ts","sourceRoot":"","sources":["../../../../src/services/qimen/calculators/JiuXingCalculator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAM7D,MAAM,WAAW,aAAa;IAC5B,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACnC,UAAU;IACV,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY;IACZ,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,SAAS,CACd,WAAW,EAAE,OAAO,EACpB,aAAa,EAAE,OAAO,EACtB,UAAU,EAAE,UAAU,GACrB,aAAa;IA2BhB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAe5B;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO;CAGlF"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* 九星计算器(飞盘式)
|
|
4
|
+
* 计算九星在九宫中的飞布
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.JiuXingCalculator = void 0;
|
|
8
|
+
const constants_1 = require("../data/constants");
|
|
9
|
+
/**
|
|
10
|
+
* 九星计算器(飞盘式)
|
|
11
|
+
* 负责计算九星的飞布
|
|
12
|
+
*/
|
|
13
|
+
class JiuXingCalculator {
|
|
14
|
+
/**
|
|
15
|
+
* 计算飞盘式九星布局
|
|
16
|
+
* @param xunShouGong 旬首遁干在地盘的宫位(值符星原始宫)
|
|
17
|
+
* @param shiGanLuoGong 参考干(时干等,甲用旬首仪)的地盘落宫
|
|
18
|
+
* @param yinYangDun 阴阳遁
|
|
19
|
+
* @returns 九星布局
|
|
20
|
+
*
|
|
21
|
+
* 原理(飞盘式):
|
|
22
|
+
* 1. 值符星 = 旬首遁干原始宫对应的星(中五宫为天禽)
|
|
23
|
+
* 2. 值符星随时干:飞到参考干落宫
|
|
24
|
+
* 3. 其余诸星按九星原始序(蓬芮冲辅禽心柱任英,即原始宫数字序)
|
|
25
|
+
* 自值符星起,按宫位数字顺序飞布,阳遁顺飞、阴遁逆飞
|
|
26
|
+
*/
|
|
27
|
+
static calculate(xunShouGong, shiGanLuoGong, yinYangDun) {
|
|
28
|
+
const isYang = yinYangDun === '阳遁';
|
|
29
|
+
// 1. 确定值符星(旬首落宫对应的星)
|
|
30
|
+
const zhiFuXing = this.getXingByGong(xunShouGong);
|
|
31
|
+
const zhiFuGong = constants_1.JIU_XING_GONG[zhiFuXing];
|
|
32
|
+
// 2. 飞布序列:自值符星起,按九星原始序循环
|
|
33
|
+
const zhiFuIdx = constants_1.JIU_XING_ORDER.indexOf(zhiFuXing);
|
|
34
|
+
const flyOrder = constants_1.JIU_XING_ORDER.slice(zhiFuIdx).concat(constants_1.JIU_XING_ORDER.slice(0, zhiFuIdx));
|
|
35
|
+
// 3. 从参考干落宫起飞布(阳顺阴逆,宫位数字序)
|
|
36
|
+
const gongXing = {};
|
|
37
|
+
for (let i = 0; i < 9; i++) {
|
|
38
|
+
const offset = isYang ? i : -i;
|
|
39
|
+
const gong = (((shiGanLuoGong - 1 + offset) % 9) + 9) % 9 + 1;
|
|
40
|
+
gongXing[gong] = flyOrder[i];
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
gongXing,
|
|
44
|
+
zhiFuXing,
|
|
45
|
+
zhiFuGong,
|
|
46
|
+
zhiFuLuoGong: shiGanLuoGong,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* 根据宫位获取原始星
|
|
51
|
+
*/
|
|
52
|
+
static getXingByGong(gong) {
|
|
53
|
+
for (const [xing, xingGong] of Object.entries(constants_1.JIU_XING_GONG)) {
|
|
54
|
+
if (xingGong === gong) {
|
|
55
|
+
return xing;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
// 中宫为天禽
|
|
59
|
+
if (gong === 5) {
|
|
60
|
+
return '禽';
|
|
61
|
+
}
|
|
62
|
+
return '芮'; // 默认天芮
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* 根据宫位找星
|
|
66
|
+
*/
|
|
67
|
+
static findXingByGong(gongXing, gong) {
|
|
68
|
+
return gongXing[gong];
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.JiuXingCalculator = JiuXingCalculator;
|
|
72
|
+
//# sourceMappingURL=JiuXingCalculator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JiuXingCalculator.js","sourceRoot":"","sources":["../../../../src/services/qimen/calculators/JiuXingCalculator.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,iDAG2B;AAa3B;;;GAGG;AACH,MAAa,iBAAiB;IAC5B;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,SAAS,CACd,WAAoB,EACpB,aAAsB,EACtB,UAAsB;QAEtB,MAAM,MAAM,GAAG,UAAU,KAAK,IAAI,CAAC;QAEnC,qBAAqB;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,yBAAa,CAAC,SAAS,CAAC,CAAC;QAE3C,yBAAyB;QACzB,MAAM,QAAQ,GAAG,0BAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,0BAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,0BAAc,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;QAE1F,2BAA2B;QAC3B,MAAM,QAAQ,GAA6B,EAA8B,CAAC;QAC1E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9D,QAAQ,CAAC,IAAe,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO;YACL,QAAQ;YACR,SAAS;YACT,SAAS;YACT,YAAY,EAAE,aAAa;SAC5B,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,aAAa,CAAC,IAAa;QACxC,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,yBAAa,CAAC,EAAE,CAAC;YAC7D,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtB,OAAO,IAAe,CAAC;YACzB,CAAC;QACH,CAAC;QAED,QAAQ;QACR,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,OAAO,GAAG,CAAC;QACb,CAAC;QAED,OAAO,GAAG,CAAC,CAAC,OAAO;IACrB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,QAAkC,EAAE,IAAa;QACrE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;CACF;AArED,8CAqEC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 局数计算器
|
|
3
|
+
* 根据节气和置闰法确定阴阳遁和局数
|
|
4
|
+
*/
|
|
5
|
+
import type { JuShu, YinYangDun, YuanType, ZhiRunMethod } from '../types';
|
|
6
|
+
export interface JuShuResult {
|
|
7
|
+
/** 阴阳遁 */
|
|
8
|
+
yinYangDun: YinYangDun;
|
|
9
|
+
/** 局数 (1-9) */
|
|
10
|
+
juShu: JuShu;
|
|
11
|
+
/** 上中下元 */
|
|
12
|
+
yuan: YuanType;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* 局数计算器
|
|
16
|
+
*/
|
|
17
|
+
export declare class JuShuCalculator {
|
|
18
|
+
/**
|
|
19
|
+
* 计算局数
|
|
20
|
+
* @param jieQi 当前节气名称
|
|
21
|
+
* @param dayGanZhi 日干支
|
|
22
|
+
* @param method 置闰方法
|
|
23
|
+
* @param jieQiDate 节气开始日期 (茅山法需要)
|
|
24
|
+
* @param currentDate 当前日期 (茅山法需要)
|
|
25
|
+
*/
|
|
26
|
+
static calculate(jieQi: string, dayGanZhi: string, method: ZhiRunMethod, jieQiDate?: Date, currentDate?: Date): JuShuResult;
|
|
27
|
+
/**
|
|
28
|
+
* 拆补法计算上中下元
|
|
29
|
+
* 根据日干支的符头(五日一元,元首为甲日或己日)确定上中下元
|
|
30
|
+
*
|
|
31
|
+
* 原理:
|
|
32
|
+
* - 六十甲子按五日一组,各组首日(甲/己日)为符头
|
|
33
|
+
* - 符头地支为四仲(子午卯酉)者为上元:甲子、甲午、己卯、己酉
|
|
34
|
+
* - 符头地支为四孟(寅申巳亥)者为中元:甲寅、甲申、己巳、己亥
|
|
35
|
+
* - 符头地支为四季(辰戌丑未)者为下元:甲辰、甲戌、己丑、己未
|
|
36
|
+
* - 节气内十五天被三元「拆开补齐」,故称拆补法
|
|
37
|
+
*
|
|
38
|
+
* 参照:kentang2017/kinqimen findyuen_dict(MIT)、《神奇之门》
|
|
39
|
+
*/
|
|
40
|
+
private static calculateYuanChaibu;
|
|
41
|
+
/**
|
|
42
|
+
* 茅山法计算上中下元
|
|
43
|
+
* 根据节气交节后的天数确定
|
|
44
|
+
*
|
|
45
|
+
* 原理:
|
|
46
|
+
* - 节气交节后 1-5 天为上元
|
|
47
|
+
* - 节气交节后 6-10 天为中元
|
|
48
|
+
* - 节气交节后 11-15 天为下元
|
|
49
|
+
*/
|
|
50
|
+
private static calculateYuanMaoshan;
|
|
51
|
+
/**
|
|
52
|
+
* 根据日干支获取其在六十甲子中的索引
|
|
53
|
+
*/
|
|
54
|
+
static getGanZhiIndex(ganZhi: string): number;
|
|
55
|
+
/**
|
|
56
|
+
* 判断是否为阳遁
|
|
57
|
+
*/
|
|
58
|
+
static isYangDun(yinYangDun: YinYangDun): boolean;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=JuShuCalculator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JuShuCalculator.d.ts","sourceRoot":"","sources":["../../../../src/services/qimen/calculators/JuShuCalculator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAkB,KAAK,EAAW,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAQnG,MAAM,WAAW,WAAW;IAC1B,UAAU;IACV,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe;IACf,KAAK,EAAE,KAAK,CAAC;IACb,WAAW;IACX,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B;;;;;;;OAOG;IACH,MAAM,CAAC,SAAS,CACd,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,YAAY,EACpB,SAAS,CAAC,EAAE,IAAI,EAChB,WAAW,CAAC,EAAE,IAAI,GACjB,WAAW;IA6Bd;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IASlC;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAmBnC;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAI7C;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;CAGlD"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* 局数计算器
|
|
4
|
+
* 根据节气和置闰法确定阴阳遁和局数
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.JuShuCalculator = void 0;
|
|
8
|
+
const constants_1 = require("../data/constants");
|
|
9
|
+
const PanTypeCalculator_1 = require("./PanTypeCalculator");
|
|
10
|
+
/**
|
|
11
|
+
* 局数计算器
|
|
12
|
+
*/
|
|
13
|
+
class JuShuCalculator {
|
|
14
|
+
/**
|
|
15
|
+
* 计算局数
|
|
16
|
+
* @param jieQi 当前节气名称
|
|
17
|
+
* @param dayGanZhi 日干支
|
|
18
|
+
* @param method 置闰方法
|
|
19
|
+
* @param jieQiDate 节气开始日期 (茅山法需要)
|
|
20
|
+
* @param currentDate 当前日期 (茅山法需要)
|
|
21
|
+
*/
|
|
22
|
+
static calculate(jieQi, dayGanZhi, method, jieQiDate, currentDate) {
|
|
23
|
+
// 获取节气对应的阴阳遁和局数表
|
|
24
|
+
const jieQiInfo = constants_1.JIEQI_JU_MAP[jieQi];
|
|
25
|
+
if (!jieQiInfo) {
|
|
26
|
+
throw new Error(`未知节气: ${jieQi}`);
|
|
27
|
+
}
|
|
28
|
+
const { dun, ju } = jieQiInfo;
|
|
29
|
+
const yinYangDun = dun;
|
|
30
|
+
// 根据置闰方法计算元
|
|
31
|
+
let yuan;
|
|
32
|
+
if (method === 'chaibu') {
|
|
33
|
+
yuan = this.calculateYuanChaibu(dayGanZhi);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
yuan = this.calculateYuanMaoshan(jieQiDate, currentDate);
|
|
37
|
+
}
|
|
38
|
+
// 根据元获取对应局数
|
|
39
|
+
const yuanIdx = (0, constants_1.getYuanIndex)(yuan);
|
|
40
|
+
const juShu = ju[yuanIdx];
|
|
41
|
+
return {
|
|
42
|
+
yinYangDun,
|
|
43
|
+
juShu,
|
|
44
|
+
yuan,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* 拆补法计算上中下元
|
|
49
|
+
* 根据日干支的符头(五日一元,元首为甲日或己日)确定上中下元
|
|
50
|
+
*
|
|
51
|
+
* 原理:
|
|
52
|
+
* - 六十甲子按五日一组,各组首日(甲/己日)为符头
|
|
53
|
+
* - 符头地支为四仲(子午卯酉)者为上元:甲子、甲午、己卯、己酉
|
|
54
|
+
* - 符头地支为四孟(寅申巳亥)者为中元:甲寅、甲申、己巳、己亥
|
|
55
|
+
* - 符头地支为四季(辰戌丑未)者为下元:甲辰、甲戌、己丑、己未
|
|
56
|
+
* - 节气内十五天被三元「拆开补齐」,故称拆补法
|
|
57
|
+
*
|
|
58
|
+
* 参照:kentang2017/kinqimen findyuen_dict(MIT)、《神奇之门》
|
|
59
|
+
*/
|
|
60
|
+
static calculateYuanChaibu(dayGanZhi) {
|
|
61
|
+
const idx = constants_1.JIA_ZI_60.indexOf(dayGanZhi);
|
|
62
|
+
if (idx === -1) {
|
|
63
|
+
throw new Error(`无效的日干支: ${dayGanZhi}`);
|
|
64
|
+
}
|
|
65
|
+
const fuTou = constants_1.JIA_ZI_60[idx - (idx % 5)];
|
|
66
|
+
return PanTypeCalculator_1.DI_ZHI_YUAN_MAP[fuTou.charAt(1)];
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* 茅山法计算上中下元
|
|
70
|
+
* 根据节气交节后的天数确定
|
|
71
|
+
*
|
|
72
|
+
* 原理:
|
|
73
|
+
* - 节气交节后 1-5 天为上元
|
|
74
|
+
* - 节气交节后 6-10 天为中元
|
|
75
|
+
* - 节气交节后 11-15 天为下元
|
|
76
|
+
*/
|
|
77
|
+
static calculateYuanMaoshan(jieQiDate, currentDate) {
|
|
78
|
+
// 使用 UTC 日期避免时区和时间精度问题
|
|
79
|
+
const jieQiDay = Date.UTC(jieQiDate.getFullYear(), jieQiDate.getMonth(), jieQiDate.getDate());
|
|
80
|
+
const currentDay = Date.UTC(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate());
|
|
81
|
+
const diffDays = Math.floor((currentDay - jieQiDay) / (1000 * 60 * 60 * 24)) + 1; // 交节当天算第1天
|
|
82
|
+
// 处理边界情况
|
|
83
|
+
if (diffDays < 1) {
|
|
84
|
+
return '上元'; // 节气当天之前,默认上元
|
|
85
|
+
}
|
|
86
|
+
else if (diffDays <= 5) {
|
|
87
|
+
return '上元';
|
|
88
|
+
}
|
|
89
|
+
else if (diffDays <= 10) {
|
|
90
|
+
return '中元';
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
return '下元';
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* 根据日干支获取其在六十甲子中的索引
|
|
98
|
+
*/
|
|
99
|
+
static getGanZhiIndex(ganZhi) {
|
|
100
|
+
return constants_1.JIA_ZI_60.indexOf(ganZhi);
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* 判断是否为阳遁
|
|
104
|
+
*/
|
|
105
|
+
static isYangDun(yinYangDun) {
|
|
106
|
+
return yinYangDun === '阳遁';
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
exports.JuShuCalculator = JuShuCalculator;
|
|
110
|
+
//# sourceMappingURL=JuShuCalculator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JuShuCalculator.js","sourceRoot":"","sources":["../../../../src/services/qimen/calculators/JuShuCalculator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 盘类型计算器
|
|
3
|
+
* 处理年盘、月盘的特殊计算逻辑
|
|
4
|
+
*
|
|
5
|
+
* 年盘规则:
|
|
6
|
+
* 1. 阴阳遁:冬至后到夏至前为阳遁,夏至后到冬至前为阴遁
|
|
7
|
+
* 2. 三元:按年支确定 (子午卯酉→上元, 寅申巳亥→中元, 辰戌丑未→下元)
|
|
8
|
+
* 3. 局数:(年干支序数 % 9) + 1
|
|
9
|
+
* 4. 旬首:基于年干支
|
|
10
|
+
* 5. 天盘旋转:值符飞到年干所在宫
|
|
11
|
+
*
|
|
12
|
+
* 月盘规则:
|
|
13
|
+
* 1. 阴阳遁:按月建对应的节气确定
|
|
14
|
+
* 2. 三元:按月支确定(规则同年盘)
|
|
15
|
+
* 3. 局数:使用节气局数表
|
|
16
|
+
* 4. 旬首:基于月干支
|
|
17
|
+
* 5. 天盘旋转:值符飞到月干所在宫
|
|
18
|
+
*/
|
|
19
|
+
import type { DiZhi, JuShu, YinYangDun, YuanType } from '../types';
|
|
20
|
+
/**
|
|
21
|
+
* 月建对应的节气映射
|
|
22
|
+
* 月建(地支)-> 对应的节气
|
|
23
|
+
*/
|
|
24
|
+
export declare const MONTH_JIEQI_MAP: Record<DiZhi, string>;
|
|
25
|
+
/**
|
|
26
|
+
* 三元判定表:地支 -> 三元
|
|
27
|
+
* 子午卯酉 → 上元
|
|
28
|
+
* 寅申巳亥 → 中元
|
|
29
|
+
* 辰戌丑未 → 下元
|
|
30
|
+
*/
|
|
31
|
+
export declare const DI_ZHI_YUAN_MAP: Record<DiZhi, YuanType>;
|
|
32
|
+
/**
|
|
33
|
+
* 年盘阴阳遁判断
|
|
34
|
+
* 冬至当天为阳遁起始,夏至当天为阴遁起始
|
|
35
|
+
* @param currentJieQi 当前节气
|
|
36
|
+
* @returns 阴阳遁
|
|
37
|
+
*/
|
|
38
|
+
export declare function getYearPanYinYangDun(currentJieQi: string): YinYangDun;
|
|
39
|
+
/**
|
|
40
|
+
* 年盘三元判断
|
|
41
|
+
* 根据年支确定三元
|
|
42
|
+
* @param yearZhi 年支
|
|
43
|
+
* @returns 三元
|
|
44
|
+
*/
|
|
45
|
+
export declare function getYearPanYuan(yearZhi: DiZhi): YuanType;
|
|
46
|
+
/**
|
|
47
|
+
* 年盘局数计算
|
|
48
|
+
* 公式:(年干支在六十甲子中的序数 % 9) + 1
|
|
49
|
+
* 注意:序数从0开始,所以甲子=0, 乙丑=1, ...
|
|
50
|
+
* @param yearGanZhi 年干支(如 "甲辰")
|
|
51
|
+
* @returns 局数 (1-9)
|
|
52
|
+
*/
|
|
53
|
+
export declare function getYearPanJuShu(yearGanZhi: string): JuShu;
|
|
54
|
+
/**
|
|
55
|
+
* 月盘阴阳遁判断
|
|
56
|
+
* 根据月建对应的节气确定
|
|
57
|
+
* @param monthZhi 月支(月建)
|
|
58
|
+
* @returns 阴阳遁
|
|
59
|
+
*/
|
|
60
|
+
export declare function getMonthPanYinYangDun(monthZhi: DiZhi): YinYangDun;
|
|
61
|
+
/**
|
|
62
|
+
* 月盘三元判断
|
|
63
|
+
* 根据月支确定三元(规则同年盘)
|
|
64
|
+
* @param monthZhi 月支
|
|
65
|
+
* @returns 三元
|
|
66
|
+
*/
|
|
67
|
+
export declare function getMonthPanYuan(monthZhi: DiZhi): YuanType;
|
|
68
|
+
/**
|
|
69
|
+
* 月盘局数计算
|
|
70
|
+
* 使用月建对应的节气,结合三元查找局数
|
|
71
|
+
* @param monthZhi 月支(月建)
|
|
72
|
+
* @returns 局数 (1-9)
|
|
73
|
+
*/
|
|
74
|
+
export declare function getMonthPanJuShu(monthZhi: DiZhi): JuShu;
|
|
75
|
+
/**
|
|
76
|
+
* 从干支字符串提取地支
|
|
77
|
+
* @param ganZhi 干支字符串(如 "甲子")
|
|
78
|
+
* @returns 地支
|
|
79
|
+
*/
|
|
80
|
+
export declare function extractZhi(ganZhi: string): DiZhi;
|
|
81
|
+
/**
|
|
82
|
+
* 验证干支是否有效
|
|
83
|
+
* @param ganZhi 干支字符串
|
|
84
|
+
* @returns 是否有效
|
|
85
|
+
*/
|
|
86
|
+
export declare function isValidGanZhi(ganZhi: string): boolean;
|
|
87
|
+
export interface YearPanParams {
|
|
88
|
+
yearGanZhi: string;
|
|
89
|
+
currentJieQi: string;
|
|
90
|
+
}
|
|
91
|
+
export interface MonthPanParams {
|
|
92
|
+
monthGanZhi: string;
|
|
93
|
+
}
|
|
94
|
+
export interface PanTypeResult {
|
|
95
|
+
yinYangDun: YinYangDun;
|
|
96
|
+
yuan: YuanType;
|
|
97
|
+
juShu: JuShu;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* 盘类型计算器
|
|
101
|
+
* 统一处理年盘、月盘的阴阳遁、三元、局数计算
|
|
102
|
+
*/
|
|
103
|
+
export declare class PanTypeCalculator {
|
|
104
|
+
/**
|
|
105
|
+
* 计算年盘参数
|
|
106
|
+
* @param params 年盘参数
|
|
107
|
+
* @returns 阴阳遁、三元、局数
|
|
108
|
+
*/
|
|
109
|
+
static calculateYearPan(params: YearPanParams): PanTypeResult;
|
|
110
|
+
/**
|
|
111
|
+
* 计算月盘参数
|
|
112
|
+
* @param params 月盘参数
|
|
113
|
+
* @returns 阴阳遁、三元、局数
|
|
114
|
+
*/
|
|
115
|
+
static calculateMonthPan(params: MonthPanParams): PanTypeResult;
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=PanTypeCalculator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PanTypeCalculator.d.ts","sourceRoot":"","sources":["../../../../src/services/qimen/calculators/PanTypeCalculator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAKnE;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAajD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAanD,CAAC;AAoBF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,CASrE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,KAAK,GAAG,QAAQ,CAEvD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,KAAK,CAQzD;AAID;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,KAAK,GAAG,UAAU,CAOjE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,KAAK,GAAG,QAAQ,CAEzD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,CAWvD;AAeD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAKhD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAErD;AAID,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa;IAgB7D;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,aAAa;CAehE"}
|