mingyu-core 0.1.8 → 0.1.9
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/dist/bazi/baziAnalysis.d.ts.map +1 -1
- package/dist/bazi/baziAnalysis.js +0 -2
- package/dist/bazi/baziAnalysis.js.map +1 -1
- package/dist/bazi/baziAnalysisFormatter.d.ts.map +1 -1
- package/dist/bazi/baziAnalysisFormatter.js +9 -0
- package/dist/bazi/baziAnalysisFormatter.js.map +1 -1
- package/dist/bazi/baziCalculator.d.ts.map +1 -1
- package/dist/bazi/baziCalculator.js +61 -3
- package/dist/bazi/baziCalculator.js.map +1 -1
- package/dist/bazi/baziConditionMatchers/branchMatchers.d.ts +1 -0
- package/dist/bazi/baziConditionMatchers/branchMatchers.d.ts.map +1 -1
- package/dist/bazi/baziConditionMatchers/branchMatchers.js +13 -1
- package/dist/bazi/baziConditionMatchers/branchMatchers.js.map +1 -1
- package/dist/bazi/baziConditionMatchers/index.d.ts.map +1 -1
- package/dist/bazi/baziConditionMatchers/index.js +4 -2
- package/dist/bazi/baziConditionMatchers/index.js.map +1 -1
- package/dist/bazi/baziConditionMatchers/stemMatchers.d.ts +1 -0
- package/dist/bazi/baziConditionMatchers/stemMatchers.d.ts.map +1 -1
- package/dist/bazi/baziConditionMatchers/stemMatchers.js +7 -3
- package/dist/bazi/baziConditionMatchers/stemMatchers.js.map +1 -1
- package/dist/bazi/baziEnhancement/classicPatterns.d.ts.map +1 -1
- package/dist/bazi/baziEnhancement/classicPatterns.js +31 -11
- package/dist/bazi/baziEnhancement/classicPatterns.js.map +1 -1
- package/dist/bazi/baziPromptEnhancement.d.ts.map +1 -1
- package/dist/bazi/baziPromptEnhancement.js +49 -0
- package/dist/bazi/baziPromptEnhancement.js.map +1 -1
- package/dist/bazi/baziShenSha/helpers/dayRules.d.ts +0 -3
- package/dist/bazi/baziShenSha/helpers/dayRules.d.ts.map +1 -1
- package/dist/bazi/baziShenSha/helpers/dayRules.js +101 -56
- package/dist/bazi/baziShenSha/helpers/dayRules.js.map +1 -1
- package/dist/bazi/baziShenSha/helpers/disasterRules.d.ts +0 -3
- package/dist/bazi/baziShenSha/helpers/disasterRules.d.ts.map +1 -1
- package/dist/bazi/baziShenSha/helpers/disasterRules.js +745 -23
- package/dist/bazi/baziShenSha/helpers/disasterRules.js.map +1 -1
- package/dist/bazi/baziShenSha/helpers/globalRules.d.ts +0 -6
- package/dist/bazi/baziShenSha/helpers/globalRules.d.ts.map +1 -1
- package/dist/bazi/baziShenSha/helpers/globalRules.js +48 -16
- package/dist/bazi/baziShenSha/helpers/globalRules.js.map +1 -1
- package/dist/bazi/baziShenSha/helpers/luRules.d.ts +0 -3
- package/dist/bazi/baziShenSha/helpers/luRules.d.ts.map +1 -1
- package/dist/bazi/baziShenSha/helpers/luRules.js +266 -37
- package/dist/bazi/baziShenSha/helpers/luRules.js.map +1 -1
- package/dist/bazi/baziShenSha/helpers/marriageRules.d.ts +0 -3
- package/dist/bazi/baziShenSha/helpers/marriageRules.d.ts.map +1 -1
- package/dist/bazi/baziShenSha/helpers/marriageRules.js +5 -7
- package/dist/bazi/baziShenSha/helpers/marriageRules.js.map +1 -1
- package/dist/bazi/baziShenSha/helpers/nobleRules.d.ts +0 -3
- package/dist/bazi/baziShenSha/helpers/nobleRules.d.ts.map +1 -1
- package/dist/bazi/baziShenSha/helpers/nobleRules.js +208 -41
- package/dist/bazi/baziShenSha/helpers/nobleRules.js.map +1 -1
- package/dist/bazi/baziShenSha/helpers/tenGodAnalysis.d.ts +0 -4
- package/dist/bazi/baziShenSha/helpers/tenGodAnalysis.d.ts.map +1 -1
- package/dist/bazi/baziShenSha/helpers/tenGodAnalysis.js +0 -8
- package/dist/bazi/baziShenSha/helpers/tenGodAnalysis.js.map +1 -1
- package/dist/bazi/baziShenSha/index.d.ts +0 -20
- package/dist/bazi/baziShenSha/index.d.ts.map +1 -1
- package/dist/bazi/baziShenSha/index.js +0 -20
- package/dist/bazi/baziShenSha/index.js.map +1 -1
- package/dist/bazi/baziShenSha/variants.d.ts +0 -3
- package/dist/bazi/baziShenSha/variants.d.ts.map +1 -1
- package/dist/bazi/baziShenSha/variants.js.map +1 -1
- package/dist/bazi/baziShenShaData.d.ts +0 -20
- package/dist/bazi/baziShenShaData.d.ts.map +1 -1
- package/dist/bazi/baziShenShaData.js +286 -34
- package/dist/bazi/baziShenShaData.js.map +1 -1
- package/dist/bazi/baziStrengthAnalyzer.d.ts.map +1 -1
- package/dist/bazi/baziStrengthAnalyzer.js +8 -9
- package/dist/bazi/baziStrengthAnalyzer.js.map +1 -1
- package/dist/bazi/baziTypes.d.ts +16 -0
- package/dist/bazi/baziTypes.d.ts.map +1 -1
- package/dist/bazi/baziTypes.js.map +1 -1
- package/dist/bazi/chinaDst.d.ts +36 -0
- package/dist/bazi/chinaDst.d.ts.map +1 -0
- package/dist/bazi/chinaDst.js +86 -0
- package/dist/bazi/chinaDst.js.map +1 -0
- package/dist/bazi/index.d.ts +4 -0
- package/dist/bazi/index.d.ts.map +1 -1
- package/dist/bazi/index.js +2 -1
- package/dist/bazi/index.js.map +1 -1
- package/dist/bazi/lifeStageAnalysis.d.ts.map +1 -1
- package/dist/bazi/lifeStageAnalysis.js +0 -3
- package/dist/bazi/lifeStageAnalysis.js.map +1 -1
- package/dist/bazi/nayinAnalysis.d.ts.map +1 -1
- package/dist/bazi/nayinAnalysis.js +0 -1
- package/dist/bazi/nayinAnalysis.js.map +1 -1
- package/dist/bazi/paipanWarnings.d.ts +25 -0
- package/dist/bazi/paipanWarnings.d.ts.map +1 -0
- package/dist/bazi/paipanWarnings.js +124 -0
- package/dist/bazi/paipanWarnings.js.map +1 -0
- package/dist/bazi/relationStructure.d.ts.map +1 -1
- package/dist/bazi/relationStructure.js +0 -4
- package/dist/bazi/relationStructure.js.map +1 -1
- package/dist/bazi/stemRootAnalysis.d.ts.map +1 -1
- package/dist/bazi/stemRootAnalysis.js +26 -16
- package/dist/bazi/stemRootAnalysis.js.map +1 -1
- package/dist/bazi/usefulGodPlacement.d.ts.map +1 -1
- package/dist/bazi/usefulGodPlacement.js +0 -2
- package/dist/bazi/usefulGodPlacement.js.map +1 -1
- package/dist/divination/algorithms/_shared/index.d.ts +1 -1
- package/dist/divination/algorithms/_shared/index.d.ts.map +1 -1
- package/dist/divination/algorithms/_shared/index.js +1 -1
- package/dist/divination/algorithms/_shared/index.js.map +1 -1
- package/dist/divination/algorithms/_shared/wuxing.d.ts +9 -8
- package/dist/divination/algorithms/_shared/wuxing.d.ts.map +1 -1
- package/dist/divination/algorithms/_shared/wuxing.js +40 -18
- package/dist/divination/algorithms/_shared/wuxing.js.map +1 -1
- package/dist/divination/algorithms/almanac.d.ts +2 -2
- package/dist/divination/algorithms/almanac.d.ts.map +1 -1
- package/dist/divination/algorithms/almanac.js +197 -32
- package/dist/divination/algorithms/almanac.js.map +1 -1
- package/dist/divination/algorithms/lenormand.js +2 -2
- package/dist/divination/algorithms/liuren/helpers/lessons.d.ts.map +1 -1
- package/dist/divination/algorithms/liuren/helpers/lessons.js +11 -7
- package/dist/divination/algorithms/liuren/helpers/lessons.js.map +1 -1
- package/dist/divination/algorithms/liuren/helpers/transmission.d.ts +6 -0
- package/dist/divination/algorithms/liuren/helpers/transmission.d.ts.map +1 -1
- package/dist/divination/algorithms/liuren/helpers/transmission.js +38 -0
- package/dist/divination/algorithms/liuren/helpers/transmission.js.map +1 -1
- package/dist/divination/algorithms/liuren/index.d.ts.map +1 -1
- package/dist/divination/algorithms/liuren/index.js +17 -14
- package/dist/divination/algorithms/liuren/index.js.map +1 -1
- package/dist/divination/algorithms/liuyao.d.ts +57 -0
- package/dist/divination/algorithms/liuyao.d.ts.map +1 -1
- package/dist/divination/algorithms/liuyao.js +221 -50
- package/dist/divination/algorithms/liuyao.js.map +1 -1
- package/dist/divination/algorithms/meihua/helpers/methods.d.ts +2 -2
- package/dist/divination/algorithms/meihua/helpers/methods.d.ts.map +1 -1
- package/dist/divination/algorithms/meihua/helpers/methods.js +47 -7
- package/dist/divination/algorithms/meihua/helpers/methods.js.map +1 -1
- package/dist/divination/algorithms/meihua/index.d.ts.map +1 -1
- package/dist/divination/algorithms/meihua/index.js +22 -15
- package/dist/divination/algorithms/meihua/index.js.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/_constants.d.ts +2 -4
- package/dist/divination/algorithms/qimen/helpers/_constants.d.ts.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/_constants.js +3 -5
- package/dist/divination/algorithms/qimen/helpers/_constants.js.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/classic-patterns.d.ts +15 -7
- package/dist/divination/algorithms/qimen/helpers/classic-patterns.d.ts.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/classic-patterns.js +814 -127
- package/dist/divination/algorithms/qimen/helpers/classic-patterns.js.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/directions.d.ts +4 -3
- package/dist/divination/algorithms/qimen/helpers/directions.d.ts.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/directions.js +16 -9
- package/dist/divination/algorithms/qimen/helpers/directions.js.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/jushu-extended.d.ts +7 -6
- package/dist/divination/algorithms/qimen/helpers/jushu-extended.d.ts.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/jushu-extended.js +55 -24
- package/dist/divination/algorithms/qimen/helpers/jushu-extended.js.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/jushu.d.ts +20 -13
- package/dist/divination/algorithms/qimen/helpers/jushu.d.ts.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/jushu.js +96 -61
- package/dist/divination/algorithms/qimen/helpers/jushu.js.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/layout.d.ts +1 -1
- package/dist/divination/algorithms/qimen/helpers/layout.d.ts.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/layout.js +18 -24
- package/dist/divination/algorithms/qimen/helpers/layout.js.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/pattern-combos.d.ts +12 -0
- package/dist/divination/algorithms/qimen/helpers/pattern-combos.d.ts.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/pattern-combos.js +1558 -9
- package/dist/divination/algorithms/qimen/helpers/pattern-combos.js.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/patterns.d.ts +6 -5
- package/dist/divination/algorithms/qimen/helpers/patterns.d.ts.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/patterns.js +74 -22
- package/dist/divination/algorithms/qimen/helpers/patterns.js.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/stem-pair-patterns.d.ts +8 -1
- package/dist/divination/algorithms/qimen/helpers/stem-pair-patterns.d.ts.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/stem-pair-patterns.js +731 -67
- package/dist/divination/algorithms/qimen/helpers/stem-pair-patterns.js.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/ying-qi.d.ts +10 -6
- package/dist/divination/algorithms/qimen/helpers/ying-qi.d.ts.map +1 -1
- package/dist/divination/algorithms/qimen/helpers/ying-qi.js +58 -25
- package/dist/divination/algorithms/qimen/helpers/ying-qi.js.map +1 -1
- package/dist/divination/algorithms/qimen/index.d.ts.map +1 -1
- package/dist/divination/algorithms/qimen/index.js +89 -18
- package/dist/divination/algorithms/qimen/index.js.map +1 -1
- package/dist/divination/algorithms/xiaoliuren.d.ts +1 -1
- package/dist/divination/algorithms/xiaoliuren.js +12 -12
- package/dist/divination/algorithms/xiaoliuren.js.map +1 -1
- package/dist/divination/config.d.ts +41 -0
- package/dist/divination/config.d.ts.map +1 -0
- package/dist/divination/config.js +111 -0
- package/dist/divination/config.js.map +1 -0
- package/dist/divination/divination-data.d.ts.map +1 -1
- package/dist/divination/divination-data.js +2 -4
- package/dist/divination/divination-data.js.map +1 -1
- package/dist/divination/engine/liuren-template.d.ts +4 -0
- package/dist/divination/engine/liuren-template.d.ts.map +1 -0
- package/dist/divination/engine/liuren-template.js +39 -0
- package/dist/divination/engine/liuren-template.js.map +1 -0
- package/dist/divination/engine/liuyao-template.d.ts +3 -0
- package/dist/divination/engine/liuyao-template.d.ts.map +1 -0
- package/dist/divination/engine/liuyao-template.js +46 -0
- package/dist/divination/engine/liuyao-template.js.map +1 -0
- package/dist/divination/engine/method-text.d.ts +6 -0
- package/dist/divination/engine/method-text.d.ts.map +1 -0
- package/dist/divination/engine/method-text.js +105 -0
- package/dist/divination/engine/method-text.js.map +1 -0
- package/dist/divination/share-text.d.ts +2 -0
- package/dist/divination/share-text.d.ts.map +1 -0
- package/dist/divination/share-text.js +8 -0
- package/dist/divination/share-text.js.map +1 -0
- package/dist/types/divination.d.ts +44 -0
- package/dist/types/divination.d.ts.map +1 -1
- package/dist/ziwei/iztro/build-analysis-payload/index.d.ts.map +1 -1
- package/dist/ziwei/iztro/build-analysis-payload/index.js +7 -1
- package/dist/ziwei/iztro/build-analysis-payload/index.js.map +1 -1
- package/dist/ziwei/iztro/pattern-detection.d.ts +4 -2
- package/dist/ziwei/iztro/pattern-detection.d.ts.map +1 -1
- package/dist/ziwei/iztro/pattern-detection.js +1300 -184
- package/dist/ziwei/iztro/pattern-detection.js.map +1 -1
- package/package.json +1 -1
|
@@ -25,9 +25,39 @@
|
|
|
25
25
|
*/
|
|
26
26
|
import { SolarDay } from 'tyme4ts';
|
|
27
27
|
import { tiangan, jiazi, qimen } from '../../../divination-data.js';
|
|
28
|
-
import {
|
|
28
|
+
import { sanQiLiuYi } from './_constants.js';
|
|
29
29
|
const { dizhi, diPanPalaces, palaceStars, palaceDoorMap, jieQiJuShuMap } = qimen;
|
|
30
30
|
const tenStems = tiangan;
|
|
31
|
+
const dunJiaStemByXun = {
|
|
32
|
+
甲子: '戊',
|
|
33
|
+
甲戌: '己',
|
|
34
|
+
甲申: '庚',
|
|
35
|
+
甲午: '辛',
|
|
36
|
+
甲辰: '壬',
|
|
37
|
+
甲寅: '癸',
|
|
38
|
+
};
|
|
39
|
+
const wuBuYuHourStemByDayStem = {
|
|
40
|
+
甲: '庚',
|
|
41
|
+
乙: '辛',
|
|
42
|
+
丙: '壬',
|
|
43
|
+
丁: '癸',
|
|
44
|
+
戊: '甲',
|
|
45
|
+
己: '乙',
|
|
46
|
+
庚: '丙',
|
|
47
|
+
辛: '丁',
|
|
48
|
+
壬: '戊',
|
|
49
|
+
癸: '己',
|
|
50
|
+
};
|
|
51
|
+
const hourRuMuByGanZhi = {
|
|
52
|
+
乙未: { branch: '未', palace: 2, category: '三奇日时干入墓' },
|
|
53
|
+
丙戌: { branch: '戌', palace: 6, category: '三奇日时干入墓' },
|
|
54
|
+
丁丑: { branch: '丑', palace: 8, category: '三奇日时干入墓' },
|
|
55
|
+
戊辰: { branch: '辰', palace: 4, category: '时干入墓' },
|
|
56
|
+
壬辰: { branch: '辰', palace: 4, category: '时干入墓' },
|
|
57
|
+
己未: { branch: '未', palace: 2, category: '时干入墓' },
|
|
58
|
+
癸未: { branch: '未', palace: 2, category: '时干入墓' },
|
|
59
|
+
辛丑: { branch: '丑', palace: 8, category: '时干入墓' },
|
|
60
|
+
};
|
|
31
61
|
// ============================================================================
|
|
32
62
|
// 内部辅助方法
|
|
33
63
|
// ============================================================================
|
|
@@ -83,6 +113,43 @@ function findFuTou(start, direction) {
|
|
|
83
113
|
function dayDiff(from, to) {
|
|
84
114
|
return Math.round(Number(to.getJulianDay()) - Number(from.getJulianDay()));
|
|
85
115
|
}
|
|
116
|
+
function getXunShouBranch(ganZhi) {
|
|
117
|
+
const gan = ganZhi.charAt(0);
|
|
118
|
+
const zhi = ganZhi.charAt(1);
|
|
119
|
+
const ganIndex = tenStems.indexOf(gan);
|
|
120
|
+
const zhiIndex = dizhi.indexOf(zhi);
|
|
121
|
+
if (ganIndex === -1 || zhiIndex === -1) {
|
|
122
|
+
throw new Error(`无法识别干支 "${ganZhi}"。`);
|
|
123
|
+
}
|
|
124
|
+
const xunShouZhiIndex = (zhiIndex - ganIndex + 12) % 12;
|
|
125
|
+
return dizhi[xunShouZhiIndex];
|
|
126
|
+
}
|
|
127
|
+
function getXunShouPalace(ganZhi, layout) {
|
|
128
|
+
const xunShouZhi = getXunShouBranch(ganZhi);
|
|
129
|
+
const xunShou = `甲${xunShouZhi}`;
|
|
130
|
+
if (layout) {
|
|
131
|
+
const dunStem = dunJiaStemByXun[xunShou];
|
|
132
|
+
if (!dunStem) {
|
|
133
|
+
throw new Error(`无法识别旬首 "${xunShou}" 的遁干。`);
|
|
134
|
+
}
|
|
135
|
+
for (let i = 0; i < sanQiLiuYi.length; i++) {
|
|
136
|
+
const palace = layout.isYangDun
|
|
137
|
+
? ((layout.juShu + i - 1 + 9) % 9) + 1
|
|
138
|
+
: ((layout.juShu - i - 1 + 9) % 9) + 1;
|
|
139
|
+
if (sanQiLiuYi[i] === dunStem)
|
|
140
|
+
return palace;
|
|
141
|
+
}
|
|
142
|
+
throw new Error(`无法在${layout.isYangDun ? '阳' : '阴'}遁${layout.juShu}局中定位旬首 "${xunShou}"。`);
|
|
143
|
+
}
|
|
144
|
+
// 兼容旧调用:没有当前局信息时,只能退回地支方位,主入口不会使用此兜底。
|
|
145
|
+
return diPanPalaces[xunShouZhi];
|
|
146
|
+
}
|
|
147
|
+
function getDoorByXunShouPalace(palace) {
|
|
148
|
+
// 旬首落中五宫时,中宫无门,按古籍“寄于坤二”借死门为值使。
|
|
149
|
+
if (palace === 5)
|
|
150
|
+
return '死门';
|
|
151
|
+
return palaceDoorMap[palace];
|
|
152
|
+
}
|
|
86
153
|
// ============================================================================
|
|
87
154
|
// 1. 定局数(拆补法)
|
|
88
155
|
// ============================================================================
|
|
@@ -184,17 +251,18 @@ export function getQimenJuShu(timeInfo) {
|
|
|
184
251
|
*
|
|
185
252
|
* 包括:六甲时、六癸时、时干入墓、五不遇时。
|
|
186
253
|
*
|
|
187
|
-
*
|
|
188
|
-
*
|
|
189
|
-
*
|
|
254
|
+
* 时干入墓法理依据:
|
|
255
|
+
* 《奇门宝鉴御定》校正为戊辰、壬辰、己未、癸未、辛丑五时;
|
|
256
|
+
* 另列乙未、丙戌、丁丑为日时干三奇入墓,其凶与墓制同。
|
|
190
257
|
*
|
|
191
258
|
* 五不遇时法理依据(《遁甲演义》):
|
|
192
259
|
* 时干克日干,名为五不遇,主事多不顺,好事被阻,凶时。
|
|
193
260
|
*
|
|
194
261
|
* @param hourGanZhi 时辰干支字符串(如 "甲子"、"乙丑")
|
|
262
|
+
* @param dayGanZhi 日干支字符串(用于判断五不遇时)
|
|
195
263
|
* @returns 包含各项特殊条件的检查结果
|
|
196
264
|
*/
|
|
197
|
-
export function checkSpecialHourConditions(hourGanZhi) {
|
|
265
|
+
export function checkSpecialHourConditions(hourGanZhi, dayGanZhi) {
|
|
198
266
|
const hourGan = hourGanZhi.charAt(0);
|
|
199
267
|
const hourZhi = hourGanZhi.charAt(1);
|
|
200
268
|
const result = {
|
|
@@ -220,32 +288,19 @@ export function checkSpecialHourConditions(hourGanZhi) {
|
|
|
220
288
|
result.description += '六癸时辰,癸为阴干之末;';
|
|
221
289
|
}
|
|
222
290
|
// ── 3. 时干入墓 ──
|
|
223
|
-
//
|
|
224
|
-
const
|
|
225
|
-
const ruMuInfo = ruMuMap[hourGan];
|
|
291
|
+
// 《奇门宝鉴御定》明言旧本有误,时辰级入墓采用校正后的干支专表。
|
|
292
|
+
const ruMuInfo = hourRuMuByGanZhi[hourGanZhi];
|
|
226
293
|
if (ruMuInfo && hourZhi === ruMuInfo.branch) {
|
|
227
294
|
result.isShiGanRuMu = true;
|
|
228
|
-
result.description +=
|
|
295
|
+
result.description += `${ruMuInfo.category}(${hourGanZhi},${hourGan}入${ruMuInfo.palace}宫/${ruMuInfo.branch}支),事情停滞,不宜举事;`;
|
|
229
296
|
}
|
|
230
297
|
// ── 4. 五不遇时 ──
|
|
231
298
|
// 《遁甲演义》:"五不遇时者,时干克日干也。"
|
|
232
|
-
//
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
'甲申',
|
|
236
|
-
'乙酉',
|
|
237
|
-
'丙子',
|
|
238
|
-
'丁亥',
|
|
239
|
-
'戊寅',
|
|
240
|
-
'己卯',
|
|
241
|
-
'庚午',
|
|
242
|
-
'辛巳',
|
|
243
|
-
'壬辰',
|
|
244
|
-
'癸未',
|
|
245
|
-
];
|
|
246
|
-
if (wuBuYuShiHours.includes(hourGanZhi)) {
|
|
299
|
+
// 五不遇必须同时比较日干与时干,不能只凭时辰干支固定列表判断。
|
|
300
|
+
const dayGan = dayGanZhi?.charAt(0);
|
|
301
|
+
if (dayGan && wuBuYuHourStemByDayStem[dayGan] === hourGan) {
|
|
247
302
|
result.isWuBuYuShi = true;
|
|
248
|
-
result.description +=
|
|
303
|
+
result.description += `五不遇时(日干${dayGan}遇时干${hourGan}克日干),事多不顺,不宜举事;`;
|
|
249
304
|
}
|
|
250
305
|
return result;
|
|
251
306
|
}
|
|
@@ -257,18 +312,20 @@ export function checkSpecialHourConditions(hourGanZhi) {
|
|
|
257
312
|
*
|
|
258
313
|
* 法理:
|
|
259
314
|
* 值符(九星之主)与值使(八门之主)由时辰干支所属的"旬"来决定。
|
|
260
|
-
*
|
|
315
|
+
* 旬首(如甲子、甲戌、甲申等)所遁六仪在当前局地盘所在的九宫,其对应的星即为值符,
|
|
261
316
|
* 其对应的门即为值使。
|
|
262
317
|
*
|
|
263
|
-
*
|
|
264
|
-
* "
|
|
318
|
+
* 《奇门遁甲统宗》:
|
|
319
|
+
* "地盘旬首所临之宫,其星即为值符,其门即为值使。"
|
|
265
320
|
*
|
|
266
321
|
* 计算步骤:
|
|
267
322
|
* 1. 求旬首地支:旬首地支序数 = (时支序 - 时干序 + 12) % 12
|
|
268
|
-
* 2.
|
|
269
|
-
* 3. 该宫之星 = 值符,该宫之门 =
|
|
323
|
+
* 2. 以旬首所遁六仪在当前局地盘的落宫作为旬首落宫
|
|
324
|
+
* 3. 该宫之星 = 值符,该宫之门 = 值使;旬首落中五宫时,借坤二死门为值使
|
|
270
325
|
*
|
|
271
326
|
* @param hourGanZhi 时辰干支(如 "甲子"、"乙丑")
|
|
327
|
+
* @param dayGanZhi 日干支(用于特殊时辰中的五不遇时判断)
|
|
328
|
+
* @param layout 当前奇门局数,用于定位旬首所遁六仪的地盘落宫
|
|
272
329
|
* @returns { zhiFu, zhiShi, zhiFuPalace, specialConditions }
|
|
273
330
|
* zhiFu - 值符星名
|
|
274
331
|
* zhiShi - 值使门名
|
|
@@ -277,24 +334,13 @@ export function checkSpecialHourConditions(hourGanZhi) {
|
|
|
277
334
|
*
|
|
278
335
|
* @throws 当时辰干支无法识别时
|
|
279
336
|
*/
|
|
280
|
-
export function getZhiFuZhiShi(hourGanZhi) {
|
|
281
|
-
const
|
|
282
|
-
const hourZhi = hourGanZhi.charAt(1);
|
|
283
|
-
const hourGanIndex = tenStems.indexOf(hourGan);
|
|
284
|
-
const hourZhiIndex = dizhi.indexOf(hourZhi);
|
|
285
|
-
if (hourGanIndex === -1 || hourZhiIndex === -1) {
|
|
286
|
-
throw new Error(`无法识别时辰干支 "${hourGanZhi}"。`);
|
|
287
|
-
}
|
|
288
|
-
// 旬首地支序数 = (时支序 - 时干序 + 12) % 12
|
|
289
|
-
const xunShouZhiIndex = (hourZhiIndex - hourGanIndex + 12) % 12;
|
|
290
|
-
const xunShouZhi = dizhi[xunShouZhiIndex];
|
|
291
|
-
// 旬首地支对应地盘宫位
|
|
292
|
-
const xunShouPalace = diPanPalaces[xunShouZhi];
|
|
337
|
+
export function getZhiFuZhiShi(hourGanZhi, dayGanZhi, layout) {
|
|
338
|
+
const xunShouPalace = getXunShouPalace(hourGanZhi, layout);
|
|
293
339
|
// 该宫之星 = 值符,该宫之门 = 值使
|
|
294
340
|
const zhiFu = palaceStars[xunShouPalace - 1];
|
|
295
|
-
const zhiShi =
|
|
341
|
+
const zhiShi = getDoorByXunShouPalace(xunShouPalace);
|
|
296
342
|
// 检查当前时辰的特殊情况
|
|
297
|
-
const specialConditions = checkSpecialHourConditions(hourGanZhi);
|
|
343
|
+
const specialConditions = checkSpecialHourConditions(hourGanZhi, dayGanZhi);
|
|
298
344
|
return { zhiFu, zhiShi, zhiFuPalace: xunShouPalace, specialConditions };
|
|
299
345
|
}
|
|
300
346
|
/**
|
|
@@ -304,10 +350,10 @@ export function getZhiFuZhiShi(hourGanZhi) {
|
|
|
304
350
|
* 适用于任意干支(年柱、月柱、日柱、时柱均可)。
|
|
305
351
|
*
|
|
306
352
|
* 旬首法源出《奇门遁甲秘籍大全》:
|
|
307
|
-
*
|
|
308
|
-
* 该宫之星为值符,该宫之门为值使。
|
|
353
|
+
* 由干支求旬首,再以旬首所遁六仪在当前局地盘所临之宫定值符值使。
|
|
309
354
|
*
|
|
310
355
|
* @param ganZhi 任意干支字符串(如 "甲子"、"乙丑")
|
|
356
|
+
* @param layout 当前奇门局数,用于定位旬首所遁六仪的地盘落宫
|
|
311
357
|
* @returns { zhiFu, zhiShi, xunShouPalace }
|
|
312
358
|
* zhiFu - 值符星名
|
|
313
359
|
* zhiShi - 值使门名
|
|
@@ -315,22 +361,11 @@ export function getZhiFuZhiShi(hourGanZhi) {
|
|
|
315
361
|
*
|
|
316
362
|
* @throws 当干支无法识别时
|
|
317
363
|
*/
|
|
318
|
-
export function getZhiFuZhiShiByGanZhi(ganZhi) {
|
|
319
|
-
const
|
|
320
|
-
const zhi = ganZhi.charAt(1);
|
|
321
|
-
const ganIndex = tenStems.indexOf(gan);
|
|
322
|
-
const zhiIndex = dizhi.indexOf(zhi);
|
|
323
|
-
if (ganIndex === -1 || zhiIndex === -1) {
|
|
324
|
-
throw new Error(`无法识别干支 "${ganZhi}"。`);
|
|
325
|
-
}
|
|
326
|
-
// 旬首地支序数 = (支序 - 干序 + 12) % 12
|
|
327
|
-
const xunShouZhiIndex = (zhiIndex - ganIndex + 12) % 12;
|
|
328
|
-
const xunShouZhi = dizhi[xunShouZhiIndex];
|
|
329
|
-
// 旬首地支对应地盘宫位
|
|
330
|
-
const xunShouPalace = diPanPalaces[xunShouZhi];
|
|
364
|
+
export function getZhiFuZhiShiByGanZhi(ganZhi, layout) {
|
|
365
|
+
const xunShouPalace = getXunShouPalace(ganZhi, layout);
|
|
331
366
|
// 该宫之星 = 值符,该宫之门 = 值使
|
|
332
367
|
const zhiFu = palaceStars[xunShouPalace - 1];
|
|
333
|
-
const zhiShi =
|
|
368
|
+
const zhiShi = getDoorByXunShouPalace(xunShouPalace);
|
|
334
369
|
return { zhiFu, zhiShi, xunShouPalace };
|
|
335
370
|
}
|
|
336
371
|
// ============================================================================
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jushu.js","sourceRoot":"","sources":["../../../../../src/divination/algorithms/qimen/helpers/jushu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"jushu.js","sourceRoot":"","sources":["../../../../../src/divination/algorithms/qimen/helpers/jushu.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ import type { QimenJiuGongGe } from '../../../../types/divination';
|
|
|
30
30
|
* - 'feipan': 飞盘法,天盘九星按洛书轨迹飞布,人盘八门仍随值使旋转
|
|
31
31
|
*/
|
|
32
32
|
export type QimenMethod = 'zhuanpan' | 'feipan';
|
|
33
|
-
export declare function resolveZhiShiLandingPalace(isYangDun: boolean, zhiShi: string, ganZhi: string): number;
|
|
33
|
+
export declare function resolveZhiShiLandingPalace(isYangDun: boolean, zhiShi: string, ganZhi: string, startPalace?: number): number;
|
|
34
34
|
/**
|
|
35
35
|
* 排九宫格(转盘法)
|
|
36
36
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../../../src/divination/algorithms/qimen/helpers/layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAwBnE;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;AAgDhD,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,OAAO,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../../../src/divination/algorithms/qimen/helpers/layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAwBnE;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;AAgDhD,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,OAAO,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CASR;AAID;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,OAAO,EAClB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EACxB,MAAM,GAAE,WAAwB,GAC/B,cAAc,EAAE,CAkNlB"}
|
|
@@ -75,14 +75,14 @@ function getStarHomeStem(star, jiuGong, centerJiGongStem) {
|
|
|
75
75
|
}
|
|
76
76
|
return jiuGong[homePalace - 1].diPan.stem;
|
|
77
77
|
}
|
|
78
|
-
export function resolveZhiShiLandingPalace(isYangDun, zhiShi, ganZhi) {
|
|
78
|
+
export function resolveZhiShiLandingPalace(isYangDun, zhiShi, ganZhi, startPalace) {
|
|
79
79
|
const zhiShiDoorIndex = palaceDoors.indexOf(zhiShi);
|
|
80
80
|
if (zhiShiDoorIndex === -1) {
|
|
81
81
|
throw new Error(`找不到值使门 "${zhiShi}",请检查八门数据。`);
|
|
82
82
|
}
|
|
83
|
-
const
|
|
83
|
+
const start = startPalace ?? luoShuDoorPath[zhiShiDoorIndex];
|
|
84
84
|
const steps = getGanZhiStepInXun(ganZhi);
|
|
85
|
-
return normalizeNoDoorPalace(advanceNinePalace(
|
|
85
|
+
return normalizeNoDoorPalace(advanceNinePalace(start, steps, isYangDun));
|
|
86
86
|
}
|
|
87
87
|
// ─── 排盘主函数 ───
|
|
88
88
|
/**
|
|
@@ -156,6 +156,10 @@ export function arrangeJiuGongGe(isYangDun, juShu, zhiFu, zhiShi, ganzhi, method
|
|
|
156
156
|
// 值符星追时干:找到时干的遁干在地盘中的落宫,值符星即落此宫。
|
|
157
157
|
// 值使门按当前干支在本旬中的步数顺逆行宫,中五无门时寄坤二。
|
|
158
158
|
const hourGanForFind = getDunJiaStem(ganzhi.hour); // 遁干(甲遁于六仪之下)
|
|
159
|
+
const zhiFuHomePalace = starHomePalace[zhiFu];
|
|
160
|
+
if (!zhiFuHomePalace) {
|
|
161
|
+
throw new Error(`找不到值符星 "${zhiFu}" 的本宫,请检查九星数据。`);
|
|
162
|
+
}
|
|
159
163
|
// ── 3a. 定值符落宫 ──
|
|
160
164
|
let zhiFuLandingPalace = -1;
|
|
161
165
|
for (let i = 0; i < 9; i++) {
|
|
@@ -175,7 +179,7 @@ export function arrangeJiuGongGe(isYangDun, juShu, zhiFu, zhiShi, ganzhi, method
|
|
|
175
179
|
throw new Error(`找不到时干 "${ganzhi.hour}" 遁干 "${hourGanForFind}" 在地盘的落宫,请检查地盘排布逻辑。`);
|
|
176
180
|
}
|
|
177
181
|
// ── 3b. 定值使落宫 ──
|
|
178
|
-
const zhiShiLandingPalace = resolveZhiShiLandingPalace(isYangDun, zhiShi, ganzhi.hour);
|
|
182
|
+
const zhiShiLandingPalace = resolveZhiShiLandingPalace(isYangDun, zhiShi, ganzhi.hour, zhiFuHomePalace);
|
|
179
183
|
// ──────────────────────────────────────────────
|
|
180
184
|
// 第四步:排天盘九星与天干(TianPan)
|
|
181
185
|
// ──────────────────────────────────────────────
|
|
@@ -261,29 +265,19 @@ export function arrangeJiuGongGe(isYangDun, juShu, zhiFu, zhiShi, ganzhi, method
|
|
|
261
265
|
// 第六步:排神盘八神(ShenPan)
|
|
262
266
|
// ──────────────────────────────────────────────
|
|
263
267
|
//
|
|
264
|
-
//
|
|
265
|
-
// "八神随遁顺逆,中宫无神位。"
|
|
266
|
-
//
|
|
267
|
-
// 八神之首"值符神"(小值符)永远追随天盘值符星(大值符)。
|
|
268
|
-
// 值符神落于天盘值符星所在之宫,其余七神依次排布。
|
|
269
|
-
// 阳遁顺排(沿九宫序顺时针),阴遁逆排(沿九宫序逆时针)。
|
|
270
|
-
// 中五宫不排神,值符落中五时借坤二宫起布。
|
|
271
|
-
//
|
|
272
|
-
// 阳遁七神顺序:螣蛇 → 太阴 → 六合 → 白虎 → 玄武 → 九地 → 九天
|
|
273
|
-
// 阴遁七神顺序:九天 → 九地 → 玄武 → 白虎 → 六合 → 太阴 → 螣蛇
|
|
274
|
-
// 八神之首"值符"固定在前端,随遁变迁
|
|
268
|
+
// 《奇门宝鉴御定》:“直符前三六合位,太阴之神在前二,后一宫中为九天,后二之神为九地。”
|
|
275
269
|
const gods = isYangDun ? yangGods : yinGods;
|
|
276
|
-
|
|
270
|
+
const shenPanStartPalace = zhiFuLandingPalace === 5 ? 2 : zhiFuLandingPalace;
|
|
271
|
+
const shenPanStartIndex = luoShuDoorPath.indexOf(shenPanStartPalace);
|
|
272
|
+
if (shenPanStartIndex === -1) {
|
|
273
|
+
throw new Error(`神盘起宫 "${shenPanStartPalace}" 不在洛书八宫路径中。`);
|
|
274
|
+
}
|
|
277
275
|
const shenPanPalaces = [];
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
continue;
|
|
283
|
-
}
|
|
284
|
-
shenPanPalaces.push(palaceNum);
|
|
276
|
+
const shenPanDirection = isYangDun ? -1 : 1;
|
|
277
|
+
for (let offset = 0; offset < 8; offset++) {
|
|
278
|
+
const pathIndex = (shenPanStartIndex + shenPanDirection * offset + 8) % 8;
|
|
279
|
+
shenPanPalaces.push(luoShuDoorPath[pathIndex]);
|
|
285
280
|
}
|
|
286
|
-
// 值符神数组依次放入排神宫位
|
|
287
281
|
for (let i = 0; i < 8; i++) {
|
|
288
282
|
const palaceNum = shenPanPalaces[i];
|
|
289
283
|
jiuGong[palaceNum - 1].shenPan.god = gods[i];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../../../../src/divination/algorithms/qimen/helpers/layout.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../../../../src/divination/algorithms/qimen/helpers/layout.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,19 @@ export interface PatternComboContext {
|
|
|
21
21
|
patternTags?: string[];
|
|
22
22
|
voidPalaces?: QimenBranchPalace[];
|
|
23
23
|
horseStar?: QimenBranchPalace;
|
|
24
|
+
activeGanZhi?: string;
|
|
25
|
+
zhiFu?: string;
|
|
24
26
|
zhiShi?: string;
|
|
27
|
+
dayGanZhi?: string;
|
|
28
|
+
yearBranch?: string;
|
|
29
|
+
dayStem?: string;
|
|
30
|
+
dayBranch?: string;
|
|
31
|
+
monthBranch?: string;
|
|
32
|
+
solarTerm?: string;
|
|
33
|
+
epoch?: string;
|
|
34
|
+
hourGanZhi?: string;
|
|
35
|
+
hourStem?: string;
|
|
36
|
+
hourBranch?: string;
|
|
25
37
|
jiuGongGe: QimenJiuGongGe[];
|
|
26
38
|
}
|
|
27
39
|
export declare function detectQimenPatternCombos(ctx: PatternComboContext): QimenPatternCombo[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pattern-combos.d.ts","sourceRoot":"","sources":["../../../../../src/divination/algorithms/qimen/helpers/pattern-combos.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"pattern-combos.d.ts","sourceRoot":"","sources":["../../../../../src/divination/algorithms/qimen/helpers/pattern-combos.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAgBzD,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,GAAG,WAAW,GAAG,OAAO,CAAC;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,cAAc,EAAE,CAAC;CAC7B;AA2jED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,mBAAmB,GAAG,iBAAiB,EAAE,CAmBtF"}
|