dsh-metaphysics 0.56.0 → 0.58.0
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/CHANGELOG.md +103 -1
- package/README.md +26 -9
- package/client.almanac.js +66 -61
- package/client.bazi.js +98 -91
- package/client.chenggu.js +68 -63
- package/client.convert.js +68 -63
- package/client.daliuren.js +104 -97
- package/client.fengshui.js +65 -60
- package/client.hepan.js +99 -92
- package/client.js +392 -267
- package/client.liuyao.js +101 -94
- package/client.mbti.js +66 -61
- package/client.name.js +68 -63
- package/client.numerology.js +66 -61
- package/client.qimen.js +104 -97
- package/client.star.js +66 -61
- package/client.tarot.js +99 -94
- package/client.trend.js +104 -97
- package/client.xiaoliuren.js +66 -61
- package/client.zeri.js +66 -61
- package/client.ziwei.js +98 -91
- package/engine/bridge.js +211 -0
- package/engine/citations.js +603 -320
- package/engine/diff.js +59 -0
- package/engine/fengshui.js +718 -718
- package/engine/geju.js +16 -0
- package/engine/handle.js +192 -0
- package/engine/hepan.js +43 -0
- package/engine/index.js +168 -51
- package/engine/interpret-knowledge.js +3 -2
- package/engine/interpret-plain.js +4 -1
- package/engine/interpret.js +7 -3
- package/engine/qimen-ganying.js +134 -134
- package/engine/qimen-interpret.js +233 -233
- package/engine/revise.js +162 -0
- package/engine/trace.js +493 -456
- package/engine/zeri.js +89 -13
- package/index.js +59 -6
- package/package.json +6 -3
- package//345/221/275/347/220/206/346/216/222/347/233/230.html +3548 -1943
package/client.tarot.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
window.__ModuleLoader__.load({id:"dsh-metaphysics",chunk:"client.tarot.js",factory(
|
|
2
|
-
`);const
|
|
3
|
-
`)}const C=(s,w,u,M,ee,S)=>({key:s,title:w,short:u,read:z=>{const o=z[s]!==void 0?z[s]:z.schools&&z.schools[s];return S[o]?o:M},alt:z=>z===ee?M:ee,label:z=>S[z]||z}),le={bazi:[{key:"lateZi",title:"晚子时:23:00 后是否换日",short:"晚子时",read:s=>s.lateZi!==!1,alt:s=>!s,label:s=>s?"换日":"不换日"},{key:"trueSolar",title:"真太阳时:是否按出生地经度修正",short:"真太阳时",read:s=>s.trueSolar!==!1,alt:s=>!s,label:s=>s?"修正":"不修正"}],ziwei:[{key:"leapMonth",title:"闰月归月:按日切分 / 整月归次月",short:"闰月归月",read:s=>s.leapMonth==="next"||s.leapMonth==="prev"?s.leapMonth:"split",alt:s=>s==="split"?"next":"split",label:s=>({split:"按日切分",next:"整月归次月",prev:"整月归本月"})[s]||s},{key:"trueSolar",title:"真太阳时:是否按出生地经度修正",short:"真太阳时",read:s=>s.trueSolar!==!1,alt:s=>!s,label:s=>s?"修正":"不修正"},C("brightnessSchool","亮度表:默认 / QS 七档","亮度表","default","QS",{default:"默认",QS:"QS(七档)",XD1:"XD1(七档)",ZZ:"ZZ(五档)",XD2:"XD2(五档)"}),C("gengYearSihua","庚干四化:阳武阴同 / 同科阴忌","庚干四化","GYWYT","GYWTY",{GYWYT:"阳武阴同",GYWTY:"同科阴忌",GYWFT:"府科同忌",GYWFX:"府科相忌",GYWTX:"同科相忌"}),C("tianmaSchool","天马:按年支 / 按生月","天马","year-branch","month-branch",{"year-branch":"年支","month-branch":"生月"}),C("tiankongSchool","天空:不排 / 年支顺行","天空","off","normal",{off:"不排",normal:"年支顺行","shun-jia-shi":"加生时"}),C("jiekongSchool","截空旬空:不排 / 正副双星","截空旬空","off","double",{off:"不排",single:"单星",double:"正副双星",zhanyan:"占验派"}),C("kuiyueSchool","魁钺:qs1 / qs2","魁钺","qs1","qs2",{qs1:"qs1",qs2:"qs2","zhong-yiming":"中一鸣",network:"网络"}),C("tianshiTianshang","天伤天使:常规 / 中州互换","天伤天使","normal","zhongzhou",{normal:"常规",zhongzhou:"中州(阴男阳女互换)"}),C("changshengSchool","长生:阴阳顺逆 / 火土起寅","长生","yin-yang-shun-ni","huo-tu",{"yin-yang-shun-ni":"阴阳顺逆","shui-tu":"水二","huo-tu":"火土(土五局起寅)"}),C("lateZishi","晚子时:归当日 / 归次日","晚子时","current-day","next-day",{"current-day":"归当日","next-day":"归次日","all-current":"全归当日","day-cur-time-next":"日归当日·时归次日"}),C("shenzhuSchool","身主:子午皆火星 / 子铃午火","身主","common","verse",{common:"子午皆火星",verse:"子铃午火(安身主诀逐字)"})],qimen:[{key:"juMethod",title:"取局流派:拆补 / 超神接气 / 置闰",short:"取局流派",read:s=>["chaibu","chaoshen","zhirun"].includes(s.juMethod)?s.juMethod:"chaibu",alt:s=>s==="chaibu"?"zhirun":"chaibu",label:s=>({chaibu:"拆补法",chaoshen:"超神接气",zhirun:"置闰法"})[s]||s},{key:"lateZiHourMode",title:"晚子时:23:00 后归当日 / 次日",short:"晚子时归日",read:s=>s.lateZiHourMode==="next-day"?"next-day":"same-day",alt:s=>s==="next-day"?"same-day":"next-day",label:s=>s==="next-day"?"归次日":"归当日"}]};return{diffObjects:ue,labelOf:N,categoryOf:Q,rootOf:v,sortDiffs:F,summarize:W,formatValue:H,renderDiff:b,CALIBER_SWITCHES:le}})(),J.fingerprint=(function(){const D="0123456789ABCDEFGHJKMNPQRSTVWXYZ";function oe(A){return JSON.stringify(ue(A))}function ue(A){if(A===null)return null;const N=typeof A;if(N==="string")return typeof A.normalize=="function"?A.normalize("NFC"):A;if(N==="number")return Number.isFinite(A)?Object.is(A,-0)?0:A:null;if(N==="boolean")return A;if(Array.isArray(A))return A.map(ue);if(N==="object"){const Q={};for(const v of Object.keys(A).sort()){const F=A[v];F===void 0||typeof F=="function"||typeof F=="symbol"||(Q[v]=ue(F))}return Q}return null}function V(A){const N=String(A);let Q=2166136261,v=2654435769;for(let H=0;H<N.length;H+=1){const b=N.charCodeAt(H);for(const C of[b&255,b>>>8])Q=Math.imul(Q^C,16777619),v=Math.imul(v^C,2246822507)}let F=(Q>>>0)*8+(v>>>29),W="";for(let H=0;H<7;H+=1)W=D[F%32]+W,F=Math.floor(F/32);return W}function ie(A={}){const N=String(A.system||""),Q=String(A.version||"dev"),v=A.seed===void 0||A.seed===null||A.seed===""?null:Number(A.seed),F=A.asOf?String(A.asOf):null,W=A.params&&typeof A.params=="object"?A.params:{},H=oe({system:N,params:W,seed:v,asOf:F}),b=oe({base:H,version:Q});return{id:`LY-${V(b)}`,baseId:`LY-${V(H)}`,version:Q,system:N,payload:H}}return{canonicalJson:oe,shortHash:V,fingerprintOf:ie}})(),J.validate=(function(){const{fail:D}=J.fail||{},oe=1600,ue=2400;function V(v){return v%4===0&&v%100!==0||v%400===0}function ie(v,F){return F===2?V(v)?29:28:[31,28,31,30,31,30,31,31,30,31,30,31][F-1]||0}const A=v=>typeof v=="string"?`「${v}」`:String(v),N="引擎只接受解析好的公历字段 { year, month, day, hour?, minute? };字符串请先交给宿主层的 parseDateTime 解析";function Q(v,F=""){const W=F?`${F} 的`:"";if(!v||typeof v!="object"||Array.isArray(v)){const le=v===null?"null":Array.isArray(v)?"数组":typeof v;throw D("E_INPUT",`${W}入参必须是对象(收到 ${le});${N}`)}const H=v.hour===void 0?0:v.hour,b=v.minute===void 0?0:v.minute;for(const[le,s]of[["year",v.year],["month",v.month],["day",v.day],["hour",H],["minute",b]])if(!Number.isInteger(s))throw D("E_INPUT",`${W}${le} 必须是整数(收到 ${A(s)});${N}`);if(v.year<oe||v.year>ue)throw D("E_INPUT",`${W}year 超出支持范围 ${oe}–${ue}(收到 ${v.year});更早的年份时区与历法口径不可靠`);if(v.month<1||v.month>12)throw D("E_INPUT",`${W}month 超出范围 1–12(收到 ${v.month})`);const C=ie(v.year,v.month);if(v.day<1||v.day>C)throw D("E_INPUT",`${W}日期不存在:${v.year}-${v.month}-${v.day}(${v.year} 年 ${v.month} 月只有 ${C} 天)`);if(H<0||H>23)throw D("E_INPUT",`${W}hour 超出范围 0–23(收到 ${H})`);if(b<0||b>59)throw D("E_INPUT",`${W}minute 超出范围 0–59(收到 ${b})`);return v}return{MIN_YEAR:oe,MAX_YEAR:ue,isLeapYear:V,daysInMonth:ie,assertCivil:Q}})(),J.lru=(function(){function D({max:oe=64,ttlMs:ue=0,name:V="lru",now:ie=()=>Date.now()}={}){const A=new Map,N={name:V,hits:0,misses:0,evictions:0,expirations:0},Q=v=>ue>0&&ie()-v.at>ue;return{name:V,max:oe,ttlMs:ue,get(v){const F=A.get(v);if(!F||Q(F)){F&&(A.delete(v),N.expirations+=1),N.misses+=1;return}return A.delete(v),A.set(v,F),N.hits+=1,F.value},set(v,F){for(A.has(v)&&A.delete(v),A.set(v,{value:F,at:ie()});A.size>oe;)A.delete(A.keys().next().value),N.evictions+=1;return F},has(v){const F=A.get(v);return F?Q(F)?(A.delete(v),N.expirations+=1,!1):!0:!1},delete(v){return A.delete(v)},clear(){A.clear()},get size(){return A.size},stats(){const v=N.hits+N.misses;return{name:V,size:A.size,max:oe,hits:N.hits,misses:N.misses,evictions:N.evictions,expirations:N.expirations,hitRate:v?N.hits/v:0}}}}return{createLru:D}})(),J.nayin=(function(){const D=["海中金","炉中火","大林木","路旁土","剑锋金","山头火","涧下水","城头土","白蜡金","杨柳木","泉中水","屋上土","霹雳火","松柏木","长流水","沙中金","山下火","平地木","壁上土","金箔金","覆灯火","天河水","大驿土","钗钏金","桑柘木","大溪水","沙中土","天上火","石榴木","大海水"];function oe(ue){const V=(Number(ue)%60+60)%60,ie=D[Math.floor(V/2)];return{name:ie,element:ie[2]}}return{NAYIN_NAMES:D,nayinOf:oe}})(),J.sanhe=(function(){const D=[{branches:["申","子","辰"],element:"水"},{branches:["亥","卯","未"],element:"木"},{branches:["寅","午","戌"],element:"火"},{branches:["巳","酉","丑"],element:"金"}],oe=Object.fromEntries(D.map(ie=>[ie.branches.join(""),ie.element])),ue=Object.fromEntries(D.flatMap(ie=>ie.branches.map(A=>[A,ie.element])));function V(ie){return D.find(A=>A.branches.includes(ie))||null}return{SANHE_GROUPS:D,SANHE:oe,SANHE_ELEMENT:ue,sanheGroupOf:V}})(),J["vsop-earth"]=(function(){const D=[[1.75347045673,0,0],[.03341656453,4.66925680415,6283.0758499914],[.00034894275,4.62610242189,12566.1516999828],[3417572e-11,2.82886579754,3.523118349],[3497056e-11,2.74411783405,5753.3848848968],[3135899e-11,3.62767041756,77713.7714681205],[2676218e-11,4.41808345438,7860.4193924392],[2342691e-11,6.13516214446,3930.2096962196],[1273165e-11,2.03709657878,529.6909650946],[1324294e-11,.74246341673,11506.7697697936],[901854e-11,2.04505446477,26.2983197998],[1199167e-11,1.10962946234,1577.3435424478],[857223e-11,3.50849152283,398.1490034082],[779786e-11,1.17882681962,5223.6939198022],[99025e-10,5.23268072088,5884.9268465832],[753141e-11,2.53339052847,5507.5532386674],[505267e-11,4.58292599973,18849.2275499742],[492392e-11,4.20505711826,775.522611324],[356672e-11,2.91954114478,.0673103028],[284125e-11,1.89869240932,796.2980068164],[242879e-11,.34481445893,5486.777843175],[317087e-11,5.84901948512,11790.6290886588],[271112e-11,.31486255375,10977.078804699],[206217e-11,4.80646631478,2544.3144198834],[205478e-11,1.86953770281,5573.1428014331],[202318e-11,2.45767790232,6069.7767545534],[126225e-11,1.08295459501,20.7753954924],[155516e-11,.83306084617,213.299095438],[115132e-11,.64544911683,.9803210682],[102851e-11,.63599845579,4694.0029547076],[101724e-11,4.2667980198,7.1135470008],[99206e-11,6.20992926918,2146.1654164752],[132212e-11,3.41118292683,2942.4634232916],[97607e-11,.68101342359,155.4203994342],[85128e-11,1.29870764804,6275.9623029906],[74651e-11,1.755089133,5088.6288397668],[101895e-11,.97569280312,15720.8387848784],[84711e-11,3.67080093031,71430.69561812909],[73547e-11,4.67926633877,801.8209311238],[73874e-11,3.50319414955,3154.6870848956],[78757e-11,3.03697458703,12036.4607348882],[79637e-11,1.80791287082,17260.1546546904],[85803e-11,5.9832263126,161000.6857376741],[56963e-11,2.78430458592,6286.5989683404],[61148e-11,1.81839892984,7084.8967811152],[69627e-11,.83297621398,9437.762934887],[56116e-11,4.38694865354,14143.4952424306],[62449e-11,3.97763912806,8827.3902698748],[51145e-11,.28306832879,5856.4776591154],[55577e-11,3.47006059924,6279.5527316424],[41036e-11,5.36817592855,8429.2412664666],[51605e-11,1.33282739866,1748.016413067],[51992e-11,.18914947184,12139.5535091068],[49e-8,.48735014197,1194.4470102246],[392e-9,6.16833020996,10447.3878396044],[3557e-10,1.775968892,6812.766815086],[3677e-10,6.04133863162,10213.285546211],[36596e-11,2.56957481827,1059.3819301892],[33296e-11,.59310278598,17789.845619785],[35954e-11,1.70875808777,2352.8661537718],[40938e-11,2.39850938714,19651.048481098],[30047e-11,2.73975124088,1349.8674096588],[30412e-11,.44294464169,83996.84731811189],[23663e-11,.48473622521,8031.0922630584],[23574e-11,2.06528133162,3340.6124266998],[21089e-11,4.14825468851,951.7184062506],[24738e-11,.21484762138,3.5904286518],[25352e-11,3.16470891653,4690.4798363586],[22823e-11,5.22195230819,4705.7323075436],[21419e-11,1.42563910473,16730.4636895958],[21891e-11,5.55594302779,553.5694028424],[203e-9,.37133792946,283.8593188652]],oe=[[6283.0758499914,0,0],[.00206058863,2.67823455808,6283.0758499914],[4303419e-11,2.63512233481,12566.1516999828],[425264e-11,1.59046982018,3.523118349],[109017e-11,2.96631010675,1577.3435424478],[93479e-11,2.59211109542,18849.2275499742],[119305e-11,5.79555765566,26.2983197998],[72121e-11,1.13840581212,529.6909650946],[67784e-11,1.87453300345,398.1490034082],[6735e-10,4.40932832004,5507.5532386674],[59045e-11,2.88815790631,5223.6939198022],[55976e-11,2.17471740035,155.4203994342],[45411e-11,.39799502896,796.2980068164],[36298e-11,.46875437227,775.522611324],[28962e-11,2.64732254645,7.1135470008],[20844e-11,5.34138275149,.9803210682]],ue=[[8721859e-11,1.07253635559,6283.0758499914],[99099e-10,3.14159265359,0],[294833e-11,.43717350256,12566.1516999828],[27338e-11,.05295636147,3.523118349],[16333e-11,5.18820215724,26.2983197998],[15745e-11,3.68504712183,155.4203994342],[9425e-11,.29667114694,18849.2275499742],[8938e-11,2.05706319592,77713.7714681205],[694e-10,.82691541038,775.522611324],[5061e-11,4.6624323168,1577.3435424478]],V=[[289058e-11,5.84173149732,6283.0758499914],[20712e-11,6.0498393902,12566.1516999828],[2962e-11,5.1956057957,155.4203994342],[2527e-11,3.14159265359,0],[1288e-11,4.7219761197,3.523118349]],ie=[[7714e-11,4.14117321449,6283.0758499914],[1016e-11,3.27573644241,12566.1516999828]];function A(N){let Q=0;for(const[F,W,H]of D)Q+=F*Math.cos(W+H*N);let v=1;for(const F of[oe,ue,V,ie]){v*=N;for(const[W,H,b]of F)Q+=W*v*Math.cos(H+b*N)}return Q}return{earthL:A}})(),J.calendar=(function(){const{earthL:D}=J["vsop-earth"]||{},{createLru:oe}=J.lru||{},ue=["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"],V=["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"],ie=["小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至"];function A(ne){return(285+15*ne)%360}function N(ne,ae,T){const h=Math.floor((14-ae)/12),E=ne+4800-h,ze=ae+12*h-3;return T+Math.floor((153*ze+2)/5)+365*E+Math.floor(E/4)-Math.floor(E/100)+Math.floor(E/400)-32045}function Q(ne){const ae=ne+32044,T=Math.floor((4*ae+3)/146097),h=ae-Math.floor(146097*T/4),E=Math.floor((4*h+3)/1461),ze=h-Math.floor(1461*E/4),Le=Math.floor((5*ze+2)/153);return{year:100*T+E-4800+Math.floor(Le/10),month:Le+3-12*Math.floor(Le/10),day:ze-Math.floor((153*Le+2)/5)+1}}function v(ne,ae){for(let T=0;T<60;T++)if(T%10===ne&&T%12===ae)return T;return-1}function F(ne){const ae=(ne%60+60)%60;return{index:ae,stem:ue[ae%10],branch:V[ae%12],name:ue[ae%10]+V[ae%12]}}function W(ne){return((ne+49)%60+60)%60}function H(ne){const ae=ne-2451545,T=ae/36525,h=ae/365250;let E=D(h)*180/Math.PI+180;E=(E%360+360)%360;const ze=(5029.0966*T+1.11113*T*T-6e-6*T*T*T)/3600;E+=ze,E-=.09033/3600;const Le=(125.04452-1934.136261*T)*Math.PI/180,Je=(280.4665+36000.7698*T)*Math.PI/180,en=(218.3165+481267.8813*T)*Math.PI/180,Ve=(-17.2*Math.sin(Le)-1.32*Math.sin(2*Je)-.23*Math.sin(2*en)+.21*Math.sin(2*Le))/3600;E+=Ve;const Ue=(357.52911+35999.05029*T-1537e-7*T*T)*Math.PI/180,Ze=.016708634-42037e-9*T-1267e-10*T*T,xe=1.000001018*(1-Ze*Ze)/(1+Ze*Math.cos(Ue+(1.914602-.004817*T)*(Math.PI/180)*Math.sin(Ue)));return E-=20.4898/3600/(xe||1),(E%360+360)%360}function b(ne){const ae=[[1900,-2.8],[1920,21.2],[1940,24.3],[1950,29.1],[1960,33.2],[1970,40.2],[1980,50.5],[1990,56.9],[2e3,63.8],[2010,66.1],[2020,69.4],[2030,72],[2050,80],[2100,110]];if(ne<=ae[0][0])return ae[0][1];for(let T=1;T<ae.length;T++)if(ne<=ae[T][0]){const[h,E]=ae[T-1],[ze,Le]=ae[T];return E+(Le-E)*(ne-h)/(ze-h)}return ae[ae.length-1][1]}const C=8/24,le=7.7611/24,s=2425612+4/24;function w(ne){return ne<s?le:C}const u=oe({max:4096,name:"termInstant"}),M=1e-5,ee=new Map,S=365.2422;function z(ne,ae){const T=A(ae),h=N(ne,1,5)-.5+ae*15.2184,E=ee.get(ae);let ze=E!==void 0?E+S:h;Math.abs(ze-h)>20&&(ze=h);for(let Je=0;Je<12;Je++){let en=T-H(ze);if(en=((en+180)%360+360)%360-180,ze+=en/.98564736,Math.abs(en)<M)break}ee.set(ae,ze);const Le=ze-b(ne)/86400;return Le+w(Le)}function o(ne,ae){const T=ne*24+ae,h=u.get(T);if(h!==void 0)return h;const E=z(ne,ae);return u.set(T,E),E}function m(ne){const ae=Math.floor(ne+.5),T=ne+.5-ae,h=Math.round(T*1440),{year:E,month:ze,day:Le}=Q(ae);return{year:E,month:ze,day:Le,hour:Math.floor(h/60)%24,minute:h%60}}function R({year:ne,month:ae,day:T,hour:h=0,minute:E=0}){return N(ne,ae,T)-.5+(h*60+E)/1440}function G(ne,ae,T){const h=N(ne,ae,T)-N(ne,1,1)+1,E=2*Math.PI*(h-81)/364;return 9.87*Math.sin(2*E)-7.53*Math.cos(E)-1.5*Math.sin(E)}const k=oe({max:8,name:"termWindow"}),B=oe({max:32,name:"termYear"}),pe=Array.from({length:24},(ne,ae)=>ae),Ie=pe.filter(ne=>ne%2===0);function de(ne,ae){const T=ae?`${ne}|jie`:`${ne}|all`,h=B.get(T);if(h)return h;if(ae){const ze=B.get(`${ne}|all`);if(ze){const Le=ze.filter(Je=>Je.index%2===0);return B.set(T,Le),Le}}const E=[];for(const ze of ae?Ie:pe)E.push({year:ne,index:ze,name:ie[ze],jd:o(ne,ze)});return E.sort((ze,Le)=>ze.jd-Le.jd),B.set(T,E),E}function Ae(ne,ae={}){const T=ae.jieOnly===!0,h=T?`${ne}|jie`:ne,E=k.get(h);if(E)return E;const ze=[...de(ne-1,T),...de(ne,T),...de(ne+1,T)];return ze.sort((Le,Je)=>Le.jd-Je.jd),k.set(h,ze),ze}function Se(ne){if(typeof ne!="string"||ne.length<2)return[];const ae=ue.indexOf(ne[0]),T=V.indexOf(ne[1]);if(ae<0||T<0)return[];const h=v(ae,T);if(h<0)return[];const E=Math.floor(h/10)*10;return[V[(E+10)%12],V[(E+11)%12]]}function Ge(ne,ae){let T=null;for(const h of ne)if(h.index%2===0)if(h.jd<=ae)T=h;else break;return T}function Te(ne,ae){for(const T of ne)if(T.index%2===0&&T.jd>ae)return T;return null}function Be(ne){const ae=m(ne),T=h=>String(h).padStart(2,"0");return`${ae.year}-${T(ae.month)}-${T(ae.day)} ${T(ae.hour)}:${T(ae.minute)}`}function Qe(){return[u.stats(),B.stats(),k.stats()]}return{STEMS:ue,BRANCHES:V,TERM_NAMES:ie,termLongitude:A,toJDN:N,fromJDN:Q,sexagenaryIndex:v,ganzhiName:F,dayGanzhiIndex:W,sunLongitude:H,deltaTSeconds:b,OFFSET_MODERN:C,OFFSET_BEIJING_LOCAL:le,CUTOVER_JD:s,localOffsetFor:w,termInstantJd:o,jdToParts:m,partsToJd:R,equationOfTime:G,termWindow:Ae,xunKongOf:Se,previousJie:Ge,nextJie:Te,formatJd:Be,cacheMetrics:Qe}})(),J.lunar=(function(){const{toJDN:D,jdToParts:oe,termInstantJd:ue,deltaTSeconds:V,localOffsetFor:ie,OFFSET_MODERN:A}=J.calendar||{},N=29.530588861,Q=245155009766e-5,v=Math.PI/180;function F(w){const u=w/1236.85,M=Q+N*w+15437e-8*u*u-15e-8*u*u*u+73e-11*u*u*u*u,ee=1-.002516*u-74e-7*u*u,S=(2.5534+29.1053567*w-14e-7*u*u-11e-8*u*u*u)*v,z=(201.5643+385.81693528*w+.0107582*u*u+1238e-8*u*u*u-58e-9*u*u*u*u)*v,o=(160.7108+390.67050284*w-.0016118*u*u-227e-8*u*u*u+11e-9*u*u*u*u)*v,m=(124.7746-1.56375588*w+.0020672*u*u+215e-8*u*u*u)*v,R=-.4072*Math.sin(z)+.17241*ee*Math.sin(S)+.01608*Math.sin(2*z)+.01039*Math.sin(2*o)+.00739*ee*Math.sin(z-S)-.00514*ee*Math.sin(z+S)+.00208*ee*ee*Math.sin(2*S)-.00111*Math.sin(z-2*o)-57e-5*Math.sin(z+2*o)+56e-5*ee*Math.sin(2*z+S)-42e-5*Math.sin(3*z)+42e-5*ee*Math.sin(S+2*o)+38e-5*ee*Math.sin(S-2*o)-24e-5*ee*Math.sin(2*z-S)-17e-5*Math.sin(m)-7e-5*Math.sin(z+2*S)+4e-5*Math.sin(2*z-2*o)+4e-5*Math.sin(3*S)+3e-5*Math.sin(z+S-2*o)+3e-5*Math.sin(2*z+2*o)-3e-5*Math.sin(z+S+2*o)+3e-5*Math.sin(z-S+2*o)-2e-5*Math.sin(z-S-2*o)-2e-5*Math.sin(3*z+S)+2e-5*Math.sin(4*z),G=M+R-V(2e3+u*100)/86400;return G+ie(G)}function W(w){return Math.floor(w+.5)}function H(w){const u=w-A;return u+ie(u)}function b(w){return Math.round((w+.5-Q)/N)}function C(w,u,M){for(let ee=w-1;ee<=w+1;ee++)for(let S=1;S<24;S+=2){const z=H(ue(ee,S)),o=W(z);if(o>=u&&o<M)return{index:S,jd:z}}return null}function le(w,u,M){const ee=D(w,u,M),S=W(H(ue(w,23))),z=ee<S?w-1:w,o=W(H(ue(z,23)));let m=b(o);for(;W(F(m))>o;)m--;for(;W(F(m+1))<=o;)m++;const R=W(H(ue(z+1,23)));let G=m;for(;W(F(G+1))<=R;)G++;const k=G-m;let B=-1;if(k===13)for(let Ae=1;Ae<=k;Ae++){const Se=W(F(m+Ae-1)),Ge=W(F(m+Ae));if(!C(z,Se,Ge)){B=Ae;break}}let pe=11,Ie=!1,de=W(F(m));for(let Ae=1;Ae<=15;Ae++){const Se=W(F(m+Ae-1)),Ge=W(F(m+Ae)),Te=C(z,Se,Ge),Be=Ae===B;if(ee>=Se&&ee<Ge){const Qe=oe(F(m+Ae-1)),ne=Be?(pe+10)%12+1:pe;return{year:z,lunarYear:Ie?z+1:z,month:ne,day:ee-Se+1,isLeap:Be,monthStart:`${Qe.year}-${String(Qe.month).padStart(2,"0")}-${String(Qe.day).padStart(2,"0")}`,hasZhongQi:!!Te}}Be||(pe=pe%12+1,pe===1&&(Ie=!0)),de=Ge}throw new Error(`农历换算失败:${w}-${u}-${M}`)}function s(w,u,M){return D(w,u,M)}return{SYNODIC:N,newMoonJd:F,dayNumberOf:W,solarToLunar:le,monthStartJd:s}})(),J.geo=(function(){const D=`
|
|
1
|
+
window.__ModuleLoader__.load({id:"dsh-metaphysics",chunk:"client.tarot.js",factory(nt){const B={};return B.fail=(function(){return{fail:(X,oe)=>{const F=new Error(oe);return F.code=X,F}}})(),B.diff=(function(){const P=new Set(["summary","interpret","castAt","asOf","precision","disclaimer","note","trueSolarText","civilText","offsetMinutes","input","jd","juMethod","juMethodNote","lateZiHourMode","leapPolicy","schools","bodyMasterSchool","bodyMasterNote","handle","handleError","revision"]),X=r=>r!==null&&typeof r=="object";function oe(r,l,d="",o=[]){if(r===l)return o;if(!X(r)||!X(l))return o.push({path:d||"(root)",from:r,to:l}),o;const c=new Set([...Object.keys(r),...Object.keys(l)]);for(const w of c){if(P.has(w))continue;const g=d?`${d}.${w}`:w,p=r[w],C=l[w];X(p)&&X(C)?oe(p,C,g,o):JSON.stringify(p)!==JSON.stringify(C)&&o.push({path:g,from:p,to:C})}return o}const F=[[/^pillars\.year\.ganzhi$/,"年柱"],[/^pillars\.month\.ganzhi$/,"月柱"],[/^pillars\.day\.ganzhi$/,"日柱"],[/^pillars\.hour\.ganzhi$/,"时柱"],[/^pillars\.\w+\.hidden/,"藏干"],[/^pillars\.\w+\.stemTenGod$/,"十神"],[/^pillars\.\w+\.kongwang/,"空亡"],[/^pillars\.\w+\.dishi$|^pillars\.\w+\.zizuo$/,"十二长生"],[/^pillars\.\w+\.nayin$/,"纳音"],[/^dayMaster\./,"日主"],[/^palaces\.(taiyuan|minggong|shengong)\./,"命身宫"],[/^palaces\.\d+\.(palace|branch|stem|ganzhi)$/,"宫位"],[/^palaces\.\d+\.stars\.\d+\.(name|brightness|type)$/,"星曜"],[/^palaces\.\d+\.shensha\./,"神煞"],[/^palaces\.\d+\.(daxian|xiaoxian)\./,"大限"],[/^palaces\.\d+\.sanfang\./,"三方四正"],[/^palaces\.\d+\./,"宫位"],[/^palaces\./,"命身宫"],[/^soul\./,"命宫"],[/^body\./,"身宫"],[/^doujun\./,"流年斗君"],[/^siZhu\.year$/,"年柱"],[/^siZhu\.month$/,"月柱"],[/^siZhu\.day$/,"日柱"],[/^siZhu\.time$/,"时柱"],[/^ju$|^juNumber$/,"局数"],[/^yuan$/,"三元"],[/^dun$/,"阴阳遁"],[/^daxian(List)?\./,"大限"],[/^fly(Chains|Composite)?\./,"飞星"],[/^pattern/,"格局"],[/^schools\./,"流派回显"],[/^dayun\.jiao\./,"起运"],[/^dayun\.toNextJieDays$/,"起运时间"],[/^dayun\.list\.(\d+)\.ganzhi$/,"大运干支"],[/^dayun\.startAge\./,"起运时间"],[/^dayun\./,"大运评分"],[/^liunian\./,"流年"],[/^jieqi\./,"节气边界"],[/^solarTime\./,"真太阳时"],[/^dayGanZhi$/,"日辰"],[/^hourZhi$/,"时支"],[/^yueJiang\./,"月将"],[/^xunKong$/,"旬空"],[/^lines\.(\d+)\./,"爻"],[/^shensha\./,"神煞"],[/^frame\./,"格局用神"],[/^strength\./,"旺衰"],[/^wuxing\./,"五行计数"],[/^relations\./,"干支关系"],[/^input\./,"输入回显"]],W=[[/^pillars\./,"四柱"],[/^shensha\./,"神煞"],[/^dayun\./,"大运"],[/^liunian\./,"流年"],[/^frame\./,"格局用神"],[/^strength\./,"旺衰"],[/^wuxing\./,"五行计数"],[/^dayMaster\./,"日主"],[/^relations\./,"干支关系"],[/^palaces\.(taiyuan|minggong|shengong)\./,"命身宫"],[/^palaces\.\d+\./,"宫位"],[/^palaces\./,"命身宫"],[/^soul\.|^body\.|^doujun\./,"命身宫"],[/^siZhu\./,"四柱"],[/^ju$|^juNumber$|^yuan$|^dun$/,"局数"],[/^daxian/,"大限"],[/^fly/,"飞星"],[/^pattern/,"格局"],[/^jieqi\./,"节气"],[/^solarTime\./,"真太阳时"],[/^input\./,"输入回显"],[/^lines\./,"爻"]],E=[[/^pillars\.(year|month|day|hour)\.ganzhi$/,"柱"],[/^palaces\.(minggong|shengong)\.ganzhi$/,"命身宫"],[/^soul\.ganzhi$/,"命宫"],[/^body\.branch$/,"身宫"],[/^siZhu\.(year|month|day|time)$/,"柱"],[/^dayun\.jiao\.at$/,"起运"],[/^dayGanZhi$/,"日辰"],[/^hourZhi$/,"时支"],[/^ju$|^juNumber$|^juName$/,"局数"],[/^dun$/,"阴阳遁"],[/^lines\.\d+\.(ganzhi|yinYang|name)$/,"爻"],[/^yueJiang\.(name|zhi)$/,"月将"]];function I(r){for(const[l,d]of F)if(l.test(r))return d;return J(r)||r}function J(r){for(const[l,d]of W)if(l.test(r))return d;return""}function k(r){for(const[l,d]of E)if(l.test(r))return d;return""}function A(r){return[...r].sort((l,d)=>l.path.localeCompare(d.path,"zh-Hans-CN",{numeric:!0}))}function O(r){if(!r.length)return"本盘不受此口径影响:所有字段一致。";const l=r.filter(w=>k(w.path)),d=[...new Set(r.map(w=>J(w.path)).filter(Boolean))],o=l.length?`根因 ${l.length} 处:`+l.slice(0,4).map(w=>`${I(w.path)} ${L(w.from)}→${L(w.to)}`).join("、")+(l.length>4?" 等":""):"无单一根因",c=d.length?`;连带影响 ${d.slice(0,6).join("、")}${d.length>6?" 等":""} ${d.length} 类,共 ${r.length} 处`:`;共 ${r.length} 处`;return o+c+"。"}const L=r=>r===void 0?"—":r===null?"null":typeof r=="string"?r:Array.isArray(r)?r.join("")||"[]":typeof r=="object"?JSON.stringify(r):String(r);function z(r,{title:l="",limit:d=12}={}){const o=[];if(l&&o.push(`【${l}】`),o.push(O(r)),!r.length)return o.join(`
|
|
2
|
+
`);const c=A(r.filter(g=>k(g.path))),w=A(r.filter(g=>!k(g.path)));if(c.length){o.push(""),o.push(" 根因(口径直接改动):");for(const g of c)o.push(` ${I(g.path).padEnd(6)} ${L(g.from)} → ${L(g.to)}`)}if(w.length){o.push(""),o.push(` 连带变化(${w.length} 处,展示前 ${Math.min(d,w.length)} 处):`);for(const g of w.slice(0,d))o.push(` ${I(g.path).padEnd(6)} ${L(g.from)} → ${L(g.to)}`);if(w.length>d){const g={};for(const p of w.slice(d)){const C=J(p.path)||"其他";g[C]=(g[C]||0)+1}o.push(" 其余:"+Object.entries(g).map(([p,C])=>`${p} ${C} 处`).join("、"))}}return o.join(`
|
|
3
|
+
`)}const R=(r,l,d,o,c,w)=>({key:r,title:l,short:d,read:g=>{const p=g[r]!==void 0?g[r]:g.schools&&g.schools[r];return w[p]?p:o},alt:g=>g===c?o:c,label:g=>w[g]||g}),ne={bazi:[{key:"lateZi",title:"晚子时:23:00 后是否换日",short:"晚子时",read:r=>r.lateZi!==!1,alt:r=>!r,label:r=>r?"换日":"不换日"},{key:"trueSolar",title:"真太阳时:是否按出生地经度修正",short:"真太阳时",read:r=>r.trueSolar!==!1,alt:r=>!r,label:r=>r?"修正":"不修正"}],ziwei:[{key:"leapMonth",title:"闰月归月:按日切分 / 整月归次月",short:"闰月归月",read:r=>r.leapMonth==="next"||r.leapMonth==="prev"?r.leapMonth:"split",alt:r=>r==="split"?"next":"split",label:r=>({split:"按日切分",next:"整月归次月",prev:"整月归本月"})[r]||r},{key:"trueSolar",title:"真太阳时:是否按出生地经度修正",short:"真太阳时",read:r=>r.trueSolar!==!1,alt:r=>!r,label:r=>r?"修正":"不修正"},R("brightnessSchool","亮度表:默认 / QS 七档","亮度表","default","QS",{default:"默认",QS:"QS(七档)",XD1:"XD1(七档)",ZZ:"ZZ(五档)",XD2:"XD2(五档)"}),R("gengYearSihua","庚干四化:阳武阴同 / 同科阴忌","庚干四化","GYWYT","GYWTY",{GYWYT:"阳武阴同",GYWTY:"同科阴忌",GYWFT:"府科同忌",GYWFX:"府科相忌",GYWTX:"同科相忌"}),R("tianmaSchool","天马:按年支 / 按生月","天马","year-branch","month-branch",{"year-branch":"年支","month-branch":"生月"}),R("tiankongSchool","天空:不排 / 年支顺行","天空","off","normal",{off:"不排",normal:"年支顺行","shun-jia-shi":"加生时"}),R("jiekongSchool","截空旬空:不排 / 正副双星","截空旬空","off","double",{off:"不排",single:"单星",double:"正副双星",zhanyan:"占验派"}),R("kuiyueSchool","魁钺:qs1 / qs2","魁钺","qs1","qs2",{qs1:"qs1",qs2:"qs2","zhong-yiming":"中一鸣",network:"网络"}),R("tianshiTianshang","天伤天使:常规 / 中州互换","天伤天使","normal","zhongzhou",{normal:"常规",zhongzhou:"中州(阴男阳女互换)"}),R("changshengSchool","长生:阴阳顺逆 / 火土起寅","长生","yin-yang-shun-ni","huo-tu",{"yin-yang-shun-ni":"阴阳顺逆","shui-tu":"水二","huo-tu":"火土(土五局起寅)"}),R("lateZishi","晚子时:归当日 / 归次日","晚子时","current-day","next-day",{"current-day":"归当日","next-day":"归次日","all-current":"全归当日","day-cur-time-next":"日归当日·时归次日"}),R("shenzhuSchool","身主:子午皆火星 / 子铃午火","身主","common","verse",{common:"子午皆火星",verse:"子铃午火(安身主诀逐字)"})],qimen:[{key:"juMethod",title:"取局流派:拆补 / 超神接气 / 置闰",short:"取局流派",read:r=>["chaibu","chaoshen","zhirun"].includes(r.juMethod)?r.juMethod:"chaibu",alt:r=>r==="chaibu"?"zhirun":"chaibu",label:r=>({chaibu:"拆补法",chaoshen:"超神接气",zhirun:"置闰法"})[r]||r},{key:"lateZiHourMode",title:"晚子时:23:00 后归当日 / 次日",short:"晚子时归日",read:r=>r.lateZiHourMode==="next-day"?"next-day":"same-day",alt:r=>r==="next-day"?"same-day":"next-day",label:r=>r==="next-day"?"归次日":"归当日"}]},x={bazi:[{path:"pillars.day.ganzhi",label:"日柱"},{path:"pillars.hour.ganzhi",label:"时柱"},{path:"strength.level",label:"旺衰"},{path:"frame.primaryName",label:"格局"},{path:"frame.yongshen.favor",label:"喜用"},{path:"dayun.jiao.at",label:"起运"}],ziwei:[{path:"soul.ganzhi",label:"命宫"},{path:"body.branch",label:"身宫支"},{path:"bureau.name",label:"五行局"},{path:"bodyMaster",label:"身主"},{path:"daxianList.0.ages",label:"起大限"}],qimen:[{path:"siZhu.day",label:"日柱"},{path:"ju",label:"局数"},{path:"zhiFu.star",label:"值符"},{path:"zhiShi.gate",label:"值使"}]};function M(r,l){let d=r;for(const o of String(l).split(".")){if(d==null)return;d=d[o]}return d}function h(r){return r==null?"—":Array.isArray(r)?r.join("、"):typeof r=="object"?"—":String(r)}function b(r,l,d){return(x[r]||[]).map(c=>{const w=h(M(l,c.path)),g=h(M(d,c.path));return{key:c.path,label:c.label,current:w,alt:g,changed:w!==g}})}return{diffObjects:oe,labelOf:I,categoryOf:J,rootOf:k,sortDiffs:A,summarize:O,formatValue:L,renderDiff:z,CALIBER_SWITCHES:ne,CALIBER_VIEWS:x,viewCell:h,viewRows:b}})(),B.fingerprint=(function(){const P="0123456789ABCDEFGHJKMNPQRSTVWXYZ";function X(E){return JSON.stringify(oe(E))}function oe(E){if(E===null)return null;const I=typeof E;if(I==="string")return typeof E.normalize=="function"?E.normalize("NFC"):E;if(I==="number")return Number.isFinite(E)?Object.is(E,-0)?0:E:null;if(I==="boolean")return E;if(Array.isArray(E))return E.map(oe);if(I==="object"){const J={};for(const k of Object.keys(E).sort()){const A=E[k];A===void 0||typeof A=="function"||typeof A=="symbol"||(J[k]=oe(A))}return J}return null}function F(E){const I=String(E);let J=2166136261,k=2654435769;for(let L=0;L<I.length;L+=1){const z=I.charCodeAt(L);for(const R of[z&255,z>>>8])J=Math.imul(J^R,16777619),k=Math.imul(k^R,2246822507)}let A=(J>>>0)*8+(k>>>29),O="";for(let L=0;L<7;L+=1)O=P[A%32]+O,A=Math.floor(A/32);return O}function W(E={}){const I=String(E.system||""),J=String(E.version||"dev"),k=E.seed===void 0||E.seed===null||E.seed===""?null:Number(E.seed),A=E.asOf?String(E.asOf):null,O=E.params&&typeof E.params=="object"?E.params:{},L=X({system:I,params:O,seed:k,asOf:A}),z=X({base:L,version:J});return{id:`LY-${F(z)}`,baseId:`LY-${F(L)}`,version:J,system:I,payload:L}}return{canonicalJson:X,shortHash:F,fingerprintOf:W}})(),B.validate=(function(){const{fail:P}=B.fail||{},X=1600,oe=2400;function F(k){return k%4===0&&k%100!==0||k%400===0}function W(k,A){return A===2?F(k)?29:28:[31,28,31,30,31,30,31,31,30,31,30,31][A-1]||0}const E=k=>typeof k=="string"?`「${k}」`:String(k),I="引擎只接受解析好的公历字段 { year, month, day, hour?, minute? };字符串请先交给宿主层的 parseDateTime 解析";function J(k,A=""){const O=A?`${A} 的`:"";if(!k||typeof k!="object"||Array.isArray(k)){const ne=k===null?"null":Array.isArray(k)?"数组":typeof k;throw P("E_INPUT",`${O}入参必须是对象(收到 ${ne});${I}`)}const L=k.hour===void 0?0:k.hour,z=k.minute===void 0?0:k.minute;for(const[ne,x]of[["year",k.year],["month",k.month],["day",k.day],["hour",L],["minute",z]])if(!Number.isInteger(x))throw P("E_INPUT",`${O}${ne} 必须是整数(收到 ${E(x)});${I}`);if(k.year<X||k.year>oe)throw P("E_INPUT",`${O}year 超出支持范围 ${X}–${oe}(收到 ${k.year});更早的年份时区与历法口径不可靠`);if(k.month<1||k.month>12)throw P("E_INPUT",`${O}month 超出范围 1–12(收到 ${k.month})`);const R=W(k.year,k.month);if(k.day<1||k.day>R)throw P("E_INPUT",`${O}日期不存在:${k.year}-${k.month}-${k.day}(${k.year} 年 ${k.month} 月只有 ${R} 天)`);if(L<0||L>23)throw P("E_INPUT",`${O}hour 超出范围 0–23(收到 ${L})`);if(z<0||z>59)throw P("E_INPUT",`${O}minute 超出范围 0–59(收到 ${z})`);return k}return{MIN_YEAR:X,MAX_YEAR:oe,isLeapYear:F,daysInMonth:W,assertCivil:J}})(),B.lru=(function(){function P({max:X=64,ttlMs:oe=0,name:F="lru",now:W=()=>Date.now()}={}){const E=new Map,I={name:F,hits:0,misses:0,evictions:0,expirations:0},J=k=>oe>0&&W()-k.at>oe;return{name:F,max:X,ttlMs:oe,get(k){const A=E.get(k);if(!A||J(A)){A&&(E.delete(k),I.expirations+=1),I.misses+=1;return}return E.delete(k),E.set(k,A),I.hits+=1,A.value},set(k,A){for(E.has(k)&&E.delete(k),E.set(k,{value:A,at:W()});E.size>X;)E.delete(E.keys().next().value),I.evictions+=1;return A},has(k){const A=E.get(k);return A?J(A)?(E.delete(k),I.expirations+=1,!1):!0:!1},delete(k){return E.delete(k)},clear(){E.clear()},get size(){return E.size},stats(){const k=I.hits+I.misses;return{name:F,size:E.size,max:X,hits:I.hits,misses:I.misses,evictions:I.evictions,expirations:I.expirations,hitRate:k?I.hits/k:0}}}}return{createLru:P}})(),B.nayin=(function(){const P=["海中金","炉中火","大林木","路旁土","剑锋金","山头火","涧下水","城头土","白蜡金","杨柳木","泉中水","屋上土","霹雳火","松柏木","长流水","沙中金","山下火","平地木","壁上土","金箔金","覆灯火","天河水","大驿土","钗钏金","桑柘木","大溪水","沙中土","天上火","石榴木","大海水"];function X(oe){const F=(Number(oe)%60+60)%60,W=P[Math.floor(F/2)];return{name:W,element:W[2]}}return{NAYIN_NAMES:P,nayinOf:X}})(),B.sanhe=(function(){const P=[{branches:["申","子","辰"],element:"水"},{branches:["亥","卯","未"],element:"木"},{branches:["寅","午","戌"],element:"火"},{branches:["巳","酉","丑"],element:"金"}],X=Object.fromEntries(P.map(W=>[W.branches.join(""),W.element])),oe=Object.fromEntries(P.flatMap(W=>W.branches.map(E=>[E,W.element])));function F(W){return P.find(E=>E.branches.includes(W))||null}return{SANHE_GROUPS:P,SANHE:X,SANHE_ELEMENT:oe,sanheGroupOf:F}})(),B["vsop-earth"]=(function(){const P=[[1.75347045673,0,0],[.03341656453,4.66925680415,6283.0758499914],[.00034894275,4.62610242189,12566.1516999828],[3417572e-11,2.82886579754,3.523118349],[3497056e-11,2.74411783405,5753.3848848968],[3135899e-11,3.62767041756,77713.7714681205],[2676218e-11,4.41808345438,7860.4193924392],[2342691e-11,6.13516214446,3930.2096962196],[1273165e-11,2.03709657878,529.6909650946],[1324294e-11,.74246341673,11506.7697697936],[901854e-11,2.04505446477,26.2983197998],[1199167e-11,1.10962946234,1577.3435424478],[857223e-11,3.50849152283,398.1490034082],[779786e-11,1.17882681962,5223.6939198022],[99025e-10,5.23268072088,5884.9268465832],[753141e-11,2.53339052847,5507.5532386674],[505267e-11,4.58292599973,18849.2275499742],[492392e-11,4.20505711826,775.522611324],[356672e-11,2.91954114478,.0673103028],[284125e-11,1.89869240932,796.2980068164],[242879e-11,.34481445893,5486.777843175],[317087e-11,5.84901948512,11790.6290886588],[271112e-11,.31486255375,10977.078804699],[206217e-11,4.80646631478,2544.3144198834],[205478e-11,1.86953770281,5573.1428014331],[202318e-11,2.45767790232,6069.7767545534],[126225e-11,1.08295459501,20.7753954924],[155516e-11,.83306084617,213.299095438],[115132e-11,.64544911683,.9803210682],[102851e-11,.63599845579,4694.0029547076],[101724e-11,4.2667980198,7.1135470008],[99206e-11,6.20992926918,2146.1654164752],[132212e-11,3.41118292683,2942.4634232916],[97607e-11,.68101342359,155.4203994342],[85128e-11,1.29870764804,6275.9623029906],[74651e-11,1.755089133,5088.6288397668],[101895e-11,.97569280312,15720.8387848784],[84711e-11,3.67080093031,71430.69561812909],[73547e-11,4.67926633877,801.8209311238],[73874e-11,3.50319414955,3154.6870848956],[78757e-11,3.03697458703,12036.4607348882],[79637e-11,1.80791287082,17260.1546546904],[85803e-11,5.9832263126,161000.6857376741],[56963e-11,2.78430458592,6286.5989683404],[61148e-11,1.81839892984,7084.8967811152],[69627e-11,.83297621398,9437.762934887],[56116e-11,4.38694865354,14143.4952424306],[62449e-11,3.97763912806,8827.3902698748],[51145e-11,.28306832879,5856.4776591154],[55577e-11,3.47006059924,6279.5527316424],[41036e-11,5.36817592855,8429.2412664666],[51605e-11,1.33282739866,1748.016413067],[51992e-11,.18914947184,12139.5535091068],[49e-8,.48735014197,1194.4470102246],[392e-9,6.16833020996,10447.3878396044],[3557e-10,1.775968892,6812.766815086],[3677e-10,6.04133863162,10213.285546211],[36596e-11,2.56957481827,1059.3819301892],[33296e-11,.59310278598,17789.845619785],[35954e-11,1.70875808777,2352.8661537718],[40938e-11,2.39850938714,19651.048481098],[30047e-11,2.73975124088,1349.8674096588],[30412e-11,.44294464169,83996.84731811189],[23663e-11,.48473622521,8031.0922630584],[23574e-11,2.06528133162,3340.6124266998],[21089e-11,4.14825468851,951.7184062506],[24738e-11,.21484762138,3.5904286518],[25352e-11,3.16470891653,4690.4798363586],[22823e-11,5.22195230819,4705.7323075436],[21419e-11,1.42563910473,16730.4636895958],[21891e-11,5.55594302779,553.5694028424],[203e-9,.37133792946,283.8593188652]],X=[[6283.0758499914,0,0],[.00206058863,2.67823455808,6283.0758499914],[4303419e-11,2.63512233481,12566.1516999828],[425264e-11,1.59046982018,3.523118349],[109017e-11,2.96631010675,1577.3435424478],[93479e-11,2.59211109542,18849.2275499742],[119305e-11,5.79555765566,26.2983197998],[72121e-11,1.13840581212,529.6909650946],[67784e-11,1.87453300345,398.1490034082],[6735e-10,4.40932832004,5507.5532386674],[59045e-11,2.88815790631,5223.6939198022],[55976e-11,2.17471740035,155.4203994342],[45411e-11,.39799502896,796.2980068164],[36298e-11,.46875437227,775.522611324],[28962e-11,2.64732254645,7.1135470008],[20844e-11,5.34138275149,.9803210682]],oe=[[8721859e-11,1.07253635559,6283.0758499914],[99099e-10,3.14159265359,0],[294833e-11,.43717350256,12566.1516999828],[27338e-11,.05295636147,3.523118349],[16333e-11,5.18820215724,26.2983197998],[15745e-11,3.68504712183,155.4203994342],[9425e-11,.29667114694,18849.2275499742],[8938e-11,2.05706319592,77713.7714681205],[694e-10,.82691541038,775.522611324],[5061e-11,4.6624323168,1577.3435424478]],F=[[289058e-11,5.84173149732,6283.0758499914],[20712e-11,6.0498393902,12566.1516999828],[2962e-11,5.1956057957,155.4203994342],[2527e-11,3.14159265359,0],[1288e-11,4.7219761197,3.523118349]],W=[[7714e-11,4.14117321449,6283.0758499914],[1016e-11,3.27573644241,12566.1516999828]];function E(I){let J=0;for(const[A,O,L]of P)J+=A*Math.cos(O+L*I);let k=1;for(const A of[X,oe,F,W]){k*=I;for(const[O,L,z]of A)J+=O*k*Math.cos(L+z*I)}return J}return{earthL:E}})(),B.calendar=(function(){const{earthL:P}=B["vsop-earth"]||{},{createLru:X}=B.lru||{},oe=["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"],F=["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"],W=["小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至"];function E(ie){return(285+15*ie)%360}function I(ie,se,_){const y=Math.floor((14-se)/12),D=ie+4800-y,ke=se+12*y-3;return _+Math.floor((153*ke+2)/5)+365*D+Math.floor(D/4)-Math.floor(D/100)+Math.floor(D/400)-32045}function J(ie){const se=ie+32044,_=Math.floor((4*se+3)/146097),y=se-Math.floor(146097*_/4),D=Math.floor((4*y+3)/1461),ke=y-Math.floor(1461*D/4),Ce=Math.floor((5*ke+2)/153);return{year:100*_+D-4800+Math.floor(Ce/10),month:Ce+3-12*Math.floor(Ce/10),day:ke-Math.floor((153*Ce+2)/5)+1}}function k(ie,se){for(let _=0;_<60;_++)if(_%10===ie&&_%12===se)return _;return-1}function A(ie){const se=(ie%60+60)%60;return{index:se,stem:oe[se%10],branch:F[se%12],name:oe[se%10]+F[se%12]}}function O(ie){return((ie+49)%60+60)%60}function L(ie){const se=ie-2451545,_=se/36525,y=se/365250;let D=P(y)*180/Math.PI+180;D=(D%360+360)%360;const ke=(5029.0966*_+1.11113*_*_-6e-6*_*_*_)/3600;D+=ke,D-=.09033/3600;const Ce=(125.04452-1934.136261*_)*Math.PI/180,en=(280.4665+36000.7698*_)*Math.PI/180,an=(218.3165+481267.8813*_)*Math.PI/180,nn=(-17.2*Math.sin(Ce)-1.32*Math.sin(2*en)-.23*Math.sin(2*an)+.21*Math.sin(2*Ce))/3600;D+=nn;const Fe=(357.52911+35999.05029*_-1537e-7*_*_)*Math.PI/180,Ze=.016708634-42037e-9*_-1267e-10*_*_,xe=1.000001018*(1-Ze*Ze)/(1+Ze*Math.cos(Fe+(1.914602-.004817*_)*(Math.PI/180)*Math.sin(Fe)));return D-=20.4898/3600/(xe||1),(D%360+360)%360}function z(ie){const se=[[1900,-2.8],[1920,21.2],[1940,24.3],[1950,29.1],[1960,33.2],[1970,40.2],[1980,50.5],[1990,56.9],[2e3,63.8],[2010,66.1],[2020,69.4],[2030,72],[2050,80],[2100,110]];if(ie<=se[0][0])return se[0][1];for(let _=1;_<se.length;_++)if(ie<=se[_][0]){const[y,D]=se[_-1],[ke,Ce]=se[_];return D+(Ce-D)*(ie-y)/(ke-y)}return se[se.length-1][1]}const R=8/24,ne=7.7611/24,x=2425612+4/24;function M(ie){return ie<x?ne:R}const h=X({max:4096,name:"termInstant"}),b=1e-5,r=new Map,l=365.2422;function d(ie,se){const _=E(se),y=I(ie,1,5)-.5+se*15.2184,D=r.get(se);let ke=D!==void 0?D+l:y;Math.abs(ke-y)>20&&(ke=y);for(let en=0;en<12;en++){let an=_-L(ke);if(an=((an+180)%360+360)%360-180,ke+=an/.98564736,Math.abs(an)<b)break}r.set(se,ke);const Ce=ke-z(ie)/86400;return Ce+M(Ce)}function o(ie,se){const _=ie*24+se,y=h.get(_);if(y!==void 0)return y;const D=d(ie,se);return h.set(_,D),D}function c(ie){const se=Math.floor(ie+.5),_=ie+.5-se,y=Math.round(_*1440),{year:D,month:ke,day:Ce}=J(se);return{year:D,month:ke,day:Ce,hour:Math.floor(y/60)%24,minute:y%60}}function w({year:ie,month:se,day:_,hour:y=0,minute:D=0}){return I(ie,se,_)-.5+(y*60+D)/1440}function g(ie,se,_){const y=I(ie,se,_)-I(ie,1,1)+1,D=2*Math.PI*(y-81)/364;return 9.87*Math.sin(2*D)-7.53*Math.cos(D)-1.5*Math.sin(D)}const p=X({max:8,name:"termWindow"}),C=X({max:32,name:"termYear"}),de=Array.from({length:24},(ie,se)=>se),Ae=de.filter(ie=>ie%2===0);function ue(ie,se){const _=se?`${ie}|jie`:`${ie}|all`,y=C.get(_);if(y)return y;if(se){const ke=C.get(`${ie}|all`);if(ke){const Ce=ke.filter(en=>en.index%2===0);return C.set(_,Ce),Ce}}const D=[];for(const ke of se?Ae:de)D.push({year:ie,index:ke,name:W[ke],jd:o(ie,ke)});return D.sort((ke,Ce)=>ke.jd-Ce.jd),C.set(_,D),D}function je(ie,se={}){const _=se.jieOnly===!0,y=_?`${ie}|jie`:ie,D=p.get(y);if(D)return D;const ke=[...ue(ie-1,_),...ue(ie,_),...ue(ie+1,_)];return ke.sort((Ce,en)=>Ce.jd-en.jd),p.set(y,ke),ke}function we(ie){if(typeof ie!="string"||ie.length<2)return[];const se=oe.indexOf(ie[0]),_=F.indexOf(ie[1]);if(se<0||_<0)return[];const y=k(se,_);if(y<0)return[];const D=Math.floor(y/10)*10;return[F[(D+10)%12],F[(D+11)%12]]}function De(ie,se){let _=null;for(const y of ie)if(y.index%2===0)if(y.jd<=se)_=y;else break;return _}function _e(ie,se){for(const _ of ie)if(_.index%2===0&&_.jd>se)return _;return null}function Ye(ie){const se=c(ie),_=y=>String(y).padStart(2,"0");return`${se.year}-${_(se.month)}-${_(se.day)} ${_(se.hour)}:${_(se.minute)}`}function Ve(){return[h.stats(),C.stats(),p.stats()]}return{STEMS:oe,BRANCHES:F,TERM_NAMES:W,termLongitude:E,toJDN:I,fromJDN:J,sexagenaryIndex:k,ganzhiName:A,dayGanzhiIndex:O,sunLongitude:L,deltaTSeconds:z,OFFSET_MODERN:R,OFFSET_BEIJING_LOCAL:ne,CUTOVER_JD:x,localOffsetFor:M,termInstantJd:o,jdToParts:c,partsToJd:w,equationOfTime:g,termWindow:je,xunKongOf:we,previousJie:De,nextJie:_e,formatJd:Ye,cacheMetrics:Ve}})(),B.lunar=(function(){const{toJDN:P,jdToParts:X,termInstantJd:oe,deltaTSeconds:F,localOffsetFor:W,OFFSET_MODERN:E}=B.calendar||{},I=29.530588861,J=245155009766e-5,k=Math.PI/180;function A(M){const h=M/1236.85,b=J+I*M+15437e-8*h*h-15e-8*h*h*h+73e-11*h*h*h*h,r=1-.002516*h-74e-7*h*h,l=(2.5534+29.1053567*M-14e-7*h*h-11e-8*h*h*h)*k,d=(201.5643+385.81693528*M+.0107582*h*h+1238e-8*h*h*h-58e-9*h*h*h*h)*k,o=(160.7108+390.67050284*M-.0016118*h*h-227e-8*h*h*h+11e-9*h*h*h*h)*k,c=(124.7746-1.56375588*M+.0020672*h*h+215e-8*h*h*h)*k,w=-.4072*Math.sin(d)+.17241*r*Math.sin(l)+.01608*Math.sin(2*d)+.01039*Math.sin(2*o)+.00739*r*Math.sin(d-l)-.00514*r*Math.sin(d+l)+.00208*r*r*Math.sin(2*l)-.00111*Math.sin(d-2*o)-57e-5*Math.sin(d+2*o)+56e-5*r*Math.sin(2*d+l)-42e-5*Math.sin(3*d)+42e-5*r*Math.sin(l+2*o)+38e-5*r*Math.sin(l-2*o)-24e-5*r*Math.sin(2*d-l)-17e-5*Math.sin(c)-7e-5*Math.sin(d+2*l)+4e-5*Math.sin(2*d-2*o)+4e-5*Math.sin(3*l)+3e-5*Math.sin(d+l-2*o)+3e-5*Math.sin(2*d+2*o)-3e-5*Math.sin(d+l+2*o)+3e-5*Math.sin(d-l+2*o)-2e-5*Math.sin(d-l-2*o)-2e-5*Math.sin(3*d+l)+2e-5*Math.sin(4*d),g=b+w-F(2e3+h*100)/86400;return g+W(g)}function O(M){return Math.floor(M+.5)}function L(M){const h=M-E;return h+W(h)}function z(M){return Math.round((M+.5-J)/I)}function R(M,h,b){for(let r=M-1;r<=M+1;r++)for(let l=1;l<24;l+=2){const d=L(oe(r,l)),o=O(d);if(o>=h&&o<b)return{index:l,jd:d}}return null}function ne(M,h,b){const r=P(M,h,b),l=O(L(oe(M,23))),d=r<l?M-1:M,o=O(L(oe(d,23)));let c=z(o);for(;O(A(c))>o;)c--;for(;O(A(c+1))<=o;)c++;const w=O(L(oe(d+1,23)));let g=c;for(;O(A(g+1))<=w;)g++;const p=g-c;let C=-1;if(p===13)for(let je=1;je<=p;je++){const we=O(A(c+je-1)),De=O(A(c+je));if(!R(d,we,De)){C=je;break}}let de=11,Ae=!1,ue=O(A(c));for(let je=1;je<=15;je++){const we=O(A(c+je-1)),De=O(A(c+je)),_e=R(d,we,De),Ye=je===C;if(r>=we&&r<De){const Ve=X(A(c+je-1)),ie=Ye?(de+10)%12+1:de;return{year:d,lunarYear:Ae?d+1:d,month:ie,day:r-we+1,isLeap:Ye,monthStart:`${Ve.year}-${String(Ve.month).padStart(2,"0")}-${String(Ve.day).padStart(2,"0")}`,hasZhongQi:!!_e}}Ye||(de=de%12+1,de===1&&(Ae=!0)),ue=De}throw new Error(`农历换算失败:${M}-${h}-${b}`)}function x(M,h,b){return P(M,h,b)}return{SYNODIC:I,newMoonJd:A,dayNumberOf:O,solarToLunar:ne,monthStartJd:x}})(),B.geo=(function(){const P=`
|
|
4
4
|
北京 116.41 39.90;上海 121.47 31.23;天津 117.20 39.13;重庆 106.55 29.56
|
|
5
5
|
广州 113.26 23.13;深圳 114.06 22.55;珠海 113.58 22.27;东莞 113.75 23.02;佛山 113.12 23.02
|
|
6
6
|
汕头 116.68 23.35;中山 113.39 22.52;惠州 114.42 23.11;江门 113.08 22.58;湛江 110.36 21.27
|
|
@@ -63,105 +63,110 @@ window.__ModuleLoader__.load({id:"dsh-metaphysics",chunk:"client.tarot.js",facto
|
|
|
63
63
|
贵港 109.60 23.11;贺州 111.57 24.40;来宾 109.23 23.75;崇左 107.36 22.40
|
|
64
64
|
海口 110.20 20.04;三亚 109.51 18.25;儋州 109.58 19.52;琼海 110.47 19.26
|
|
65
65
|
香港 114.17 22.32;澳门 113.55 22.20;台北 121.52 25.03;高雄 120.31 22.63;台中 120.68 24.14
|
|
66
|
-
`,
|
|
67
|
-
`))for(const b of H.split(";")){const C=b.trim().split(/\s+/);if(C.length!==3)continue;const[le,s,w]=C;W[le]={lon:Number(s),lat:Number(w)}}for(const[H,[b,C]]of Object.entries(ue))W[H]||(W[H]={lon:b,lat:C});return W})(),ie=/(省|市|地区|盟|自治州|自治县|自治区|特别行政区|县|区|镇|乡|街道|村|小区|社区)/g;function A(W){const H=String(W||"").trim();if(!H)return null;const b=Number(H);if(Number.isFinite(b)&&/^-?\d+(\.\d+)?$/.test(H)&&b>=60&&b<=150)return{lon:b,lat:null,matched:`${b}°E`,level:"经度",note:"按你输入的经度计算"};const C=H.replace(/\s/g,"").replace(ie,""),le=Object.keys(V).sort((w,u)=>u.length-w.length);for(const w of le)if(C.includes(w)){const u=V[w];return{lon:u.lon,lat:u.lat,matched:w,level:"地级市",note:`按 ${w} 估算(约 ${u.lon}°E)`}}const s=H.replace(/\s/g,"");for(const[w,u]of Object.entries(oe)){const M=s.indexOf(w);if(M<0)continue;const ee=s.charAt(M+w.length);if(ee==="区"||ee==="县")continue;const S=V[u]||{lon:ue[u][0],lat:ue[u][1]};return{lon:S.lon,lat:S.lat,matched:u,level:"省会",note:`未匹配到具体城市,按 ${w} 省会 ${u} 估算(约 ${S.lon}°E)`}}return{lon:null,lat:null,matched:null,level:"未匹配",note:`没查到「${H}」,可改填经度(如 116.4)`}}const N=/(区|县|镇|乡|村|小区|街道|路|号|巷|弄|组|队)/,Q="dsh-metaphysics/0.23.0 (+https://github.com/xuanfu-web/dsh-metaphysics)";async function v(W,{timeoutMs:H=2500}={}){if(typeof fetch!="function")return null;let b=null;try{const C=typeof AbortController=="function"?new AbortController:null;C&&(b=setTimeout(()=>C.abort(),H));const le="https://nominatim.openstreetmap.org/search?format=jsonv2&limit=1&accept-language=zh-CN&countrycodes=cn&q="+encodeURIComponent(W),s=await fetch(le,{signal:C?C.signal:void 0,headers:{"User-Agent":Q}});if(!s||!s.ok)return null;const w=await s.json();if(!Array.isArray(w)||w.length===0)return null;const u=w[0],M=Number(u.lon),ee=Number(u.lat);return Number.isFinite(M)?{lon:M,lat:ee,matched:u.display_name,level:"在线",note:`在线解析:${u.display_name}`}:null}catch{return null}finally{b&&clearTimeout(b)}}async function F(W,H={}){const b=A(W),C=String(W||"").trim();if(!C||!(H.online===!0)||b&&typeof b.lon=="number"&&!N.test(C))return b;const s=await v(C,H);return s?{...s,local:b&&b.lon!=null?b:null}:b&&typeof b.lon=="number"?{...b,onlineFailed:!0,note:`${b.note}(联网解析失败或超时,已退回内置坐标表)`}:{...b,onlineFailed:!0}}return{CITIES:V,PROVINCES:oe,resolveAddress:A,geocodeAddress:F}})(),J.random=(function(){function D(V){let ie=Number(V)>>>0;return ie||(ie=2654435769),function(){ie=ie+1831565813>>>0;let N=ie;return N=Math.imul(N^N>>>15,N|1),N^=N+Math.imul(N^N>>>7,N|61),((N^N>>>14)>>>0)/4294967296}}function oe(V){if(V==null||V==="")return Math.random;const ie=Number(V);return Number.isFinite(ie)?D(ie):Math.random}function ue(V){return V==null||V===""?!0:Number.isFinite(Number(V))}return{mulberry32:D,randomOf:oe,isSeed:ue}})(),J.dst=(function(){const{daysInMonth:D}=J.validate||{},oe={1986:["1986-05-04","1986-09-14"],1987:["1987-04-12","1987-09-13"],1988:["1988-04-10","1988-09-11"],1989:["1989-04-16","1989-09-17"],1990:["1990-04-15","1990-09-16"],1991:["1991-04-14","1991-09-15"]},ue=(N,Q,v)=>N*1e4+Q*100+v;function V(N){const Q=oe[N.year];if(!Q)return!1;const[v,F,W]=Q[0].split("-").map(Number),[H,b,C]=Q[1].split("-").map(Number),le=ue(N.year,N.month,N.day);if(le<ue(v,F,W)||le>ue(H,b,C))return!1;const s=N.hour*60+(N.minute||0);return!(le===ue(v,F,W)&&s<120||le===ue(H,b,C)&&s>=120)}function ie(N){const Q=N.minute||0;if(!V(N))return{year:N.year,month:N.month,day:N.day,hour:N.hour,minute:Q,applied:!1,note:null};let{year:v,month:F,day:W,hour:H}=N;return H-=1,H<0&&(H+=24,W-=1,W<1&&(F-=1,F<1&&(F=12,v-=1),W=D(v,F))),{year:v,month:F,day:W,hour:H,minute:Q,applied:!0,note:`检出自 ${oe[N.year][0]} 至 ${oe[N.year][1]} 的中国夏令时:出生钟面时间已减 1 小时校正`}}function A(N,Q){const v=Array.isArray(N)?N.slice():[];return Q&&Q.applied&&Q.note&&v.push(Q.note),v}return{DST_SPANS:oe,inDstSpan:V,applyDst:ie,withDstNote:A}})(),J.classics=(function(){const D={ziping:{name:"子平真诠",author:"清·沈孝瞻",base:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/"},ditian:{name:"滴天髓",author:"明·京图(通行本)",base:"https://www.diancang.xyz/xuanxuewushu/ditiansui/"},sanming:{name:"三命通会",author:"明·万民英",base:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/"}},oe=[{id:"zp-yongshen",book:"ziping",chapter:"八、论用神",scene:"用神",tags:[],quote:"八字用神,专求月令,以日干配月令地支,而生克不同,格局分焉。财官印食,此用神之善而顺用之者也;煞伤劫刃,用神之不善而逆用之者也。",plain:"用神从月令里找:财、官、印、食四吉神顺用(生之护之),煞、伤、劫、刃四凶神逆用(制之化之)。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53628.html"},{id:"zp-zhenguan",book:"ziping",chapter:"三十一、论正官",scene:"格局",tags:["正官"],quote:"以刑冲破害为忌,则以生之护之为喜矣。存其喜而去其忌则贵,而贵之中又有高低者,何也?",plain:"正官格最忌刑冲破害,喜财生官、印护官;去忌存喜才谈得上贵,贵的层次还要看财印是否并透、有无伤官七煞混杂。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53651.html"},{id:"zp-cai",book:"ziping",chapter:"三十三、论财",scene:"格局",tags:["财","正财","偏财"],quote:"财为我克,使用之物也,以能生官,所以为美。为财帛,为妻妾,为才能,为驿马,皆财类也。",plain:"财是我所克、能为我用之物,因能生官而美;它同时代表钱财、配偶、才能、走动,不只「钱」一项。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53653.html"},{id:"zp-yin",book:"ziping",chapter:"三十五、论印绶",scene:"格局",tags:["印"],quote:"印绶喜其生身,正偏同为美格,故财与印不分偏正,同为一格而论之。",plain:"印能生身,正印偏印都算美格,不分偏正而论;印格的关键在身印强弱与官杀、食伤、财的配合。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53655.html"},{id:"zp-shishen",book:"ziping",chapter:"三十七、论食神",scene:"格局",tags:["食神"],quote:"食神本属泄气,以其能生正财,所以喜之。故食神生财,美格也。财要有根,不必偏正叠出,如身强食旺而财透,大贵之格。",plain:"食神本是泄气,可贵在能生财;食神生财要财有根,身强、食旺、财透三者齐,格局才大。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53657.html"},{id:"zp-pianguan",book:"ziping",chapter:"三十九、论偏官",scene:"格局",tags:["七杀","偏官"],quote:"煞以攻身,似非美物,百大贵之格,多存七煞。盖控制得宜,煞为我用,如大英雄大豪杰,似难驾驭,而处之有方,则惊天动地之功,忽焉而就。",plain:"七煞攻身,看着不美,但大贵之格多有七煞——能控制住就为我所用,像驾驭豪杰,处之有方就能成大事。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53659.html"},{id:"zp-shangguan",book:"ziping",chapter:"四十一、论伤官",scene:"格局",tags:["伤官"],quote:"伤官虽非吉神,实为秀气,故文人学士,多于伤官格内得之。而夏木见水,冬金见火,则又为秀之尤秀者也。",plain:"伤官不是吉神,却是秀气所在,文人多出伤官格;夏木得水、冬金得火,是秀气里更秀的两种。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53661.html"},{id:"zp-yangren",book:"ziping",chapter:"四十三、论阳刃",scene:"格局",tags:["劫财","阳刃"],quote:"阳刃者,劫我正财之神,乃正财之七煞也。禄前一位,惟五阳有之,故为阳刃。不曰劫而曰刃,劫之甚也。刃宜伏制,官煞皆宜,财印相随,尤为贵显。",verifiedQuote:"阳刃者,劫我正财之神,乃正财之七煞也。禄前一位,惟五阳有之",variantNote:"典藏网此页把「故为阳刃」刻作「故为旭刃」,与通行本异文;前段仍可逐字核验",plain:"阳刃是劫财之极(只有五阳干有),宜用官煞制伏;财印相随而不相碍,格局更显。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53663.html"},{id:"zp-lujie",book:"ziping",chapter:"四十五、论建禄月劫",scene:"格局",tags:["比肩","建禄","月劫"],quote:"故建禄与月劫,可同一格,不必加分,皆以透干支,别取财官煞食为用。",plain:"建禄、月劫同看一格,月令本身不算用神,要另看透出的财官煞食取用。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53665.html"},{id:"zp-qihou",book:"ziping",chapter:"十四、论用神配气候得失",scene:"调候",tags:[],quote:"论命惟以月令用神为主,然亦须配气候而互参之。譬如英雄豪杰,生得其时,自然事半功倍;遭时不顺,虽有奇才,成功不易。",plain:"月令用神为主,但必须配气候参看;同样的格局,生在得时的气候里事半功倍,逆着气候就费劲。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53634.html"},{id:"zp-chengbai",book:"ziping",chapter:"九、论用神成败救应",scene:"格局",tags:[],quote:"成中有败,必是带忌;败中有成,全凭救应。",plain:"成格不等于一路顺:成中带忌(官逢财又逢伤、官被合之类)就打了折;败格也未必无救——印来解伤、合来清煞,败中还能转成。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53629.html"},{id:"zp-zaji",book:"ziping",chapter:"十六、论杂气如何取用",scene:"用神",tags:[],quote:"何谓透干?如甲生辰月,透戊则用偏财,透癸则用正印,透乙则用月劫是也。何谓会支?如甲生辰月,逢申与子会局,则用水印是也。一透则一用,兼透则兼用,透而又会,则透与会并用。",plain:"四墓(辰戌丑未)所藏不止一气,所以叫杂气:取用先看哪一藏干透到天干,透一个用一个;没有透干,再看地支有没有与月支会成三合局,会成什么局就取局中那一气。透干与会支同时成立时两样并用。原文对「兼透」只给原则,没有给取舍次序。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53636.html"},{id:"zp-bianhua",book:"ziping",chapter:"十、论用神变化",scene:"格局",tags:[],quote:"故若丁生亥月,本为正官,支全卯未,则化为印。己生申月,本属伤官。藏庚透壬,则化为财。凡此之类皆用神之变化也。",plain:"用神本从月令取,但月令藏干不一:丁生亥月本为正官,支会卯未就化为印;己生申月本属伤官,庚藏壬透就化为财。起点相同,合化一变,取用也跟着变(原文只说变化之由,不断定某盘必化)。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53630.html"},{id:"dt-hannuan",book:"ditian",chapter:"通神论·寒暖",scene:"调候",tags:[],quote:"天道有寒暖,生育万物,人道行之,不可过也。",plain:"天有寒暖才能生养万物,人命里寒暖也不能过——过寒过热都要调。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-zaoshi",book:"ditian",chapter:"通神论·燥湿",scene:"调候",tags:[],quote:"地道有燥湿,生成品汇,人道得之,不可偏也。",plain:"地有燥湿才有品类生成,人命得燥湿之气也不能偏。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-shuaiwang",book:"ditian",chapter:"通神论·衰旺",scene:"调候",tags:[],quote:"能知旺衰之真机,其于三命之奥,思过半矣。",plain:"真正看懂旺衰的机关,命理之奥就过了一半——旺衰不是数个数,要看真机。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-zhonghe",book:"ditian",chapter:"通神论·中和",scene:"调候",tags:[],quote:"既识中和之正理,而于五行之妙,有全能焉。",plain:"懂得中和的道理,五行的妙处就都在其中了。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-guansha",book:"ditian",chapter:"通神论·官杀",scene:"十神",tags:["正官","七杀"],quote:"官杀混杂来问我,有可有不可。",plain:"官杀混杂不是一律不好,要看能不能去留取清。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-shangguan",book:"ditian",chapter:"通神论·伤官",scene:"十神",tags:["伤官"],quote:"伤官见官最难辨,可见不可见。",plain:"伤官见官是最难分辨的一条:有的能见,有的不能见,不能一句「伤官见官为祸百端」了事。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-yueling",book:"ditian",chapter:"通神论·月令",scene:"用神",tags:[],quote:"月令乃提纲之府,譬之宅也,人元为用事之神,宅之定向也,不可以不卜。",plain:"月令像宅子,藏干是用事之神,像宅子的朝向,必须细看。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-tiyong",book:"ditian",chapter:"通神论·体用",scene:"用神",tags:[],quote:"道有体用,不可以一端论也,要在扶之抑之得其宜。",plain:"体用不能只看一头,关键是扶抑得宜。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-jingshen",book:"ditian",chapter:"通神论·精神",scene:"用神",tags:[],quote:"人有精神,不可以一偏求也,要在损之益之得其中。",plain:"看精神不能偏执一端,要在损益之间求其中。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-tongguan",book:"ditian",chapter:"通神论·通关",scene:"用神",tags:[],quote:"关内有织女,关外有牛郎,此关若通也,相邀入洞房。",plain:"两股力隔着一道关相望:一边织女、一边牛郎,中间若有一行能把两边接上(一方生它、它再生另一方),对峙就化成相生。原文只给取象,哪一行为关要按五行生克定。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"smt-zhenguan",book:"sanming",chapter:"卷五·论正官",scene:"格局",tags:["正官"],quote:"正官者,乃甲见辛、乙见庚之例。阴阳配合,相制有用,成其道也。故正官为六格之首,止许一位,多则不宜。",plain:"正官取「克我而阴阳相配」,有制而能成用;六格以正官居首,只宜一位,多见就杂。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7582.html"},{id:"smt-zhengcai",book:"sanming",chapter:"卷六·论正财",scene:"格局",tags:["财","正财"],quote:"正财者,乃甲见己、乙见戊之例。受我克制,为我之妻,譬人娶妻,妻赍财嫁我,我必精神康强,而后可享用,若衰微不振,虽妻财丰厚,但能目视,终不得用。",plain:"正财是我克制之物,古人以「娶妻带财」作比:自身精神康强才受用得起,身弱不振,财再厚也只是看着。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7645.html"},{id:"smt-piancai",book:"sanming",chapter:"卷六·论偏财",scene:"格局",tags:["财","偏财"],quote:"何谓偏财?乃甲见戊、乙见己之例。非妻所带,乃众人之财也。切忌有姊妹兄弟分夺,柱无官星,祸患百出。",plain:"偏财取「我克而阴阳不同」:不是妻家带来的私财,而是众人之财,宜流通不宜独占。原文最忌比肩劫财来分夺,又说柱中无官星则多事(旧说的重话照录,本插件只记原文、不作断语)。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7650.html"},{id:"smt-yinshou",book:"sanming",chapter:"卷六·论印绶",scene:"格局",tags:["印"],quote:"印绶者,乃五行生我之名。如甲乙在亥子月,丙丁在寅卯月之类,乃我气之源,为生气,为父母,能护我官星,使无伤克",plain:"印是生我之气,像源头与父母:它能护住官星,使官不受伤克;反过来说,印重就怕财来破。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7655.html"},{id:"smt-shishen",book:"sanming",chapter:"卷六·论食神",scene:"格局",tags:["食神"],quote:"凡命遇财煞之地,食神旺相,煞被食制,不敢为祸,财被食生,充裕不竭,故食神一名寿星,一名爵星,良有以也。",plain:"食神旺,一头制煞、一头生财:煞被制住不敢为祸,财被生起不至枯竭;所以食神又叫寿星、爵星。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7663.html"},{id:"smt-shangguan",book:"sanming",chapter:"卷六·论伤官",scene:"格局",tags:["伤官"],quote:"伤官虽凶,乃我所生,自家之物,伤尽则能生财,财旺则能生官,造化展转有情。",plain:"伤官虽称凶,却是我自己生出来的:伤尽(柱中不见官星)反能生财,财旺再生官,辗转还是有情。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7662.html"},{id:"smt-yangren",book:"sanming",chapter:"卷六·论阳刃",scene:"格局",tags:["阳刃","劫财"],quote:"阳者,阴阳之阳,刃者,刀刃之刃,即禄前一位,言旺越其分,故险。",plain:"阳刃指禄前一位,旺过了本分,所以险;甲丙戊庚壬五阳干才有刃,阴干见伤官同论。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7671.html"},{id:"smt-jianlu",book:"sanming",chapter:"卷六·论建禄",scene:"格局",tags:["建禄","比肩","月劫"],quote:"凡命月令建禄,难招祖业,必主平生见财不聚,却病少寿长,行运再见比肩,克妻妨父损子",plain:"月令建禄是日主临官之地,身旺而财官难取:古说难承祖业、见财不聚,但病少寿长;再走比肩运,古书说克妻妨父损子(属于旧说的重话,本插件只记原文、不作断语)。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7672.html"},{id:"smt-guansha-liu",book:"sanming",chapter:"卷五·官煞去留杂论",scene:"格局",tags:["七杀","偏官"],quote:"凡看去留,要详柱中官煞孰重孰轻,天干透者易去,月支所藏者难去,须伤官食神去官煞之物众而有力,方才去得。",plain:"官煞混见时先比谁重谁轻:天干透出的容易去,月支藏着的难去;用来去官煞的伤官食神要成众、有根有力,才真去得掉。七杀格遇正官混杂,就按这一篇看取舍。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7599.html"},{id:"smt-quzhi",book:"sanming",chapter:"卷六·曲直",scene:"格局",tags:["曲直格","专旺"],quote:"甲乙日得亥卯未局,柱中须有亥字带印为入格,若无亥有卯,止是木之本气,却要见金土为贵,既无亥字,又无金土,则木不秀不实,难以言贵。",plain:"曲直格要木局成方(亥卯未)且带亥字为印,才算入格;只有卯、没有亥,只是木的本气,得另见金土才谈得上贵;两样都没有,木虽旺而无成,难称贵格。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7630.html"},{id:"smt-yanshang",book:"sanming",chapter:"卷六·炎上",scene:"格局",tags:["炎上格","专旺"],quote:"丙丁日遇寅午戌局,柱中须有寅字带印为入格,无寅止是九流近贵之命,若火自旺,无亥水相济,不贵。喜东北方运,忌见辰丑戊己,晦火光明,多主眼疾,或患风气,柱有木制成贵,忌水金乡,怕冲。",plain:"炎上格要火局成方(寅午戌)且带寅字为印才入格;无寅只是偏贵的命。火自旺还要一点水相济,过燥不贵;行运喜东北、忌湿土晦火,也怕冲。原文另带「多主眼疾」一句,属于旧说,本插件只记原文、不作健康判断。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7631.html"},{id:"smt-congge",book:"sanming",chapter:"卷六·从革",scene:"格局",tags:["从革格","专旺"],quote:"庚辛日见巳酉丑局,须带丙丁巳午一二位方成其器,但不可火多。如辛巳、辛酉、辛丑三日不喜五月生,被火所伤,宜八月或水土养育食神印绶为吉。",plain:"从革格是金局成方(巳酉丑),但金要火炼才成器:须带丙丁或巳午一二位,火又不能多。辛巳、辛酉、辛丑三日出身在五月(火旺)被伤,原文说宜八月或水土养育。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7632.html"},{id:"smt-runxia",book:"sanming",chapter:"卷六·润下",scene:"格局",tags:["润下格","专旺"],quote:"壬癸日见申子辰全,忌引卯巳死绝之地,三刑四冲之乡,死绝则不流,冲刑则横流,岁运同。或曰水太泛须柱有土神一两位制之,得成堤岸,既有土怕会木为凶,如有木伤土要金印救解,终是一生成败。",plain:"润下格是水局三合全(申子辰),最忌卯巳死绝与三刑四冲:死绝水不流,冲刑水横流,行运也一样看。水太泛要一两位土作堤,有土又怕木来破堤,木伤土再用金印解救——原文把成败条件摊开讲。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7633.html"},{id:"smt-jiasi",book:"sanming",chapter:"卷六·稼穑",scene:"格局",tags:["稼穑格","专旺"],quote:"赋云:戊己忻逢四季,乃为稼穑之名。是戊己生逢季月,喜见木为官,止得一木为妙,木多则土虚,主虚诈为破家不仁之人。",plain:"稼穑格取戊己生于四季月(辰戌丑未)。原文说喜见一木为官,木多则土虚;后半对木多之人的评语是旧说的重话,本插件只照录条件、不拿来评价人。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7634.html"},{id:"smt-congsha",book:"sanming",chapter:"卷五·弃命从煞",scene:"格局",tags:["从杀格"],quote:"《独步》云:弃命从煞,须要会煞从财,忌煞从煞。盖言从煞格,以煞神太重,身无所归,不得已从之,要行煞旺及财乡,四柱无一点比肩印绶方论,如遇运扶身旺,与煞为敌,从煞不专,故为祸患。",plain:"从煞格是煞太重、日主无所归才「弃命」相从:条件是四柱没有一点比肩印绶扶身,行运喜煞旺与财乡;一旦走扶身之运,与煞为敌,就从得不专。本插件只作结构说明,不据此断寿夭。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7598.html"},{id:"smt-congcai",book:"sanming",chapter:"卷六·弃命从财",scene:"格局",tags:["从财格"],quote:"《独步》云:弃命从财,须要会财,若逢根气,命损无猜。假如丁生酉月,柱多庚辛,日干无气,只得弃命相从,运入北方财官旺地,乃为入格,南行灾。",plain:"从财格要财会成局、日干无气;一见根气就破格,原文用「命损无猜」这种重话写明。以丁生酉月、柱多庚辛为例:只能弃命相从,行北方财官旺地为入格,南行则灾。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7652.html"},{id:"smt-suiyun",book:"sanming",chapter:"卷二·总论岁运",scene:"岁运",tags:[],quote:"行运以生月为运元,最怕行运与太岁冲克,若岁运冲月必祸;若岁运与日相对,谓之返吟,岁运压日,谓之伏吟,二者不利六亲,非横破财,不为吉兆。",plain:"大运以生月为起点,最怕与流年(太岁)冲克:原文说岁运冲月为祸,又把「岁运与日柱相对」叫返吟、「岁运压日」叫伏吟。这两句是按「对日柱」说的,与本插件「干支相同为伏吟、天克地冲为反吟」不是同一套定义(本插件取后者);末句「不利六亲、破财」是旧说的重话,只作变动提示,不作断语。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7539.html"},{id:"smt-renyuan",book:"sanming",chapter:"卷二·论人元司事",scene:"人元",tags:[],quote:"故支吕所藏者主命,谓之人元,名为司事之神,以命术言之为月令。如正月建寅,寅中有艮土用事五日,丙火长生五日,甲木二十日;二月建卯,卯中有甲木用事七日,乙木二十三日;",plain:"地支所藏为「人元」,按月令分日轮值。三命通会这一本给的是另一套日数:寅月艮土(戊土)五日、丙火五日、甲木二十日,卯月甲七日、乙二十三日。它与本插件采用的通行 30 日表(寅月戊7丙7甲16,即 7/7/16;卯月甲10乙20,即 10/20)不是同一套分法;两表各照原样并列,本插件仍按通行表给「第几日谁当权」,不改取格。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7529.html"}],ue=oe.reduce((b,C)=>(b[C.id]=C,b),{}),V={正官格:"正官",七杀格:"七杀",偏官格:"偏官",正财格:"正财",偏财格:"偏财",正印格:"印",偏印格:"印",食神格:"食神",伤官格:"伤官",阳刃格:"阳刃",月劫格:"月劫",建禄格:"建禄"},ie={曲直格:"smt-quzhi",炎上格:"smt-yanshang",从革格:"smt-congge",润下格:"smt-runxia",稼穑格:"smt-jiasi",从财格:"smt-congcai",从杀格:"smt-congsha"};function A(b){return ue[b]||null}function N(b){return(b&&Array.isArray(b.liunian)?b.liunian:[]).some(s=>s&&s.suiyun&&Array.isArray(s.suiyun.signals)&&s.suiyun.signals.length)?A("smt-suiyun"):null}function Q(b){const C=String(b||"");if(V[C])return V[C];const le=C.replace(/格$/,"");return V[le+"格"]||le}function v(b,C){return oe.find(le=>le.scene==="格局"&&le.tags.includes(b)&&(!C||le.book===C))||null}function F(b){return b.chapter.replace(/^.*[、·]/,"").replace(/^论/,"")}function W(b,C=5){if(!b)return[];const le=[],s=new Set,w=(k,B)=>{!k||s.has(k.id)||le.length>=C||(s.add(k.id),le.push({...k,why:B}))},u=Array.isArray(b.geju)?b.geju:b.frame&&Array.isArray(b.frame.geju)?b.frame.geju:[],M=u.some(k=>k&&k.kind==="化气格");for(const k of u){if(k&&k.status==="破格"||M&&k&&k.status==="假从")continue;const B=k&&ie[k.name]?A(ie[k.name]):null;B&&w(B,`本盘列有「${k.name}」,故取${D[B.book].name}「${F(B)}」一条`)}for(const k of u){if(!k||k.kind&&k.kind!=="月令格")continue;const B=Q(k.name),pe=v(B,"ziping")||v(B);pe&&w(pe,`你的月令格局是「${k.name}」,故取${D[pe.book].name}「${F(pe)}」一条`);const Ie=oe.find(de=>de.scene==="格局"&&de.tags.includes(B)&&(!pe||de.book!==pe.book));Ie&&w(Ie,`同是「${k.name}」,${D[Ie.book].name}「${F(Ie)}」另有取法,可对照读`)}const ee=b.climate||b.frame&&b.frame.yongshen&&(b.frame.yongshen.climate||b.frame.yongshen.tiaohou),S=b.frame&&b.frame.yongshen&&b.frame.yongshen.tongguan,z=S&&S.usable?A("dt-tongguan"):null;if(ee&&ee.kind&&ee.kind!=="平和"){const k=!!(ee.cold||ee.kind.indexOf("寒")>=0),B=!!(ee.hot||ee.kind.indexOf("热")>=0);w(A(k?"dt-hannuan":"dt-zaoshi"),`本盘气候判为「${ee.kind}」,故取${D.ditian.name}寒暖燥湿一条`),z||w(A("zp-qihou"),"气候与月令用神要互参,故取子平真诠「用神配气候」一条"),B&&w(A("dt-hannuan"),"本盘偏热,寒暖一条正对")}z&&w(z,`本盘忌${S.foe}克用${S.use},局中${S.bridge}${S.weight}分可作通关,故取${D.ditian.name}「通关」一条`);const o=u.find(k=>k&&k.kind==="化气格"),m=u.find(k=>k&&k.kind==="组合"),R=b.monthBranch||b.frame&&b.frame.monthBranch||b.pillars&&b.pillars.month&&b.pillars.month.branch,G=["辰","未","戌","丑"].includes(R);return o?w(A("zp-bianhua"),`本盘列有「${o.name}」:用神由月令合化而变,总纲一位改取${D.ziping.name}论用神变化`):G?w(A("zp-zaji"),`月令${R}属四墓杂气,取用先看透干、再看会支,总纲一位取${D.ziping.name}论杂气如何取用`):m?w(A("zp-chengbai"),`本盘另有「${m.name}」组合:成格还要看带忌与救应,总纲一位改取${D.ziping.name}论用神成败救应`):w(A("zp-yongshen"),"用神从月令取、四吉顺用四凶逆用,是通用总纲"),le}function H(b){return!b||!b.length?"":b.map(C=>`《${D[C.book].name}·${C.chapter}》「${C.quote}」`).join(`
|
|
68
|
-
`)}return{CLASSIC_BOOKS:D,CLASSICS:oe,classicOf:A,suiyunClassicOf:N,classicsFor:W,classicsText:H}})(),J.tarot=(function(){const D=[["愚者","0","新开始 冒险 纯真 无限可能","鲁莽 逃避 原地打转 不切实际"],["魔术师","I","行动力 资源整合 化想法为现实 沟通","夸大 操纵 能力未用 自欺"],["女祭司","II","直觉 潜意识 静观其变 内在智慧","忽视直觉 秘密 表面化 失焦"],["皇后","III","丰盛 滋养 创造力 孕育","过度依赖 停滞 消耗 空虚"],["皇帝","IV","秩序 权威 结构 掌控","专断 僵化 失控 硬撑"],["教皇","V","传统 指导 信念 规范","教条 反叛 形式主义 盲从"],["恋人","VI","结合 抉择 价值观一致 吸引","失衡 犹豫 错误选择 貌合神离"],["战车","VII","意志 前进 掌控方向 胜利","失控 方向不明 蛮干 内耗"],["力量","VIII","温柔的坚定 耐心 驯服 勇气","自我怀疑 压抑 强撑 失衡"],["隐者","IX","内省 独处 寻求真理 沉淀","孤立 逃避 封闭 钻牛角尖"],["命运之轮","X","转机 周期 因缘际会 顺势","停滞 抗拒变化 重复循环 错位"],["正义","XI","公平 因果 权衡 决定","偏颇 逃避责任 失衡 拖延"],["倒吊人","XII","暂停 换位 牺牲换取洞见 放下","无谓牺牲 拖延 僵持 白费"],["死神","XIII","结束 转化 断舍离 重生","抗拒结束 拖泥带水 停滞 恐惧"],["节制","XIV","调和 中道 耐心融合 疗愈","失衡 极端 急躁 消耗"],["恶魔","XV","欲望 束缚 执念 现实交易","挣脱 觉察 解除依赖 松绑"],["高塔","XVI","突变 崩塌 真相冲击 解放","延迟的崩解 避免改变 余震 侥幸"],["星星","XVII","希望 疗愈 指引 长期信心","失望 信心动摇 修复中 断线"],["月亮","XVIII","迷雾 潜意识 不安 幻象","迷雾散去 真相浮现 释放 清醒"],["太阳","XIX","成功 光明 活力 坦率","短暂阴霾 过度乐观 延迟 强颜"],["审判","XX","觉醒 召唤 重生 清算","自我批判 拒绝面对 迟疑 旧账"],["世界","XXI","完成 圆满 整合 跨越","未竟 收尾拖延 差一步 循环"]],oe=[["风","一脚踏出悬崖也不怕,一切还没被定义"],["风","手上的工具已经齐全,想法可以立刻变成现实"],["水","答案还在水面之下,安静比追问更能接近它"],["土","先把自己养好,丰盛才会从你身上长出来"],["火","秩序与边界一旦建立,事情才有谈成的余地"],["土","旧有的规矩既是保护,也可能成为枷锁"],["风","关系与选择都指向同一件事:你真正看重什么"],["水","方向定了就往前,意志是这段路的燃料"],["火","真正的力量不是压制,而是温柔地与之共处"],["土","退到无人处,是为了看清自己手里的那盏灯"],["火","周期自己会转,人能做的是在对的时点推一把"],["风","一切都有对价,愿意付的那部分才算公平"],["水","暂停不是失败,换个角度才看得见新的路"],["水","结束必须真的结束,新的东西才有位置进来"],["火","不偏不倚地调和,耐心把两种东西融成一种"],["土","欲望本身不是问题,被它牵着走才是"],["火","崩塌带走的是假的,剩下才是能重建的地基"],["风","在最暗的地方给出希望,方向感来自远方"],["水","看不清的时候,先承认自己在迷雾里"],["火","结果本身会说话,坦率与明亮就是答案"],["火","被点到名字的时候,要敢于回应并重新出发"],["土","一个循环走完,才轮得到下一个开始"]],ue=[["权杖","火","行动与热情","冲动受阻"],["圣杯","水","情感与关系","情绪淤积"],["宝剑","风","思维与冲突","思虑过度"],["星币","土","现实与资源","务实停滞"]],V={权杖:[["一","灵感 起点 行动冲动","方向未明 拖延 点火即灭"],["二","规划 远望 抉择","犹豫 视野受限 迟迟不定"],["三","拓展 等待成果 布局","进度延迟 变数 收成不佳"],["四","稳定 庆祝 归属","不安 根基松动 表面和谐"],["五","竞争 摩擦 磨合","内耗 息事宁人 回避冲突"],["六","胜利 认可 士气","虚名 失落 名不副实"],["七","坚守 防御 立场","疲于应付 退让 寡不敌众"],["八","迅速 消息 进展","延误 混乱 节奏被打断"],["九","警觉 坚持到底 界限","疲惫 疑心过重 戒备成疾"],["十","重担 责任 收尾","卸下 崩溃边缘 超载"],["侍从","热忱 尝试 新消息","热情短暂 难持久 三分钟热度"],["骑士","冒进 行动 冒险","莽撞 半途而废 冲动"],["王后","自信 魅力 感染力","善妒 自我怀疑 争胜"],["国王","领导 决断 魄力","专横 急于求成 独断"]],圣杯:[["一","情感萌发 直觉 新关系","情感封闭 压抑 不敢投入"],["二","结合 互许 对等","失衡 猜疑 貌合神离"],["三","欢庆 友谊 共享","过度社交 疏离 流于热闹"],["四","倦怠 错过 停滞","重新留意 转机 愿意接住"],["五","失落 遗憾 执念","释怀 走出 重新接受"],["六","怀旧 童真 旧人","沉溺过去 难放下 美化回忆"],["七","幻想 选项过多 白日梦","看清现实 决断 收心"],["八","离开 寻找意义 转身","难以割舍 徘徊 反复回头"],["九","满足 心愿达成 享受","满足流于表面 贪婪 欲求不满"],["十","圆满 家庭 归属","和谐流于表面 疏离 各怀心事"],["侍从","敏感 讯息 灵感","情绪化 幼稚 玻璃心"],["骑士","浪漫 邀约 追寻","承诺落空 空谈 忽冷忽热"],["王后","共情 包容 温柔","情绪淹没 讨好 失去边界"],["国王","情绪掌控 成熟 稳定","压抑 冷漠 情绪封锁"]],宝剑:[["一","真相 突破 清晰","混乱 误解 思绪打结"],["二","僵持 回避 权衡","打破僵局 抉择 不得不选"],["三","心痛 分离 刺伤","疗愈 放下 结痂"],["四","休息 恢复 沉淀","勉强支撑 疲惫 恢复不足"],["五","争执 失利 代价","和解 止损 认输"],["六","过渡 离开 前行","滞留原地 难行 回头"],["七","策略 隐瞒 独行","坦白 被识破 自食其果"],["八","自我束缚 限制 看不清","松绑 看清出路 允许自己"],["九","焦虑 失眠 内耗","恐惧渐退 松动 天亮了"],["十","终结 谷底 触底","触底反弹 重启 止血"],["侍从","好奇 观察 求知","口舌 轻率 想太多"],["骑士","直言 急进 冲撞","鲁莽 伤人 唐突"],["王后","理性 明辨 独立","尖刻 冷硬 苛责"],["国王","权威 判断 原则","专断 苛刻 口不择言"]],星币:[["一","务实开端 机会 落地","错失 根基不稳 空谈"],["二","平衡 调度 灵活","失衡 顾此失彼 分身乏术"],["三","协作 技艺 成果","配合不畅 各自为政 返工"],["四","守成 保守 掌控","松手 匮乏感 抓太紧"],["五","匮乏 困境 排外","转机 援手 愿意求助"],["六","施与受 分享 公平","付出失衡 计较 人情账"],["七","评估 耐心 等待","急躁 白费 收成打折"],["八","精进 专注 学习","敷衍 半途 走神"],["九","自足 丰盛 独立","依附 虚耗 不配得感"],["十","基业 家族 长期","家累 短视 根基松动"],["侍从","务实 学习 起步","拖延 眼高手低 迟迟不动"],["骑士","稳步 推进 可靠","停滞 保守 磨蹭"],["王后","照料 丰饶 务实","操劳 控制 过度付出"],["国王","稳健 掌控 成果","固执 贪利 油盐不进"]]},ie=["0","I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII","XIII","XIV","XV","XVI","XVII","XVIII","XIX","XX","XXI"],A={一:{number:"A",value:1,core:"起点,一切刚被点燃"},二:{number:"2",value:2,core:"两股力量之间的平衡"},三:{number:"3",value:3,core:"第一次成形,成果与代价同来"},四:{number:"4",value:4,core:"停下来,把结构暂时稳住"},五:{number:"5",value:5,core:"失衡带来的摩擦"},六:{number:"6",value:6,core:"修复,让事情重新流动"},七:{number:"7",value:7,core:"收成之前的审视与取舍"},八:{number:"8",value:8,core:"把节奏重新握在自己手里"},九:{number:"9",value:9,core:"接近满盈的临界"},十:{number:"10",value:10,core:"一个周期走到收束"},侍从:{number:"侍从",value:11,core:"学徒式的试探"},骑士:{number:"骑士",value:12,core:"带上方向的行动"},王后:{number:"王后",value:13,core:"成熟的照顾与吸引"},国王:{number:"国王",value:14,core:"掌控局面与承担"}},N={1:[{name:"当下指引",hint:"此刻最该被看见、也最该被照做的那一点"}],3:[{name:"过去",hint:"已经发生、仍在起作用的那部分"},{name:"现在",hint:"当下正在发生、你能直接触碰的局面"},{name:"未来",hint:"若维持当前走向,事情可能落到的位置"}],5:[{name:"现状",hint:"眼下真实的地形与手上的资源"},{name:"阻碍",hint:"卡住进程、还没被命名的那个结"},{name:"建议",hint:"可以主动调整的方向与做法"},{name:"结果",hint:"按当前路径走下去的大致落点"},{name:"潜在",hint:"尚未浮出水面、却在暗中推动的部分"}]},Q=["侍从","骑士","王后","国王"],v=["火","水","风","土"],F={火:"热情与行动",水:"情感与关系",风:"思维与沟通",土:"现实与资源"},W={火:"先做一件让自己动起来的小事,别等状态",水:"给情绪留出说话的时间,别急着讲道理",风:"把想法写下来再判断,别只在脑子里绕",土:"落成一个可执行的步骤,写明时间和预算"},H={火:"容易过火,别把热情变成压人",水:"别被情绪淹没,先分清哪部分是自己的",风:"想得太多,记得回到事实和身体",土:"别太保守到错过窗口"},b={当下指引:"此刻能做的,就是照着这一面去调整今天的一个具体动作。",过去:"它已经发生,但余波仍在决定你现在怎么出手。",现在:"这是你此刻可以直接触碰、也可以调整的部分。",未来:"若维持现在的走法会往这里靠,但它还不是定局。",现状:"先把这一层看清楚,再谈要不要动。",阻碍:"它不一定在外面,很多时候是你不肯命名的那一部分。",建议:"这条可以当作接下来几天的小实验,而不是教条。",结果:"它是当前路径的延长线,换一条路径就会换落点。",潜在:"它还没浮出水面,却已经在左右你的选择。"},C="塔罗为象征系统,牌义与元素对应存在流派差异;此处采用 RWS(韦特)牌名/编号与黄金黎明的元素归属,仅供自我觉察与娱乐。";function le(){const S=[];D.forEach(([z,o,m,R],G)=>{const[k,B]=oe[G];S.push({name:z,arcana:"大阿卡纳",element:k,number:o,value:G,core:B,up:m,down:R})});for(const[z,o,m]of ue)for(const[R,G,k]of V[z]){const B=A[R];S.push({name:`${z}${R}`,arcana:"小阿卡纳",element:o,domain:m,suit:z,rank:B.number,rankCn:R,number:B.number,value:B.value,core:`${z}:${B.core}`,up:G,down:k})}return S}const s=new Map(le().map(S=>[S.name,S])),w=S=>String(S||"").split(/\s+/).filter(Boolean);function u(S){if(typeof S=="string"&&S.trim())return S.trim().replace("T"," ").slice(0,16);const z=new Date,o=m=>String(m).padStart(2,"0");return`${z.getFullYear()}-${o(z.getMonth()+1)}-${o(z.getDate())} ${o(z.getHours())}:${o(z.getMinutes())}`}function M({question:S="",cards:z=[]}={}){const o=String(S||"").trim(),m=(Array.isArray(z)?z:[]).filter(xe=>xe&&xe.name),R=m.length;if(!R)return["没有抽到牌面,无法解读。"];const G=m.map(xe=>xe.name).join(" / "),k=[];k.push(o?`你问的是「${o}」,抽到的是 ${R} 张牌阵(${G})。塔罗是一套象征系统而不是判决:不同流派对牌义、编号与逆位的取舍略有差异,这里按 RWS(韦特)牌名与黄金黎明的元素对应来读,请把下面的话当作镜子,对照自己的处境取用。`:`这次没有具体提问,那就先看牌面本身在说什么。牌阵 ${R} 张(${G})。塔罗是象征系统,牌义随流派略有差异,这里按 RWS(韦特)与黄金黎明的常见对应来读,读到合用的部分就好。`);const B=m.map((xe,nn)=>nn),pe=R<=3?B.map(xe=>[xe]):[B.slice(0,Math.ceil(R/2)),B.slice(Math.ceil(R/2))];for(const xe of pe){const nn=xe.map(cn=>{const We=m[cn],rn=s.get(We.name)||{},hn=(We.keywords&&We.keywords.length?We.keywords:w(We.upright?rn.up:rn.down)).join("、"),dn=We.upright===!1?"逆位":"正位",fn=We.upright===!1?"逆位并不等于凶,更像这股力量还没顺过来,或用力过了头":"正位,这股力量目前是通的",gn=We.positionHint||(N[R]&&N[R][cn]?N[R][cn].hint:"这一位要看的是它在你处境里的位置"),yn=rn.core?`它的核心是「${rn.core}」,`:"",pn=b[We.position]||"把它放回你的处境里对照,看看哪一句戳中了你。";return`${We.position}(${gn})是「${We.name}」${dn}:${hn}。${yn}${fn}。${pn}`});k.push(nn.join(""))}const Ie=m.filter(xe=>xe.arcana==="大阿卡纳").length,de=m.filter(xe=>xe.upright===!1).length,Ae=R-de,Se={};for(const xe of m){const nn=(s.get(xe.name)||{}).element||xe.element;nn&&(Se[nn]=(Se[nn]||0)+1)}const Ge=v.filter(xe=>Se[xe]),Te=v.filter(xe=>!Se[xe]),Be=Ge.slice().sort((xe,nn)=>Se[nn]-Se[xe])[0],Qe=Be&&Se[Be]*2>=R,ne=Ie*2>=R,ae=m.filter(xe=>Q.includes(xe.rank)||Q.includes(xe.rankCn)).length,T=Math.round(Ie/R*100),h=Ge.map(xe=>`${xe}×${Se[xe]}`).join("、");k.push([`${R} 张里有 ${Ie} 张大阿卡纳(占 ${T}%),${ne?"达到或超过半数,说明这是「主题层面的大事」,牵动的多半是方向与阶段,而不是细节执行":"不到半数,重点更偏日常层面的推进,先看具体的人与事"}。`,`元素分布:${h||"无"}(大牌按黄金黎明的元素归属计入,仅作象征参考);${Te.length?`缺${Te.map(xe=>`${xe}(${F[xe]})`).join("、")},这一块容易被忽略`:"四种元素都在,配比还算均衡"}${Qe?`。${Be}偏旺,这股力量用得过头会压住别的部分`:""}。`,`宫廷牌 ${ae} 张,${ae?"说明局面里有具体的人(也可能是你某个侧面的状态)在推动":"没有明显人格化的角色,事情更靠情势本身在走"};正逆位 ${Ae} 正 ${de} 逆,${Ae>de?"整体偏顺,逆位那张是全盘的关节":Ae===de?"顺逆各半,正处在拉扯与转换中":"阻力偏多,先把卡住的部分读透,再谈推进"}。`].join(""));const E=m.find(xe=>xe.arcana==="大阿卡纳"),ze=m.find(xe=>xe.upright===!1),Le=E||ze||m[0],Je=s.get(Le.name)||{},en=E?"它出现的地方,往往就是这件事真正被牵动的层级":ze?"全盘没有大阿卡纳,关节就落在第一张逆位上——那股还没顺过来的力量":"全盘既没有大阿卡纳也没有逆位,走势平顺,就以第一张为参照";k.push(`全盘的关节是「${Le.name}」(${Le.position}·${Le.upright===!1?"逆位":"正位"})${Je.core?`,${Je.core}`:""}。${en};其余几张可以看作它在不同位置上的回声。`);const Ve=[];ze&&Ve.push(`先把「${ze.name}」逆位指出的卡点处理掉(${(ze.keywords||[]).join("、")}),暂时不要加码推进`),ne?Ve.push("把问题从「怎么办」换成「要不要」:先定方向,方法再慢慢补"):Ve.push("把注意力放回能立刻做的小事上,先动一件,再看牌面怎么变"),Te.length?Ve.push(`补一点${Te[0]}的力量:${W[Te[0]]}`):Qe&&Ve.push(`${Be}已经偏旺,${H[Be]}`);const Ue=m.find(xe=>xe.position==="建议");Ue&&Ve.push(`把「${Ue.name}」${Ue.orientation}的关键词(${(Ue.keywords||[]).join("、")})当作接下来一周的小练习`);const Ze=Ve.slice(0,3);return k.push(`建议:其一,${Ze[0]};其二,${Ze[1]}${Ze[2]?`;其三,${Ze[2]}`:""}。`),k.push("牌是镜子,照出的是你此刻的状态与盲点,不是命运的判决书。涉及医疗、法律、财务等重大决定,请务必咨询对应的专业人士,牌面只用来帮你把问题问清楚。"),k}function ee({count:S=3,question:z="",at:o,random:m=Math.random}={}){const R=[1,3,5].includes(S)?S:3,G=typeof m=="function"?m:Math.random,k=le();for(let de=k.length-1;de>0;de--){const Ae=Math.floor(G()*(de+1));[k[de],k[Ae]]=[k[Ae],k[de]]}const B=N[R],pe=k.slice(0,R).map((de,Ae)=>{const Se=G()<.5,Ge=B[Ae];return{position:Ge.name,positionHint:Ge.hint,name:de.name,arcana:de.arcana,element:de.element,...de.domain?{domain:de.domain}:{},...de.suit?{suit:de.suit}:{},number:de.number,...de.rank?{rank:de.rank}:{},...de.rankCn?{rankCn:de.rankCn}:{},value:de.value,core:de.core,upright:Se,orientation:Se?"正位":"逆位",keywords:w(Se?de.up:de.down)}}),Ie=(z||"").trim();return{system:"tarot",question:Ie||null,castAt:u(o),spread:`${R} 张牌阵(${B.map(de=>de.name).join(" / ")})`,cards:pe,reading:M({question:Ie,cards:pe}),systemNote:C}}return{MAJOR:D,SUITS:ue,MINOR:V,ROMAN:ie,SPREADS:N,tarotDeck:le,tarotReading:M,drawTarot:ee}})(),J["interpret-data"]=(function(){const D={乾:{nature:"天",trait:"刚健、主导",element:"金"},坤:{nature:"地",trait:"承载、柔顺",element:"土"},震:{nature:"雷",trait:"启动、震动",element:"木"},巽:{nature:"风",trait:"渗透、顺势",element:"木"},坎:{nature:"水",trait:"险陷、流动",element:"水"},离:{nature:"火",trait:"明丽、附著",element:"火"},艮:{nature:"山",trait:"静止、阻挡",element:"土"},兑:{nature:"泽",trait:"愉悦、口舌",element:"金"}},oe=[{pos:1,name:"初爻",gist:"事之始,根基与起点",tone:"宜稳不宜急"},{pos:2,name:"二爻",gist:"初步展开,能力初显",tone:"宜务实积累"},{pos:3,name:"三爻",gist:"进退交界的关口,多劳少得",tone:"宜守拙退让"},{pos:4,name:"四爻",gist:"接近决策层,转机初现",tone:"宜谨慎措辞"},{pos:5,name:"五爻",gist:"得位居中,事态最盛",tone:"宜把握主节奏"},{pos:6,name:"上爻",gist:"发展至极,盛极思变",tone:"宜留余地收尾"}],ue={yang:"阳极转阴:原本强势、推进得很快的那个环节,接下来需要收一收、留余地",yin:"阴极转阳:原本停滞、迟迟没动静的那个环节,接下来会出现变化,可以主动推一把"},V={乾为天:{meaning:"刚健运行,自强不息",scene:"主动权在你手上,宜自己定节奏"},坤为地:{meaning:"厚德载物,顺势而成",scene:"配合与承接比抢先更有利"},水雷屯:{meaning:"初生艰难,如草木破土",scene:"事情刚起步会乱,先把基础扎稳"},山水蒙:{meaning:"蒙昧待启,问道则通",scene:"信息不全时先请教,不要硬闯"},水天需:{meaning:"等待时机,不可冒进",scene:"条件没齐,耐心等一等反而快"},天水讼:{meaning:"争讼之象,宜和解",scene:"有分歧先谈,别把关系推上对抗"},地水师:{meaning:"用众之道,纪律为先",scene:"靠团队成事,规矩要立在前"},水地比:{meaning:"亲附相辅,择善而从",scene:"选对合作对象,比单打独斗重要"},风天小畜:{meaning:"小有积蓄,力量未充",scene:"先攒资源,暂不大举投入"},天泽履:{meaning:"循礼而行,如履虎尾",scene:"按规则走,谨慎就不会出事"},地天泰:{meaning:"上下交泰,通达和顺",scene:"沟通顺畅,是推进的好时候"},天地否:{meaning:"阴阳不交,闭塞不通",scene:"卡住时先停下来,别硬顶"},天火同人:{meaning:"与人同心,众志可成",scene:"找同频的人一起做,事半倍"},火天大有:{meaning:"丰盛富有,如日中天",scene:"收获可观,记得分享与收敛"},地山谦:{meaning:"谦逊受益,卑以自牧",scene:"放低姿态,反而更容易被接纳"},雷地豫:{meaning:"悦乐振奋,顺势而动",scene:"士气高,适合启动与造势"},泽雷随:{meaning:"随时而动,择善而随",scene:"跟随大势走,别拧着来"},山风蛊:{meaning:"积弊待治,破而后立",scene:"旧问题该清一清了,别拖"},地泽临:{meaning:"居高临下,督导亲近",scene:"亲自盯一盯,效果比放手好"},风地观:{meaning:"观仰教化,观察而明",scene:"先看清楚再表态"},火雷噬嗑:{meaning:"咬合去梗,明断是非",scene:"障碍要正面处理,绕不过去"},山火贲:{meaning:"文饰之美,适度为宜",scene:"包装有用,但别盖过实质"},山地剥:{meaning:"剥落衰败,宜守不宜进",scene:"在消耗期,止损优先"},地雷复:{meaning:"一阳来复,去而复返",scene:"转机回来了,可以小步重启"},天雷无妄:{meaning:"不妄为,守正即吉",scene:"按本分做,别投机"},山天大畜:{meaning:"大有蓄养,厚积待发",scene:"积累期,学东西最有价值"},山雷颐:{meaning:"养正自守,节饮食慎言语",scene:"养身体、养口碑,别透支"},泽风大过:{meaning:"过甚有险,栋梁将折",scene:"担子太重,该减负或加固"},坎为水:{meaning:"重险叠至,惟诚可济",scene:"困难接连来,稳住心神最要紧"},离为火:{meaning:"附丽光明,柔顺守中",scene:"借助光亮的东西,别孤军奋战"},泽山咸:{meaning:"感应相和,男女相悦",scene:"情感互动顺畅,宜真诚表达"},雷风恒:{meaning:"恒久不易,持之则成",scene:"长期坚持才有结果"},天山遁:{meaning:"退避为智,以退为进",scene:"适时抽身,不是认输"},雷天大壮:{meaning:"阳刚壮盛,宜正不宜猛",scene:"气势足,但别用力过猛"},火地晋:{meaning:"晋升初进,如日上升",scene:"有上升机会,主动争取"},地火明夷:{meaning:"光明受掩,韬光养晦",scene:"暂时低调,保存实力"},风火家人:{meaning:"内治为先,各安其位",scene:"先把身边人和日常安顿好"},火泽睽:{meaning:"睽违背离,同中有异",scene:"意见不合是常态,求同存异"},水山蹇:{meaning:"蹇难阻滞,宜反身修德",scene:"走不通就绕,回头补短板"},雷水解:{meaning:"险难消解,宜速不宜缓",scene:"结打开了,趁势把事办了"},山泽损:{meaning:"损己益人,损中有得",scene:"先让一点,后面有回报"},风雷益:{meaning:"增益利民,顺势施为",scene:"投入会有产出,可以加码"},泽天夬:{meaning:"决而去之,果决除弊",scene:"该断的事果断断,别拖泥带水"},天风姤:{meaning:"不期而遇,柔遇刚",scene:"有意外的人或机会出现"},泽地萃:{meaning:"聚合众力,物以类聚",scene:"聚人聚资源的时候到了"},地风升:{meaning:"积小以高大,循序上升",scene:"一步一步往上走,别跳级"},泽水困:{meaning:"困穷待援,安贫守正",scene:"资源受限时先守住基本盘"},水风井:{meaning:"井养不穷,修井得清",scene:"把现有的渠道维护好"},泽火革:{meaning:"革故鼎新,时至则变",scene:"该改就改,时机已经到了"},火风鼎:{meaning:"鼎新烹饪,稳重得位",scene:"新格局已立,按新规矩办"},震为雷:{meaning:"震惊百里,惧而后安",scene:"突发变动会来,先稳住再应对"},艮为山:{meaning:"止其所止,静而定",scene:"该停就停,停下来才看得清"},风山渐:{meaning:"渐进有序,如鸿渐于陆",scene:"慢慢来反而到得快"},雷泽归妹:{meaning:"归嫁失序,宜守本分",scene:"关系里别越位,按本分处"},雷火丰:{meaning:"丰大光明,宜及时施为",scene:"盛时要做事,别浪费势头"},火山旅:{meaning:"旅居在外,谨慎自守",scene:"处在变动环境,低调稳当些"},巽为风:{meaning:"顺入以柔,申命行事",scene:"用柔的方式渗透,别硬碰"},兑为泽:{meaning:"喜悦相悦,朋友讲习",scene:"多交流多请教,气氛是好的"},风水涣:{meaning:"涣散离散,宜聚人心",scene:"人心散了,先把共识找回来"},水泽节:{meaning:"节制有度,苦节不可",scene:"设边界、控节奏,别过头"},风泽中孚:{meaning:"诚信居中,信则人任",scene:"诚意是当下最有效的通行证"},雷山小过:{meaning:"小事可过,大事不可",scene:"细节可以灵活,大方向别偏"},水火既济:{meaning:"事已成,慎终如始",scene:"做成之后更要防松懈"},火水未济:{meaning:"事未成,慎辨慎行",scene:"还差一步,别急着庆祝"}},ie=Object.fromEntries(Object.keys(V).map(b=>[b.length>2?b.slice(2):b.slice(0,1),b]));return{TRIGRAM:D,YAO_POSITION:oe,MOVING_NATURE:ue,HEX64:V,HEX_BY_CORE:ie,ZIWEI_STARS:{紫微:{trait:"有主见、重体面,习惯站在统筹的位置",work:"适合需要拍板与统筹的岗位,管理、政务、项目负责一类",love:"在关系里需要被尊重,慢热但认真",health:"留意血压与作息紊乱"},天机:{trait:"脑子转得快,兴趣多、想法多",work:"适合策划、技术、咨询、研发一类动脑的岗位",love:"容易被有趣的人吸引,需要精神共鸣",health:"思虑多,留意神经紧张与睡眠"},太阳:{trait:"外放热心,愿意付出、也愿意被看见",work:"适合对外型岗位,教学、销售、公关、公益一类",love:"主动付出型,注意别一厢情愿",health:"留意心血管与用眼过度"},武曲:{trait:"务实、讲效率,认结果不认空话",work:"适合金融、财务、工程、执行类岗位",love:"感情表达偏实在,用行动多于言语",health:"留意呼吸系统与过劳"},天同:{trait:"温和好相处,重感受,凡事求舒服",work:"适合服务、文职、教育、文创一类低对抗的岗位",love:"需要陪伴感,容易被温柔的人打动",health:"留意免疫力与情绪性不适"},廉贞:{trait:"细腻又较真,审美与原则都在意",work:"适合需要精细度的岗位,法务、审计、设计、医疗一类",love:"感情投入深,也容易较劲",health:"留意炎症与情绪郁结"},天府:{trait:"稳重可靠,善于守成与资源调度",work:"适合行政、财务、运营、仓储一类守盘型岗位",love:"倾向稳定长久的关系",health:"留意体重与消化负担"},太阴:{trait:"内敛敏感,心思细,重安全感",work:"适合研究、文案、财务、艺术一类安静专注的岗位",love:"慢热、重细节,需要被照顾到感受",health:"留意睡眠与内分泌节律"},贪狼:{trait:"好奇心强、人缘好,兴趣广泛",work:"适合业务、市场、传媒、跨界的开拓型岗位",love:"桃花偏旺,需要自己划清边界",health:"留意肝火与作息不规律"},巨门:{trait:"善于分析,也容易多疑,嘴上功夫好",work:"适合法务、教学、咨询、谈判一类靠口才与逻辑的岗位",love:"容易因多想而生误会,宜多说清楚",health:"留意口腔、呼吸道与思虑过度"},天相:{trait:"讲规矩、重协调,习惯做辅佐者",work:"适合秘书、执行、协调、后勤一类支撑型岗位",love:"关系里偏迁就,需要学会表达需求",health:"留意皮肤与免疫波动"},天梁:{trait:"有长者气,爱操心、乐意帮人",work:"适合教育、医护、公益、顾问一类助人的岗位",love:"照顾型伴侣,别把对方当孩子",health:"留意慢病管理与过劳"},七杀:{trait:"果断敢冲,抗压但容易硬碰硬",work:"适合开拓、销售、创业、外勤一类高挑战岗位",love:"感情来得快,需要留给对方缓冲",health:"留意意外伤害与旧伤复发"},破军:{trait:"喜新厌旧,敢破敢立,不走老路",work:"适合变革、创业、项目从零到一的岗位",love:"感情变动偏多,稳定需要共同目标",health:"留意泌尿与外伤"}},WUXING_INDUSTRY:{木:"教育培训、出版撰稿、文职行政、农林园艺、中医药、服装与设计、文创",火:"互联网、传媒影视、能源电力、餐饮与品牌、演艺传播、电子科技",土:"地产建筑、物业管理、行政人事、农业种植、供应链仓储、财会",金:"金融银行、法律法务、机械制造、审计风控、医疗器械、军警安保",水:"物流贸易、咨询顾问、传媒公关、旅游出行、科研水产、信息技术"},WUXING_ORGAN:{木:{part:"肝胆、筋骨",note:"情绪疏泄与久坐久视是主要负担"},火:{part:"心脏、小肠、血脉",note:"睡眠节律与情绪起伏最需留意"},土:{part:"脾胃、肌肉",note:"饮食规律与消化吸收是关键"},金:{part:"肺、大肠、呼吸道与皮肤",note:"空气质量与换季是敏感点"},水:{part:"肾、膀胱、内分泌与腰膝",note:"过劳与熬夜最先反映在这里"}},TENGOD_STYLE:{正官:"守规矩、重名分,适合在成体系的组织里按规则上升",七杀:"抗压敢拼,适合高挑战、需要快速决断的岗位",正财:"稳定务实,适合按劳取酬、积累型的路径",偏财:"善抓机会、人脉广,适合业务、投资、资源整合类",食神:"表达与创造见长,适合技术、创作、教育一类",伤官:"想法多、不服旧规,适合改革、创业、专业创意",正印:"学习力强、有耐心,适合研究、文教、需要资质的岗位",偏印:"偏门钻研,适合冷门专业、技术深耕",比肩:"独立能扛,适合并肩作战或独立负责一块",劫财:"行动快、竞争心强,适合业务冲刺型工作"},LIUREN_JIANG:{贵人:"贵人、助力、被提携",螣蛇:"缠绕、反复、惊扰不定",朱雀:"口舌、文书、消息是非",六合:"合作、契约、和合之事",勾陈:"牵绊、拖延、纠缠难断",青龙:"喜庆、财禄、顺利推进",天空:"虚空、不实、计划落空",白虎:"压力、病丧、突发阻碍",太常:"衣食、常规、平稳运行",玄武:"暗昧、失物、信息不明",太阴:"隐秘、暗中助力、私下的事",天后:"女性、恩泽、情感与照料"},DISCLAIMER:"以上解析由本插件依据你提供的出生信息(或起卦时刻)按传统命理规则生成,属文化娱乐与自我觉察的参考,不构成医疗、心理、投资、法律或人事决策的依据。涉及健康请咨询医生,涉及重大决定请以现实信息与专业人士意见为准。",TAROT_ELEMENT_FOCUS:{火:{area:"行动力与热情",advice:"把能量投到一件具体的事上,别同时开太多头"},水:{area:"情感与关系",advice:"先照顾好感受,再谈效率"},风:{area:"思考与沟通",advice:"把想法写下来,与相关的人说清楚"},土:{area:"现实与资源",advice:"落实成可执行的步骤,写明时间和预算"}}}})(),J["interpret-plain"]=(function(){const D=(o,m="")=>o==null||o===""?m:String(o),oe=o=>Array.isArray(o)?o.filter(Boolean).join(""):"",ue=o=>Array.isArray(o)?o.length>0:o!=null&&o!=="",V={身强:"底子偏足、抗压能力好,但容易自己给自己加码,学会收力比使劲更重要",偏强:"底子略足,扛得住事,也容易把事都往自己身上揽",中和:"力量比较匀,属于「给什么环境就长出什么样子」的类型",偏弱:"底子偏薄,靠外部支援比硬扛有效,选对圈子与节奏很关键",身弱:"底子偏薄,先修恢复力再谈冲刺,硬撑的性价比最低"},ie={六冲卦:"这一卦是「六冲」,事情起落快,急事反而好办,拖久了的人事容易散。",六合卦:"这一卦是「六合」,容易谈成,也容易黏住不放。",变六冲:"往下走会散,收尾别拖。",变六合:"往下走会合,事情倾向于延续下去。",内卦伏吟:"事情卡在原地打转,想动但动不了。",外卦伏吟:"外面那层没变,看起来在动,其实格局照旧。",内卦反吟:"反复在自己这一头,改了又改回来。",外卦反吟:"外面反复,对方或环境会来回拉扯。",化进神:"有一爻在往上走,顺着这股劲推比往回拉顺。",化退神:"有一爻在往后退,别按原来的势头硬推。"},A={可出:"眼下的条件算是有助无压,属于「出得来」的一档——这是条件,不等于马上应验。",有助有压:"眼下是一边有助、一边有压,出得来,但得费点劲。",受压难出:"眼下被上面的力量压着,不太容易露头,先别急着硬推。",未得助:"眼下暂时没借到力,还得等条件转过来。",飞伏未知:"飞伏关系看不全,这一层先不下判断。"};function N(o,m){if(!o||!o.liuqin)return"";if(o.found.length){const R=o.found.map(B=>`第${B.position}爻`).join("、"),G=o.found.some(B=>B.moving),k=o.byShi?"代表你自己":`就是「${o.liuqin}」这一类事`;return`你问的这件事,在卦里对应${R}${k}——${G?"这一爻还在动,说明事情正在推进":"这一爻没动,先按现状看"}。`}if(o.fushen.length){const R=o.fushen[0],G=m&&Array.isArray(m.items)?m.items.find(B=>B.position===R.position):null,k=G?` ${A[G.verdict]||""}`:"";return`你问的这件事,卦面上没有直接露出来,得往深处找:它藏在第${R.position}爻下面(伏神),与上面的关系是「${R.relation||"—"}」,要借力才出得来。${k}`}return""}function Q(o){if(!o||!o.lines||!o.lines.length)return"";const m=o.lines.filter(k=>/死|囚/.test(k.monthState)||k.monthChong),R=o.lines.filter(k=>/旺|相/.test(k.monthState)),G=o.month&&o.month.branch?`眼下这阵子(${o.month.branch}月)`:"起卦这段日子";return m.length&&!R.length?`${G}对这件事不太帮忙,气有点被压着——先别急着硬推,等风向转。`:R.length&&!m.length?`${G}对这件事是帮着的,气正在往上走,能推就趁现在。`:`${G}对这件事有帮有压,一半的力要自己挣——结果更看你怎么走。`}function v(o){const m=o&&o.jinTuiPower;if(!m||!Array.isArray(m.lines)||!m.lines.length)return"";const R=G=>G.verdict==="后劲足"?"时令托着,后劲足":G.verdict==="后劲有限"?"时令不太托,后劲有限":G.verdict==="进得虚"?"时令最背,进也是虚进":G.verdict==="退得缓"?"时令还托着,退得慢":G.verdict==="退得实"?"时令也不托,退得实":G.verdict==="月破失据"?"又正好逢月破,进退都站不稳":"缺月建,先只当方向看";return`动爻的进退还要看时令:${m.lines.map(G=>`${G.position}爻${G.from}→${G.to}${G.type},${R(G)}`).join(";")}。`}function F(o){const m=o&&o.yingqi;if(!m||!Array.isArray(m.triggers)||!m.triggers.length)return"";const R=m.tempo==="偏速"?"大体偏近,近事更容易先见分晓":m.tempo==="偏缓"?"大体偏远,别指望立刻见分晓":m.tempo==="待解"?"眼下还有月破或旬空,得先等条件解除":"缺月建,快慢暂不定",G=m.triggers.map(B=>B.branch).join("、"),k=m.viaFushen?"(用神是伏神,先要出得来)":"";return`应期上${R};传统会留意${G}这几个地支${k}——这只是提示,不换算成具体哪天。`}function W(o){if(!o||!o.counts)return"";const m=(o.counts.旺||0)+(o.counts.相||0),R=(o.counts.囚||0)+(o.counts.死||0),G=o.month&&o.month.branch?`按${o.month.branch}月这段时令看`:"按起卦这天看",k=o.shi&&o.shi.monthState!=="unknown"?`代表你的世爻在${o.shi.monthState}`:"";return m>=4&&R===0?`${G},整张卦六爻的气多数是顺的,${k},眼下算是好推的时候。`:R>=4&&m===0?`${G},整张卦六爻的气多数被压着,${k},这几天更适合等而不是冲。`:`${G},整张卦六爻有顺有逆(旺相 ${m} 爻、囚死 ${R} 爻)${k?`,${k}`:""},成不成要看具体哪一爻在动。`}function H(o){if(!o||!Array.isArray(o.targets))return"";const m=o.targets.find(G=>G.count>=2),R=o.groups&&o.groups.selfHua&&o.groups.selfHua.length?"其中有的宫自己化出去又落回自己,容易表现为「想得多、落得少」。":"";return m?`把命宫连同对宫与两个三合宫一起看,${m.incoming.length} 股力最后挤在「${String(m.palace).replace(/宫$/,"")}」这件事上——这件事会把好几个方面的劲都吸过来。${R}`:`把命宫连同对宫、两个三合宫一起看,四股力飞出去没有挤到同一处,这几件事之间牵连不深。${R}`}function b(o){const m=B=>Object.keys(ie).find(pe=>B===pe||B.startsWith(`${pe} `))||"",R=o.find(B=>m(B)),G=R?ie[m(R)]:"",k=o.filter(B=>B!==R&&/^化[进退]神 /.test(B)).map(B=>ie[m(B)]).filter(Boolean);return G+k.join("")}const C={wealth:"「工作与职业选择」与「时间窗」",career:"「事业发展」与「时间窗」",love:"「爱情与感情」",health:"「健康状况」",study:"「事业发展」与「时间窗」",travel:"「整体运势」与「时间窗」",general:"「整体运势」与「看盘顺序」"};function le(o,m,R={}){if(!o||!o.system)return"";const G=D(m&&m.question).trim(),k=m&&m.direction||"general",B=o.system==="bazi"?C[k]||C.general:"下面与你的问题最贴近的那一节",pe=G?`你问的是「${G}」。`:"";if(o.system==="bazi"){const Ie=o.dayMaster||{},de=o.strength||{},Ae=o.frame&&o.frame.yongshen||{},Se=oe(Ae.favor),Ge=oe(Ae.avoid),Te=(o.liunian||[])[0],Be=[pe+`先说结论:你是${D(Ie.stem)}${D(Ie.element)}日主,命局${D(de.level,"待定")}${Se?`,顺${Se}、忌${Ge}——往${Se}的方向安排事情会更省力`:""}。`,Te&&Te.ganzhi?`${D(Te.year)} 年是${Te.ganzhi}年(${D(Te.luck&&Te.luck.tier,"平")}),这是「大环境」这一层。`:"",`具体到你问的这件事,重点看${B}。`];return G||(Be[Be.length-1]=`没指定问题,就按${B}的顺序往下看。`),Be.filter(Boolean).join("")}if(o.system==="ziwei"){const Ie=o.soul||{},de=o.body||{},Ae=o.bureau||{},Se=o.lifeMaster||"",Ge=o.flyChains&&o.flyChains.忌,Te=Ge&&Ge.steps.length?`还有一条线值得留意:${Ge.path.map(Be=>Be.replace(/宫$/,"")).join(" → ")}——这几件事在你身上是连着转的,一件卡住,容易牵动下一件。`:"";return[pe+`先说结论:你的命宫落${D(Ie.branch,"—")}宫${Ae.name?`、${Ae.name}`:""}${Se?`,命主${Se}`:""}${de.lands?`,身宫落在「${de.lands}」——这张盘的重心在这件事上`:""}。`,Te,H(o.flyComposite),G?`具体到你问的这件事,重点看${B}。`:`没指定问题,就按${B}的顺序往下看。`].filter(Boolean).join("")}if(o.system==="liuyao"){const Ie=o.ben||{},de=o.cast&&o.cast.movingPositions||[],Ae=o.bian||{},Se=o.body&&Array.isArray(o.body.labels)?o.body.labels:[],Ge=b(Se);return[pe+`先说结论:本卦是${D(Ie.name,"—")}${Ie.palace?`(${Ie.palace})`:""}${de.length?`,第 ${de.join("、")} 爻动,变为${D(Ae.name,"—")}`:",六爻安静没有动爻"}。${Ge}${N(o.useGod,o.fushenAccess)}${Q(o.useGodStrength)}${v(o)}${F(o)}${W(o.hexStrength)}`,"断卦的落点在「世爻」(代表你)和「动爻」(事情的推动点),下面「看盘顺序」就按这个次序展开。"].join("")}return pe?`${pe}下面按五个维度拆开看,重点看${B}。`:o.system==="qimen"?`下面按排盘事实、用神、宫位条件几节展开${k!=="general"&&m&&m.directionLabel?`,取「${m.directionLabel}」方向的用神`:""}。`:k!=="general"&&m&&m.directionLabel?`下面按五个维度拆开看,重点看与「${m.directionLabel}」方向最贴近的那一节。`:"下面按五个维度拆开看,没指定问题,就从头依次读。"}function s(o,m,R={}){if(!o||!o.system)return"";if(o.system==="bazi"){const G=o.strength||{},k=o.frame&&o.frame.yongshen||{},B=oe(k.favor),pe=oe(k.avoid),Ie=Array.isArray(k.disputed)&&k.disputed.length?`有一点要说明:${k.disputed.map(Te=>Te.element).join("、")}在扶抑里算${k.disputed.map(Te=>Te.favorRole).join("、")}(能${k.disputed.map(Te=>Te.favorVerb).join("、")}),按调候看又偏忌(${k.disputed.map(Te=>`${Te.climate}盘忌${Te.element}`).join("、")}),两派说法不一;实际用在什么时候,看季节和环境取舍,不必当成绝对的好或坏。`:"",de=V[G.level]||"力量偏中性",Ae=k.tiaohou&&k.tiaohou.note?`另外,${k.tiaohou.note},所以「暖一点、亮一点」的环境通常更舒服。`:"",Se=(o.liunian||[]).find(Te=>Te.suiyun&&Array.isArray(Te.suiyun.signals)&&Te.suiyun.signals.length),Ge=Se?`再往后看,${Se.year} 年${Se.ganzhi}是${Se.suiyun.signals.map(Te=>Te.type).join("、")}——传统上把它当作「变化感强一点」的提示,既不是好消息也不是坏消息,遇上时多留个心眼就好。`:"";return`你的命局属于「${D(G.level,"中性")}」:${de}。${B?`能补${B}的环境(行业、方位、作息、相处的人)会让你省力;${pe?`而${pe}偏重的场合容易空耗,能绕就绕。`:""}`:""}`+Ie+Ae+Ge}if(o.system==="ziwei"){const G=o.body||{},k=o.flyChains&&o.flyChains.忌,B=k&&k.steps.length?"你身上有个绕不开的规律:几件事是连着转的,一件卡住,后面就跟着慢下来。":"",pe=o.flyComposite,Ie=pe&&Array.isArray(pe.targets)?pe.targets.find(Se=>Se.count>=2):null,de=!pe||!Array.isArray(pe.targets)?"":Ie?`再往深一层,四股力最后也压在「${String(Ie.palace).replace(/宫$/,"")}」上——几个方面的劲都往这儿聚。`:"再往深一层,四股的力没有全挤到一处,这几件事之间牵连不深。";return["紫微讲的是「你与环境怎么互动」,不是谁好谁坏——同一件事换个环境、换个人配合,结果就不一样。",G.lands?`真正让你上心的,多半是「${G.lands}」这件事,做别的总会分心。`:"",B,de].filter(Boolean).join("")}if(o.system==="liuyao"){const G=o.ben||{},k=o.cast&&o.cast.movingPositions||[],B=o.body&&Array.isArray(o.body.labels)?o.body.labels:[],pe=b(B);return`${D(G.name,"这一卦")}讲的是一个「${k.length?"正在动、还会变":"暂时不动、先看清"}」的局面——${k.length?"有动爻,说明事情还有转圜空间,不是死局。":"六爻安静,说明当下更该观察而不是硬推。"}${pe}${N(o.useGod,o.fushenAccess)}${Q(o.useGodStrength)}${v(o)}${F(o)}${W(o.hexStrength)}`}return""}function w(o,m,R={}){if(!m||m.system!=="bazi")return"";const G=m.frame&&m.frame.yongshen||{},k=oe(G.favor),B=oe(G.avoid),pe=m.strength||{};return o==="overall"?`一句话:底子${D(pe.level,"中性")},往${k||"有利方向"}走省力。`:o==="work"?`一句话:挑${k||"喜用"}属性的活儿,比硬碰${B||"忌神"}省力。`:o==="career"?`一句话:你的上升方式,偏向把${k||"长处"}做成看得见的成果。`:o==="love"?"一句话:关系里先看清自己要什么,再决定推进速度。":o==="health"?"一句话:作息稳定比任何调理都优先。":""}const u=[["日主","你出生那天对应的天干,代表「你自己」,整张盘都围着它转。"],["用神","这张盘里最需要补的那一类力量,顺着它做事更省力。"],["忌神","补得越多越别扭的那一类力量,不是坏东西,只是对你性价比低。"],["调候","按出生季节调温补缺:冬天的盘怕冷,夏天的盘怕燥。"],["格局","把整张盘的结构归成一个类型,用来看「你适合怎么打」。"],["十神","把五行关系翻译成人事:财=资源、官杀=规则与压力、印=支持、食伤=表达、比劫=同伴。"],["月令","出生的月份,是判断强弱最关键的一个位置。"],["日支","日柱的地支,也叫「配偶宫」,看亲密关系的第一落点。"],["大运","十年一换的大阶段,决定这十年顺不顺手。"],["流年","每一年的干支,看当年的具体环境。"],["空亡","落到空亡的字,力量打折,事情容易「看着有、抓不住」。"],["伏神","卦里没出现的六亲,藏在同宫首卦的对应爻下,用时才看得见。"],["世应","世爻代表你,应爻代表对方或外部环境。"],["动爻","会变的爻,是事情「往哪走」的推动点。"],["纳甲","给六个爻配上天干地支,六亲与生克才有依据。"],["四化","禄权科忌四种变化,标记星曜在这一步运里扮演什么角色。"],["大限","紫微里的十年阶段,作用类似八字的「大运」。"],["庙旺","星曜落在某宫时的力量档位:庙、旺最强,得、利、平居中,不、陷最弱。"],["三方四正","从命宫出发的三合三方加对宫,共四个宫位,是全盘最核心的势力范围。"],["命主","紫微里另有一颗命主星,补命宫看不到的那一层底色。"],["身主","紫微里另有一颗身主星,管后天的行动与身体那一面。"],["五行局","用纳音给整张盘定一个局(水二局、木三局等),大限的起法以此为准。"],["自化","宫干让本宫星曜自己生出四化,代表这一宫的事容易自己发酵。"],["飞星","拿一个宫的宫干去四化别的宫,看事情从哪来、往哪走。"],["正曜","十四主星。「无正曜」指命宫没有主星,要借对宫来看。"],["借对宫","命宫无主星时借对宫主星来读,性格更依赖环境与身边的人。"],["双星","两主星同宫,按组合读,不能只看其中一颗。"],["墓库","地支里的仓库。五行入墓代表这股力量收着,不是没有。"],["伏吟","干支重复出现,事情容易原地打转、反复。"],["反吟","天克地冲,变动与对撞的意味更明显。"]],M={liuyao:{用神:"你问的这件事对应的那一类六亲,断卦先把它找出来。",月令:"起卦时的月份,用来看各爻旺不旺。",日支:"起卦当天的地支,与月建一起决定爻的力量。",大运:"六爻不看大运,这里只取当前这一件事的象。",流年:"六爻一般不看流年,看的是眼下这一卦的时段。"},ziwei:{用神:"紫微斗数以「用神宫」的强弱看事情,不取五行喜忌那套。",日主:"紫微斗数不看日主,看的是命宫与星曜组合。",十神:"紫微斗数用四化与星情,不用十神。"}};function ee(o,m){const R=(Array.isArray(o)?o:[o]).filter(Boolean).join("");if(!R)return[];const G=M[m]||{};return u.filter(([k])=>R.includes(k)).map(([k,B])=>({term:k,plain:G[k]||B})).slice(0,10)}const S={career:["这份工作要不要动,明年哪几个月是窗口?","和上级的关系该硬碰还是绕开?","现在转方向,代价主要在哪儿?"],wealth:["这笔钱现在投出去合适吗?","我的财主要来自工资还是副业?","今年哪段时间最容易破财?"],love:["这段关系能走到哪一步?","什么时候适合把关系定下来?","我在关系里最容易忽略什么?"],health:["哪段时间身体最需要留意?","作息怎么调最划算?","查体和作息之外,还有什么是能自己控制的?"],study:["今年再考一次,胜算在哪、短板在哪?","复习节奏该怎么排?","要不要换目标院校或岗位?"],travel:["这次出门顺不顺,哪天走更好?","换个城市生活,合不合适?"],general:["今年最该抓的一件事是什么?","最该避开的坑在哪?","接下来三个月,什么时间点值得留意?"]};function z(o,m){const R=m&&m.direction||"general";return(S[R]||S.general).slice(0,3)}return{buildAnswer:le,buildPlain:s,dimensionPlain:w,buildGlossary:ee,buildFollowups:z}})(),J["interpret-knowledge"]=(function(){const D=[{id:"bazi-yueling-siquan",system:"bazi",dims:["overall","career"],gist:"月令不是「一个月」,是当月最有权的那一个字。",detail:"月令藏干按本气、中气、余气分日用事,本气当权的时间最长。所以判旺衰先看日主在月令是得令还是失令——得令者未看全局,已有三分底气。本插件按 30 日表算出「生在本月第几日、哪一干当权」,给的是月内轮值这一层细节;旺衰与取格仍以月令本气、透干与会支为主,不随轮值改判。三命通会卷二·论人元司事另列一套日数(寅月五日/五日/二十日),与本插件取的通行表不同;原文并列,不改判。",source:"《子平真诠》论用神;人元司权分日之说见《渊海子平》;三命通会卷二·论人元司事(典藏网 7529)另列一套日数",status:"variant",note:"各家对中气、余气各主几日分法不同(有 7/7/16、9/3/18 等多说);本插件固定通行 30 日表(如寅月戊7丙7甲16),节当日为第 1 日,第 31 日以后按本气算、不硬分摊。三命通会此本寅月作 5/5/20、卯月作 7/23,与通行表不同,两表各照原样。司权表与本柱藏干表口径不同(子月壬、卯月甲、午月丙、酉月庚、亥月戊只出现在司权表里),两表各照原样;取格不随轮值改判。"},{id:"bazi-tonggen-tougan",system:"bazi",dims:["overall","career"],gist:"天干是露在外面的样子,地支是藏在地下的根。",detail:"同一个五行,透在天干叫「显」,扎在地支叫「有根」。只有天干没有地支,是看着有、使不上劲;只有地支不通天干,是有实力、不显眼。判断一个人能不能扛事,看的就是根有多深。",source:"《滴天髓》「天干得一比肩,不如得支中一墓库」一路的取象",status:"settled"},{id:"bazi-wangxiang",system:"bazi",dims:["overall","health"],gist:"旺相休囚死是五行在当月的五种状态,不是吉凶等级。",detail:"以月令五行为基准:当令者旺、我生者相、生我者休、克我者囚、我克者死。它是「此刻谁说话有分量」的相对排序,换个季节就整体重排,不能当固定评价。",source:"《五行大义》旺相休囚死;历代命书沿用",status:"settled"},{id:"bazi-shensha",system:"bazi",dims:["overall","love"],gist:"神煞是标签,不是判决。",detail:"神煞给盘面加注脚(如「这个组合常被叫作天乙贵人」),吉凶仍要看格局、旺衰、行运三件事。单见一颗凶煞不足以断凶,单见一颗吉星也不足以断吉——这是历代命书反复强调、而市面软件常忽略的一条。",source:"《三命通会》神煞篇;《子平真诠》力主「神煞不主吉凶」",status:"settled"},{id:"bazi-geju",system:"bazi",dims:["career"],gist:"先看月令能不能取格,取不到才论从格、化气。",detail:"月令有可用之神(透干或会支有力),按正格论;月令无用、全局一边倒,才考虑从格;日干与相邻天干五合、且月令有化神之气,才论化气格。顺序颠倒会把普通格局误判成特殊格局。",source:"《子平真诠》「论用神」;从化条件见《滴天髓》",status:"variant",note:"化气格成立条件各家宽严不一(是否要求月令为化神、是否允许有根),本插件按「有合且月令得化神之气」从严处理。"},{id:"bazi-tiaohou",system:"bazi",dims:["overall","health"],gist:"冬夏生人先调温,其余先看扶抑。",detail:"调候是针对出生季节的温度校正:冬生水冷木寒,先要火来解冻;夏生火炎土燥,先要水来润泽。调候与扶抑冲突时,多数命书主张先调候,因为寒暖失衡时,再怎么补强弱也难受。",source:"《穷通宝鉴》(拦江网)调候用神体系",status:"variant",note:"调候与扶抑的优先级各家有争论,也有主张以扶抑为主、调候为辅的。本插件同时给出两者,不替你定谁优先。"},{id:"bazi-suiyun",system:"bazi",dims:["overall","career"],gist:"大运管十年基调,流年管当年触发。",detail:"大运像换了条路,流年像这条路上某一段的天气。岁运并临(当值大运与流年干支相同)、运年反吟(大运与流年天克地冲)、大运伏吟(大运与原局某柱干支相同)、大运反吟(大运与原局某柱天克地冲)、流年伏吟(流年与原局某柱干支相同)、流年反吟(流年与原局某柱天克地冲),是传统上标记「变动较大」的年份,属于提示而非断语。本插件逐年标出六类信号:当值大运按该年立春到次年立春的区间取,交运落在年内时前后两步并列;大运与本命四柱的伏吟/反吟整步大运都在,会连续多年重复列出;只标干支重复与对冲,不折分数。原文里「返吟」指岁运与日柱相对、「伏吟」指岁运压日,与本插件「干支相同为伏吟、天克地冲为反吟」不是同一套定义,两者并列、不合并。",source:"《三命通会》卷二·总论岁运(https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7539.html);岁运并临之说出自《渊海子平》",status:"variant",note:"「岁运并临主大凶」是流传最广也最被滥用的说法,本插件只作变动提示,不断吉凶;大运与本命四柱的伏吟/反吟会连续多年出现,不逐年加重;四柱十神层面的引化也未叠入。"},{id:"bazi-liuqin",system:"bazi",dims:["love"],gist:"六亲有「星」也有「宫」,两处一起看才立体。",detail:"星是十神(男命财为妻、女命官杀为夫、印为母一类),宫是四柱位置(年月日时对应祖上、父母、配偶、子女)。星宫同参:星现而宫破,缘分有但过程有阻;宫稳而星不现,关系平淡而少波折。",source:"星宫同参见《子平真诠》《滴天髓》",status:"variant",note:"女命以官杀为夫是主流,亦有以日支为主、官杀为辅的取法;本插件按主流取,并在文案中说明。"},{id:"bazi-kongwang",system:"bazi",dims:["overall"],gist:"空亡不是「没有」,是力道打折、抓不实。",detail:"日柱所在旬之外的两个地支为旬空。落空之支力量减弱,但逢冲、逢合、逢填实之期可以「出空」,届时又恢复作用。所以空亡要看它是否被救,不宜一见到空就断无。",source:"旬空出空之说见《渊海子平》;六爻《卜筮正宗》用法相通",status:"variant",note:"空亡是否逢空即空,各家分歧较大,本插件只标注空亡,不做吉凶推断。"},{id:"bazi-xingchong",system:"bazi",dims:["overall","love"],gist:"合能解冲,冲也能破合——关系不是单向的。",detail:"刑冲合害要按力的大小与先后比:两支相冲,若有第三支与其中一支相合,冲力被牵制;反之先合后冲,合局也会被冲散。三合成局通常要求月令或日主参与,否则只是拱合,力量有限。",source:"《三命通会》论刑冲合害",status:"settled"},{id:"bazi-sanming-duizhao",system:"bazi",dims:["overall","career"],gist:"同一个格,子平真诠讲怎么用,三命通会讲怎么取。",detail:"两书不是谁替代谁:子平真诠以月令取用神、论顺逆成败,重「用」;三命通会按十神逐格立论,重「取」与「忌」。同看正官格,前者问财印护官、伤煞混杂,后者先说「止许一位,多则不宜」。此本正财、偏财分章,两格各取本格一条;七杀没有单列「论偏官」,取卷五「官煞去留杂论」讲混杂时的去留。本插件把两条并列,不合并成一句断语。",source:"《子平真诠》论正官等篇;《三命通会》卷五、卷六论十神与官煞去留",status:"variant",note:"两书成书年代与流派不同,用语有出入;本插件照录通行本,不做校勘改字,也不替两家调和。"},{id:"bazi-geju-chengbai",system:"bazi",dims:["overall","career"],gist:"格有成有败:成中带忌会打折,败中有救还能转成。",detail:"月令取到格只是起点。成格要看有没有带忌——官逢财又逢伤、官透而被合、财旺生官又逢伤,都会把成格打折;败格也看有没有救应——印来解伤、合来清煞、劫来解财,败中可转。所以判格不能只报一个格名。",source:"《子平真诠》九、论用神成败救应",status:"variant",note:"各家对成格条件与带忌轻重的排序不同(有先看刑冲、有先看合化),本插件只把原文与成败方向并列摆出,不逐盘判成破。"},{id:"bazi-huagi-bianhua",system:"bazi",dims:["overall","career"],gist:"月令用神会因合化而变:同一个起点,取用可以不同。",detail:"用神本从月令取,但月令藏干不一,透出的字不同、支会合局不同,取用就跟着变:丁生亥月本为正官,支全卯未化为印;己生申月本属伤官,藏庚透壬化为财。所以看到化气格,要回头核对月令与合局,不能只按本气定格。",source:"《子平真诠》十、论用神变化;化气条件各家另论",status:"variant",note:"化气格成立条件各家宽严不一(是否要求月令为化神、日主是否允许有根),本插件只列条件、附原文,不据此断定化气已成。"},{id:"bazi-zaji-quyong",system:"bazi",dims:["overall","career"],gist:"辰戌丑未是杂气月:先看透干,再看会支。",detail:"四墓(辰戌丑未)每个字都藏着不止一气,用神不一,所以叫杂气。子平真诠的取法是:藏干透到天干的先用(甲生辰月,透戊用偏财、透癸用正印、透乙用月劫);没有透干,再看地支有没有与月支会成三合局(辰月逢申子会水,就取水印)。本插件按「透干 → 三合会支 → 本气」的次序取格,依据里写明走的是哪一条,并把《论杂气如何取用》附在结果里。",source:"《子平真诠》十六、论杂气如何取用",status:"variant",note:"原文说「兼透则兼用」,但只给一个格名时总要落到一个藏干;本插件只取最先透出的那一干,会支也只认三合、不认三会方,且不判原文所说的「有情 / 无情」,取舍次序各家另有说法。"},{id:"bazi-zhuanwang-yuanwen",system:"bazi",dims:["overall","career"],gist:"专旺五格各有专章:成格要看局全带印,不只看身强。",detail:"三命通会卷六曲直、炎上、从革、润下、稼穑五篇各立一格:曲直须亥卯未带亥,炎上须寅午戌带寅,从革须巳酉丑带丙丁巳午,润下须申子辰全,稼穑取四季土。原文的条件都比「身强」细:要局全、要带印或带火炼金,还要防冲刑死绝。本插件把命中的那一篇附在结果里,只作结构说明。",source:"《三命通会》卷六·曲直、炎上、从革、润下、稼穑",status:"variant",note:"专旺是否必须成方局、是否允许一点官杀财,各家宽严不一;原文五篇之间条件也不齐(润下重忌冲刑、稼穑重四季土)。本插件只按「同类+印 ≥5、官杀财皆弱」列出并附原文,不据此断贵贱,也不补专旺的破格条件。"},{id:"bazi-congge-yuanwen",system:"bazi",dims:["overall","career"],gist:"从格是身无归处才「弃命」相从:一见根气就破格。",detail:"三命通会卷五弃命从煞、卷六弃命从财各有一篇:从煞要煞重身柔、四柱无一点比肩印绶;从财要财会成局、日干无气,原文说「若逢根气,命损无猜」。两篇都说行运喜财煞旺地、忌扶身。本插件只在盘面出现从财格或从杀格时附上对应原文;从儿、从强没有单章,不硬凑。",source:"《三命通会》卷五·弃命从煞;卷六·弃命从财",status:"variant",note:"从格成立条件各家分歧很大:是否允许日主有微根、阴阳干从与不从(原文说阳木不能从)、从儿与从强算不算正从,说法不一。本插件只列结构与原文,不据此断吉凶,也不补从儿、从强的原文。"},{id:"bazi-tongguan",system:"bazi",dims:["overall","career"],gist:"两神相战要有中间一行接上,对峙才化成相生。",detail:"用神与忌神两行在局中各 ≥1.5 分、又正好相克时,五行里只有一行能接上:克方生它、它再生被克方(金克木则以水为关,土克水则以金为关)。滴天髓用织女、牛郎隔关相望作比,说「此关若通也,相邀入洞房」。本插件只按局中分量点出这一行,并写明它是不是忌神。",source:"《滴天髓》通神论·通关;五行生克为通行说",status:"variant",note:"各家对「两神相战」取哪两神不一(有取日主与官杀、有取用神与忌神、有取局中最旺两行),本插件固定取「用神与克它的忌神,且两行各 ≥1.5 分」;通关一行只按五行生克唯一确定,不据此断吉凶,也不判通关之力是否够用。"},{id:"ziwei-sanfang",system:"ziwei",dims:["overall","career"],gist:"看一个宫,要看它对面和左右三个宫。",detail:"三方四正=本宫加对宫、三合两宫。命宫的三方是财帛、官禄、迁移,代表钱、事、外出的环境;只看本宫会漏掉一半信息,因为紫微断的是宫与宫之间的互动,不是单宫星曜的堆叠。",source:"《紫微斗数全书》三方四正说",status:"settled"},{id:"ziwei-poge",system:"ziwei",dims:["overall","career"],gist:"格局成立不等于落定:三方四正见煞忌空劫,吉格也会破格。",detail:"《紫微斗数全书》论人命入格说「若居陷地又加杀化忌,为下格之命,不以入格而论也」;谈星要论也说「及命宫星辰庙旺,三方有恶星守照破格」。本插件因此把「成格」与「破格」分开判:吉格先按星位成立,再看命宫三方四正是否有擎羊、陀罗、火星、铃星、地空、地劫或化忌;有则标破格并写明是哪颗星落在哪一宫。忌格本身是风险结构,不另判破格。",source:"《紫微斗数全书》卷三·论人命入格、谈星要论",status:"variant",note:"破格判据本插件统一取「三方四正见煞忌空劫」,未逐格细分煞轻煞重;各派对「入格」宽严亦有异说,故只作结构提示。"},{id:"ziwei-sihua",system:"ziwei",dims:["overall","career"],gist:"四化是变化的方向,不是吉凶等级。",detail:"生年四化定先天基调(禄主得、权主掌、科主名、忌主执),宫干四化定后天演变;自化是宫干化出的星就在本宫,主此宫之事自己会起变化。同一个忌,落在六亲宫与落在财帛宫,含义完全不同。",source:"《紫微斗数全书》四化篇;宫干飞化见飞星派",status:"variant",note:"三合派重星情与格局、飞星派重宫干飞化,两派读法差异明显。本插件给出生年四化与宫干自化,未做完整飞星串连。"},{id:"ziwei-miaowang",system:"ziwei",dims:["overall"],gist:"庙旺得利平不陷,说的是星在这个宫舒不舒服。",detail:"同一颗星落在不同宫位,发挥程度差别很大。庙旺是得地,平陷是不得地;不得地不等于不好,只是这颗星的长处不容易发挥,需要借三方吉星来补。",source:"《紫微斗数全书》诸星庙旺表",status:"variant",note:"太阳、太阴在少数宫位的庙旺标注各家有出入;本插件只标十四主星,不硬标辅星。"},{id:"ziwei-daxian",system:"ziwei",dims:["career"],gist:"大限定十年主题,流年定当年事件。",detail:"大限看这十年主要在忙什么,流年看其中某一年被什么触发。两者的四化会叠在同一些宫位上,叠加处就是这十年里的关键点——只看流年而不看大限,容易把小事放大。",source:"《紫微斗数全书》大限流年篇",status:"settled"},{id:"ziwei-shengong",system:"ziwei",dims:["overall"],gist:"命宫是「你本来是谁」,身宫是「你后来把力气放在哪」。",detail:"身宫不独立成宫,而是寄在某一宫里(如寄财帛、寄官禄)。它标出中年之后的着力点:命宫强而身宫弱,多为主观强但落地慢;身宫得地,做事更容易见效。",source:"《紫微斗数全书》命身宫说",status:"variant",note:"身宫寄宫的取法各家一致,但身宫与命宫谁更重,各家侧重不同。"},{id:"ziwei-kongjie",system:"ziwei",dims:["overall","career"],gist:"空劫主计划外的变动,遇禄则财来财去。",detail:"地空地劫在紫微里代表落空与抽离:落财帛多主钱财不易积累,落官禄多主方向反复。若与禄存、化禄同宫,常见进得快、出得也快;与忌同宫则容易因变动而受挫。",source:"《紫微斗数全书》空劫条",status:"variant",note:"空劫是否见禄反吉,各家说法不一,本插件只提示变动性质,不判吉凶。"},{id:"ziwei-feixing",system:"ziwei",dims:["overall","career"],gist:"宫干定四化,星落哪宫,这一宫的力就往哪边走。",detail:"生年四化是先天带的,飞星四化是宫位自己去找的:每一宫的宫干定出禄权科忌四颗星,那几颗星落在哪一宫,就是这一宫的力气往哪边使。所以同一个「化忌」,从命宫飞出去和从财帛飞出去,说的是两件事。",source:"《紫微斗数全书》四化篇;中州派宫干四化传法",status:"variant",note:"飞星派(如钦天四化)把宫干四化当主线,三合派只作辅助;庚干四化各派另有异说,本插件取中州派常用表。飞星串连与三方四正复合飞化现已给出,但未叠大限流年四化。"},{id:"ziwei-sanfang-fei",system:"ziwei",dims:["overall","career"],gist:"三方四正一起飞,看四股力会到哪一宫。",detail:"单宫飞化只看本宫宫干把四化送去哪里;三方四正复合飞化把本宫、对宫与两个三合宫共四宫的宫干四化同时摊开,约 16 条,按落宫归堆,落到同一宫的就是会照。会在一处的化越多,那一宫被牵动的力道越集中;两忌以上会宫、禄忌同宫、三化以上会宫、宫干化出又落回本宫(自化),是这一层最常取的几种情形。",source:"《紫微斗数全书》四化篇;飞星派三方四正同飞说",status:"variant",note:"飞星派对「三方四正一起飞」是否成立、会照要不要折成分数,各家口径不一;本插件只做落宫归堆与会照标记,不折分数,也未叠大限流年四化。"},{id:"ziwei-jichuanji",system:"ziwei",dims:["overall"],gist:"忌转忌:化忌落进哪一宫,就从那一宫再化出去。",detail:"串连是跟着同一支化逐宫走:命宫化忌入父母,父母宫的宫干再化忌往下一宫,直到绕回走过的宫成环。环越短,越容易在同一组宫位上反复;走不出去(传统说「忌出不去」)不等于凶,只是这条力没有别的出口。",source:"《紫微斗数全书》四化篇;忌转忌串连法",status:"variant",note:"串连几跳为止、是否允许借对宫飞化,各派不一;本插件只跟单一支化逐宫走,走满 12 宫或成环即停。"},{id:"liuyao-yongshen",system:"liuyao",dims:["overall","work","wealth","love","health","study"],gist:"问什么就以哪一类六亲为用神,这一步定错,后面全盘白算。",detail:"取用按所问之事:求财与男命妻缘看妻财,工作职位考核看官鬼,文书合同学历看父母,健康以官鬼为病、子孙为医药,出行以世爻为用,感情男看妻财、女看官鬼。用神在卦上就取那一爻,出现两处记「两现」;用神不上卦,按本宫首卦同六亲的爻位取伏神,再看飞伏生克。本插件把这些位置与动变、旬空、卦体标签一一对上,但不替你选两现之中的主用。",source:"《卜筮正宗》用神章、伏神章;《增删卜易》用神章",status:"settled"},{id:"liuyao-wangshuai",system:"liuyao",dims:["overall"],gist:"月建管当令,日辰管生杀。",detail:"月建决定这一爻在这个月有没有气;日辰能生能克能冲能合,作用更直接。月破之爻当月无力;日冲则看动静——静爻被日冲为暗动,动爻被日冲为冲散。",source:"《卜筮正宗》月建日辰章",status:"settled"},{id:"liuyao-dongbian",system:"liuyao",dims:["overall"],gist:"动爻是「事情自己在动」的那一处。",detail:"动爻能生克静爻,静爻不能反克动爻。变爻对动爻有回头生、回头克两种反作用;化进神(如寅化卯)主加强,化退神(如卯化寅)主减弱。一爻独发看此爻,多爻乱动则看用神受不受伤。",source:"《卜筮正宗》动变章;《增删卜易》进神退神",status:"settled"},{id:"liuyao-fushen",system:"liuyao",dims:["overall"],gist:"用神不上卦,就去本宫首卦的同位取伏神。",detail:"本卦六爻里没有用神那一类六亲,就叫用神不上卦。取法是回到本卦所属宫的首卦(八纯卦),找出该六亲所在的爻位,那一爻即伏神,本卦同一爻位上的爻叫飞神。伏神要「得出」才有用:飞神生伏神、伏神克飞神、日月生扶都算得力;飞神克伏神则受压难出。本插件给出伏神爻位、干支五行、飞伏生克,并按月建日辰归成四档出伏条件(可出 / 有助有压 / 受压难出 / 未得助);只判条件,不出应期日期。",source:"《卜筮正宗》伏神章;《增删卜易》伏神篇",status:"variant",note:"首卦里同一六亲也可能出现两次(如乾宫乾为天的父母在三爻与上爻),此时取哪一爻为伏神各家不一;本插件把候选都列出并标「伏神两现」,不代选。出伏条件的归并口径:飞生伏、伏克飞、日辰生/比和、月建旺/相算助,飞克伏、日辰克、月破算压;有助无压为「可出」,有助有压为「有助有压」,有压无助为「受压难出」,两者都无为「未得助」。四档只并列条件、不排各家优先级;旬空只标出,不并入档位。应期各家分歧更大,仍不输出日期。"},{id:"liuyao-yongshen-shuai",system:"liuyao",dims:["overall","work"],gist:"用神旺不旺,看月建给的气与日辰当天的扶克。",detail:"月建管「这一段时令」:爻五行与月支五行同气为旺、受月令生为相、生月令为休、克月令为囚、被月令克为死。日辰管「当天这一股力」:日辰生爻为生、克爻为克、同气为比和,反过来则是爻泄日、爻耗日。此外月建冲爻叫月破,日辰冲静爻叫暗动、冲旬空之爻叫冲空。本插件把这几项折成标签逐爻列出,不折成分数。",source:"《增删卜易》月建章、日辰章;《卜筮正宗》月建论",status:"variant",note:"月破、暗动、冲空三者各家取法不完全一致(有派别把日冲动爻也叫暗动,有派别只认旺相之爻暗动);本插件按「月建冲=月破、日冲静爻=暗动、日冲旬空=冲空」这一套给标签,并注明用了哪一支月建。"},{id:"liuyao-quanggu-shuai",system:"liuyao",dims:["overall","work"],gist:"全卦逐爻看月建,才看得出气聚在哪一头。",detail:"月建管这一段时令的旺衰、日辰管当天的扶克,落到全部六爻逐爻判定:每爻都出月令五态(旺相休囚死)与日辰五关系,并标月破、暗动、冲空。世爻、应爻、动爻与旬空另标,五态分布能看出气是聚在世应还是散在旁爻——用神只是其中一处落点,不看全卦容易把一处当全局。",source:"《增删卜易》月建章、日辰章;《卜筮正宗》六爻旺衰论",status:"variant",note:"各家对月破、暗动、冲空的取法不完全一致,是否给六爻折力重(分数)分歧更大;本插件只给状态标签与五态分布,不折分数。"},{id:"liuyao-yingqi",system:"liuyao",dims:["overall","career"],gist:"应期是「什么时候见分晓」,不是「哪天」。",detail:"近事以日计、远事以月计;常见取法是等用神逢值、逢冲、逢合之期,或等忌神受制之期。本插件只做前一半:把用神(不上卦则取伏神)的逢值、逢冲、逢合三支列出,旬空另标出空与冲空,再按月建五态给「偏速 / 偏缓 / 待解 / 未定」一个快慢方向;忌神受制与具体日期仍未做。应期法各家互有出入,同一卦不同取法可以差出很远,所以只作时间窗口的提示。",source:"《卜筮正宗》应期章;《增删卜易》",status:"variant",note:"应期取法(值日、冲、合、填实、旬空出空)各家优先级不同,本插件只并列触发支、不排先后,也不换算日期;近事以日计、远事以月计,用哪把尺由事情远近决定,不代选。"},{id:"liuyao-liushen",system:"liuyao",dims:["overall","love"],gist:"六神是这件事的味道,不是主角。",detail:"青龙主喜庆与正事、朱雀主口舌与文书、勾陈主田土与迟滞、螣蛇主虚惊与缠绕、白虎主伤损与急迫、玄武主暗昧与失脱。六神只作取象的修饰,断吉凶仍以六亲旺衰生克为主。",source:"《卜筮正宗》六神章",status:"settled"},{id:"liuyao-liuchong",system:"liuyao",dims:["overall"],gist:"六冲卦讲「散」:起落快、来去急。",detail:"六冲不按「爻位相邻」判,而是看六个地支能不能正好配成子午、寅申、辰戌三组对冲。按纳甲实排,八纯卦之外天雷无妄、雷天大壮也成六冲。冲不是单纯的坏:近病逢冲主速愈、久病逢冲才忌;求财问婚,冲多主聚不住。",source:"《卜筮正宗》六冲章;《增删卜易》卦体说",status:"variant",note:"通行口诀多把六冲限为八纯卦,本插件按纳甲地支实配判定,故多出无妄与大壮两支;《增删卜易》卦例里这两卦确被称作六冲,可互证。"},{id:"liuyao-liuhe",system:"liuyao",dims:["overall","love"],gist:"六合卦讲「成」:容易谈拢,也容易黏住。",detail:"六个地支正好配成子丑、寅亥、卯戌、辰酉、巳申、午未三组相合,即六合卦,共天地否、地天泰、地雷复、雷地豫、山火贲、水泽节、泽水困、火山旅八支。六合主和合、拖延:谈事情容易成,也容易久拖不决;问病则忌缠绵。",source:"《卜筮正宗》六合章",status:"settled"},{id:"liuyao-fanyin",system:"liuyao",dims:["overall","work"],gist:"反吟主反复:去了又来、定了又改。",detail:"卦反吟有两种成法:一是变卦某宫的三爻地支与本卦对应宫正好全冲;二是本卦之宫与变卦之宫在后天八卦上正对(乾巽、坎离、艮坤、震兑)。爻反吟则是动爻变出的地支回头冲本爻。无论哪种,取象都是反复、翻覆、旧事重提。",source:"《增删卜易》反吟伏吟篇;《卜筮正宗》",status:"variant",note:"各家对「卦反吟」是否只认地支全冲有分歧;本插件的八卦正对一路,是从《增删卜易》卦例(如山地剥之坤为地、风天小畜之乾为天)反推出来的。"},{id:"liuyao-fuyin",system:"liuyao",dims:["overall"],gist:"伏吟主呻吟:事情在原地打转。",detail:"卦变了,纳甲地支却没变,叫卦伏吟。纳甲上只有乾与震共用子寅辰、午申戌一套地支,所以卦伏吟只会出在乾与震互换的卦上,例如天雷无妄之雷天大壮、天风姤之雷风恒。动爻变出的地支与本爻同支,则是爻伏吟。伏吟取象是欲动不动、原地反复,常指人想动而形势不许。",source:"《增删卜易》伏吟篇;《卜筮正宗》",status:"variant",note:"另有「伏吟以用神受困论」的说法,不限于卦体;本插件只报卦体层面的伏吟与动爻伏吟,不推断吉凶轻重。"},{id:"liuyao-jintui",system:"liuyao",dims:["overall"],gist:"动爻变出同五行顺次之支,为化进神;反向为化退神。",detail:"动爻变出的地支与本爻同五行、且在顺次上往前一步,叫化进神;倒退一步叫化退神。八对是:寅→卯(木)、巳→午(火)、申→酉(金)、亥→子(水),土一支成环,丑→辰→未→戌→丑。同五行但不相邻(如寅→辰)不算。进神取象是这一爻代表的人或事有后劲、势在往前;退神取象是渐渐退气、按原势头推会落空。",source:"《增删卜易》进神退神章",status:"settled"},{id:"liuyao-jintui-yong",system:"liuyao",dims:["overall","work"],gist:"化进化退要看是用神还是忌神,还要叠月建日辰。",detail:"进神退神本身只说明这一爻的向外趋势:用神化进为得力,忌神化进则为患加剧;用神化退是力衰,忌神化退反而是解脱。传统还要看它在本月令衰旺、有没有日辰生扶,空亡或受克时进者未必能进。本插件把进退与爻位标出来,再按月建五态给一档力重——得令则进得动、退得慢,失令则进得虚、退得实,月破压过一切;只给档位,不折成加权分数,吉凶仍落在用神与忌神那一层判。",source:"《增删卜易》进神退神章、用神章",status:"variant",note:"土之进退次序各家说法不完全一致,有以丑→辰→未→戌为进、也有只取辰戌丑未相对者;本插件按丑辰未戌成环处理,并用《增删卜易》卦例中「未土化戌土为进」「戌土化未土为退」对拍。"},{id:"meihua-tiyong",system:"meihua",dims:["overall"],gist:"动的那一卦为用,不动的那一卦为体。",detail:"体代表自己、用代表所问之事。体克用主可控、用克体主受制、用生体主得助、体生用主付出。再看互卦与变卦判断中段与结局——梅花只取象不排盘,落点比六爻粗。",source:"《梅花易数》体用篇",status:"settled"},{id:"daliuren-sike",system:"daliuren",dims:["overall"],gist:"四课看事从哪来,三传看事往哪去。",detail:"四课由日干日支的阴阳与天地盘相叠而得;三传依九宗门(贼克、比用、涉害、遥克等)取初传,再顺推中传末传。三传之间的生克与空亡,是判断事情走向的主线。",source:"《大六壬大全》;九宗门取传法",status:"settled"},{id:"qimen-yinyang",system:"qimen",dims:["overall"],gist:"冬至后阳遁、夏至后阴遁,局数由节气与三元定。",detail:"一年分阴阳两遁,各九局;局数取决于当前节气与上中下三元(符头定元)。取局流派有拆补、超神接气、置闰三种,同一时刻可能排出不同局数——这不是算错,是流派差异。",source:"《烟波钓叟歌》;拆补与置闰见《奇门遁甲统宗》",status:"variant",note:"三种取局法在节气交接前后差异最明显,本插件同时实现三种,可在参数里指定。"},{id:"qimen-jixing",system:"qimen",dims:["overall","work"],gist:"六仪落刑宫叫击刑,是宫位条件不是判决。",detail:"六仪按所配地支相刑:甲子戊落震三(子刑卯)、甲戌己落坤二(戌刑未)、甲申庚落艮八(申刑寅)、甲午辛落离九(午自刑)、甲辰壬落巽四(辰自刑)、甲寅癸落巽四(寅刑巳)。天盘六仪落到自己那一宫即击刑,取象是受制、掣肘、旧账翻出来,多用来量这个符号本身使不使得上力。",source:"《烟波钓叟歌》刑格注;《奇门遁甲统宗》",status:"variant",note:"有流派只论天盘六仪击刑,也有把地盘一并算的;本插件只判天盘,且只作宫位条件,不自动断用神受制。"},{id:"qimen-rumu",system:"qimen",dims:["overall"],gist:"天盘干落墓宫叫入墓:三奇与六仪各按五行墓库判。",detail:"按五行墓库推:乙木墓未(坤二)、丙丁火墓戌(乾六);六仪中戊墓戌(乾六)、己庚墓丑(艮八)、辛壬墓辰(巽四)、癸墓未(坤二)。天盘干落到自己的墓宫即入墓。取象是收束、藏起来、事情压住不动;好坏要看所问之事——问收藏、问了结,入墓未必是坏事。",source:"《奇门遁甲统宗》三奇入墓条;六仪入墓见《奇门遁甲秘笈大全》卷十五;五行墓库见《五行大义》",status:"variant",note:"各家对入墓范围说法不一:有只论三奇,也有把六仪、八门、九星一并论墓的;本插件判天盘三奇与六仪,八门、九星暂不入墓。"},{id:"qimen-ganying",system:"qimen",dims:["overall","work"],gist:"十干克应看天盘干加地盘干:同宫两干相遇,先取成象,再与门星神合看。",detail:"十干克应把天盘干与地盘干的组合收成 100 组,每组一个格名与一段取象。例如甲加丙「青龙返首」主大吉大利,甲加庚「值符飞宫」主吉事不成,乙加辛「青龙逃走」主失财逃亡。它回答的是「这两股气碰在一起像什么」,不单独回答「事情成不成」;同一组落在不同门、星、神与旺衰下,轻重会变。",source:"《奇门十干应克》通行 100 组表;《奇门遁甲元灵经》卷二「天盘加地盘吉凶」存甲、乙、丙三组异文",status:"variant",note:"100 组表各家措辞不一,本插件取通行表;元灵经只存三组且文字不同,两本并列、不合并。十干克应只作取象,不自动折吉凶。"},{id:"qimen-wangshuai",system:"qimen",dims:["overall","work"],gist:"门、星与天盘干按月令分旺相休囚死,只说明力量强弱。",detail:"旺相休囚死以月支五行为尺:与月令同气为旺,月令所生为相,生月令为休,克月令为囚,被月令所克为死。八门、九星与天盘干(三奇六仪)各按自身五行对月令,得出该符号当下「使不使得上力」。比如午月火旺,景门(火)旺、生门死门(土)相、休门(水)囚、开门惊门(金)死,天盘丙丁(火)旺、庚辛(金)死。",source:"《奇门遁甲统宗》门星旺衰条;五行旺相休囚死见《五行大义》",status:"settled"},{id:"qimen-wangshuai-yong",system:"qimen",dims:["overall","work"],gist:"旺衰是助力,不单独定吉凶:门旺而宫克门仍受制。",detail:"月令旺衰只回答「这个符号自身有多少气」,不回答「事情成不成」。取象时要和宫位关系叠起来看:门旺但同宫门克宫(门迫),力量被宫位掣肘;门囚但宫生门,仍得宫助。星同理,旺星落宫若被克,也难全其用。",source:"《奇门遁甲统宗》;《烟波钓叟歌》门宫生克注",status:"variant",note:"有流派按时令而非月令论门星旺衰,也有以落宫五行当令者;本插件统一按月支五行判,并在解读里明确只作强度参考。"},{id:"qimen-gan-shengke",system:"qimen",dims:["overall","work"],gist:"天盘干落宫论生克:干克宫主进取,宫克干受制,比和相安。",detail:"天盘干(三奇六仪)落到某宫,就看干的五行与该宫五行的生克:干克宫,是符号压向环境、偏进取与主动;宫克干,是环境反过来管住符号、偏受制与掣肘;干生宫,力量往外泄;宫生干,环境给力;比和,两下相安。这一层与门宫关系(门迫、宫制门)并列,各说各的,不互相替换;两者同时成立时分别列出,不折成一个分数。",source:"《奇门遁甲统宗》干宫生克条;《烟波钓叟歌》门宫生克注",status:"variant",note:"各家对「干与宫」的取象宽窄不一:有只论干宫、有连天盘干加地盘干(十干克应)一并论的。本插件两层并列:干宫生克判落宫关系,十干克应另判天地盘两干的成象,互不替代。"},{id:"tarot-orientation",system:"tarot",dims:["overall"],gist:"逆位常见的两种读法:削弱,或转向内。",detail:"一派认为逆位是正位力量的减弱与阻塞;另一派主张逆位是同一原型的内向化、未表达。同一张逆位牌,两种读法给出的建议方向可能相反,所以牌阵解读要先把口径讲清楚。",source:"韦特体系传统;逆位读法属近代流派分歧",status:"variant",note:"逆位是否参与解读本身就有分歧(有牌阵传统完全不用逆位)。本插件按削弱加内向综合取象,并在开头声明。"},{id:"bazi-dayun-jiaoqi",system:"bazi",dims:[],gist:"交运按「三日折一年」放大到日、时:起运时刻与每步换运日期都给。",detail:"把「出生 → 起运那一侧节令」的真实间隔按 365.2422/3(约 121.7474 倍)放大,加到出生时刻上就是交运时刻;同一比例也兑现「一日折四月、一时辰折十日」。每步大运在同月同日同时刻换,闰日退到 2 月 28 日。年长取回归年 365.2422 日,故与按 360 日折算的流派会差一两天。",source:"《渊海子平》起运法(三日折一年);《三命通会》论行运",status:"variant",note:"各家对「一年折几日」「交运日是否按 360 日计」取法不一,本插件固定 365.2422 日并把口径写进结果(dayun.jiao.yearDays)。出生时刻或经度一变,交运日会前后移一两天;月柱在交节边界时尤其要复核。"},{id:"liuyao-yingqi-exact",system:"liuyao",dims:[],gist:"具体应期(哪一天应验)本插件尚未推算。",detail:"应期需要综合用神旺衰、动变、旬空出空、日月冲合多层条件,且各家取法不同。当前只给时间窗口的方向性提示(逢值 / 逢冲 / 逢合的触发支,加一个快慢方向),不给具体日期——与其给一个看起来精确、实则拍脑袋的日子,不如留白。",source:"待补:《卜筮正宗》应期章逐条实现 + 已录 128 条卦例对拍(源 138 条)",status:"todo",note:"扩展方向:用《卜筮正宗》卦例里有明确应验日期的条目做回归,先验证再输出。0.50.0 已给出触发支与快慢方向,仍不输出日期。"}];function oe(ie,A){return D.filter(N=>N.system===ie&&N.dims.includes(A))}function ue(ie){return D.filter(A=>A.system===ie&&A.status!=="settled")}return{KNOWLEDGE:D,knowledgeFor:oe,caveatsFor:ue,STATUS_LABEL:{settled:"诸家一致",variant:"各家有异说",todo:"待核实"}}})(),J.citations=(function(){const{CLASSICS:D,CLASSIC_BOOKS:oe}=J.classics||{},{KNOWLEDGE:ue}=J["interpret-knowledge"]||{},{PATTERN_BREAK_RULES:V}=J.ziwei||{},ie={ziwei:{name:"紫微斗数全书",author:"宋·陈抟(传)",base:"https://zh.wikisource.org/wiki/紫微斗數全書"}},A=[{id:"zw-poge-sanfang",book:"ziwei",chapter:"卷三·谈星要论",quote:"及命宫星辰庙旺,三方有恶星守照破格。",plain:"命宫主星虽庙旺,三方四正见恶星也会破格。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-poge-ruge",book:"ziwei",chapter:"卷三·论人命入格",quote:"若居陷地又加杀化忌,为下格之命,不以入格而论也。",plain:"星落陷地又见煞星、化忌,就不按入格来论。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-poge-huaxiong",book:"ziwei",chapter:"卷三·论人命入格",quote:"又入格不化吉而化凶,只以本命吉凶多寡而断之。",plain:"入了格却化吉少、化凶多,只能按原局吉凶的多寡来断。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-shiyin",book:"ziwei",chapter:"卷一·增补太微赋",quote:"巨门子午二宫逢,身命逢之必贵荣,更得三方科禄照,石中隐玉是丰隆。",plain:"巨门在子午守命,要三方有化科、化禄照会,石中隐玉才成格。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-jiju-poge",book:"ziwei",chapter:"卷三·论诸星同垣各司所宜分别富贵贫贱夭寿",quote:"因甲禄到寅卯宫有擎羊破格耳。",plain:"巨机本可取贵,但擎羊落宫会把格局破掉。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-riyue-jia",book:"ziwei",chapter:"卷三·论诸星同垣各司所宜分别富贵贫贱夭寿",quote:"加羊陀冲守,宜僧。",plain:"日月夹命再加羊陀冲守,吉意大减。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-changqu",book:"ziwei",chapter:"卷三·论诸星同垣各司所宜分别富贵贫贱夭寿",quote:"昌曲陷宫凶杀破虚誉之隆 凶杀即羊陀空劫。",plain:"昌曲落陷再逢凶杀,名声易成虚誉;这里的凶杀指羊陀空劫。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-kuiyue",book:"ziwei",chapter:"卷三·论诸星同垣各司所宜分别富贵贫贱夭寿",quote:"魁钺重逢杀凑痼疾尤多 杀乃羊铃空劫。",plain:"魁钺夹命再凑煞星,贵气减等;煞指羊铃空劫。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-jiyue",book:"ziwei",chapter:"卷三·论诸星同垣各司所宜分别富贵贫贱夭寿",quote:"机月同梁作吏人 命在寅申方论,加吉不论,无吉无杀亦是平常人,凶杀空劫化忌为下格。",plain:"机月同梁要在寅申论;无吉无杀只是平常,逢凶杀空劫化忌则降为下格。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-tanwu",book:"ziwei",chapter:"卷三·论诸星同垣各司所宜分别富贵贫贱夭寿",quote:"贪武申宫为下格 化忌方论。",plain:"武贪在申本可论格,但带化忌才作下格论。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-huotan",book:"ziwei",chapter:"卷一·增补太微赋",quote:"火遇贪狼照命宫,封侯食禄是英雄,三方倘若无凶杀,到老应知福寿隆。",plain:"火贪照命本是贵格,前提是三方没有凶杀;见煞则破。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-luma",book:"ziwei",chapter:"卷一·诸星问答论·问天马星所主若何",quote:"如与禄存同宫,谓之禄马交驰,又曰折鞭马",plain:"禄存与天马同宫才叫禄马交驰。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-luma-kong",book:"ziwei",chapter:"卷一·诸星问答论·问天马星所主若何",quote:"逢空亡谓之死马、亡马",plain:"禄马逢空亡,称死马、亡马,奔走之力被劫。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-luma-tuo",book:"ziwei",chapter:"卷一·诸星问答论·问天马星所主若何",quote:"遇陀罗谓之折足马",plain:"禄马遇陀罗,称折足马,动而受阻。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-sihua-ji",book:"ziwei",chapter:"卷一·诸星问答论·问化忌星所主若何",quote:"如会紫府、昌曲、左右、科权禄,与忌同宫又兼四杀共处,即发财亦不佳,功名亦不成就。",plain:"吉星与化忌、四杀同处,即使发财也不好,功名难成。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-sihua-lu",book:"ziwei",chapter:"卷一·诸星问答论·问化禄星所主若何",quote:"禄为福德之神。守身命官禄之位,科权相逢必作大臣之职。",plain:"化禄主福,与科权相会可论官职。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-sihua-quan",book:"ziwei",chapter:"卷一·诸星问答论·问化权星所主若何",quote:"权星掌判生杀之神。守身命科禄相逢出将入相。",plain:"化权主掌判,与科禄相会主权位。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-sihua-ke",book:"ziwei",chapter:"卷一·诸星问答论·问化科星所主若何",quote:"科星上界应试,主掌文墨之星。守身命权禄相逢宰臣之贵。",plain:"化科主文墨名声,与权禄相会主贵。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-sanfang",book:"ziwei",chapter:"卷三·谈星要论",quote:"三看迁移财帛官禄三方星辰刑冲克破。",plain:"第三步就看迁移、财帛、官禄这组三方有没有刑冲克破。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-shenming",book:"ziwei",chapter:"卷三·谈星要论",quote:"看身安命禄马不落空亡天空截空最紧,旬空次之。",plain:"看身命先看禄马有没有落空亡、天空、截空。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-daxian",book:"ziwei",chapter:"卷三·论大限十年祸福何如",quote:"如宫分星缠全吉庙旺得地,无擎羊陀罗火铃空劫者,主十年安静,人财全美。",plain:"大限宫吉星庙旺且不见羊陀火铃空劫,十年较安稳。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-miaowang",book:"ziwei",chapter:"卷三·论诸星同垣各司所宜分别富贵贫贱夭寿",quote:"天机 庙子午 旺辰酉 陷丑未",plain:"天机的庙旺陷地:子午庙、辰酉旺、丑未陷。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-kongjie",book:"ziwei",chapter:"卷一·诸星问答论·问天空地劫所主若何",quote:"二星守身命,遇吉则吉,遇凶则凶。如四杀冲照,轻者下贱,重者六畜之命。",plain:"空劫守身命,吉凶随会照而定;再逢四杀冲照则加重。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"}],N={...Object.fromEntries(Object.entries(oe).map(([b,C])=>[b,C])),...ie};function Q(b){const C=A.find(s=>s.id===b)||D.find(s=>s.id===b);if(!C)return null;const le=N[C.book];return{...C,bookName:le?le.name:C.book,bookAuthor:le?le.author:""}}const v={"bazi-yueling-siquan":{refs:["smt-renyuan"]},"bazi-geju":{refs:["zp-yongshen"]},"bazi-suiyun":{refs:["smt-suiyun"]},"bazi-sanming-duizhao":{refs:["zp-zhenguan","smt-guansha-liu"]},"bazi-geju-chengbai":{refs:["zp-chengbai"]},"bazi-huagi-bianhua":{refs:["zp-bianhua"]},"bazi-zaji-quyong":{refs:["zp-zaji"]},"bazi-zhuanwang-yuanwen":{refs:["smt-quzhi","smt-yanshang","smt-congge","smt-runxia","smt-jiasi"]},"bazi-congge-yuanwen":{refs:["smt-congsha","smt-congcai"]},"bazi-tongguan":{refs:["dt-tongguan"]},"bazi-tonggen-tougan":{status:"general",book:"滴天髓",chapter:"通神论",reason:"原文为「天干得一比肩,不如得支中一墓库」一路的取象,未定位到单一整句"},"bazi-wangxiang":{status:"general",book:"五行大义",chapter:"旺相休囚死",reason:"通行五行旺衰说,未见可照录的单条原文"},"bazi-shensha":{status:"general",book:"三命通会",chapter:"神煞篇",reason:"神煞散见诸卷,未定位到单一条文"},"bazi-tiaohou":{status:"general",book:"穷通宝鉴",chapter:"调候用神",reason:"调候表按日干月令分散,未定位到单一条文"},"bazi-liuqin":{status:"general",book:"子平真诠 / 滴天髓",chapter:"六亲",reason:"星宫同参为两书通义,未定位到单一条文"},"bazi-kongwang":{status:"general",book:"渊海子平",chapter:"旬空",reason:"旬空出空为通行说,未定位到单一条文"},"bazi-xingchong":{status:"general",book:"三命通会",chapter:"论刑冲合害",reason:"刑冲合害散见诸卷,未定位到单一条文"},"bazi-dayun-jiaoqi":{status:"general",book:"渊海子平",chapter:"起运法",reason:"三日折一年为通行起运法,未定位到单一条文"},"ziwei-sanfang":{refs:["zw-sanfang"]},"ziwei-sihua":{refs:["zw-sihua-lu","zw-sihua-ji"]},"ziwei-miaowang":{refs:["zw-miaowang"]},"ziwei-daxian":{refs:["zw-daxian"]},"ziwei-shengong":{refs:["zw-shenming"]},"ziwei-kongjie":{refs:["zw-kongjie"]},"ziwei-poge":{refs:["zw-poge-ruge","zw-poge-sanfang"]},"ziwei-feixing":{status:"general",book:"紫微斗数全书 / 飞星派",chapter:"四化篇",reason:"宫干飞化属飞星派传法,非《全书》单条原文"},"ziwei-sanfang-fei":{status:"general",book:"紫微斗数全书 / 飞星派",chapter:"四化篇",reason:"三方四正同飞属飞星派读法,未定位到单条原文"},"ziwei-jichuanji":{status:"general",book:"紫微斗数全书 / 飞星派",chapter:"四化篇",reason:"忌转忌串连属飞星派读法,未定位到单条原文"},"liuyao-yongshen":{status:"general",book:"卜筮正宗 / 增删卜易",chapter:"用神章、伏神章",reason:"原文待录入;当前按通行用神法实现"},"liuyao-wangshuai":{status:"general",book:"卜筮正宗",chapter:"月建日辰章",reason:"原文待录入"},"liuyao-dongbian":{status:"general",book:"卜筮正宗 / 增删卜易",chapter:"动变章、进神退神",reason:"原文待录入"},"liuyao-fushen":{status:"general",book:"卜筮正宗 / 增删卜易",chapter:"伏神章",reason:"原文待录入"},"liuyao-yongshen-shuai":{status:"general",book:"增删卜易 / 卜筮正宗",chapter:"月建章、日辰章",reason:"原文待录入"},"liuyao-quanggu-shuai":{status:"general",book:"增删卜易 / 卜筮正宗",chapter:"六爻旺衰论",reason:"原文待录入"},"liuyao-yingqi":{status:"general",book:"卜筮正宗 / 增删卜易",chapter:"应期章",reason:"原文待录入"},"liuyao-liushen":{status:"general",book:"卜筮正宗",chapter:"六神章",reason:"原文待录入"},"liuyao-liuchong":{status:"general",book:"卜筮正宗 / 增删卜易",chapter:"六冲章",reason:"原文待录入"},"liuyao-liuhe":{status:"general",book:"卜筮正宗",chapter:"六合章",reason:"原文待录入"},"liuyao-fanyin":{status:"general",book:"增删卜易 / 卜筮正宗",chapter:"反吟伏吟篇",reason:"原文待录入"},"liuyao-fuyin":{status:"general",book:"增删卜易 / 卜筮正宗",chapter:"伏吟篇",reason:"原文待录入"},"liuyao-jintui":{status:"general",book:"增删卜易",chapter:"进神退神章",reason:"原文待录入"},"liuyao-jintui-yong":{status:"general",book:"增删卜易",chapter:"进神退神章、用神章",reason:"原文待录入"},"liuyao-yingqi-exact":{status:"todo",book:"卜筮正宗",chapter:"应期章",reason:"逐条应期尚未实现,等 20+ 条有应验日期的卦例"},"meihua-tiyong":{status:"general",book:"梅花易数",chapter:"体用篇",reason:"原文待录入"},"daliuren-sike":{status:"general",book:"大六壬大全",chapter:"九宗门取传法",reason:"原文待录入"},"qimen-yinyang":{status:"general",book:"烟波钓叟歌 / 奇门遁甲统宗",chapter:"阴阳遁与拆补",reason:"原文待录入"},"qimen-jixing":{status:"general",book:"烟波钓叟歌 / 奇门遁甲统宗",chapter:"刑格注",reason:"原文待录入"},"qimen-rumu":{status:"general",book:"奇门遁甲统宗 / 五行大义",chapter:"三奇入墓条",reason:"原文待录入"},"qimen-wangshuai":{status:"general",book:"奇门遁甲统宗 / 五行大义",chapter:"门星旺衰条",reason:"原文待录入"},"qimen-wangshuai-yong":{status:"general",book:"奇门遁甲统宗 / 烟波钓叟歌",chapter:"门宫生克注",reason:"原文待录入"},"qimen-gan-shengke":{status:"general",book:"奇门遁甲统宗 / 烟波钓叟歌",chapter:"干宫生克条",reason:"原文待录入"},"qimen-ganying":{status:"general",book:"奇门十干应克 / 奇门遁甲元灵经",chapter:"通行 100 组表 / 卷二·天盘加地盘吉凶",reason:"100 组为通行表汇编,元灵经只存甲、乙、丙三组,非单条原文"},"tarot-orientation":{status:"general",book:"韦特塔罗",chapter:"逆位读法",reason:"韦特体系无中文古籍原文,逆位读法属近代流派"}};function F(){return[...D.map(b=>Q(b.id)),...A.map(b=>Q(b.id))]}function W(b,C=""){const le=v[b];if(!le)return{source:C,citations:[],status:"general",reason:"未建立引文索引"};if(Array.isArray(le.refs)&&le.refs.length){const s=le.refs.map(Q).filter(Boolean),w=s.map(u=>`《${u.bookName}·${u.chapter}》${u.url}`).join(";");return{source:`${C}(原文索引:${w})`,citations:s,status:"verified"}}return{source:`${C}(${le.status==="todo"?"待补原文":"通行说,原文待补"}:${le.book||""}${le.chapter?`·${le.chapter}`:""})`,citations:[],status:le.status||"general",reason:le.reason||""}}function H(){return Object.entries(V).filter(([,b])=>Array.isArray(b.citationIds)&&b.citationIds.length).map(([b,C])=>({name:b,citationIds:C.citationIds,citations:C.citationIds.map(Q).filter(Boolean)}))}return{CITATION_BOOKS:ie,CITATIONS:A,citationOf:Q,CARD_CITATIONS:v,allCitations:F,citationSourceOf:W,patternCitations:H}})(),J.interpret=(function(){const{HEX64:D,HEX_BY_CORE:oe,TRIGRAM:ue,YAO_POSITION:V,MOVING_NATURE:ie,ZIWEI_STARS:A,WUXING_INDUSTRY:N,WUXING_ORGAN:Q,TENGOD_STYLE:v,LIUREN_JIANG:F,TAROT_ELEMENT_FOCUS:W,DISCLAIMER:H}=J["interpret-data"]||{},{MUTAGEN:b}=J.ziwei||{},{palaceFieldOf:C,starExtraOf:le,starPairOf:s,brightRead:w,huaInLine:u,shaLineOf:M,shaNatureOf:ee,fuLineOf:S,patternReadOf:z,MAIN_SHA:o}=J["ziwei-words"]||{},{stemPortraitOf:m,godPortraitOf:R,frameToneOf:G,relationNotes:k}=J["bazi-words"]||{},{bodyLabels:B,yongshenOf:pe}=J.liuyao||{},Ie=[{key:"overall",label:"整体运势"},{key:"work",label:"工作与职业选择"},{key:"career",label:"事业发展"},{key:"love",label:"爱情与感情"},{key:"health",label:"健康状况"}],de={bazi:"natal",ziwei:"natal",liuyao:"divination",meihua:"divination",daliuren:"divination",tarot:"card"},Ae={bazi:"八字",ziwei:"紫微斗数",liuyao:"六爻",meihua:"梅花易数",daliuren:"大六壬",tarot:"塔罗"},Se=[{key:"general",label:"综合",dim:null,focus:""},{key:"wealth",label:"财运",dim:"work",focus:"钱财进出的落点主要看「工作与职业选择」与「事业发展」这两条。"},{key:"career",label:"事业",dim:"career",focus:"事业发展这条与你的问题最直接。"},{key:"love",label:"感情",dim:"love",focus:"感情这条与你的问题最直接。"},{key:"health",label:"健康",dim:"health",focus:"健康这条与你的问题最直接;下面只作提醒,不作任何诊断。"},{key:"study",label:"学业",dim:"career",focus:"学业与考试更贴近「事业发展」这条,讲的是长期积累与阶段进展。"},{key:"travel",label:"出行",dim:"overall",focus:"出行与迁动更贴近「整体运势」这条,看的是当下这一段的大环境。"}],Ge="general",Te=a=>Se.find(c=>c.key===a)||Se[0];function Be(a){const c=T(a)?a:{},g=typeof c.question=="string"?c.question.trim().slice(0,200):"",_=Te(c.direction);return{question:g,direction:_.key,directionLabel:_.label,echo:g?`问题:${g} | 询问方向:${_.label}`:`询问方向:${_.label}`}}function Qe(a,c,g){const _=Array.isArray(a)?a.slice():[],j=Te(c&&c.direction);if(j.dim){const ge=_.findIndex(te=>te&&te.key===j.dim);if(ge>0){const te=_[ge];_.splice(ge,1),_.unshift(te)}if(_[0]&&_[0].key===j.dim){const te=c.question?`就你所问的「${c.question}」来看(${j.label}方向)——${j.focus}`:`按${j.label}这个方向看——${j.focus}`;_[0]=Object.assign({},_[0],{text:`${te}${_[0].text}`,focused:!0})}}let Y=g||"";return c.question?Y=`你问的是「${c.question}」${j.key==="general"?"。":`,方向是${j.label}。`}${Y}`:j.key!=="general"&&(Y=`方向是${j.label}。${Y}`),{dims:_,lead:Y}}const ne={大吉:"外部环境对你比较配合,属于可以主动争取的阶段",吉:"整体偏顺,适合稳步推进手上的事",平:"起伏不大,更适合打基础、补短板",忌:"摩擦与消耗偏多,宜守成、减少冒进",大忌:"压力相对集中,宜降低预期、先保住基本盘"},ae={大吉:"想做的事可以排进日程,别只停在想法上",吉:"按已有节奏走,把一件事做完整比开新头更划算",平:"把精力投向积累:技能、资质、人脉都算数",忌:"少做大的调整,先把手上的事收尾",大忌:"给自己留出缓冲,重要决定不妨往后放一放"},T=a=>a&&typeof a=="object",h=(a,c,g="")=>T(a)&&a[c]!=null?a[c]:g,E=(a,c="、")=>Array.isArray(a)?a.filter(Boolean).join(c):String(a||"");function ze(a,c,g){if(D[a])return{full:a,...D[a]};const _=typeof a=="string"&&a.length>2?a.slice(2):a;if(oe[_]){const ge=oe[_];return{full:ge,...D[ge]}}const j=ue[c]||{},Y=ue[g]||{};return{full:a||"本卦",meaning:`${j.nature||c||""}在${Y.nature||g||""}上,${j.trait||""}遇${Y.trait||""}`.trim(),scene:"按上下卦的取象体会这一卦的大意"}}function Le(a){const c=String(a||"");return/七杀/.test(c)?"七杀":/正官/.test(c)?"正官":/正财/.test(c)?"正财":/偏财|财格/.test(c)?"偏财":/伤官/.test(c)?"伤官":/食神|食伤/.test(c)?"食神":/正印/.test(c)?"正印":/偏印|枭/.test(c)?"偏印":/劫财/.test(c)?"劫财":/比肩|比劫/.test(c)?"比肩":/官/.test(c)?"正官":/财/.test(c)?"偏财":/印/.test(c)?"正印":""}function Je(a,c){const g=V.find(_=>_.pos===a)||V[0];return`${g.name}(${g.gist}):${g.tone}${c?";此处发动,"+(c.yinYang==="阳"?ie.yang:ie.yin):""}`}function en(a){const c=T(a.dayMaster)?a.dayMaster:{},g=T(a.strength)?a.strength:{},_=T(a.frame)?a.frame:{},j=T(_.yongshen)?_.yongshen:{},Y=a.climate||(T(j.climate)?j.climate:T(j.tiaohou)?j.tiaohou:null),ge=T(a.wuxing)?a.wuxing:{},te=h(g,"level","中和"),he=Array.isArray(j.favor)?j.favor:[],Z=Array.isArray(j.avoid)?j.avoid:[],K=Array.isArray(j.disputed)?j.disputed:[],Ne=h(_,"primaryName","未取定"),U=h(a.input,"gender","")==="male",X=U?"财":"官杀",d=Number(h(a.liunian?.[0],"age",NaN)),ce=Array.isArray(a.dayun?.list)?a.dayun.list:[];let se=null;for(const $ of ce)Number.isFinite(d)&&Number($.startAge)<=d&&(se=$);!se&&ce.length&&(se=ce[0]);const Fe=T(se?.luck)?se.luck:{},Pe=h(Fe,"tier","平"),ve=T(a.liunian?.[0])?a.liunian[0]:{},He=T(ve.luck)?ve.luck:{},x=h(He,"tier","平"),be=T(_.godStats?.groups)?_.godStats.groups:{},Oe=Object.entries(be).sort(($,p)=>p[1]-$[1]),we=Oe[0]?.[0]||"",me=Oe[1]?.[0]||"",fe=Object.entries(ge).sort(($,p)=>p[1]-$[1]),Ee=fe[0]?.[0]||"",$e=fe[fe.length-1]?.[0]||"",Me=Object.keys(ge).filter($=>Number(ge[$])===0),tn=se?ce.indexOf(se):-1,Xe=[],jn={甲:"木",乙:"木",丙:"火",丁:"火",戊:"土",己:"土",庚:"金",辛:"金",壬:"水",癸:"水"},mn=$=>jn[String($||"")[0]]||"",zn={子:"水",丑:"土",寅:"木",卯:"木",辰:"土",巳:"火",午:"火",未:"土",申:"金",酉:"金",戌:"土",亥:"水"};if(se){const $=mn(se.ganzhi);$&&(he.includes($)?Xe.push(`当前大运 ${se.ganzhi} 走${$},正是喜用,这十年推事情比平时省力;${we?`可把力气放在${we}对应的事上`:"适合把长期计划铺开"}。`):Z.includes($)?Xe.push(`当前大运 ${se.ganzhi} 走${$},落在忌神上,这十年更适合守成、补短板,不宜大杠杆扩张。`):Xe.push(`当前大运 ${se.ganzhi} 走${$},既非喜用也非忌神,属于平运,结果更多取决于你在这段里做了什么。`))}if(Me.length){const $=Me.filter(je=>Z.includes(je)),p=Me.filter(je=>he.includes(je));$.length&&Xe.push(`命局缺 ${$.join("、")},而它正是你的忌神——缺得刚好,不必刻意去补。`),p.length&&Xe.push(`命局缺 ${p.join("、")},这恰是喜用,是这盘的短板:靠环境、行业与身边人来补,比自己硬扛有效。`)}if(we&&Ne){const $=Le(Ne);$&&we&&$===we?Xe.push(`格局 ${Ne} 与最重的${we}一致,说明你的能量集中在同一条线上,长处突出、短板也集中。`):$&&Xe.push(`格局 ${Ne}(偏${$})与最重的${we}不在一条线上,内在会有两股力气拉扯:一边是格局给你的路,一边是你本能投入最多的事。`)}if(Array.isArray(a.shensha)&&a.shensha.some($=>($.items||[]).some(p=>p.name==="羊刃"))&&Number(be.官杀||0)>=1&&Xe.push('命见羊刃且官杀有力,属压力驱动型:遇强则强,但需要出口,长期憋着容易内耗;运动或竞技类爱好比"忍"更有用。'),a.pillars?.day){const p=a.input?.gender==="male"?"财":"官杀",je=Number(be[p]||0),_e=zn[a.pillars.day.branch]||"";je>=2&&_e&&he.includes(_e)?Xe.push(`配偶星(${p})不弱,且日支 ${a.pillars.day.branch} 属喜用,感情中有实际助益,不只看感觉。`):je===0&&Xe.push(`命局不见${p},感情多靠自己主动创造场景;日支 ${a.pillars.day.branch} 更像"对方的样子"而不是"缘分的强度"。`)}const on=tn>=0?ce.slice(tn+1,tn+4):ce.slice(0,3),$n=(...$)=>$.filter(p=>p!=null&&p!==""),kn=[{key:"overall",label:"整体运势",text:`你的日主是${c.stem}(五行属${c.element}),命局${te}(${h(g,"score","")} 分)。用神取向偏${E(he)},忌${E(Z)}——往${E(he)}的方向走会更省力${j.tiaohou&&j.tiaohou.note?`;调候上${j.tiaohou.note}`:""}。目前走在${h(se,"ganzhi","当前")}大运(${Pe}),${h(ve,"year","今年")}年流年${h(ve,"ganzhi","")}为${x}。`,advice:`大运看:${ne[Pe]||ne.平};流年看:${ae[x]||ae.平}。大方向定在${E(he)}相关的领域,会比硬扛${E(Z)}顺畅一些。`,evidence:$n(`日主 ${c.stem}${c.element}·${te}`,g&&g.parts&&g.parts.season?`月令 ${g.parts.season.branch}${g.parts.season.element}`:"",`喜 ${E(he)} / 忌 ${E(Z)}`,se?`大运 ${se.ganzhi}·${Pe}`:"",ve&&ve.ganzhi?`流年 ${ve.year}${ve.ganzhi}·${x}`:"")},{key:"work",label:"工作与职业选择",text:`按喜用神看,${E(he)}这几类方向对你更有利,可参考的行业包括:${he.slice(0,2).map($=>N[$]||"").filter(Boolean).join(";")||"暂未取定,可先按兴趣与能力试"}。命局主格为${Ne},这类结构的人通常${v[Le(Ne)]||"有自己稳定的节奏"}。十神中${we}最重(${Oe[0]?.[1]??""}),${me}次之,说明你在${we}所代表的事项上投入的精力最多。`,advice:`选岗位时可以偏向「${E(he)}属性 + ${we}对应的事务」;如果现在的工作明显偏${E(Z)}且长期让你疲惫,可以参考上面方向做小幅试探,不必立刻大改。`,evidence:$n(`主格 ${Ne}`,`喜用五行 ${E(he)}`,Oe.length?`十神 ${Oe.slice(0,3).map(([$,p])=>`${$}${p}`).join(" ")}`:"")},{key:"career",label:"事业发展",text:`${Ne}的格局,配合十神里${we}偏旺的结构,事业上更适合${we==="财"?"靠业绩与资源积累说话":we==="官杀"?"在有规则的组织里按层级上升":we==="印"?"凭资质、专业与口碑取胜":we==="食伤"?"靠作品、技术与表达打开局面":"与人并肩、共同承担的方式"}。接下来几步大运依次为:${on.map($=>`${$.ganzhi}(${$.luck?.tier||"平"})`).join(" → ")||"暂未排出"},整体节奏是${on.length&&on.filter($=>["吉","大吉"].includes($.luck?.tier)).length>=2?"先抑后扬、后段更顺":"需要一步步积累,中间偶有起伏"}。`,advice:`把${on[0]?.ganzhi||"下一步"}这一步当作铺垫期,重点补${we==="食伤"?"作品与专业深度":we==="官杀"?"资历与组织内的信任":"可迁移的能力与资质"};遇到${E(Z)}过重的年份,优先保住已有成果。`,evidence:$n(`格局 ${Ne}`,on.length?`后续大运 ${on.map($=>$.ganzhi).join(" → ")}`:"",`当前 ${h(se,"ganzhi","—")}·${Pe}`)},{key:"love",label:"爱情与感情",text:`${U?"男命以财星看妻缘":"女命以官杀看夫缘"},你命局中${U?"财":"官杀"}的力量为${be[U?"财":"官杀"]??"—"},${Number(be[U?"财":"官杀"]||0)>=2?"缘分出现的机会不算少":"需要自己主动创造认识人的场景"}。日支(配偶宫)为${h(a.pillars?.day,"branch","")},坐${h(a.pillars?.day,"zizuo","")},这里的信号是:${Number(be[U?"财":"官杀"]||0)>=2?"关系里你容易被主动靠近,但要留意筛选":"感情推进偏慢,属于需要经营的类型"}。`,advice:`不必急着要结果,先看清自己在关系里最在意什么。${Number(be[U?"财":"官杀"]||0)>=2?"选项多时,明确标准反而更省心":"可以把社交圈稍微扩大一点,但别为了脱单降低底线"};沟通上多说具体需求,少让对方猜。`,evidence:$n(`${U?"财":"官杀"} 权重 ${be[U?"财":"官杀"]??"—"}`,`日支 ${h(a.pillars?.day,"branch","")}·${h(a.pillars?.day,"zizuo","")}`,`配偶星 ${U?"财":"官杀"}`)},{key:"health",label:"健康状况",text:`五行分布上,${Ee}最旺、${$e}最弱${Me.length?`,其中${E(Me)}在命局中没有明现`:""}。按五行与身体的对应,${Ee}偏旺时${Q[Ee]?.part||""}负担相对重(${Q[Ee]?.note||""});${$e}偏弱则${Q[$e]?.part||""}偏弱一些,是更值得留意的部分。这只是传统命理的取象提示,不是诊断。`,advice:`建议把作息规律放在第一位——尤其是睡眠时长尽量稳定;${Q[$e]?.note?$e+"对应的"+Q[$e].part+"可以按体检项目关注":"按常规体检关注"}。任何不适请去看医生,别用命理结论替代检查。`,evidence:$n(`五行 ${Object.entries(ge).map(([$,p])=>`${$}${p}`).join(" ")}`,`最旺 ${Ee} / 最弱 ${$e}`,Me.length?`缺 ${E(Me)}`:"")}],an=m(c.stem),Ke=R(we),sn=R(me),un=g.parts&&g.parts.season?g.parts.season:null,e=h(a.pillars?.day,"branch",""),i=Object.entries(T(_.godStats?.byGod)?_.godStats.byGod:{}).filter(([,$])=>Number($)>0).sort(($,p)=>p[1]-$[1]),n=i[0]?i[0][0]:"",t=R(n),r=(Array.isArray(j.favorRoles)?j.favorRoles:[]).slice().sort(($,p)=>(Number(be[p])||0)-(Number(be[$])||0)),I=[`**日主**:${c.stem}${c.element}(${c.yinYang}${c.element})${un?`生于${un.branch}月,日主在月令「${un.word}」`:""},命局${te}(${h(g,"score","—")} 分)${an?`——${an.image}之象`:""}。`,`**用神**:喜${E(he)||"—"}(${E(j.favorRoles||[])||"—"}),忌${E(Z)||"—"}(${E(j.avoidRoles||[])||"—"})。${G(te,r)}`,`**格局**:${Ne}(${h(_.primary,"evidence","")})${(Array.isArray(_.geju)?_.geju:[]).filter($=>$.name&&$.name!==Ne).length?`,另有${_.geju.map($=>$.name).filter($=>$&&$!==Ne).join("、")}`:""}。`].join(`
|
|
69
|
-
`),
|
|
70
|
-
`),
|
|
71
|
-
`),
|
|
72
|
-
${
|
|
73
|
-
读法:档位说的是「这一年顺不顺手」,不是「会发生什么」;年份不顺时把重要动作挪到顺的年份,比硬扛更省事。`:"流年数据未取到,暂不展开。",
|
|
74
|
-
`),
|
|
75
|
-
`)},...
|
|
76
|
-
原文:《${
|
|
77
|
-
白话:${
|
|
66
|
+
`,X={河北:"石家庄",山西:"太原",内蒙古:"呼和浩特",辽宁:"沈阳",吉林:"长春",黑龙江:"哈尔滨",江苏:"南京",浙江:"杭州",安徽:"合肥",福建:"福州",江西:"南昌",山东:"济南",河南:"郑州",湖北:"武汉",湖南:"长沙",广东:"广州",广西:"南宁",海南:"海口",四川:"成都",贵州:"贵阳",云南:"昆明",西藏:"拉萨",陕西:"西安",甘肃:"兰州",青海:"西宁",宁夏:"银川",新疆:"乌鲁木齐",台湾:"台北"},oe={石家庄:[114.51,38.04],太原:[112.55,37.87],沈阳:[123.43,41.8],长春:[125.32,43.82],哈尔滨:[126.53,45.8],南京:[118.8,32.06],杭州:[120.15,30.28],合肥:[117.23,31.82],福州:[119.3,26.08],南昌:[115.86,28.68],济南:[117,36.65],郑州:[113.62,34.75],武汉:[114.3,30.59],长沙:[112.94,28.23],广州:[113.26,23.13],南宁:[108.37,22.82],海口:[110.2,20.04],成都:[104.07,30.67],贵阳:[106.63,26.65],昆明:[102.83,24.88],拉萨:[91.13,29.65],西安:[108.94,34.34],兰州:[103.83,36.06],西宁:[101.78,36.62],银川:[106.23,38.49],乌鲁木齐:[87.62,43.82],台北:[121.52,25.03]},F=(()=>{const O={};for(const L of P.trim().split(`
|
|
67
|
+
`))for(const z of L.split(";")){const R=z.trim().split(/\s+/);if(R.length!==3)continue;const[ne,x,M]=R;O[ne]={lon:Number(x),lat:Number(M)}}for(const[L,[z,R]]of Object.entries(oe))O[L]||(O[L]={lon:z,lat:R});return O})(),W=/(省|市|地区|盟|自治州|自治县|自治区|特别行政区|县|区|镇|乡|街道|村|小区|社区)/g;function E(O){const L=String(O||"").trim();if(!L)return null;const z=Number(L);if(Number.isFinite(z)&&/^-?\d+(\.\d+)?$/.test(L)&&z>=60&&z<=150)return{lon:z,lat:null,matched:`${z}°E`,level:"经度",note:"按你输入的经度计算"};const R=L.replace(/\s/g,"").replace(W,""),ne=Object.keys(F).sort((M,h)=>h.length-M.length);for(const M of ne)if(R.includes(M)){const h=F[M];return{lon:h.lon,lat:h.lat,matched:M,level:"地级市",note:`按 ${M} 估算(约 ${h.lon}°E)`}}const x=L.replace(/\s/g,"");for(const[M,h]of Object.entries(X)){const b=x.indexOf(M);if(b<0)continue;const r=x.charAt(b+M.length);if(r==="区"||r==="县")continue;const l=F[h]||{lon:oe[h][0],lat:oe[h][1]};return{lon:l.lon,lat:l.lat,matched:h,level:"省会",note:`未匹配到具体城市,按 ${M} 省会 ${h} 估算(约 ${l.lon}°E)`}}return{lon:null,lat:null,matched:null,level:"未匹配",note:`没查到「${L}」,可改填经度(如 116.4)`}}const I=/(区|县|镇|乡|村|小区|街道|路|号|巷|弄|组|队)/,J="dsh-metaphysics/0.23.0 (+https://github.com/xuanfu-web/dsh-metaphysics)";async function k(O,{timeoutMs:L=2500}={}){if(typeof fetch!="function")return null;let z=null;try{const R=typeof AbortController=="function"?new AbortController:null;R&&(z=setTimeout(()=>R.abort(),L));const ne="https://nominatim.openstreetmap.org/search?format=jsonv2&limit=1&accept-language=zh-CN&countrycodes=cn&q="+encodeURIComponent(O),x=await fetch(ne,{signal:R?R.signal:void 0,headers:{"User-Agent":J}});if(!x||!x.ok)return null;const M=await x.json();if(!Array.isArray(M)||M.length===0)return null;const h=M[0],b=Number(h.lon),r=Number(h.lat);return Number.isFinite(b)?{lon:b,lat:r,matched:h.display_name,level:"在线",note:`在线解析:${h.display_name}`}:null}catch{return null}finally{z&&clearTimeout(z)}}async function A(O,L={}){const z=E(O),R=String(O||"").trim();if(!R||!(L.online===!0)||z&&typeof z.lon=="number"&&!I.test(R))return z;const x=await k(R,L);return x?{...x,local:z&&z.lon!=null?z:null}:z&&typeof z.lon=="number"?{...z,onlineFailed:!0,note:`${z.note}(联网解析失败或超时,已退回内置坐标表)`}:{...z,onlineFailed:!0}}return{CITIES:F,PROVINCES:X,resolveAddress:E,geocodeAddress:A}})(),B.random=(function(){function P(F){let W=Number(F)>>>0;return W||(W=2654435769),function(){W=W+1831565813>>>0;let I=W;return I=Math.imul(I^I>>>15,I|1),I^=I+Math.imul(I^I>>>7,I|61),((I^I>>>14)>>>0)/4294967296}}function X(F){if(F==null||F==="")return Math.random;const W=Number(F);return Number.isFinite(W)?P(W):Math.random}function oe(F){return F==null||F===""?!0:Number.isFinite(Number(F))}return{mulberry32:P,randomOf:X,isSeed:oe}})(),B.dst=(function(){const{daysInMonth:P}=B.validate||{},X={1986:["1986-05-04","1986-09-14"],1987:["1987-04-12","1987-09-13"],1988:["1988-04-10","1988-09-11"],1989:["1989-04-16","1989-09-17"],1990:["1990-04-15","1990-09-16"],1991:["1991-04-14","1991-09-15"]},oe=(I,J,k)=>I*1e4+J*100+k;function F(I){const J=X[I.year];if(!J)return!1;const[k,A,O]=J[0].split("-").map(Number),[L,z,R]=J[1].split("-").map(Number),ne=oe(I.year,I.month,I.day);if(ne<oe(k,A,O)||ne>oe(L,z,R))return!1;const x=I.hour*60+(I.minute||0);return!(ne===oe(k,A,O)&&x<120||ne===oe(L,z,R)&&x>=120)}function W(I){const J=I.minute||0;if(!F(I))return{year:I.year,month:I.month,day:I.day,hour:I.hour,minute:J,applied:!1,note:null};let{year:k,month:A,day:O,hour:L}=I;return L-=1,L<0&&(L+=24,O-=1,O<1&&(A-=1,A<1&&(A=12,k-=1),O=P(k,A))),{year:k,month:A,day:O,hour:L,minute:J,applied:!0,note:`检出自 ${X[I.year][0]} 至 ${X[I.year][1]} 的中国夏令时:出生钟面时间已减 1 小时校正`}}function E(I,J){const k=Array.isArray(I)?I.slice():[];return J&&J.applied&&J.note&&k.push(J.note),k}return{DST_SPANS:X,inDstSpan:F,applyDst:W,withDstNote:E}})(),B.classics=(function(){const P={ziping:{name:"子平真诠",author:"清·沈孝瞻",base:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/"},ditian:{name:"滴天髓",author:"明·京图(通行本)",base:"https://www.diancang.xyz/xuanxuewushu/ditiansui/"},sanming:{name:"三命通会",author:"明·万民英",base:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/"}},X=[{id:"zp-yongshen",book:"ziping",chapter:"八、论用神",scene:"用神",tags:[],quote:"八字用神,专求月令,以日干配月令地支,而生克不同,格局分焉。财官印食,此用神之善而顺用之者也;煞伤劫刃,用神之不善而逆用之者也。",plain:"用神从月令里找:财、官、印、食四吉神顺用(生之护之),煞、伤、劫、刃四凶神逆用(制之化之)。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53628.html"},{id:"zp-zhenguan",book:"ziping",chapter:"三十一、论正官",scene:"格局",tags:["正官"],quote:"以刑冲破害为忌,则以生之护之为喜矣。存其喜而去其忌则贵,而贵之中又有高低者,何也?",plain:"正官格最忌刑冲破害,喜财生官、印护官;去忌存喜才谈得上贵,贵的层次还要看财印是否并透、有无伤官七煞混杂。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53651.html"},{id:"zp-cai",book:"ziping",chapter:"三十三、论财",scene:"格局",tags:["财","正财","偏财"],quote:"财为我克,使用之物也,以能生官,所以为美。为财帛,为妻妾,为才能,为驿马,皆财类也。",plain:"财是我所克、能为我用之物,因能生官而美;它同时代表钱财、配偶、才能、走动,不只「钱」一项。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53653.html"},{id:"zp-yin",book:"ziping",chapter:"三十五、论印绶",scene:"格局",tags:["印"],quote:"印绶喜其生身,正偏同为美格,故财与印不分偏正,同为一格而论之。",plain:"印能生身,正印偏印都算美格,不分偏正而论;印格的关键在身印强弱与官杀、食伤、财的配合。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53655.html"},{id:"zp-shishen",book:"ziping",chapter:"三十七、论食神",scene:"格局",tags:["食神"],quote:"食神本属泄气,以其能生正财,所以喜之。故食神生财,美格也。财要有根,不必偏正叠出,如身强食旺而财透,大贵之格。",plain:"食神本是泄气,可贵在能生财;食神生财要财有根,身强、食旺、财透三者齐,格局才大。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53657.html"},{id:"zp-pianguan",book:"ziping",chapter:"三十九、论偏官",scene:"格局",tags:["七杀","偏官"],quote:"煞以攻身,似非美物,百大贵之格,多存七煞。盖控制得宜,煞为我用,如大英雄大豪杰,似难驾驭,而处之有方,则惊天动地之功,忽焉而就。",plain:"七煞攻身,看着不美,但大贵之格多有七煞——能控制住就为我所用,像驾驭豪杰,处之有方就能成大事。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53659.html"},{id:"zp-shangguan",book:"ziping",chapter:"四十一、论伤官",scene:"格局",tags:["伤官"],quote:"伤官虽非吉神,实为秀气,故文人学士,多于伤官格内得之。而夏木见水,冬金见火,则又为秀之尤秀者也。",plain:"伤官不是吉神,却是秀气所在,文人多出伤官格;夏木得水、冬金得火,是秀气里更秀的两种。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53661.html"},{id:"zp-yangren",book:"ziping",chapter:"四十三、论阳刃",scene:"格局",tags:["劫财","阳刃"],quote:"阳刃者,劫我正财之神,乃正财之七煞也。禄前一位,惟五阳有之,故为阳刃。不曰劫而曰刃,劫之甚也。刃宜伏制,官煞皆宜,财印相随,尤为贵显。",verifiedQuote:"阳刃者,劫我正财之神,乃正财之七煞也。禄前一位,惟五阳有之",variantNote:"典藏网此页把「故为阳刃」刻作「故为旭刃」,与通行本异文;前段仍可逐字核验",plain:"阳刃是劫财之极(只有五阳干有),宜用官煞制伏;财印相随而不相碍,格局更显。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53663.html"},{id:"zp-lujie",book:"ziping",chapter:"四十五、论建禄月劫",scene:"格局",tags:["比肩","建禄","月劫"],quote:"故建禄与月劫,可同一格,不必加分,皆以透干支,别取财官煞食为用。",plain:"建禄、月劫同看一格,月令本身不算用神,要另看透出的财官煞食取用。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53665.html"},{id:"zp-qihou",book:"ziping",chapter:"十四、论用神配气候得失",scene:"调候",tags:[],quote:"论命惟以月令用神为主,然亦须配气候而互参之。譬如英雄豪杰,生得其时,自然事半功倍;遭时不顺,虽有奇才,成功不易。",plain:"月令用神为主,但必须配气候参看;同样的格局,生在得时的气候里事半功倍,逆着气候就费劲。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53634.html"},{id:"zp-chengbai",book:"ziping",chapter:"九、论用神成败救应",scene:"格局",tags:[],quote:"成中有败,必是带忌;败中有成,全凭救应。",plain:"成格不等于一路顺:成中带忌(官逢财又逢伤、官被合之类)就打了折;败格也未必无救——印来解伤、合来清煞,败中还能转成。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53629.html"},{id:"zp-zaji",book:"ziping",chapter:"十六、论杂气如何取用",scene:"用神",tags:[],quote:"何谓透干?如甲生辰月,透戊则用偏财,透癸则用正印,透乙则用月劫是也。何谓会支?如甲生辰月,逢申与子会局,则用水印是也。一透则一用,兼透则兼用,透而又会,则透与会并用。",plain:"四墓(辰戌丑未)所藏不止一气,所以叫杂气:取用先看哪一藏干透到天干,透一个用一个;没有透干,再看地支有没有与月支会成三合局,会成什么局就取局中那一气。透干与会支同时成立时两样并用。原文对「兼透」只给原则,没有给取舍次序。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53636.html"},{id:"zp-bianhua",book:"ziping",chapter:"十、论用神变化",scene:"格局",tags:[],quote:"故若丁生亥月,本为正官,支全卯未,则化为印。己生申月,本属伤官。藏庚透壬,则化为财。凡此之类皆用神之变化也。",plain:"用神本从月令取,但月令藏干不一:丁生亥月本为正官,支会卯未就化为印;己生申月本属伤官,庚藏壬透就化为财。起点相同,合化一变,取用也跟着变(原文只说变化之由,不断定某盘必化)。",url:"https://www.diancang.xyz/xuanxuewushu/zipingzhenquan/53630.html"},{id:"dt-hannuan",book:"ditian",chapter:"通神论·寒暖",scene:"调候",tags:[],quote:"天道有寒暖,生育万物,人道行之,不可过也。",plain:"天有寒暖才能生养万物,人命里寒暖也不能过——过寒过热都要调。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-zaoshi",book:"ditian",chapter:"通神论·燥湿",scene:"调候",tags:[],quote:"地道有燥湿,生成品汇,人道得之,不可偏也。",plain:"地有燥湿才有品类生成,人命得燥湿之气也不能偏。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-shuaiwang",book:"ditian",chapter:"通神论·衰旺",scene:"调候",tags:[],quote:"能知旺衰之真机,其于三命之奥,思过半矣。",plain:"真正看懂旺衰的机关,命理之奥就过了一半——旺衰不是数个数,要看真机。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-zhonghe",book:"ditian",chapter:"通神论·中和",scene:"调候",tags:[],quote:"既识中和之正理,而于五行之妙,有全能焉。",plain:"懂得中和的道理,五行的妙处就都在其中了。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-guansha",book:"ditian",chapter:"通神论·官杀",scene:"十神",tags:["正官","七杀"],quote:"官杀混杂来问我,有可有不可。",plain:"官杀混杂不是一律不好,要看能不能去留取清。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-shangguan",book:"ditian",chapter:"通神论·伤官",scene:"十神",tags:["伤官"],quote:"伤官见官最难辨,可见不可见。",plain:"伤官见官是最难分辨的一条:有的能见,有的不能见,不能一句「伤官见官为祸百端」了事。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-yueling",book:"ditian",chapter:"通神论·月令",scene:"用神",tags:[],quote:"月令乃提纲之府,譬之宅也,人元为用事之神,宅之定向也,不可以不卜。",plain:"月令像宅子,藏干是用事之神,像宅子的朝向,必须细看。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-tiyong",book:"ditian",chapter:"通神论·体用",scene:"用神",tags:[],quote:"道有体用,不可以一端论也,要在扶之抑之得其宜。",plain:"体用不能只看一头,关键是扶抑得宜。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-jingshen",book:"ditian",chapter:"通神论·精神",scene:"用神",tags:[],quote:"人有精神,不可以一偏求也,要在损之益之得其中。",plain:"看精神不能偏执一端,要在损益之间求其中。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"dt-tongguan",book:"ditian",chapter:"通神论·通关",scene:"用神",tags:[],quote:"关内有织女,关外有牛郎,此关若通也,相邀入洞房。",plain:"两股力隔着一道关相望:一边织女、一边牛郎,中间若有一行能把两边接上(一方生它、它再生另一方),对峙就化成相生。原文只给取象,哪一行为关要按五行生克定。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html"},{id:"smt-zhenguan",book:"sanming",chapter:"卷五·论正官",scene:"格局",tags:["正官"],quote:"正官者,乃甲见辛、乙见庚之例。阴阳配合,相制有用,成其道也。故正官为六格之首,止许一位,多则不宜。",plain:"正官取「克我而阴阳相配」,有制而能成用;六格以正官居首,只宜一位,多见就杂。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7582.html"},{id:"smt-zhengcai",book:"sanming",chapter:"卷六·论正财",scene:"格局",tags:["财","正财"],quote:"正财者,乃甲见己、乙见戊之例。受我克制,为我之妻,譬人娶妻,妻赍财嫁我,我必精神康强,而后可享用,若衰微不振,虽妻财丰厚,但能目视,终不得用。",plain:"正财是我克制之物,古人以「娶妻带财」作比:自身精神康强才受用得起,身弱不振,财再厚也只是看着。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7645.html"},{id:"smt-piancai",book:"sanming",chapter:"卷六·论偏财",scene:"格局",tags:["财","偏财"],quote:"何谓偏财?乃甲见戊、乙见己之例。非妻所带,乃众人之财也。切忌有姊妹兄弟分夺,柱无官星,祸患百出。",plain:"偏财取「我克而阴阳不同」:不是妻家带来的私财,而是众人之财,宜流通不宜独占。原文最忌比肩劫财来分夺,又说柱中无官星则多事(旧说的重话照录,本插件只记原文、不作断语)。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7650.html"},{id:"smt-yinshou",book:"sanming",chapter:"卷六·论印绶",scene:"格局",tags:["印"],quote:"印绶者,乃五行生我之名。如甲乙在亥子月,丙丁在寅卯月之类,乃我气之源,为生气,为父母,能护我官星,使无伤克",plain:"印是生我之气,像源头与父母:它能护住官星,使官不受伤克;反过来说,印重就怕财来破。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7655.html"},{id:"smt-shishen",book:"sanming",chapter:"卷六·论食神",scene:"格局",tags:["食神"],quote:"凡命遇财煞之地,食神旺相,煞被食制,不敢为祸,财被食生,充裕不竭,故食神一名寿星,一名爵星,良有以也。",plain:"食神旺,一头制煞、一头生财:煞被制住不敢为祸,财被生起不至枯竭;所以食神又叫寿星、爵星。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7663.html"},{id:"smt-shangguan",book:"sanming",chapter:"卷六·论伤官",scene:"格局",tags:["伤官"],quote:"伤官虽凶,乃我所生,自家之物,伤尽则能生财,财旺则能生官,造化展转有情。",plain:"伤官虽称凶,却是我自己生出来的:伤尽(柱中不见官星)反能生财,财旺再生官,辗转还是有情。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7662.html"},{id:"smt-yangren",book:"sanming",chapter:"卷六·论阳刃",scene:"格局",tags:["阳刃","劫财"],quote:"阳者,阴阳之阳,刃者,刀刃之刃,即禄前一位,言旺越其分,故险。",plain:"阳刃指禄前一位,旺过了本分,所以险;甲丙戊庚壬五阳干才有刃,阴干见伤官同论。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7671.html"},{id:"smt-jianlu",book:"sanming",chapter:"卷六·论建禄",scene:"格局",tags:["建禄","比肩","月劫"],quote:"凡命月令建禄,难招祖业,必主平生见财不聚,却病少寿长,行运再见比肩,克妻妨父损子",plain:"月令建禄是日主临官之地,身旺而财官难取:古说难承祖业、见财不聚,但病少寿长;再走比肩运,古书说克妻妨父损子(属于旧说的重话,本插件只记原文、不作断语)。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7672.html"},{id:"smt-guansha-liu",book:"sanming",chapter:"卷五·官煞去留杂论",scene:"格局",tags:["七杀","偏官"],quote:"凡看去留,要详柱中官煞孰重孰轻,天干透者易去,月支所藏者难去,须伤官食神去官煞之物众而有力,方才去得。",plain:"官煞混见时先比谁重谁轻:天干透出的容易去,月支藏着的难去;用来去官煞的伤官食神要成众、有根有力,才真去得掉。七杀格遇正官混杂,就按这一篇看取舍。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7599.html"},{id:"smt-quzhi",book:"sanming",chapter:"卷六·曲直",scene:"格局",tags:["曲直格","专旺"],quote:"甲乙日得亥卯未局,柱中须有亥字带印为入格,若无亥有卯,止是木之本气,却要见金土为贵,既无亥字,又无金土,则木不秀不实,难以言贵。",plain:"曲直格要木局成方(亥卯未)且带亥字为印,才算入格;只有卯、没有亥,只是木的本气,得另见金土才谈得上贵;两样都没有,木虽旺而无成,难称贵格。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7630.html"},{id:"smt-yanshang",book:"sanming",chapter:"卷六·炎上",scene:"格局",tags:["炎上格","专旺"],quote:"丙丁日遇寅午戌局,柱中须有寅字带印为入格,无寅止是九流近贵之命,若火自旺,无亥水相济,不贵。喜东北方运,忌见辰丑戊己,晦火光明,多主眼疾,或患风气,柱有木制成贵,忌水金乡,怕冲。",plain:"炎上格要火局成方(寅午戌)且带寅字为印才入格;无寅只是偏贵的命。火自旺还要一点水相济,过燥不贵;行运喜东北、忌湿土晦火,也怕冲。原文另带「多主眼疾」一句,属于旧说,本插件只记原文、不作健康判断。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7631.html"},{id:"smt-congge",book:"sanming",chapter:"卷六·从革",scene:"格局",tags:["从革格","专旺"],quote:"庚辛日见巳酉丑局,须带丙丁巳午一二位方成其器,但不可火多。如辛巳、辛酉、辛丑三日不喜五月生,被火所伤,宜八月或水土养育食神印绶为吉。",plain:"从革格是金局成方(巳酉丑),但金要火炼才成器:须带丙丁或巳午一二位,火又不能多。辛巳、辛酉、辛丑三日出身在五月(火旺)被伤,原文说宜八月或水土养育。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7632.html"},{id:"smt-runxia",book:"sanming",chapter:"卷六·润下",scene:"格局",tags:["润下格","专旺"],quote:"壬癸日见申子辰全,忌引卯巳死绝之地,三刑四冲之乡,死绝则不流,冲刑则横流,岁运同。或曰水太泛须柱有土神一两位制之,得成堤岸,既有土怕会木为凶,如有木伤土要金印救解,终是一生成败。",plain:"润下格是水局三合全(申子辰),最忌卯巳死绝与三刑四冲:死绝水不流,冲刑水横流,行运也一样看。水太泛要一两位土作堤,有土又怕木来破堤,木伤土再用金印解救——原文把成败条件摊开讲。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7633.html"},{id:"smt-jiasi",book:"sanming",chapter:"卷六·稼穑",scene:"格局",tags:["稼穑格","专旺"],quote:"赋云:戊己忻逢四季,乃为稼穑之名。是戊己生逢季月,喜见木为官,止得一木为妙,木多则土虚,主虚诈为破家不仁之人。",plain:"稼穑格取戊己生于四季月(辰戌丑未)。原文说喜见一木为官,木多则土虚;后半对木多之人的评语是旧说的重话,本插件只照录条件、不拿来评价人。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7634.html"},{id:"smt-congsha",book:"sanming",chapter:"卷五·弃命从煞",scene:"格局",tags:["从杀格"],quote:"《独步》云:弃命从煞,须要会煞从财,忌煞从煞。盖言从煞格,以煞神太重,身无所归,不得已从之,要行煞旺及财乡,四柱无一点比肩印绶方论,如遇运扶身旺,与煞为敌,从煞不专,故为祸患。",plain:"从煞格是煞太重、日主无所归才「弃命」相从:条件是四柱没有一点比肩印绶扶身,行运喜煞旺与财乡;一旦走扶身之运,与煞为敌,就从得不专。本插件只作结构说明,不据此断寿夭。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7598.html"},{id:"smt-congcai",book:"sanming",chapter:"卷六·弃命从财",scene:"格局",tags:["从财格"],quote:"《独步》云:弃命从财,须要会财,若逢根气,命损无猜。假如丁生酉月,柱多庚辛,日干无气,只得弃命相从,运入北方财官旺地,乃为入格,南行灾。",plain:"从财格要财会成局、日干无气;一见根气就破格,原文用「命损无猜」这种重话写明。以丁生酉月、柱多庚辛为例:只能弃命相从,行北方财官旺地为入格,南行则灾。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7652.html"},{id:"smt-suiyun",book:"sanming",chapter:"卷二·总论岁运",scene:"岁运",tags:[],quote:"行运以生月为运元,最怕行运与太岁冲克,若岁运冲月必祸;若岁运与日相对,谓之返吟,岁运压日,谓之伏吟,二者不利六亲,非横破财,不为吉兆。",plain:"大运以生月为起点,最怕与流年(太岁)冲克:原文说岁运冲月为祸,又把「岁运与日柱相对」叫返吟、「岁运压日」叫伏吟。这两句是按「对日柱」说的,与本插件「干支相同为伏吟、天克地冲为反吟」不是同一套定义(本插件取后者);末句「不利六亲、破财」是旧说的重话,只作变动提示,不作断语。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7539.html"},{id:"smt-renyuan",book:"sanming",chapter:"卷二·论人元司事",scene:"人元",tags:[],quote:"故支吕所藏者主命,谓之人元,名为司事之神,以命术言之为月令。如正月建寅,寅中有艮土用事五日,丙火长生五日,甲木二十日;二月建卯,卯中有甲木用事七日,乙木二十三日;",plain:"地支所藏为「人元」,按月令分日轮值。三命通会这一本给的是另一套日数:寅月艮土(戊土)五日、丙火五日、甲木二十日,卯月甲七日、乙二十三日。它与本插件采用的通行 30 日表(寅月戊7丙7甲16,即 7/7/16;卯月甲10乙20,即 10/20)不是同一套分法;两表各照原样并列,本插件仍按通行表给「第几日谁当权」,不改取格。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7529.html"}],oe=X.reduce((z,R)=>(z[R.id]=R,z),{}),F={正官格:"正官",七杀格:"七杀",偏官格:"偏官",正财格:"正财",偏财格:"偏财",正印格:"印",偏印格:"印",食神格:"食神",伤官格:"伤官",阳刃格:"阳刃",月劫格:"月劫",建禄格:"建禄"},W={曲直格:"smt-quzhi",炎上格:"smt-yanshang",从革格:"smt-congge",润下格:"smt-runxia",稼穑格:"smt-jiasi",从财格:"smt-congcai",从杀格:"smt-congsha"};function E(z){return oe[z]||null}function I(z){return(z&&Array.isArray(z.liunian)?z.liunian:[]).some(x=>x&&x.suiyun&&Array.isArray(x.suiyun.signals)&&x.suiyun.signals.length)?E("smt-suiyun"):null}function J(z){const R=String(z||"");if(F[R])return F[R];const ne=R.replace(/格$/,"");return F[ne+"格"]||ne}function k(z,R){return X.find(ne=>ne.scene==="格局"&&ne.tags.includes(z)&&(!R||ne.book===R))||null}function A(z){return z.chapter.replace(/^.*[、·]/,"").replace(/^论/,"")}function O(z,R=5){if(!z)return[];const ne=[],x=new Set,M=(p,C)=>{!p||x.has(p.id)||ne.length>=R||(x.add(p.id),ne.push({...p,why:C}))},h=Array.isArray(z.geju)?z.geju:z.frame&&Array.isArray(z.frame.geju)?z.frame.geju:[],b=h.some(p=>p&&p.kind==="化气格");for(const p of h){if(p&&p.status==="破格"||b&&p&&p.status==="假从")continue;const C=p&&W[p.name]?E(W[p.name]):null;C&&M(C,`本盘列有「${p.name}」,故取${P[C.book].name}「${A(C)}」一条`)}for(const p of h){if(!p||p.kind&&p.kind!=="月令格")continue;const C=J(p.name),de=k(C,"ziping")||k(C);de&&M(de,`你的月令格局是「${p.name}」,故取${P[de.book].name}「${A(de)}」一条`);const Ae=X.find(ue=>ue.scene==="格局"&&ue.tags.includes(C)&&(!de||ue.book!==de.book));Ae&&M(Ae,`同是「${p.name}」,${P[Ae.book].name}「${A(Ae)}」另有取法,可对照读`)}const r=z.climate||z.frame&&z.frame.yongshen&&(z.frame.yongshen.climate||z.frame.yongshen.tiaohou),l=z.frame&&z.frame.yongshen&&z.frame.yongshen.tongguan,d=l&&l.usable?E("dt-tongguan"):null;if(r&&r.kind&&r.kind!=="平和"){const p=!!(r.cold||r.kind.indexOf("寒")>=0),C=!!(r.hot||r.kind.indexOf("热")>=0);M(E(p?"dt-hannuan":"dt-zaoshi"),`本盘气候判为「${r.kind}」,故取${P.ditian.name}寒暖燥湿一条`),d||M(E("zp-qihou"),"气候与月令用神要互参,故取子平真诠「用神配气候」一条"),C&&M(E("dt-hannuan"),"本盘偏热,寒暖一条正对")}d&&M(d,`本盘忌${l.foe}克用${l.use},局中${l.bridge}${l.weight}分可作通关,故取${P.ditian.name}「通关」一条`);const o=h.find(p=>p&&p.kind==="化气格"),c=h.find(p=>p&&p.kind==="组合"),w=z.monthBranch||z.frame&&z.frame.monthBranch||z.pillars&&z.pillars.month&&z.pillars.month.branch,g=["辰","未","戌","丑"].includes(w);return o?M(E("zp-bianhua"),`本盘列有「${o.name}」:用神由月令合化而变,总纲一位改取${P.ziping.name}论用神变化`):g?M(E("zp-zaji"),`月令${w}属四墓杂气,取用先看透干、再看会支,总纲一位取${P.ziping.name}论杂气如何取用`):c?M(E("zp-chengbai"),`本盘另有「${c.name}」组合:成格还要看带忌与救应,总纲一位改取${P.ziping.name}论用神成败救应`):M(E("zp-yongshen"),"用神从月令取、四吉顺用四凶逆用,是通用总纲"),ne}function L(z){return!z||!z.length?"":z.map(R=>`《${P[R.book].name}·${R.chapter}》「${R.quote}」`).join(`
|
|
68
|
+
`)}return{CLASSIC_BOOKS:P,CLASSICS:X,classicOf:E,suiyunClassicOf:I,classicsFor:O,classicsText:L}})(),B.tarot=(function(){const P=[["愚者","0","新开始 冒险 纯真 无限可能","鲁莽 逃避 原地打转 不切实际"],["魔术师","I","行动力 资源整合 化想法为现实 沟通","夸大 操纵 能力未用 自欺"],["女祭司","II","直觉 潜意识 静观其变 内在智慧","忽视直觉 秘密 表面化 失焦"],["皇后","III","丰盛 滋养 创造力 孕育","过度依赖 停滞 消耗 空虚"],["皇帝","IV","秩序 权威 结构 掌控","专断 僵化 失控 硬撑"],["教皇","V","传统 指导 信念 规范","教条 反叛 形式主义 盲从"],["恋人","VI","结合 抉择 价值观一致 吸引","失衡 犹豫 错误选择 貌合神离"],["战车","VII","意志 前进 掌控方向 胜利","失控 方向不明 蛮干 内耗"],["力量","VIII","温柔的坚定 耐心 驯服 勇气","自我怀疑 压抑 强撑 失衡"],["隐者","IX","内省 独处 寻求真理 沉淀","孤立 逃避 封闭 钻牛角尖"],["命运之轮","X","转机 周期 因缘际会 顺势","停滞 抗拒变化 重复循环 错位"],["正义","XI","公平 因果 权衡 决定","偏颇 逃避责任 失衡 拖延"],["倒吊人","XII","暂停 换位 牺牲换取洞见 放下","无谓牺牲 拖延 僵持 白费"],["死神","XIII","结束 转化 断舍离 重生","抗拒结束 拖泥带水 停滞 恐惧"],["节制","XIV","调和 中道 耐心融合 疗愈","失衡 极端 急躁 消耗"],["恶魔","XV","欲望 束缚 执念 现实交易","挣脱 觉察 解除依赖 松绑"],["高塔","XVI","突变 崩塌 真相冲击 解放","延迟的崩解 避免改变 余震 侥幸"],["星星","XVII","希望 疗愈 指引 长期信心","失望 信心动摇 修复中 断线"],["月亮","XVIII","迷雾 潜意识 不安 幻象","迷雾散去 真相浮现 释放 清醒"],["太阳","XIX","成功 光明 活力 坦率","短暂阴霾 过度乐观 延迟 强颜"],["审判","XX","觉醒 召唤 重生 清算","自我批判 拒绝面对 迟疑 旧账"],["世界","XXI","完成 圆满 整合 跨越","未竟 收尾拖延 差一步 循环"]],X=[["风","一脚踏出悬崖也不怕,一切还没被定义"],["风","手上的工具已经齐全,想法可以立刻变成现实"],["水","答案还在水面之下,安静比追问更能接近它"],["土","先把自己养好,丰盛才会从你身上长出来"],["火","秩序与边界一旦建立,事情才有谈成的余地"],["土","旧有的规矩既是保护,也可能成为枷锁"],["风","关系与选择都指向同一件事:你真正看重什么"],["水","方向定了就往前,意志是这段路的燃料"],["火","真正的力量不是压制,而是温柔地与之共处"],["土","退到无人处,是为了看清自己手里的那盏灯"],["火","周期自己会转,人能做的是在对的时点推一把"],["风","一切都有对价,愿意付的那部分才算公平"],["水","暂停不是失败,换个角度才看得见新的路"],["水","结束必须真的结束,新的东西才有位置进来"],["火","不偏不倚地调和,耐心把两种东西融成一种"],["土","欲望本身不是问题,被它牵着走才是"],["火","崩塌带走的是假的,剩下才是能重建的地基"],["风","在最暗的地方给出希望,方向感来自远方"],["水","看不清的时候,先承认自己在迷雾里"],["火","结果本身会说话,坦率与明亮就是答案"],["火","被点到名字的时候,要敢于回应并重新出发"],["土","一个循环走完,才轮得到下一个开始"]],oe=[["权杖","火","行动与热情","冲动受阻"],["圣杯","水","情感与关系","情绪淤积"],["宝剑","风","思维与冲突","思虑过度"],["星币","土","现实与资源","务实停滞"]],F={权杖:[["一","灵感 起点 行动冲动","方向未明 拖延 点火即灭"],["二","规划 远望 抉择","犹豫 视野受限 迟迟不定"],["三","拓展 等待成果 布局","进度延迟 变数 收成不佳"],["四","稳定 庆祝 归属","不安 根基松动 表面和谐"],["五","竞争 摩擦 磨合","内耗 息事宁人 回避冲突"],["六","胜利 认可 士气","虚名 失落 名不副实"],["七","坚守 防御 立场","疲于应付 退让 寡不敌众"],["八","迅速 消息 进展","延误 混乱 节奏被打断"],["九","警觉 坚持到底 界限","疲惫 疑心过重 戒备成疾"],["十","重担 责任 收尾","卸下 崩溃边缘 超载"],["侍从","热忱 尝试 新消息","热情短暂 难持久 三分钟热度"],["骑士","冒进 行动 冒险","莽撞 半途而废 冲动"],["王后","自信 魅力 感染力","善妒 自我怀疑 争胜"],["国王","领导 决断 魄力","专横 急于求成 独断"]],圣杯:[["一","情感萌发 直觉 新关系","情感封闭 压抑 不敢投入"],["二","结合 互许 对等","失衡 猜疑 貌合神离"],["三","欢庆 友谊 共享","过度社交 疏离 流于热闹"],["四","倦怠 错过 停滞","重新留意 转机 愿意接住"],["五","失落 遗憾 执念","释怀 走出 重新接受"],["六","怀旧 童真 旧人","沉溺过去 难放下 美化回忆"],["七","幻想 选项过多 白日梦","看清现实 决断 收心"],["八","离开 寻找意义 转身","难以割舍 徘徊 反复回头"],["九","满足 心愿达成 享受","满足流于表面 贪婪 欲求不满"],["十","圆满 家庭 归属","和谐流于表面 疏离 各怀心事"],["侍从","敏感 讯息 灵感","情绪化 幼稚 玻璃心"],["骑士","浪漫 邀约 追寻","承诺落空 空谈 忽冷忽热"],["王后","共情 包容 温柔","情绪淹没 讨好 失去边界"],["国王","情绪掌控 成熟 稳定","压抑 冷漠 情绪封锁"]],宝剑:[["一","真相 突破 清晰","混乱 误解 思绪打结"],["二","僵持 回避 权衡","打破僵局 抉择 不得不选"],["三","心痛 分离 刺伤","疗愈 放下 结痂"],["四","休息 恢复 沉淀","勉强支撑 疲惫 恢复不足"],["五","争执 失利 代价","和解 止损 认输"],["六","过渡 离开 前行","滞留原地 难行 回头"],["七","策略 隐瞒 独行","坦白 被识破 自食其果"],["八","自我束缚 限制 看不清","松绑 看清出路 允许自己"],["九","焦虑 失眠 内耗","恐惧渐退 松动 天亮了"],["十","终结 谷底 触底","触底反弹 重启 止血"],["侍从","好奇 观察 求知","口舌 轻率 想太多"],["骑士","直言 急进 冲撞","鲁莽 伤人 唐突"],["王后","理性 明辨 独立","尖刻 冷硬 苛责"],["国王","权威 判断 原则","专断 苛刻 口不择言"]],星币:[["一","务实开端 机会 落地","错失 根基不稳 空谈"],["二","平衡 调度 灵活","失衡 顾此失彼 分身乏术"],["三","协作 技艺 成果","配合不畅 各自为政 返工"],["四","守成 保守 掌控","松手 匮乏感 抓太紧"],["五","匮乏 困境 排外","转机 援手 愿意求助"],["六","施与受 分享 公平","付出失衡 计较 人情账"],["七","评估 耐心 等待","急躁 白费 收成打折"],["八","精进 专注 学习","敷衍 半途 走神"],["九","自足 丰盛 独立","依附 虚耗 不配得感"],["十","基业 家族 长期","家累 短视 根基松动"],["侍从","务实 学习 起步","拖延 眼高手低 迟迟不动"],["骑士","稳步 推进 可靠","停滞 保守 磨蹭"],["王后","照料 丰饶 务实","操劳 控制 过度付出"],["国王","稳健 掌控 成果","固执 贪利 油盐不进"]]},W=["0","I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII","XIII","XIV","XV","XVI","XVII","XVIII","XIX","XX","XXI"],E={一:{number:"A",value:1,core:"起点,一切刚被点燃"},二:{number:"2",value:2,core:"两股力量之间的平衡"},三:{number:"3",value:3,core:"第一次成形,成果与代价同来"},四:{number:"4",value:4,core:"停下来,把结构暂时稳住"},五:{number:"5",value:5,core:"失衡带来的摩擦"},六:{number:"6",value:6,core:"修复,让事情重新流动"},七:{number:"7",value:7,core:"收成之前的审视与取舍"},八:{number:"8",value:8,core:"把节奏重新握在自己手里"},九:{number:"9",value:9,core:"接近满盈的临界"},十:{number:"10",value:10,core:"一个周期走到收束"},侍从:{number:"侍从",value:11,core:"学徒式的试探"},骑士:{number:"骑士",value:12,core:"带上方向的行动"},王后:{number:"王后",value:13,core:"成熟的照顾与吸引"},国王:{number:"国王",value:14,core:"掌控局面与承担"}},I={1:[{name:"当下指引",hint:"此刻最该被看见、也最该被照做的那一点"}],3:[{name:"过去",hint:"已经发生、仍在起作用的那部分"},{name:"现在",hint:"当下正在发生、你能直接触碰的局面"},{name:"未来",hint:"若维持当前走向,事情可能落到的位置"}],5:[{name:"现状",hint:"眼下真实的地形与手上的资源"},{name:"阻碍",hint:"卡住进程、还没被命名的那个结"},{name:"建议",hint:"可以主动调整的方向与做法"},{name:"结果",hint:"按当前路径走下去的大致落点"},{name:"潜在",hint:"尚未浮出水面、却在暗中推动的部分"}]},J=["侍从","骑士","王后","国王"],k=["火","水","风","土"],A={火:"热情与行动",水:"情感与关系",风:"思维与沟通",土:"现实与资源"},O={火:"先做一件让自己动起来的小事,别等状态",水:"给情绪留出说话的时间,别急着讲道理",风:"把想法写下来再判断,别只在脑子里绕",土:"落成一个可执行的步骤,写明时间和预算"},L={火:"容易过火,别把热情变成压人",水:"别被情绪淹没,先分清哪部分是自己的",风:"想得太多,记得回到事实和身体",土:"别太保守到错过窗口"},z={当下指引:"此刻能做的,就是照着这一面去调整今天的一个具体动作。",过去:"它已经发生,但余波仍在决定你现在怎么出手。",现在:"这是你此刻可以直接触碰、也可以调整的部分。",未来:"若维持现在的走法会往这里靠,但它还不是定局。",现状:"先把这一层看清楚,再谈要不要动。",阻碍:"它不一定在外面,很多时候是你不肯命名的那一部分。",建议:"这条可以当作接下来几天的小实验,而不是教条。",结果:"它是当前路径的延长线,换一条路径就会换落点。",潜在:"它还没浮出水面,却已经在左右你的选择。"},R="塔罗为象征系统,牌义与元素对应存在流派差异;此处采用 RWS(韦特)牌名/编号与黄金黎明的元素归属,仅供自我觉察与娱乐。";function ne(){const l=[];P.forEach(([d,o,c,w],g)=>{const[p,C]=X[g];l.push({name:d,arcana:"大阿卡纳",element:p,number:o,value:g,core:C,up:c,down:w})});for(const[d,o,c]of oe)for(const[w,g,p]of F[d]){const C=E[w];l.push({name:`${d}${w}`,arcana:"小阿卡纳",element:o,domain:c,suit:d,rank:C.number,rankCn:w,number:C.number,value:C.value,core:`${d}:${C.core}`,up:g,down:p})}return l}const x=new Map(ne().map(l=>[l.name,l])),M=l=>String(l||"").split(/\s+/).filter(Boolean);function h(l){if(typeof l=="string"&&l.trim())return l.trim().replace("T"," ").slice(0,16);const d=new Date,o=c=>String(c).padStart(2,"0");return`${d.getFullYear()}-${o(d.getMonth()+1)}-${o(d.getDate())} ${o(d.getHours())}:${o(d.getMinutes())}`}function b({question:l="",cards:d=[]}={}){const o=String(l||"").trim(),c=(Array.isArray(d)?d:[]).filter(xe=>xe&&xe.name),w=c.length;if(!w)return["没有抽到牌面,无法解读。"];const g=c.map(xe=>xe.name).join(" / "),p=[];p.push(o?`你问的是「${o}」,抽到的是 ${w} 张牌阵(${g})。塔罗是一套象征系统而不是判决:不同流派对牌义、编号与逆位的取舍略有差异,这里按 RWS(韦特)牌名与黄金黎明的元素对应来读,请把下面的话当作镜子,对照自己的处境取用。`:`这次没有具体提问,那就先看牌面本身在说什么。牌阵 ${w} 张(${g})。塔罗是象征系统,牌义随流派略有差异,这里按 RWS(韦特)与黄金黎明的常见对应来读,读到合用的部分就好。`);const C=c.map((xe,tn)=>tn),de=w<=3?C.map(xe=>[xe]):[C.slice(0,Math.ceil(w/2)),C.slice(Math.ceil(w/2))];for(const xe of de){const tn=xe.map(fn=>{const Qe=c[fn],dn=x.get(Qe.name)||{},wn=(Qe.keywords&&Qe.keywords.length?Qe.keywords:M(Qe.upright?dn.up:dn.down)).join("、"),kn=Qe.upright===!1?"逆位":"正位",qn=Qe.upright===!1?"逆位并不等于凶,更像这股力量还没顺过来,或用力过了头":"正位,这股力量目前是通的",Mn=Qe.positionHint||(I[w]&&I[w][fn]?I[w][fn].hint:"这一位要看的是它在你处境里的位置"),_n=dn.core?`它的核心是「${dn.core}」,`:"",zn=z[Qe.position]||"把它放回你的处境里对照,看看哪一句戳中了你。";return`${Qe.position}(${Mn})是「${Qe.name}」${kn}:${wn}。${_n}${qn}。${zn}`});p.push(tn.join(""))}const Ae=c.filter(xe=>xe.arcana==="大阿卡纳").length,ue=c.filter(xe=>xe.upright===!1).length,je=w-ue,we={};for(const xe of c){const tn=(x.get(xe.name)||{}).element||xe.element;tn&&(we[tn]=(we[tn]||0)+1)}const De=k.filter(xe=>we[xe]),_e=k.filter(xe=>!we[xe]),Ye=De.slice().sort((xe,tn)=>we[tn]-we[xe])[0],Ve=Ye&&we[Ye]*2>=w,ie=Ae*2>=w,se=c.filter(xe=>J.includes(xe.rank)||J.includes(xe.rankCn)).length,_=Math.round(Ae/w*100),y=De.map(xe=>`${xe}×${we[xe]}`).join("、");p.push([`${w} 张里有 ${Ae} 张大阿卡纳(占 ${_}%),${ie?"达到或超过半数,说明这是「主题层面的大事」,牵动的多半是方向与阶段,而不是细节执行":"不到半数,重点更偏日常层面的推进,先看具体的人与事"}。`,`元素分布:${y||"无"}(大牌按黄金黎明的元素归属计入,仅作象征参考);${_e.length?`缺${_e.map(xe=>`${xe}(${A[xe]})`).join("、")},这一块容易被忽略`:"四种元素都在,配比还算均衡"}${Ve?`。${Ye}偏旺,这股力量用得过头会压住别的部分`:""}。`,`宫廷牌 ${se} 张,${se?"说明局面里有具体的人(也可能是你某个侧面的状态)在推动":"没有明显人格化的角色,事情更靠情势本身在走"};正逆位 ${je} 正 ${ue} 逆,${je>ue?"整体偏顺,逆位那张是全盘的关节":je===ue?"顺逆各半,正处在拉扯与转换中":"阻力偏多,先把卡住的部分读透,再谈推进"}。`].join(""));const D=c.find(xe=>xe.arcana==="大阿卡纳"),ke=c.find(xe=>xe.upright===!1),Ce=D||ke||c[0],en=x.get(Ce.name)||{},an=D?"它出现的地方,往往就是这件事真正被牵动的层级":ke?"全盘没有大阿卡纳,关节就落在第一张逆位上——那股还没顺过来的力量":"全盘既没有大阿卡纳也没有逆位,走势平顺,就以第一张为参照";p.push(`全盘的关节是「${Ce.name}」(${Ce.position}·${Ce.upright===!1?"逆位":"正位"})${en.core?`,${en.core}`:""}。${an};其余几张可以看作它在不同位置上的回声。`);const nn=[];ke&&nn.push(`先把「${ke.name}」逆位指出的卡点处理掉(${(ke.keywords||[]).join("、")}),暂时不要加码推进`),ie?nn.push("把问题从「怎么办」换成「要不要」:先定方向,方法再慢慢补"):nn.push("把注意力放回能立刻做的小事上,先动一件,再看牌面怎么变"),_e.length?nn.push(`补一点${_e[0]}的力量:${O[_e[0]]}`):Ve&&nn.push(`${Ye}已经偏旺,${L[Ye]}`);const Fe=c.find(xe=>xe.position==="建议");Fe&&nn.push(`把「${Fe.name}」${Fe.orientation}的关键词(${(Fe.keywords||[]).join("、")})当作接下来一周的小练习`);const Ze=nn.slice(0,3);return p.push(`建议:其一,${Ze[0]};其二,${Ze[1]}${Ze[2]?`;其三,${Ze[2]}`:""}。`),p.push("牌是镜子,照出的是你此刻的状态与盲点,不是命运的判决书。涉及医疗、法律、财务等重大决定,请务必咨询对应的专业人士,牌面只用来帮你把问题问清楚。"),p}function r({count:l=3,question:d="",at:o,random:c=Math.random}={}){const w=[1,3,5].includes(l)?l:3,g=typeof c=="function"?c:Math.random,p=ne();for(let ue=p.length-1;ue>0;ue--){const je=Math.floor(g()*(ue+1));[p[ue],p[je]]=[p[je],p[ue]]}const C=I[w],de=p.slice(0,w).map((ue,je)=>{const we=g()<.5,De=C[je];return{position:De.name,positionHint:De.hint,name:ue.name,arcana:ue.arcana,element:ue.element,...ue.domain?{domain:ue.domain}:{},...ue.suit?{suit:ue.suit}:{},number:ue.number,...ue.rank?{rank:ue.rank}:{},...ue.rankCn?{rankCn:ue.rankCn}:{},value:ue.value,core:ue.core,upright:we,orientation:we?"正位":"逆位",keywords:M(we?ue.up:ue.down)}}),Ae=(d||"").trim();return{system:"tarot",question:Ae||null,castAt:h(o),spread:`${w} 张牌阵(${C.map(ue=>ue.name).join(" / ")})`,cards:de,reading:b({question:Ae,cards:de}),systemNote:R}}return{MAJOR:P,SUITS:oe,MINOR:F,ROMAN:W,SPREADS:I,tarotDeck:ne,tarotReading:b,drawTarot:r}})(),B["interpret-data"]=(function(){const P={乾:{nature:"天",trait:"刚健、主导",element:"金"},坤:{nature:"地",trait:"承载、柔顺",element:"土"},震:{nature:"雷",trait:"启动、震动",element:"木"},巽:{nature:"风",trait:"渗透、顺势",element:"木"},坎:{nature:"水",trait:"险陷、流动",element:"水"},离:{nature:"火",trait:"明丽、附著",element:"火"},艮:{nature:"山",trait:"静止、阻挡",element:"土"},兑:{nature:"泽",trait:"愉悦、口舌",element:"金"}},X=[{pos:1,name:"初爻",gist:"事之始,根基与起点",tone:"宜稳不宜急"},{pos:2,name:"二爻",gist:"初步展开,能力初显",tone:"宜务实积累"},{pos:3,name:"三爻",gist:"进退交界的关口,多劳少得",tone:"宜守拙退让"},{pos:4,name:"四爻",gist:"接近决策层,转机初现",tone:"宜谨慎措辞"},{pos:5,name:"五爻",gist:"得位居中,事态最盛",tone:"宜把握主节奏"},{pos:6,name:"上爻",gist:"发展至极,盛极思变",tone:"宜留余地收尾"}],oe={yang:"阳极转阴:原本强势、推进得很快的那个环节,接下来需要收一收、留余地",yin:"阴极转阳:原本停滞、迟迟没动静的那个环节,接下来会出现变化,可以主动推一把"},F={乾为天:{meaning:"刚健运行,自强不息",scene:"主动权在你手上,宜自己定节奏"},坤为地:{meaning:"厚德载物,顺势而成",scene:"配合与承接比抢先更有利"},水雷屯:{meaning:"初生艰难,如草木破土",scene:"事情刚起步会乱,先把基础扎稳"},山水蒙:{meaning:"蒙昧待启,问道则通",scene:"信息不全时先请教,不要硬闯"},水天需:{meaning:"等待时机,不可冒进",scene:"条件没齐,耐心等一等反而快"},天水讼:{meaning:"争讼之象,宜和解",scene:"有分歧先谈,别把关系推上对抗"},地水师:{meaning:"用众之道,纪律为先",scene:"靠团队成事,规矩要立在前"},水地比:{meaning:"亲附相辅,择善而从",scene:"选对合作对象,比单打独斗重要"},风天小畜:{meaning:"小有积蓄,力量未充",scene:"先攒资源,暂不大举投入"},天泽履:{meaning:"循礼而行,如履虎尾",scene:"按规则走,谨慎就不会出事"},地天泰:{meaning:"上下交泰,通达和顺",scene:"沟通顺畅,是推进的好时候"},天地否:{meaning:"阴阳不交,闭塞不通",scene:"卡住时先停下来,别硬顶"},天火同人:{meaning:"与人同心,众志可成",scene:"找同频的人一起做,事半倍"},火天大有:{meaning:"丰盛富有,如日中天",scene:"收获可观,记得分享与收敛"},地山谦:{meaning:"谦逊受益,卑以自牧",scene:"放低姿态,反而更容易被接纳"},雷地豫:{meaning:"悦乐振奋,顺势而动",scene:"士气高,适合启动与造势"},泽雷随:{meaning:"随时而动,择善而随",scene:"跟随大势走,别拧着来"},山风蛊:{meaning:"积弊待治,破而后立",scene:"旧问题该清一清了,别拖"},地泽临:{meaning:"居高临下,督导亲近",scene:"亲自盯一盯,效果比放手好"},风地观:{meaning:"观仰教化,观察而明",scene:"先看清楚再表态"},火雷噬嗑:{meaning:"咬合去梗,明断是非",scene:"障碍要正面处理,绕不过去"},山火贲:{meaning:"文饰之美,适度为宜",scene:"包装有用,但别盖过实质"},山地剥:{meaning:"剥落衰败,宜守不宜进",scene:"在消耗期,止损优先"},地雷复:{meaning:"一阳来复,去而复返",scene:"转机回来了,可以小步重启"},天雷无妄:{meaning:"不妄为,守正即吉",scene:"按本分做,别投机"},山天大畜:{meaning:"大有蓄养,厚积待发",scene:"积累期,学东西最有价值"},山雷颐:{meaning:"养正自守,节饮食慎言语",scene:"养身体、养口碑,别透支"},泽风大过:{meaning:"过甚有险,栋梁将折",scene:"担子太重,该减负或加固"},坎为水:{meaning:"重险叠至,惟诚可济",scene:"困难接连来,稳住心神最要紧"},离为火:{meaning:"附丽光明,柔顺守中",scene:"借助光亮的东西,别孤军奋战"},泽山咸:{meaning:"感应相和,男女相悦",scene:"情感互动顺畅,宜真诚表达"},雷风恒:{meaning:"恒久不易,持之则成",scene:"长期坚持才有结果"},天山遁:{meaning:"退避为智,以退为进",scene:"适时抽身,不是认输"},雷天大壮:{meaning:"阳刚壮盛,宜正不宜猛",scene:"气势足,但别用力过猛"},火地晋:{meaning:"晋升初进,如日上升",scene:"有上升机会,主动争取"},地火明夷:{meaning:"光明受掩,韬光养晦",scene:"暂时低调,保存实力"},风火家人:{meaning:"内治为先,各安其位",scene:"先把身边人和日常安顿好"},火泽睽:{meaning:"睽违背离,同中有异",scene:"意见不合是常态,求同存异"},水山蹇:{meaning:"蹇难阻滞,宜反身修德",scene:"走不通就绕,回头补短板"},雷水解:{meaning:"险难消解,宜速不宜缓",scene:"结打开了,趁势把事办了"},山泽损:{meaning:"损己益人,损中有得",scene:"先让一点,后面有回报"},风雷益:{meaning:"增益利民,顺势施为",scene:"投入会有产出,可以加码"},泽天夬:{meaning:"决而去之,果决除弊",scene:"该断的事果断断,别拖泥带水"},天风姤:{meaning:"不期而遇,柔遇刚",scene:"有意外的人或机会出现"},泽地萃:{meaning:"聚合众力,物以类聚",scene:"聚人聚资源的时候到了"},地风升:{meaning:"积小以高大,循序上升",scene:"一步一步往上走,别跳级"},泽水困:{meaning:"困穷待援,安贫守正",scene:"资源受限时先守住基本盘"},水风井:{meaning:"井养不穷,修井得清",scene:"把现有的渠道维护好"},泽火革:{meaning:"革故鼎新,时至则变",scene:"该改就改,时机已经到了"},火风鼎:{meaning:"鼎新烹饪,稳重得位",scene:"新格局已立,按新规矩办"},震为雷:{meaning:"震惊百里,惧而后安",scene:"突发变动会来,先稳住再应对"},艮为山:{meaning:"止其所止,静而定",scene:"该停就停,停下来才看得清"},风山渐:{meaning:"渐进有序,如鸿渐于陆",scene:"慢慢来反而到得快"},雷泽归妹:{meaning:"归嫁失序,宜守本分",scene:"关系里别越位,按本分处"},雷火丰:{meaning:"丰大光明,宜及时施为",scene:"盛时要做事,别浪费势头"},火山旅:{meaning:"旅居在外,谨慎自守",scene:"处在变动环境,低调稳当些"},巽为风:{meaning:"顺入以柔,申命行事",scene:"用柔的方式渗透,别硬碰"},兑为泽:{meaning:"喜悦相悦,朋友讲习",scene:"多交流多请教,气氛是好的"},风水涣:{meaning:"涣散离散,宜聚人心",scene:"人心散了,先把共识找回来"},水泽节:{meaning:"节制有度,苦节不可",scene:"设边界、控节奏,别过头"},风泽中孚:{meaning:"诚信居中,信则人任",scene:"诚意是当下最有效的通行证"},雷山小过:{meaning:"小事可过,大事不可",scene:"细节可以灵活,大方向别偏"},水火既济:{meaning:"事已成,慎终如始",scene:"做成之后更要防松懈"},火水未济:{meaning:"事未成,慎辨慎行",scene:"还差一步,别急着庆祝"}},W=Object.fromEntries(Object.keys(F).map(z=>[z.length>2?z.slice(2):z.slice(0,1),z]));return{TRIGRAM:P,YAO_POSITION:X,MOVING_NATURE:oe,HEX64:F,HEX_BY_CORE:W,ZIWEI_STARS:{紫微:{trait:"有主见、重体面,习惯站在统筹的位置",work:"适合需要拍板与统筹的岗位,管理、政务、项目负责一类",love:"在关系里需要被尊重,慢热但认真",health:"留意血压与作息紊乱"},天机:{trait:"脑子转得快,兴趣多、想法多",work:"适合策划、技术、咨询、研发一类动脑的岗位",love:"容易被有趣的人吸引,需要精神共鸣",health:"思虑多,留意神经紧张与睡眠"},太阳:{trait:"外放热心,愿意付出、也愿意被看见",work:"适合对外型岗位,教学、销售、公关、公益一类",love:"主动付出型,注意别一厢情愿",health:"留意心血管与用眼过度"},武曲:{trait:"务实、讲效率,认结果不认空话",work:"适合金融、财务、工程、执行类岗位",love:"感情表达偏实在,用行动多于言语",health:"留意呼吸系统与过劳"},天同:{trait:"温和好相处,重感受,凡事求舒服",work:"适合服务、文职、教育、文创一类低对抗的岗位",love:"需要陪伴感,容易被温柔的人打动",health:"留意免疫力与情绪性不适"},廉贞:{trait:"细腻又较真,审美与原则都在意",work:"适合需要精细度的岗位,法务、审计、设计、医疗一类",love:"感情投入深,也容易较劲",health:"留意炎症与情绪郁结"},天府:{trait:"稳重可靠,善于守成与资源调度",work:"适合行政、财务、运营、仓储一类守盘型岗位",love:"倾向稳定长久的关系",health:"留意体重与消化负担"},太阴:{trait:"内敛敏感,心思细,重安全感",work:"适合研究、文案、财务、艺术一类安静专注的岗位",love:"慢热、重细节,需要被照顾到感受",health:"留意睡眠与内分泌节律"},贪狼:{trait:"好奇心强、人缘好,兴趣广泛",work:"适合业务、市场、传媒、跨界的开拓型岗位",love:"桃花偏旺,需要自己划清边界",health:"留意肝火与作息不规律"},巨门:{trait:"善于分析,也容易多疑,嘴上功夫好",work:"适合法务、教学、咨询、谈判一类靠口才与逻辑的岗位",love:"容易因多想而生误会,宜多说清楚",health:"留意口腔、呼吸道与思虑过度"},天相:{trait:"讲规矩、重协调,习惯做辅佐者",work:"适合秘书、执行、协调、后勤一类支撑型岗位",love:"关系里偏迁就,需要学会表达需求",health:"留意皮肤与免疫波动"},天梁:{trait:"有长者气,爱操心、乐意帮人",work:"适合教育、医护、公益、顾问一类助人的岗位",love:"照顾型伴侣,别把对方当孩子",health:"留意慢病管理与过劳"},七杀:{trait:"果断敢冲,抗压但容易硬碰硬",work:"适合开拓、销售、创业、外勤一类高挑战岗位",love:"感情来得快,需要留给对方缓冲",health:"留意意外伤害与旧伤复发"},破军:{trait:"喜新厌旧,敢破敢立,不走老路",work:"适合变革、创业、项目从零到一的岗位",love:"感情变动偏多,稳定需要共同目标",health:"留意泌尿与外伤"}},WUXING_INDUSTRY:{木:"教育培训、出版撰稿、文职行政、农林园艺、中医药、服装与设计、文创",火:"互联网、传媒影视、能源电力、餐饮与品牌、演艺传播、电子科技",土:"地产建筑、物业管理、行政人事、农业种植、供应链仓储、财会",金:"金融银行、法律法务、机械制造、审计风控、医疗器械、军警安保",水:"物流贸易、咨询顾问、传媒公关、旅游出行、科研水产、信息技术"},WUXING_ORGAN:{木:{part:"肝胆、筋骨",note:"情绪疏泄与久坐久视是主要负担"},火:{part:"心脏、小肠、血脉",note:"睡眠节律与情绪起伏最需留意"},土:{part:"脾胃、肌肉",note:"饮食规律与消化吸收是关键"},金:{part:"肺、大肠、呼吸道与皮肤",note:"空气质量与换季是敏感点"},水:{part:"肾、膀胱、内分泌与腰膝",note:"过劳与熬夜最先反映在这里"}},TENGOD_STYLE:{正官:"守规矩、重名分,适合在成体系的组织里按规则上升",七杀:"抗压敢拼,适合高挑战、需要快速决断的岗位",正财:"稳定务实,适合按劳取酬、积累型的路径",偏财:"善抓机会、人脉广,适合业务、投资、资源整合类",食神:"表达与创造见长,适合技术、创作、教育一类",伤官:"想法多、不服旧规,适合改革、创业、专业创意",正印:"学习力强、有耐心,适合研究、文教、需要资质的岗位",偏印:"偏门钻研,适合冷门专业、技术深耕",比肩:"独立能扛,适合并肩作战或独立负责一块",劫财:"行动快、竞争心强,适合业务冲刺型工作"},LIUREN_JIANG:{贵人:"贵人、助力、被提携",螣蛇:"缠绕、反复、惊扰不定",朱雀:"口舌、文书、消息是非",六合:"合作、契约、和合之事",勾陈:"牵绊、拖延、纠缠难断",青龙:"喜庆、财禄、顺利推进",天空:"虚空、不实、计划落空",白虎:"压力、病丧、突发阻碍",太常:"衣食、常规、平稳运行",玄武:"暗昧、失物、信息不明",太阴:"隐秘、暗中助力、私下的事",天后:"女性、恩泽、情感与照料"},DISCLAIMER:"以上解析由本插件依据你提供的出生信息(或起卦时刻)按传统命理规则生成,属文化娱乐与自我觉察的参考,不构成医疗、心理、投资、法律或人事决策的依据。涉及健康请咨询医生,涉及重大决定请以现实信息与专业人士意见为准。",TAROT_ELEMENT_FOCUS:{火:{area:"行动力与热情",advice:"把能量投到一件具体的事上,别同时开太多头"},水:{area:"情感与关系",advice:"先照顾好感受,再谈效率"},风:{area:"思考与沟通",advice:"把想法写下来,与相关的人说清楚"},土:{area:"现实与资源",advice:"落实成可执行的步骤,写明时间和预算"}}}})(),B["interpret-plain"]=(function(){const P=(o,c="")=>o==null||o===""?c:String(o),X=o=>Array.isArray(o)?o.filter(Boolean).join(""):"",oe=o=>Array.isArray(o)?o.length>0:o!=null&&o!=="",F={身强:"底子偏足、抗压能力好,但容易自己给自己加码,学会收力比使劲更重要",偏强:"底子略足,扛得住事,也容易把事都往自己身上揽",中和:"力量比较匀,属于「给什么环境就长出什么样子」的类型",偏弱:"底子偏薄,靠外部支援比硬扛有效,选对圈子与节奏很关键",身弱:"底子偏薄,先修恢复力再谈冲刺,硬撑的性价比最低"},W={六冲卦:"这一卦是「六冲」,事情起落快,急事反而好办,拖久了的人事容易散。",六合卦:"这一卦是「六合」,容易谈成,也容易黏住不放。",变六冲:"往下走会散,收尾别拖。",变六合:"往下走会合,事情倾向于延续下去。",内卦伏吟:"事情卡在原地打转,想动但动不了。",外卦伏吟:"外面那层没变,看起来在动,其实格局照旧。",内卦反吟:"反复在自己这一头,改了又改回来。",外卦反吟:"外面反复,对方或环境会来回拉扯。",化进神:"有一爻在往上走,顺着这股劲推比往回拉顺。",化退神:"有一爻在往后退,别按原来的势头硬推。"},E={可出:"眼下的条件算是有助无压,属于「出得来」的一档——这是条件,不等于马上应验。",有助有压:"眼下是一边有助、一边有压,出得来,但得费点劲。",受压难出:"眼下被上面的力量压着,不太容易露头,先别急着硬推。",未得助:"眼下暂时没借到力,还得等条件转过来。",飞伏未知:"飞伏关系看不全,这一层先不下判断。"};function I(o,c){if(!o||!o.liuqin)return"";if(o.found.length){const w=o.found.map(C=>`第${C.position}爻`).join("、"),g=o.found.some(C=>C.moving),p=o.byShi?"代表你自己":`就是「${o.liuqin}」这一类事`;return`你问的这件事,在卦里对应${w}${p}——${g?"这一爻还在动,说明事情正在推进":"这一爻没动,先按现状看"}。`}if(o.fushen.length){const w=o.fushen[0],g=c&&Array.isArray(c.items)?c.items.find(C=>C.position===w.position):null,p=g?` ${E[g.verdict]||""}`:"";return`你问的这件事,卦面上没有直接露出来,得往深处找:它藏在第${w.position}爻下面(伏神),与上面的关系是「${w.relation||"—"}」,要借力才出得来。${p}`}return""}function J(o){if(!o||!o.lines||!o.lines.length)return"";const c=o.lines.filter(p=>/死|囚/.test(p.monthState)||p.monthChong),w=o.lines.filter(p=>/旺|相/.test(p.monthState)),g=o.month&&o.month.branch?`眼下这阵子(${o.month.branch}月)`:"起卦这段日子";return c.length&&!w.length?`${g}对这件事不太帮忙,气有点被压着——先别急着硬推,等风向转。`:w.length&&!c.length?`${g}对这件事是帮着的,气正在往上走,能推就趁现在。`:`${g}对这件事有帮有压,一半的力要自己挣——结果更看你怎么走。`}function k(o){const c=o&&o.jinTuiPower;if(!c||!Array.isArray(c.lines)||!c.lines.length)return"";const w=g=>g.verdict==="后劲足"?"时令托着,后劲足":g.verdict==="后劲有限"?"时令不太托,后劲有限":g.verdict==="进得虚"?"时令最背,进也是虚进":g.verdict==="退得缓"?"时令还托着,退得慢":g.verdict==="退得实"?"时令也不托,退得实":g.verdict==="月破失据"?"又正好逢月破,进退都站不稳":"缺月建,先只当方向看";return`动爻的进退还要看时令:${c.lines.map(g=>`${g.position}爻${g.from}→${g.to}${g.type},${w(g)}`).join(";")}。`}function A(o){const c=o&&o.yingqi;if(!c||!Array.isArray(c.triggers)||!c.triggers.length)return"";const w=c.tempo==="偏速"?"大体偏近,近事更容易先见分晓":c.tempo==="偏缓"?"大体偏远,别指望立刻见分晓":c.tempo==="待解"?"眼下还有月破或旬空,得先等条件解除":"缺月建,快慢暂不定",g=c.triggers.map(C=>C.branch).join("、"),p=c.viaFushen?"(用神是伏神,先要出得来)":"";return`应期上${w};传统会留意${g}这几个地支${p}——这只是提示,不换算成具体哪天。`}function O(o){if(!o||!o.counts)return"";const c=(o.counts.旺||0)+(o.counts.相||0),w=(o.counts.囚||0)+(o.counts.死||0),g=o.month&&o.month.branch?`按${o.month.branch}月这段时令看`:"按起卦这天看",p=o.shi&&o.shi.monthState!=="unknown"?`代表你的世爻在${o.shi.monthState}`:"";return c>=4&&w===0?`${g},整张卦六爻的气多数是顺的,${p},眼下算是好推的时候。`:w>=4&&c===0?`${g},整张卦六爻的气多数被压着,${p},这几天更适合等而不是冲。`:`${g},整张卦六爻有顺有逆(旺相 ${c} 爻、囚死 ${w} 爻)${p?`,${p}`:""},成不成要看具体哪一爻在动。`}function L(o){if(!o||!Array.isArray(o.targets))return"";const c=o.targets.find(g=>g.count>=2),w=o.groups&&o.groups.selfHua&&o.groups.selfHua.length?"其中有的宫自己化出去又落回自己,容易表现为「想得多、落得少」。":"";return c?`把命宫连同对宫与两个三合宫一起看,${c.incoming.length} 股力最后挤在「${String(c.palace).replace(/宫$/,"")}」这件事上——这件事会把好几个方面的劲都吸过来。${w}`:`把命宫连同对宫、两个三合宫一起看,四股力飞出去没有挤到同一处,这几件事之间牵连不深。${w}`}function z(o){const c=C=>Object.keys(W).find(de=>C===de||C.startsWith(`${de} `))||"",w=o.find(C=>c(C)),g=w?W[c(w)]:"",p=o.filter(C=>C!==w&&/^化[进退]神 /.test(C)).map(C=>W[c(C)]).filter(Boolean);return g+p.join("")}const R={wealth:"「工作与职业选择」与「时间窗」",career:"「事业发展」与「时间窗」",love:"「爱情与感情」",health:"「健康状况」",study:"「事业发展」与「时间窗」",travel:"「整体运势」与「时间窗」",general:"「整体运势」与「看盘顺序」"};function ne(o,c,w={}){if(!o||!o.system)return"";const g=P(c&&c.question).trim(),p=c&&c.direction||"general",C=o.system==="bazi"?R[p]||R.general:"下面与你的问题最贴近的那一节",de=g?`你问的是「${g}」。`:"";if(o.system==="bazi"){const Ae=o.dayMaster||{},ue=o.strength||{},je=o.frame&&o.frame.yongshen||{},we=X(je.favor),De=X(je.avoid),_e=Array.isArray(je.neutral)&&je.neutral.length?`(其中${je.neutral.map(ie=>ie.element).join("、")}在命局里几乎没有分量,算中性偏忌,不必刻意避)`:"",Ye=(o.liunian||[])[0],Ve=[de+`先说结论:你是${P(Ae.stem)}${P(Ae.element)}日主,命局${P(ue.level,"待定")}${we?`,顺${we}、忌${De}${_e}——往${we}的方向安排事情会更省力`:""}。`,Ye&&Ye.ganzhi?`${P(Ye.year)} 年是${Ye.ganzhi}年(${P(Ye.luck&&Ye.luck.tier,"平")}),这是「大环境」这一层。`:"",`具体到你问的这件事,重点看${C}。`];return g||(Ve[Ve.length-1]=`没指定问题,就按${C}的顺序往下看。`),Ve.filter(Boolean).join("")}if(o.system==="ziwei"){const Ae=o.soul||{},ue=o.body||{},je=o.bureau||{},we=o.lifeMaster||"",De=o.flyChains&&o.flyChains.忌,_e=De&&De.steps.length?`还有一条线值得留意:${De.path.map(Ye=>Ye.replace(/宫$/,"")).join(" → ")}——这几件事在你身上是连着转的,一件卡住,容易牵动下一件。`:"";return[de+`先说结论:你的命宫落${P(Ae.branch,"—")}宫${je.name?`、${je.name}`:""}${we?`,命主${we}`:""}${ue.lands?`,身宫落在「${ue.lands}」——这张盘的重心在这件事上`:""}。`,_e,L(o.flyComposite),g?`具体到你问的这件事,重点看${C}。`:`没指定问题,就按${C}的顺序往下看。`].filter(Boolean).join("")}if(o.system==="liuyao"){const Ae=o.ben||{},ue=o.cast&&o.cast.movingPositions||[],je=o.bian||{},we=o.body&&Array.isArray(o.body.labels)?o.body.labels:[],De=z(we);return[de+`先说结论:本卦是${P(Ae.name,"—")}${Ae.palace?`(${Ae.palace})`:""}${ue.length?`,第 ${ue.join("、")} 爻动,变为${P(je.name,"—")}`:",六爻安静没有动爻"}。${De}${I(o.useGod,o.fushenAccess)}${J(o.useGodStrength)}${k(o)}${A(o)}${O(o.hexStrength)}`,"断卦的落点在「世爻」(代表你)和「动爻」(事情的推动点),下面「看盘顺序」就按这个次序展开。"].join("")}return de?`${de}下面按五个维度拆开看,重点看${C}。`:o.system==="qimen"?`下面按排盘事实、用神、宫位条件几节展开${p!=="general"&&c&&c.directionLabel?`,取「${c.directionLabel}」方向的用神`:""}。`:p!=="general"&&c&&c.directionLabel?`下面按五个维度拆开看,重点看与「${c.directionLabel}」方向最贴近的那一节。`:"下面按五个维度拆开看,没指定问题,就从头依次读。"}function x(o,c,w={}){if(!o||!o.system)return"";if(o.system==="bazi"){const g=o.strength||{},p=o.frame&&o.frame.yongshen||{},C=X(p.favor),de=X(p.avoid),Ae=Array.isArray(p.disputed)&&p.disputed.length?`有一点要说明:${p.disputed.map(_e=>_e.element).join("、")}在扶抑里算${p.disputed.map(_e=>_e.favorRole).join("、")}(能${p.disputed.map(_e=>_e.favorVerb).join("、")}),按调候看又偏忌(${p.disputed.map(_e=>`${_e.climate}盘忌${_e.element}`).join("、")}),两派说法不一;实际用在什么时候,看季节和环境取舍,不必当成绝对的好或坏。`:"",ue=F[g.level]||"力量偏中性",je=p.tiaohou&&p.tiaohou.note?`另外,${p.tiaohou.note},所以「暖一点、亮一点」的环境通常更舒服。`:"",we=(o.liunian||[]).find(_e=>_e.suiyun&&Array.isArray(_e.suiyun.signals)&&_e.suiyun.signals.length),De=we?`再往后看,${we.year} 年${we.ganzhi}是${we.suiyun.signals.map(_e=>_e.type).join("、")}——传统上把它当作「变化感强一点」的提示,既不是好消息也不是坏消息,遇上时多留个心眼就好。`:"";return`你的命局属于「${P(g.level,"中性")}」:${ue}。${C?`能补${C}的环境(行业、方位、作息、相处的人)会让你省力;${de?`而${de}偏重的场合容易空耗,能绕就绕。`:""}`:""}`+Ae+je+De}if(o.system==="ziwei"){const g=o.body||{},p=o.flyChains&&o.flyChains.忌,C=p&&p.steps.length?"你身上有个绕不开的规律:几件事是连着转的,一件卡住,后面就跟着慢下来。":"",de=o.flyComposite,Ae=de&&Array.isArray(de.targets)?de.targets.find(we=>we.count>=2):null,ue=!de||!Array.isArray(de.targets)?"":Ae?`再往深一层,四股力最后也压在「${String(Ae.palace).replace(/宫$/,"")}」上——几个方面的劲都往这儿聚。`:"再往深一层,四股的力没有全挤到一处,这几件事之间牵连不深。";return["紫微讲的是「你与环境怎么互动」,不是谁好谁坏——同一件事换个环境、换个人配合,结果就不一样。",g.lands?`真正让你上心的,多半是「${g.lands}」这件事,做别的总会分心。`:"",C,ue].filter(Boolean).join("")}if(o.system==="liuyao"){const g=o.ben||{},p=o.cast&&o.cast.movingPositions||[],C=o.body&&Array.isArray(o.body.labels)?o.body.labels:[],de=z(C);return`${P(g.name,"这一卦")}讲的是一个「${p.length?"正在动、还会变":"暂时不动、先看清"}」的局面——${p.length?"有动爻,说明事情还有转圜空间,不是死局。":"六爻安静,说明当下更该观察而不是硬推。"}${de}${I(o.useGod,o.fushenAccess)}${J(o.useGodStrength)}${k(o)}${A(o)}${O(o.hexStrength)}`}return""}function M(o,c,w={}){if(!c||c.system!=="bazi")return"";const g=c.frame&&c.frame.yongshen||{},p=X(g.favor),C=X(g.avoid),de=c.strength||{};return o==="overall"?`一句话:底子${P(de.level,"中性")},往${p||"有利方向"}走省力。`:o==="work"?`一句话:挑${p||"喜用"}属性的活儿,比硬碰${C||"忌神"}省力。`:o==="career"?`一句话:你的上升方式,偏向把${p||"长处"}做成看得见的成果。`:o==="love"?"一句话:关系里先看清自己要什么,再决定推进速度。":o==="health"?"一句话:作息稳定比任何调理都优先。":""}const h=[["日主","你出生那天对应的天干,代表「你自己」,整张盘都围着它转。"],["用神","这张盘里最需要补的那一类力量,顺着它做事更省力。"],["忌神","补得越多越别扭的那一类力量,不是坏东西,只是对你性价比低。"],["调候","按出生季节调温补缺:冬天的盘怕冷,夏天的盘怕燥。"],["格局","把整张盘的结构归成一个类型,用来看「你适合怎么打」。"],["十神","把五行关系翻译成人事:财=资源、官杀=规则与压力、印=支持、食伤=表达、比劫=同伴。"],["月令","出生的月份,是判断强弱最关键的一个位置。"],["日支","日柱的地支,也叫「配偶宫」,看亲密关系的第一落点。"],["大运","十年一换的大阶段,决定这十年顺不顺手。"],["流年","每一年的干支,看当年的具体环境。"],["空亡","落到空亡的字,力量打折,事情容易「看着有、抓不住」。"],["伏神","卦里没出现的六亲,藏在同宫首卦的对应爻下,用时才看得见。"],["世应","世爻代表你,应爻代表对方或外部环境。"],["动爻","会变的爻,是事情「往哪走」的推动点。"],["纳甲","给六个爻配上天干地支,六亲与生克才有依据。"],["四化","禄权科忌四种变化,标记星曜在这一步运里扮演什么角色。"],["大限","紫微里的十年阶段,作用类似八字的「大运」。"],["庙旺","星曜落在某宫时的力量档位:庙、旺最强,得、利、平居中,不、陷最弱。"],["三方四正","从命宫出发的三合三方加对宫,共四个宫位,是全盘最核心的势力范围。"],["命主","紫微里另有一颗命主星,补命宫看不到的那一层底色。"],["身主","紫微里另有一颗身主星,管后天的行动与身体那一面。"],["五行局","用纳音给整张盘定一个局(水二局、木三局等),大限的起法以此为准。"],["自化","宫干让本宫星曜自己生出四化,代表这一宫的事容易自己发酵。"],["飞星","拿一个宫的宫干去四化别的宫,看事情从哪来、往哪走。"],["正曜","十四主星。「无正曜」指命宫没有主星,要借对宫来看。"],["借对宫","命宫无主星时借对宫主星来读,性格更依赖环境与身边的人。"],["双星","两主星同宫,按组合读,不能只看其中一颗。"],["墓库","地支里的仓库。五行入墓代表这股力量收着,不是没有。"],["伏吟","干支重复出现,事情容易原地打转、反复。"],["反吟","天克地冲,变动与对撞的意味更明显。"]],b={liuyao:{用神:"你问的这件事对应的那一类六亲,断卦先把它找出来。",月令:"起卦时的月份,用来看各爻旺不旺。",日支:"起卦当天的地支,与月建一起决定爻的力量。",大运:"六爻不看大运,这里只取当前这一件事的象。",流年:"六爻一般不看流年,看的是眼下这一卦的时段。"},ziwei:{用神:"紫微斗数以「用神宫」的强弱看事情,不取五行喜忌那套。",日主:"紫微斗数不看日主,看的是命宫与星曜组合。",十神:"紫微斗数用四化与星情,不用十神。"}};function r(o,c){const w=(Array.isArray(o)?o:[o]).filter(Boolean).join("");if(!w)return[];const g=b[c]||{};return h.filter(([p])=>w.includes(p)).map(([p,C])=>({term:p,plain:g[p]||C})).slice(0,10)}const l={career:["这份工作要不要动,明年哪几个月是窗口?","和上级的关系该硬碰还是绕开?","现在转方向,代价主要在哪儿?"],wealth:["这笔钱现在投出去合适吗?","我的财主要来自工资还是副业?","今年哪段时间最容易破财?"],love:["这段关系能走到哪一步?","什么时候适合把关系定下来?","我在关系里最容易忽略什么?"],health:["哪段时间身体最需要留意?","作息怎么调最划算?","查体和作息之外,还有什么是能自己控制的?"],study:["今年再考一次,胜算在哪、短板在哪?","复习节奏该怎么排?","要不要换目标院校或岗位?"],travel:["这次出门顺不顺,哪天走更好?","换个城市生活,合不合适?"],general:["今年最该抓的一件事是什么?","最该避开的坑在哪?","接下来三个月,什么时间点值得留意?"]};function d(o,c){const w=c&&c.direction||"general";return(l[w]||l.general).slice(0,3)}return{buildAnswer:ne,buildPlain:x,dimensionPlain:M,buildGlossary:r,buildFollowups:d}})(),B["interpret-knowledge"]=(function(){const P=[{id:"bazi-yueling-siquan",system:"bazi",dims:["overall","career"],gist:"月令不是「一个月」,是当月最有权的那一个字。",detail:"月令藏干按本气、中气、余气分日用事,本气当权的时间最长。所以判旺衰先看日主在月令是得令还是失令——得令者未看全局,已有三分底气。本插件按 30 日表算出「生在本月第几日、哪一干当权」,给的是月内轮值这一层细节;旺衰与取格仍以月令本气、透干与会支为主,不随轮值改判。三命通会卷二·论人元司事另列一套日数(寅月五日/五日/二十日),与本插件取的通行表不同;原文并列,不改判。",source:"《子平真诠》论用神;人元司权分日之说见《渊海子平》;三命通会卷二·论人元司事(典藏网 7529)另列一套日数",status:"variant",note:"各家对中气、余气各主几日分法不同(有 7/7/16、9/3/18 等多说);本插件固定通行 30 日表(如寅月戊7丙7甲16),节当日为第 1 日,第 31 日以后按本气算、不硬分摊。三命通会此本寅月作 5/5/20、卯月作 7/23,与通行表不同,两表各照原样。司权表与本柱藏干表口径不同(子月壬、卯月甲、午月丙、酉月庚、亥月戊只出现在司权表里),两表各照原样;取格不随轮值改判。"},{id:"bazi-tonggen-tougan",system:"bazi",dims:["overall","career"],gist:"天干是露在外面的样子,地支是藏在地下的根。",detail:"同一个五行,透在天干叫「显」,扎在地支叫「有根」。只有天干没有地支,是看着有、使不上劲;只有地支不通天干,是有实力、不显眼。判断一个人能不能扛事,看的就是根有多深。",source:"《滴天髓·干支总论》「天全一气,不可使地德莫之载;地全三物,不可使天道莫之容」",note:"常被署给《滴天髓》的「地支所藏之干,本静以待用,透出干头,则显其用矣。故干以通根为美,支以透出为贵」,出自《子平真诠》卷一论十干十二支的注文——滴天髓底本与沈孝瞻原文里都查不到这句,注文自己引的才是上面那句滴天髓。所以本卡引可核的原文,注文只作说明。",status:"settled"},{id:"bazi-wangxiang",system:"bazi",dims:["overall","health"],gist:"旺相休囚死是五行在当月的五种状态,不是吉凶等级。",detail:"以月令五行为基准:当令者旺、我生者相、生我者休、克我者囚、我克者死。它是「此刻谁说话有分量」的相对排序,换个季节就整体重排,不能当固定评价。",source:"《五行大义》旺相休囚死;历代命书沿用",status:"settled"},{id:"bazi-shensha",system:"bazi",dims:["overall","love"],gist:"神煞是标签,不是判决。",detail:"神煞给盘面加注脚(如「这个组合常被叫作天乙贵人」),吉凶仍要看格局、旺衰、行运三件事。单见一颗凶煞不足以断凶,单见一颗吉星也不足以断吉——这是历代命书反复强调、而市面软件常忽略的一条。",source:"《三命通会》神煞篇;《子平真诠》力主「神煞不主吉凶」",status:"settled"},{id:"bazi-geju",system:"bazi",dims:["career"],gist:"先看月令能不能取格,取不到才论从格、化气。",detail:"月令有可用之神(透干或会支有力),按正格论;月令无用、全局一边倒,才考虑从格;日干与相邻天干五合、且月令有化神之气,才论化气格。顺序颠倒会把普通格局误判成特殊格局。",source:"《子平真诠》「论用神」;从化条件见《滴天髓》",status:"variant",note:"化气格成立条件各家宽严不一(是否要求月令为化神、是否允许有根),本插件按「有合且月令得化神之气」从严处理。"},{id:"bazi-tiaohou",system:"bazi",dims:["overall","health"],gist:"冬夏生人先调温,其余先看扶抑。",detail:"调候是针对出生季节的温度校正:冬生水冷木寒,先要火来解冻;夏生火炎土燥,先要水来润泽。调候与扶抑冲突时,多数命书主张先调候,因为寒暖失衡时,再怎么补强弱也难受。",source:"《穷通宝鉴》(拦江网)调候用神体系",status:"variant",note:"调候与扶抑的优先级各家有争论,也有主张以扶抑为主、调候为辅的。本插件同时给出两者,不替你定谁优先。"},{id:"bazi-suiyun",system:"bazi",dims:["overall","career"],gist:"大运管十年基调,流年管当年触发。",detail:"大运像换了条路,流年像这条路上某一段的天气。岁运并临(当值大运与流年干支相同)、运年反吟(大运与流年天克地冲)、大运伏吟(大运与原局某柱干支相同)、大运反吟(大运与原局某柱天克地冲)、流年伏吟(流年与原局某柱干支相同)、流年反吟(流年与原局某柱天克地冲),是传统上标记「变动较大」的年份,属于提示而非断语。本插件逐年标出六类信号:当值大运按该年立春到次年立春的区间取,交运落在年内时前后两步并列;大运与本命四柱的伏吟/反吟整步大运都在,会连续多年重复列出;只标干支重复与对冲,不折分数。原文里「返吟」指岁运与日柱相对、「伏吟」指岁运压日,与本插件「干支相同为伏吟、天克地冲为反吟」不是同一套定义,两者并列、不合并。",source:"《三命通会》卷二·总论岁运(https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7539.html);岁运并临之说出自《渊海子平》",status:"variant",note:"「岁运并临主大凶」是流传最广也最被滥用的说法,本插件只作变动提示,不断吉凶;大运与本命四柱的伏吟/反吟会连续多年出现,不逐年加重;四柱十神层面的引化也未叠入。"},{id:"bazi-liuqin",system:"bazi",dims:["love"],gist:"六亲有「星」也有「宫」,两处一起看才立体。",detail:"星是十神(男命财为妻、女命官杀为夫、印为母一类),宫是四柱位置(年月日时对应祖上、父母、配偶、子女)。星宫同参:星现而宫破,缘分有但过程有阻;宫稳而星不现,关系平淡而少波折。",source:"星宫同参见《子平真诠》《滴天髓》",status:"variant",note:"女命以官杀为夫是主流,亦有以日支为主、官杀为辅的取法;本插件按主流取,并在文案中说明。"},{id:"bazi-kongwang",system:"bazi",dims:["overall"],gist:"空亡不是「没有」,是力道打折、抓不实。",detail:"日柱所在旬之外的两个地支为旬空。落空之支力量减弱,但逢冲、逢合、逢填实之期可以「出空」,届时又恢复作用。所以空亡要看它是否被救,不宜一见到空就断无。",source:"旬空出空之说见《渊海子平》;六爻《卜筮正宗》用法相通",status:"variant",note:"空亡是否逢空即空,各家分歧较大,本插件只标注空亡,不做吉凶推断。"},{id:"bazi-xingchong",system:"bazi",dims:["overall","love"],gist:"合能解冲,冲也能破合——关系不是单向的。",detail:"刑冲合害要按力的大小与先后比:两支相冲,若有第三支与其中一支相合,冲力被牵制;反之先合后冲,合局也会被冲散。三合成局通常要求月令或日主参与,否则只是拱合,力量有限。",source:"《三命通会》论刑冲合害",status:"settled"},{id:"bazi-sanming-duizhao",system:"bazi",dims:["overall","career"],gist:"同一个格,子平真诠讲怎么用,三命通会讲怎么取。",detail:"两书不是谁替代谁:子平真诠以月令取用神、论顺逆成败,重「用」;三命通会按十神逐格立论,重「取」与「忌」。同看正官格,前者问财印护官、伤煞混杂,后者先说「止许一位,多则不宜」。此本正财、偏财分章,两格各取本格一条;七杀没有单列「论偏官」,取卷五「官煞去留杂论」讲混杂时的去留。本插件把两条并列,不合并成一句断语。",source:"《子平真诠》论正官等篇;《三命通会》卷五、卷六论十神与官煞去留",status:"variant",note:"两书成书年代与流派不同,用语有出入;本插件照录通行本,不做校勘改字,也不替两家调和。"},{id:"bazi-geju-chengbai",system:"bazi",dims:["overall","career"],gist:"格有成有败:成中带忌会打折,败中有救还能转成。",detail:"月令取到格只是起点。成格要看有没有带忌——官逢财又逢伤、官透而被合、财旺生官又逢伤,都会把成格打折;败格也看有没有救应——印来解伤、合来清煞、劫来解财,败中可转。所以判格不能只报一个格名。",source:"《子平真诠》九、论用神成败救应",status:"variant",note:"各家对成格条件与带忌轻重的排序不同(有先看刑冲、有先看合化),本插件只把原文与成败方向并列摆出,不逐盘判成破。"},{id:"bazi-huagi-bianhua",system:"bazi",dims:["overall","career"],gist:"月令用神会因合化而变:同一个起点,取用可以不同。",detail:"用神本从月令取,但月令藏干不一,透出的字不同、支会合局不同,取用就跟着变:丁生亥月本为正官,支全卯未化为印;己生申月本属伤官,藏庚透壬化为财。所以看到化气格,要回头核对月令与合局,不能只按本气定格。",source:"《子平真诠》十、论用神变化;化气条件各家另论",status:"variant",note:"化气格成立条件各家宽严不一(是否要求月令为化神、日主是否允许有根),本插件只列条件、附原文,不据此断定化气已成。"},{id:"bazi-zaji-quyong",system:"bazi",dims:["overall","career"],gist:"辰戌丑未是杂气月:先看透干,再看会支。",detail:"四墓(辰戌丑未)每个字都藏着不止一气,用神不一,所以叫杂气。子平真诠的取法是:藏干透到天干的先用(甲生辰月,透戊用偏财、透癸用正印、透乙用月劫);没有透干,再看地支有没有与月支会成三合局(辰月逢申子会水,就取水印)。本插件按「透干 → 三合会支 → 本气」的次序取格,依据里写明走的是哪一条,并把《论杂气如何取用》附在结果里。",source:"《子平真诠》十六、论杂气如何取用",status:"variant",note:"原文说「兼透则兼用」,但只给一个格名时总要落到一个藏干;本插件只取最先透出的那一干,会支也只认三合、不认三会方,且不判原文所说的「有情 / 无情」,取舍次序各家另有说法。"},{id:"bazi-zhuanwang-yuanwen",system:"bazi",dims:["overall","career"],gist:"专旺五格各有专章:成格要看局全带印,不只看身强。",detail:"三命通会卷六曲直、炎上、从革、润下、稼穑五篇各立一格:曲直须亥卯未带亥,炎上须寅午戌带寅,从革须巳酉丑带丙丁巳午,润下须申子辰全,稼穑取四季土。原文的条件都比「身强」细:要局全、要带印或带火炼金,还要防冲刑死绝。本插件把命中的那一篇附在结果里,只作结构说明。",source:"《三命通会》卷六·曲直、炎上、从革、润下、稼穑",status:"variant",note:"专旺是否必须成方局、是否允许一点官杀财,各家宽严不一;原文五篇之间条件也不齐(润下重忌冲刑、稼穑重四季土)。本插件只按「同类+印 ≥5、官杀财皆弱」列出并附原文,不据此断贵贱,也不补专旺的破格条件。"},{id:"bazi-congge-yuanwen",system:"bazi",dims:["overall","career"],gist:"从格是身无归处才「弃命」相从:一见根气就破格。",detail:"三命通会卷五弃命从煞、卷六弃命从财各有一篇:从煞要煞重身柔、四柱无一点比肩印绶;从财要财会成局、日干无气,原文说「若逢根气,命损无猜」。两篇都说行运喜财煞旺地、忌扶身。本插件只在盘面出现从财格或从杀格时附上对应原文;从儿、从强没有单章,不硬凑。",source:"《三命通会》卷五·弃命从煞;卷六·弃命从财",status:"variant",note:"从格成立条件各家分歧很大:是否允许日主有微根、阴阳干从与不从(原文说阳木不能从)、从儿与从强算不算正从,说法不一。本插件只列结构与原文,不据此断吉凶,也不补从儿、从强的原文。"},{id:"bazi-tongguan",system:"bazi",dims:["overall","career"],gist:"两神相战要有中间一行接上,对峙才化成相生。",detail:"用神与忌神两行在局中各 ≥1.5 分、又正好相克时,五行里只有一行能接上:克方生它、它再生被克方(金克木则以水为关,土克水则以金为关)。滴天髓用织女、牛郎隔关相望作比,说「此关若通也,相邀入洞房」。本插件只按局中分量点出这一行,并写明它是不是忌神。",source:"《滴天髓》通神论·通关;五行生克为通行说",status:"variant",note:"各家对「两神相战」取哪两神不一(有取日主与官杀、有取用神与忌神、有取局中最旺两行),本插件固定取「用神与克它的忌神,且两行各 ≥1.5 分」;通关一行只按五行生克唯一确定,不据此断吉凶,也不判通关之力是否够用。"},{id:"ziwei-sanfang",system:"ziwei",dims:["overall","career"],gist:"看一个宫,要看它对面和左右三个宫。",detail:"三方四正=本宫加对宫、三合两宫。命宫的三方是财帛、官禄、迁移,代表钱、事、外出的环境;只看本宫会漏掉一半信息,因为紫微断的是宫与宫之间的互动,不是单宫星曜的堆叠。",source:"《紫微斗数全书》三方四正说",status:"settled"},{id:"ziwei-poge",system:"ziwei",dims:["overall","career"],gist:"格局成立不等于落定:三方四正见煞忌空劫,吉格也会破格。",detail:"《紫微斗数全书》论人命入格说「若居陷地又加杀化忌,为下格之命,不以入格而论也」;谈星要论也说「及命宫星辰庙旺,三方有恶星守照破格」。本插件因此把「成格」与「破格」分开判:吉格先按星位成立,再看命宫三方四正是否有擎羊、陀罗、火星、铃星、地空、地劫或化忌;有则标破格并写明是哪颗星落在哪一宫。忌格本身是风险结构,不另判破格。",source:"《紫微斗数全书》卷三·论人命入格、谈星要论",status:"variant",note:"破格判据本插件统一取「三方四正见煞忌空劫」,未逐格细分煞轻煞重;各派对「入格」宽严亦有异说,故只作结构提示。"},{id:"ziwei-sihua",system:"ziwei",dims:["overall","career"],gist:"四化是变化的方向,不是吉凶等级。",detail:"生年四化定先天基调(禄主得、权主掌、科主名、忌主执),宫干四化定后天演变;自化是宫干化出的星就在本宫,主此宫之事自己会起变化。同一个忌,落在六亲宫与落在财帛宫,含义完全不同。",source:"《紫微斗数全书》四化篇;宫干飞化见飞星派",status:"variant",note:"三合派重星情与格局、飞星派重宫干飞化,两派读法差异明显。本插件给出生年四化与宫干自化,未做完整飞星串连。"},{id:"ziwei-miaowang",system:"ziwei",dims:["overall"],gist:"庙旺得利平不陷,说的是星在这个宫舒不舒服。",detail:"同一颗星落在不同宫位,发挥程度差别很大。庙旺是得地,平陷是不得地;不得地不等于不好,只是这颗星的长处不容易发挥,需要借三方吉星来补。",source:"《紫微斗数全书》诸星庙旺表",status:"variant",note:"太阳、太阴在少数宫位的庙旺标注各家有出入;本插件只标十四主星,不硬标辅星。"},{id:"ziwei-daxian",system:"ziwei",dims:["career"],gist:"大限定十年主题,流年定当年事件。",detail:"大限看这十年主要在忙什么,流年看其中某一年被什么触发。两者的四化会叠在同一些宫位上,叠加处就是这十年里的关键点——只看流年而不看大限,容易把小事放大。",source:"《紫微斗数全书》大限流年篇",status:"settled"},{id:"ziwei-shengong",system:"ziwei",dims:["overall"],gist:"命宫是「你本来是谁」,身宫是「你后来把力气放在哪」。",detail:"身宫不独立成宫,而是寄在某一宫里(如寄财帛、寄官禄)。它标出中年之后的着力点:命宫强而身宫弱,多为主观强但落地慢;身宫得地,做事更容易见效。",source:"《紫微斗数全书》命身宫说",status:"variant",note:"身宫寄宫的取法各家一致,但身宫与命宫谁更重,各家侧重不同。"},{id:"ziwei-kongjie",system:"ziwei",dims:["overall","career"],gist:"空劫主计划外的变动,遇禄则财来财去。",detail:"地空地劫在紫微里代表落空与抽离:落财帛多主钱财不易积累,落官禄多主方向反复。若与禄存、化禄同宫,常见进得快、出得也快;与忌同宫则容易因变动而受挫。",source:"《紫微斗数全书》空劫条",status:"variant",note:"空劫是否见禄反吉,各家说法不一,本插件只提示变动性质,不判吉凶。"},{id:"ziwei-feixing",system:"ziwei",dims:["overall","career"],gist:"宫干定四化,星落哪宫,这一宫的力就往哪边走。",detail:"生年四化是先天带的,飞星四化是宫位自己去找的:每一宫的宫干定出禄权科忌四颗星,那几颗星落在哪一宫,就是这一宫的力气往哪边使。所以同一个「化忌」,从命宫飞出去和从财帛飞出去,说的是两件事。",source:"《紫微斗数全书》四化篇;中州派宫干四化传法",status:"variant",note:"飞星派(如钦天四化)把宫干四化当主线,三合派只作辅助;庚干四化各派另有异说,本插件取中州派常用表。飞星串连与三方四正复合飞化现已给出,但未叠大限流年四化。"},{id:"ziwei-sanfang-fei",system:"ziwei",dims:["overall","career"],gist:"三方四正一起飞,看四股力会到哪一宫。",detail:"单宫飞化只看本宫宫干把四化送去哪里;三方四正复合飞化把本宫、对宫与两个三合宫共四宫的宫干四化同时摊开,约 16 条,按落宫归堆,落到同一宫的就是会照。会在一处的化越多,那一宫被牵动的力道越集中;两忌以上会宫、禄忌同宫、三化以上会宫、宫干化出又落回本宫(自化),是这一层最常取的几种情形。",source:"《紫微斗数全书》四化篇;飞星派三方四正同飞说",status:"variant",note:"飞星派对「三方四正一起飞」是否成立、会照要不要折成分数,各家口径不一;本插件只做落宫归堆与会照标记,不折分数,也未叠大限流年四化。"},{id:"ziwei-jichuanji",system:"ziwei",dims:["overall"],gist:"忌转忌:化忌落进哪一宫,就从那一宫再化出去。",detail:"串连是跟着同一支化逐宫走:命宫化忌入父母,父母宫的宫干再化忌往下一宫,直到绕回走过的宫成环。环越短,越容易在同一组宫位上反复;走不出去(传统说「忌出不去」)不等于凶,只是这条力没有别的出口。",source:"《紫微斗数全书》四化篇;忌转忌串连法",status:"variant",note:"串连几跳为止、是否允许借对宫飞化,各派不一;本插件只跟单一支化逐宫走,走满 12 宫或成环即停。"},{id:"liuyao-yongshen",system:"liuyao",dims:["overall","work","wealth","love","health","study"],gist:"问什么就以哪一类六亲为用神,这一步定错,后面全盘白算。",detail:"取用按所问之事:求财与男命妻缘看妻财,工作职位考核看官鬼,文书合同学历看父母,健康以官鬼为病、子孙为医药,出行以世爻为用,感情男看妻财、女看官鬼。用神在卦上就取那一爻,出现两处记「两现」;用神不上卦,按本宫首卦同六亲的爻位取伏神,再看飞伏生克。本插件把这些位置与动变、旬空、卦体标签一一对上,但不替你选两现之中的主用。",source:"《卜筮正宗》用神章、伏神章;《增删卜易》用神章",status:"settled"},{id:"liuyao-wangshuai",system:"liuyao",dims:["overall"],gist:"月建管当令,日辰管生杀。",detail:"月建决定这一爻在这个月有没有气;日辰能生能克能冲能合,作用更直接。月破之爻当月无力;日冲则看动静——静爻被日冲为暗动,动爻被日冲为冲散。",source:"《卜筮正宗》月建日辰章",status:"settled"},{id:"liuyao-dongbian",system:"liuyao",dims:["overall"],gist:"动爻是「事情自己在动」的那一处。",detail:"动爻能生克静爻,静爻不能反克动爻。变爻对动爻有回头生、回头克两种反作用;化进神(如寅化卯)主加强,化退神(如卯化寅)主减弱。一爻独发看此爻,多爻乱动则看用神受不受伤。",source:"《卜筮正宗》动变章;《增删卜易》进神退神",status:"settled"},{id:"liuyao-fushen",system:"liuyao",dims:["overall"],gist:"用神不上卦,就去本宫首卦的同位取伏神。",detail:"本卦六爻里没有用神那一类六亲,就叫用神不上卦。取法是回到本卦所属宫的首卦(八纯卦),找出该六亲所在的爻位,那一爻即伏神,本卦同一爻位上的爻叫飞神。伏神要「得出」才有用:飞神生伏神、伏神克飞神、日月生扶都算得力;飞神克伏神则受压难出。本插件给出伏神爻位、干支五行、飞伏生克,并按月建日辰归成四档出伏条件(可出 / 有助有压 / 受压难出 / 未得助);只判条件,不出应期日期。",source:"《卜筮正宗》伏神章;《增删卜易》伏神篇",status:"variant",note:"首卦里同一六亲也可能出现两次(如乾宫乾为天的父母在三爻与上爻),此时取哪一爻为伏神各家不一;本插件把候选都列出并标「伏神两现」,不代选。出伏条件的归并口径:飞生伏、伏克飞、日辰生/比和、月建旺/相算助,飞克伏、日辰克、月破算压;有助无压为「可出」,有助有压为「有助有压」,有压无助为「受压难出」,两者都无为「未得助」。四档只并列条件、不排各家优先级;旬空只标出,不并入档位。应期各家分歧更大,仍不输出日期。"},{id:"liuyao-yongshen-shuai",system:"liuyao",dims:["overall","work"],gist:"用神旺不旺,看月建给的气与日辰当天的扶克。",detail:"月建管「这一段时令」:爻五行与月支五行同气为旺、受月令生为相、生月令为休、克月令为囚、被月令克为死。日辰管「当天这一股力」:日辰生爻为生、克爻为克、同气为比和,反过来则是爻泄日、爻耗日。此外月建冲爻叫月破,日辰冲静爻叫暗动、冲旬空之爻叫冲空。本插件把这几项折成标签逐爻列出,不折成分数。",source:"《增删卜易》月建章、日辰章;《卜筮正宗》月建论",status:"variant",note:"月破、暗动、冲空三者各家取法不完全一致(有派别把日冲动爻也叫暗动,有派别只认旺相之爻暗动);本插件按「月建冲=月破、日冲静爻=暗动、日冲旬空=冲空」这一套给标签,并注明用了哪一支月建。"},{id:"liuyao-quanggu-shuai",system:"liuyao",dims:["overall","work"],gist:"全卦逐爻看月建,才看得出气聚在哪一头。",detail:"月建管这一段时令的旺衰、日辰管当天的扶克,落到全部六爻逐爻判定:每爻都出月令五态(旺相休囚死)与日辰五关系,并标月破、暗动、冲空。世爻、应爻、动爻与旬空另标,五态分布能看出气是聚在世应还是散在旁爻——用神只是其中一处落点,不看全卦容易把一处当全局。",source:"《增删卜易》月建章、日辰章;《卜筮正宗》六爻旺衰论",status:"variant",note:"各家对月破、暗动、冲空的取法不完全一致,是否给六爻折力重(分数)分歧更大;本插件只给状态标签与五态分布,不折分数。"},{id:"liuyao-yingqi",system:"liuyao",dims:["overall","career"],gist:"应期是「什么时候见分晓」,不是「哪天」。",detail:"近事以日计、远事以月计;常见取法是等用神逢值、逢冲、逢合之期,或等忌神受制之期。本插件只做前一半:把用神(不上卦则取伏神)的逢值、逢冲、逢合三支列出,旬空另标出空与冲空,再按月建五态给「偏速 / 偏缓 / 待解 / 未定」一个快慢方向;忌神受制与具体日期仍未做。应期法各家互有出入,同一卦不同取法可以差出很远,所以只作时间窗口的提示。",source:"《卜筮正宗》应期章;《增删卜易》",status:"variant",note:"应期取法(值日、冲、合、填实、旬空出空)各家优先级不同,本插件只并列触发支、不排先后,也不换算日期;近事以日计、远事以月计,用哪把尺由事情远近决定,不代选。"},{id:"liuyao-liushen",system:"liuyao",dims:["overall","love"],gist:"六神是这件事的味道,不是主角。",detail:"青龙主喜庆与正事、朱雀主口舌与文书、勾陈主田土与迟滞、螣蛇主虚惊与缠绕、白虎主伤损与急迫、玄武主暗昧与失脱。六神只作取象的修饰,断吉凶仍以六亲旺衰生克为主。",source:"《卜筮正宗》六神章",status:"settled"},{id:"liuyao-liuchong",system:"liuyao",dims:["overall"],gist:"六冲卦讲「散」:起落快、来去急。",detail:"六冲不按「爻位相邻」判,而是看六个地支能不能正好配成子午、寅申、辰戌三组对冲。按纳甲实排,八纯卦之外天雷无妄、雷天大壮也成六冲。冲不是单纯的坏:近病逢冲主速愈、久病逢冲才忌;求财问婚,冲多主聚不住。",source:"《卜筮正宗》六冲章;《增删卜易》卦体说",status:"variant",note:"通行口诀多把六冲限为八纯卦,本插件按纳甲地支实配判定,故多出无妄与大壮两支;《增删卜易》卦例里这两卦确被称作六冲,可互证。"},{id:"liuyao-liuhe",system:"liuyao",dims:["overall","love"],gist:"六合卦讲「成」:容易谈拢,也容易黏住。",detail:"六个地支正好配成子丑、寅亥、卯戌、辰酉、巳申、午未三组相合,即六合卦,共天地否、地天泰、地雷复、雷地豫、山火贲、水泽节、泽水困、火山旅八支。六合主和合、拖延:谈事情容易成,也容易久拖不决;问病则忌缠绵。",source:"《卜筮正宗》六合章",status:"settled"},{id:"liuyao-fanyin",system:"liuyao",dims:["overall","work"],gist:"反吟主反复:去了又来、定了又改。",detail:"卦反吟有两种成法:一是变卦某宫的三爻地支与本卦对应宫正好全冲;二是本卦之宫与变卦之宫在后天八卦上正对(乾巽、坎离、艮坤、震兑)。爻反吟则是动爻变出的地支回头冲本爻。无论哪种,取象都是反复、翻覆、旧事重提。",source:"《增删卜易》反吟伏吟篇;《卜筮正宗》",status:"variant",note:"各家对「卦反吟」是否只认地支全冲有分歧;本插件的八卦正对一路,是从《增删卜易》卦例(如山地剥之坤为地、风天小畜之乾为天)反推出来的。"},{id:"liuyao-fuyin",system:"liuyao",dims:["overall"],gist:"伏吟主呻吟:事情在原地打转。",detail:"卦变了,纳甲地支却没变,叫卦伏吟。纳甲上只有乾与震共用子寅辰、午申戌一套地支,所以卦伏吟只会出在乾与震互换的卦上,例如天雷无妄之雷天大壮、天风姤之雷风恒。动爻变出的地支与本爻同支,则是爻伏吟。伏吟取象是欲动不动、原地反复,常指人想动而形势不许。",source:"《增删卜易》伏吟篇;《卜筮正宗》",status:"variant",note:"另有「伏吟以用神受困论」的说法,不限于卦体;本插件只报卦体层面的伏吟与动爻伏吟,不推断吉凶轻重。"},{id:"liuyao-jintui",system:"liuyao",dims:["overall"],gist:"动爻变出同五行顺次之支,为化进神;反向为化退神。",detail:"动爻变出的地支与本爻同五行、且在顺次上往前一步,叫化进神;倒退一步叫化退神。八对是:寅→卯(木)、巳→午(火)、申→酉(金)、亥→子(水),土一支成环,丑→辰→未→戌→丑。同五行但不相邻(如寅→辰)不算。进神取象是这一爻代表的人或事有后劲、势在往前;退神取象是渐渐退气、按原势头推会落空。",source:"《增删卜易》进神退神章",status:"settled"},{id:"liuyao-jintui-yong",system:"liuyao",dims:["overall","work"],gist:"化进化退要看是用神还是忌神,还要叠月建日辰。",detail:"进神退神本身只说明这一爻的向外趋势:用神化进为得力,忌神化进则为患加剧;用神化退是力衰,忌神化退反而是解脱。传统还要看它在本月令衰旺、有没有日辰生扶,空亡或受克时进者未必能进。本插件把进退与爻位标出来,再按月建五态给一档力重——得令则进得动、退得慢,失令则进得虚、退得实,月破压过一切;只给档位,不折成加权分数,吉凶仍落在用神与忌神那一层判。",source:"《增删卜易》进神退神章、用神章",status:"variant",note:"土之进退次序各家说法不完全一致,有以丑→辰→未→戌为进、也有只取辰戌丑未相对者;本插件按丑辰未戌成环处理,并用《增删卜易》卦例中「未土化戌土为进」「戌土化未土为退」对拍。喜忌分档的出处是《增删卜易》卷二·進神退神章第二十九:「所喜者宜於化進,所忌者宜化退神」;把「喜/忌」具体落到用神/忌神两档,是本插件的引申。"},{id:"meihua-tiyong",system:"meihua",dims:["overall"],gist:"动的那一卦为用,不动的那一卦为体。",detail:"体代表自己、用代表所问之事。体克用主可控、用克体主受制、用生体主得助、体生用主付出。再看互卦与变卦判断中段与结局——梅花只取象不排盘,落点比六爻粗。",source:"《梅花易数》体用篇",status:"settled"},{id:"daliuren-sike",system:"daliuren",dims:["overall"],gist:"四课看事从哪来,三传看事往哪去。",detail:"四课由日干日支的阴阳与天地盘相叠而得;三传依九宗门(贼克、比用、涉害、遥克等)取初传,再顺推中传末传。三传之间的生克与空亡,是判断事情走向的主线。",source:"《大六壬大全》;九宗门取传法",status:"settled"},{id:"qimen-yinyang",system:"qimen",dims:["overall"],gist:"冬至后阳遁、夏至后阴遁,局数由节气与三元定。",detail:"一年分阴阳两遁,各九局;局数取决于当前节气与上中下三元(符头定元)。取局流派有拆补、超神接气、置闰三种,同一时刻可能排出不同局数——这不是算错,是流派差异。",source:"《烟波钓叟歌》;拆补与置闰见《奇门遁甲统宗》",status:"variant",note:"三种取局法在节气交接前后差异最明显,本插件同时实现三种,可在参数里指定。"},{id:"qimen-jixing",system:"qimen",dims:["overall","work"],gist:"六仪落刑宫叫击刑,是宫位条件不是判决。",detail:"六仪按所配地支相刑:甲子戊落震三(子刑卯)、甲戌己落坤二(戌刑未)、甲申庚落艮八(申刑寅)、甲午辛落离九(午自刑)、甲辰壬落巽四(辰自刑)、甲寅癸落巽四(寅刑巳)。天盘六仪落到自己那一宫即击刑,取象是受制、掣肘、旧账翻出来,多用来量这个符号本身使不使得上力。",source:"《烟波钓叟歌》刑格注;《奇门遁甲统宗》",status:"variant",note:"有流派只论天盘六仪击刑,也有把地盘一并算的;本插件只判天盘,且只作宫位条件,不自动断用神受制。"},{id:"qimen-rumu",system:"qimen",dims:["overall"],gist:"天盘干落墓宫叫入墓:三奇与六仪各按五行墓库判。",detail:"按五行墓库推:乙木墓未(坤二)、丙丁火墓戌(乾六);六仪中戊墓戌(乾六)、己庚墓丑(艮八)、辛壬墓辰(巽四)、癸墓未(坤二)。天盘干落到自己的墓宫即入墓。取象是收束、藏起来、事情压住不动;好坏要看所问之事——问收藏、问了结,入墓未必是坏事。",source:"《奇门遁甲统宗》三奇入墓条;六仪入墓见《奇门遁甲秘笈大全》卷十五;五行墓库见《五行大义》",status:"variant",note:"各家对入墓范围说法不一:有只论三奇,也有把六仪、八门、九星一并论墓的;本插件判天盘三奇与六仪,八门、九星暂不入墓。"},{id:"qimen-ganying",system:"qimen",dims:["overall","work"],gist:"十干克应看天盘干加地盘干:同宫两干相遇,先取成象,再与门星神合看。",detail:"十干克应把天盘干与地盘干的组合收成 100 组,每组一个格名与一段取象。例如甲加丙「青龙返首」主大吉大利,甲加庚「值符飞宫」主吉事不成,乙加辛「青龙逃走」主失财逃亡。它回答的是「这两股气碰在一起像什么」,不单独回答「事情成不成」;同一组落在不同门、星、神与旺衰下,轻重会变。",source:"《奇门十干应克》通行 100 组表;《奇门遁甲元灵经》卷二「天盘加地盘吉凶」存甲、乙、丙三组异文",status:"variant",note:"100 组表各家措辞不一,本插件取通行表;元灵经只存三组且文字不同,两本并列、不合并。十干克应只作取象,不自动折吉凶。"},{id:"qimen-wangshuai",system:"qimen",dims:["overall","work"],gist:"门、星与天盘干按月令分旺相休囚死,只说明力量强弱。",detail:"旺相休囚死以月支五行为尺:与月令同气为旺,月令所生为相,生月令为休,克月令为囚,被月令所克为死。八门、九星与天盘干(三奇六仪)各按自身五行对月令,得出该符号当下「使不使得上力」。比如午月火旺,景门(火)旺、生门死门(土)相、休门(水)囚、开门惊门(金)死,天盘丙丁(火)旺、庚辛(金)死。",source:"《奇门遁甲统宗》门星旺衰条;五行旺相休囚死见《五行大义》",status:"settled"},{id:"qimen-wangshuai-yong",system:"qimen",dims:["overall","work"],gist:"旺衰是助力,不单独定吉凶:门旺而宫克门仍受制。",detail:"月令旺衰只回答「这个符号自身有多少气」,不回答「事情成不成」。取象时要和宫位关系叠起来看:门旺但同宫门克宫(门迫),力量被宫位掣肘;门囚但宫生门,仍得宫助。星同理,旺星落宫若被克,也难全其用。",source:"《奇门遁甲统宗》;《烟波钓叟歌》门宫生克注",status:"variant",note:"有流派按时令而非月令论门星旺衰,也有以落宫五行当令者;本插件统一按月支五行判,并在解读里明确只作强度参考。"},{id:"qimen-gan-shengke",system:"qimen",dims:["overall","work"],gist:"天盘干落宫论生克:干克宫主进取,宫克干受制,比和相安。",detail:"天盘干(三奇六仪)落到某宫,就看干的五行与该宫五行的生克:干克宫,是符号压向环境、偏进取与主动;宫克干,是环境反过来管住符号、偏受制与掣肘;干生宫,力量往外泄;宫生干,环境给力;比和,两下相安。这一层与门宫关系(门迫、宫制门)并列,各说各的,不互相替换;两者同时成立时分别列出,不折成一个分数。",source:"《奇门遁甲统宗》干宫生克条;《烟波钓叟歌》门宫生克注",status:"variant",note:"各家对「干与宫」的取象宽窄不一:有只论干宫、有连天盘干加地盘干(十干克应)一并论的。本插件两层并列:干宫生克判落宫关系,十干克应另判天地盘两干的成象,互不替代。"},{id:"tarot-orientation",system:"tarot",dims:["overall"],gist:"逆位常见的两种读法:削弱,或转向内。",detail:"一派认为逆位是正位力量的减弱与阻塞;另一派主张逆位是同一原型的内向化、未表达。同一张逆位牌,两种读法给出的建议方向可能相反,所以牌阵解读要先把口径讲清楚。",source:"韦特体系传统;逆位读法属近代流派分歧",status:"variant",note:"逆位是否参与解读本身就有分歧(有牌阵传统完全不用逆位)。本插件按削弱加内向综合取象,并在开头声明。"},{id:"bazi-dayun-jiaoqi",system:"bazi",dims:[],gist:"交运按「三日折一年」放大到日、时:起运时刻与每步换运日期都给。",detail:"把「出生 → 起运那一侧节令」的真实间隔按 365.2422/3(约 121.7474 倍)放大,加到出生时刻上就是交运时刻;同一比例也兑现「一日折四月、一时辰折十日」。每步大运在同月同日同时刻换,闰日退到 2 月 28 日。年长取回归年 365.2422 日,故与按 360 日折算的流派会差一两天。",source:"《渊海子平》起运法(三日折一年);《三命通会》论行运",status:"variant",note:"各家对「一年折几日」「交运日是否按 360 日计」取法不一,本插件固定 365.2422 日并把口径写进结果(dayun.jiao.yearDays)。出生时刻或经度一变,交运日会前后移一两天;月柱在交节边界时尤其要复核。"},{id:"liuyao-yingqi-exact",system:"liuyao",dims:[],gist:"具体应期(哪一天应验)本插件尚未推算。",detail:"应期需要综合用神旺衰、动变、旬空出空、日月冲合多层条件,且各家取法不同。当前只给时间窗口的方向性提示(逢值 / 逢冲 / 逢合的触发支,加一个快慢方向),不给具体日期——与其给一个看起来精确、实则拍脑袋的日子,不如留白。",source:"待补:《卜筮正宗》应期章逐条实现 + 已录 128 条卦例对拍(源 138 条)",status:"todo",note:"扩展方向:用《卜筮正宗》卦例里有明确应验日期的条目做回归,先验证再输出。0.50.0 已给出触发支与快慢方向,仍不输出日期。"}];function X(W,E){return P.filter(I=>I.system===W&&I.dims.includes(E))}function oe(W){return P.filter(E=>E.system===W&&E.status!=="settled")}return{KNOWLEDGE:P,knowledgeFor:X,caveatsFor:oe,STATUS_LABEL:{settled:"诸家一致",variant:"各家有异说",todo:"待核实"}}})(),B.citations=(function(){const{CLASSICS:P,CLASSIC_BOOKS:X}=B.classics||{},{KNOWLEDGE:oe}=B["interpret-knowledge"]||{},{PATTERN_BREAK_RULES:F}=B.ziwei||{},W={ziwei:{name:"紫微斗数全书",author:"宋·陈抟(传)",base:"https://zh.wikisource.org/wiki/紫微斗數全書"},qiongtong:{name:"穷通宝鉴",author:"佚名",base:"https://www.diancang.xyz/xuanxuewushu/qiongtongbaojian/"},daliuren:{name:"大六壬大全",author:"明·郭载騋校(四库全书本)",base:"https://zh.wikisource.org/wiki/六壬大全"},qimen:{name:"奇门遁甲统宗",author:"旧题诸葛亮(传)",base:"https://www.diancang.xyz/xuanxuewushu/qimendunjiatongzong/"},meihua:{name:"梅花易数",author:"宋·邵雍(传)",base:"https://www.diancang.xyz/xuanxuewushu/meihuayishu/"},ditian:{name:"滴天髓",author:"明·京图(通行本)",base:"https://www.diancang.xyz/xuanxuewushu/ditiansui/"},liuyao:{name:"增删卜易",author:"清·野鹤老人",base:"https://zh.wikisource.org/wiki/增刪卜易"}},E=[{id:"zw-poge-sanfang",book:"ziwei",chapter:"卷三·谈星要论",quote:"及命宫星辰庙旺,三方有恶星守照破格。",plain:"命宫主星虽庙旺,三方四正见恶星也会破格。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-poge-ruge",book:"ziwei",chapter:"卷三·论人命入格",quote:"若居陷地又加杀化忌,为下格之命,不以入格而论也。",plain:"星落陷地又见煞星、化忌,就不按入格来论。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-poge-huaxiong",book:"ziwei",chapter:"卷三·论人命入格",quote:"又入格不化吉而化凶,只以本命吉凶多寡而断之。",plain:"入了格却化吉少、化凶多,只能按原局吉凶的多寡来断。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-shiyin",book:"ziwei",chapter:"卷一·增补太微赋",quote:"巨门子午二宫逢,身命逢之必贵荣,更得三方科禄照,石中隐玉是丰隆。",plain:"巨门在子午守命,要三方有化科、化禄照会,石中隐玉才成格。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-jiju-poge",book:"ziwei",chapter:"卷三·论诸星同垣各司所宜分别富贵贫贱夭寿",quote:"因甲禄到寅卯宫有擎羊破格耳。",plain:"巨机本可取贵,但擎羊落宫会把格局破掉。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-riyue-jia",book:"ziwei",chapter:"卷三·论诸星同垣各司所宜分别富贵贫贱夭寿",quote:"加羊陀冲守,宜僧。",plain:"日月夹命再加羊陀冲守,吉意大减。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-changqu",book:"ziwei",chapter:"卷三·论诸星同垣各司所宜分别富贵贫贱夭寿",quote:"昌曲陷宫凶杀破虚誉之隆 凶杀即羊陀空劫。",plain:"昌曲落陷再逢凶杀,名声易成虚誉;这里的凶杀指羊陀空劫。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-kuiyue",book:"ziwei",chapter:"卷三·论诸星同垣各司所宜分别富贵贫贱夭寿",quote:"魁钺重逢杀凑痼疾尤多 杀乃羊铃空劫。",plain:"魁钺夹命再凑煞星,贵气减等;煞指羊铃空劫。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-jiyue",book:"ziwei",chapter:"卷三·论诸星同垣各司所宜分别富贵贫贱夭寿",quote:"机月同梁作吏人 命在寅申方论,加吉不论,无吉无杀亦是平常人,凶杀空劫化忌为下格。",plain:"机月同梁要在寅申论;无吉无杀只是平常,逢凶杀空劫化忌则降为下格。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-tanwu",book:"ziwei",chapter:"卷三·论诸星同垣各司所宜分别富贵贫贱夭寿",quote:"贪武申宫为下格 化忌方论。",plain:"武贪在申本可论格,但带化忌才作下格论。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-huotan",book:"ziwei",chapter:"卷一·增补太微赋",quote:"火遇贪狼照命宫,封侯食禄是英雄,三方倘若无凶杀,到老应知福寿隆。",plain:"火贪照命本是贵格,前提是三方没有凶杀;见煞则破。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-luma",book:"ziwei",chapter:"卷一·诸星问答论·问天马星所主若何",quote:"如与禄存同宫,谓之禄马交驰,又曰折鞭马",plain:"禄存与天马同宫才叫禄马交驰。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-luma-kong",book:"ziwei",chapter:"卷一·诸星问答论·问天马星所主若何",quote:"逢空亡谓之死马、亡马",plain:"禄马逢空亡,称死马、亡马,奔走之力被劫。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-luma-tuo",book:"ziwei",chapter:"卷一·诸星问答论·问天马星所主若何",quote:"遇陀罗谓之折足马",plain:"禄马遇陀罗,称折足马,动而受阻。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-sihua-ji",book:"ziwei",chapter:"卷一·诸星问答论·问化忌星所主若何",quote:"如会紫府、昌曲、左右、科权禄,与忌同宫又兼四杀共处,即发财亦不佳,功名亦不成就。",plain:"吉星与化忌、四杀同处,即使发财也不好,功名难成。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-sihua-lu",book:"ziwei",chapter:"卷一·诸星问答论·问化禄星所主若何",quote:"禄为福德之神。守身命官禄之位,科权相逢必作大臣之职。",plain:"化禄主福,与科权相会可论官职。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-sihua-quan",book:"ziwei",chapter:"卷一·诸星问答论·问化权星所主若何",quote:"权星掌判生杀之神。守身命科禄相逢出将入相。",plain:"化权主掌判,与科禄相会主权位。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-sihua-ke",book:"ziwei",chapter:"卷一·诸星问答论·问化科星所主若何",quote:"科星上界应试,主掌文墨之星。守身命权禄相逢宰臣之贵。",plain:"化科主文墨名声,与权禄相会主贵。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"zw-sanfang",book:"ziwei",chapter:"卷三·谈星要论",quote:"三看迁移财帛官禄三方星辰刑冲克破。",plain:"第三步就看迁移、财帛、官禄这组三方有没有刑冲克破。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-shenming",book:"ziwei",chapter:"卷三·谈星要论",quote:"看身安命禄马不落空亡天空截空最紧,旬空次之。",plain:"看身命先看禄马有没有落空亡、天空、截空。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-daxian",book:"ziwei",chapter:"卷三·论大限十年祸福何如",quote:"如宫分星缠全吉庙旺得地,无擎羊陀罗火铃空劫者,主十年安静,人财全美。",plain:"大限宫吉星庙旺且不见羊陀火铃空劫,十年较安稳。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-miaowang",book:"ziwei",chapter:"卷三·论诸星同垣各司所宜分别富贵贫贱夭寿",quote:"天机 庙子午 旺辰酉 陷丑未",plain:"天机的庙旺陷地:子午庙、辰酉旺、丑未陷。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷三"},{id:"zw-kongjie",book:"ziwei",chapter:"卷一·诸星问答论·问天空地劫所主若何",quote:"二星守身命,遇吉则吉,遇凶则凶。如四杀冲照,轻者下贱,重者六畜之命。",plain:"空劫守身命,吉凶随会照而定;再逢四杀冲照则加重。",url:"https://zh.wikisource.org/wiki/紫微斗數全書/卷一"},{id:"smt-wangxiang",book:"sanming",chapter:"卷二·论五行旺相休囚死并寄",quote:"盛德乘时曰旺。如春木旺,旺则生火,火乃木之子,子乘父业,故火相;木用水生,生我者父母,今子嗣得时,登高明显赫之地,而生我者当知退矣,故水休。",plain:"当令得时叫旺;旺者所生为相,生旺者退为休。旺相休囚死是按四季轮转的相对状态,不是固定标签。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7531.html"},{id:"smt-shensha",book:"sanming",chapter:"卷三·总论诸神煞",quote:"神煞,古有百二十名,其说穿凿支离,造化恐不如是。",plain:"神煞名目古有百余种,说法穿凿支离;作者自己也说造化未必如此,神煞只能作旁证。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7572.html"},{id:"smt-kongwang",book:"sanming",chapter:"卷三·论空亡",quote:"故以甲旬尽处曰空亡,盖有是位而无禄,曰空;有支而无干,曰亡。",plain:"旬中十干配完还剩两支无干可配,有支无干叫亡;这一位没有禄叫空。空亡是按旬推出的虚位,不直接等于凶。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7563.html"},{id:"smt-dayun-qiyun",book:"sanming",chapter:"卷二·论大运",quote:"总十年之运气,凡三日有三十六时,乃见三百六十日为一岁之数;在一月之中有三百六十时,折除节气,算计三千六百日为一辰之十岁也。",plain:"起运的折算:三日折一年、一月折十年,按出生到节气的时间折出起运岁数;这是通行「三日折一年」的出处之一。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7536.html"},{id:"smt-liuqin",book:"sanming",chapter:"卷七·论六亲",quote:"有夫妇然后有父子,有父子然后有兄弟。六亲者,父母兄弟妻子也。",plain:"六亲指父母、兄弟、妻子;先有夫妇才有父子兄弟,取六亲以十干生克配出,再落到四柱宫位上看旺衰。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7693.html"},{id:"smt-xingchong",book:"sanming",chapter:"卷二·论三刑",quote:"《阴符经》曰:恩生于害,害生于恩;三刑生于二合,亦如六害生于六合之义。",plain:"三刑由三合与三会相叠而生,六害由六合而生:合里藏着刑害,所以见合不能只看合。",url:"https://www.diancang.xyz/xuanxuewushu/sanmingtonghui/7548.html"},{id:"qt-tiaohou",book:"qiongtong",chapter:"五行总论",quote:"北方阴极而生寒,寒生水。南方阳极而生热,热生火。",plain:"五行由方位寒热燥湿而生:北寒生水、南热生火。调候就是先看命局寒暖燥湿,再取能调和的字。",url:"https://www.diancang.xyz/xuanxuewushu/qiongtongbaojian/41024.html"},{id:"qm-yinyang",book:"qimen",chapter:"卷一·奇门秘诀总赋",quote:"阴阳二遁分顺逆,一气三元人莫测。五日都来换一元,接气超神为准的。",plain:"一年分阴阳两遁:冬至后顺布、夏至后逆布;一气分上中下三元、五日换一元,超神接气用来对齐节气与符头。取局法不同,同一时刻可能排出不同局数。",url:"https://www.diancang.xyz/xuanxuewushu/qimendunjiatongzong/41068.html"},{id:"qm-jixing",book:"qimen",chapter:"卷十一·玄机赋(中)",quote:"六仪击刑真是凶,值符天乙遇亦穷。六仪非值终无吉,吉凶轻重义相同。此际切宜遁取吉,勿于此地想成功。子三戌二寅刑四,申八辰四午离中。戌刑在未寅在巽,巽有巳兮申缓从。",plain:"六仪落到与自身相刑的宫位叫击刑:甲子戊落三宫、甲戌己落二宫、甲申庚落八宫、甲辰壬落四宫、甲午辛落九宫;甲寅癸的寅刑巳、戌刑未也各有所指。击刑是宫位条件,说明这个符号使不上力,不直接等于事情必败。",url:"https://www.diancang.xyz/xuanxuewushu/qimendunjiatongzong/41073.html"},{id:"qm-rumu",book:"qimen",chapter:"卷十一·玄机赋(中)",quote:"三奇入墓,闭塞不通,暗昧不振,诸事皆凶。乙阴木长生在午墓于戌,丙火长生在寅墓于戌,故乙丙到乾为墓。丁阴火长生在酉墓于丑,故丁到艮为墓。",plain:"按五行墓库判:乙木、丙火墓在戌(乾六宫),丁火墓在丑(艮八宫)。天盘三奇落到自己的墓宫即入墓,取象是收住、藏起来、事情压着不动;问收藏与了结时未必是坏事。",url:"https://www.diancang.xyz/xuanxuewushu/qimendunjiatongzong/41073.html"},{id:"qm-wangshuai",book:"qimen",chapter:"卷三",quote:"旺相休囚:春木相火旺水废金囚土休,夏火相土旺木废水囚金休,秋金相水旺土废火囚木休,冬水相木旺金废土囚火休。",plain:"旺相休囚按季节五行轮转:当令者旺、被当令所生者相、生当令者休、克当令者囚、被当令所克者废(死)。门、星、天盘干各按自身五行对月令,得出当下力量强弱。",url:"https://www.diancang.xyz/xuanxuewushu/qimendunjiatongzong/41070.html"},{id:"qm-men-gong",book:"qimen",chapter:"卷二",quote:"右八门最怕迫制,吉门有气益吉,无气减吉;凶门有气益凶,无气减凶。",plain:"八门怕被宫位迫制;吉门有气更吉、无气则减吉,凶门有气更凶、无气则减凶。旺衰只是加权,门与宫的生克要另算,两层并列、不互相替代。",url:"https://www.diancang.xyz/xuanxuewushu/qimendunjiatongzong/41069.html"},{id:"mh-tiyong",book:"meihua",chapter:"卷二·体用生克",quote:"体用即动静之说。体为主,用为事。应用事体及比和,则吉;体生用及克体,则不吉。",plain:"体卦代表自己、主静;用卦代表所问之事、主动。用生体或体用比和为顺,体生用(泄气)与用克体为不顺;再看互卦、变卦与旺衰定轻重。",url:"https://www.diancang.xyz/xuanxuewushu/meihuayishu/37734.html"},{id:"zs-yongshen",book:"liuyao",chapter:"卷一·用神章第八",quote:"父母爻:占父母卽以卦中之父母爻爲神。",plain:"六亲各有用神:问父母就以父母爻为用神,兄弟、妻财、子孙、官鬼也各按所问的人与事取爻。",url:"https://zh.wikisource.org/wiki/增刪卜易/8"},{id:"zs-fushen",book:"liuyao",chapter:"卷二·飛伏神章第二十八",quote:"此卦寅木妻財在二爻﹐卽以此寅木伏於姤卦亥水之下﹐姤卦二爻之亥水卽爲飛神﹐寅木妻財卽爲伏神﹐亥水而生寅木﹐謂之飛來生伏得長生﹐此用神不現﹐尋得伏神而遇生扶有用﹐亦爲用神﹐便作吉斷﹐餘仿此。",plain:"用神不上卦时,到本宫首卦里找伏神:伏在下面的叫伏神,压在它上面的叫飞神。伏神得日月或飞神生扶,才算有用。",url:"https://zh.wikisource.org/wiki/增刪卜易"},{id:"zs-yuejian",book:"liuyao",chapter:"卷一·月將章第十六",quote:"月將卽是月建又爲月令。掌一月之權,司三旬之令。",plain:"月建就是月令,掌一月的时令、管三旬的旺衰;它能扶起衰弱的爻,也能制住动爻与变爻。",url:"https://zh.wikisource.org/wiki/增刪卜易/16"},{id:"zs-yuejian-zhuli",book:"liuyao",chapter:"卷一·月將章第十六",quote:"爻之衰弱者能生之合之、比之、拱之、扶之,衰而亦旺。",plain:"月建对衰弱的爻能生、合、比、拱、扶,衰的也可以转旺;反过来对强旺的爻能冲、克、刑、破,旺的也会转衰。",url:"https://zh.wikisource.org/wiki/增刪卜易/16"},{id:"zs-richen",book:"liuyao",chapter:"卷一·日辰章第十七",quote:"日辰爲六爻之主宰,司四時之旺相。",plain:"日辰是六爻之主宰,四时都能当令,与月建同功;日冲旺相静爻为暗动,冲衰弱静爻为日破。",url:"https://zh.wikisource.org/wiki/增刪卜易/17"},{id:"zs-dongbian",book:"liuyao",chapter:"卷一·動變生克沖合章第十五",quote:"卦有動爻,動而必變,夫變出之爻能生克沖合本位之動爻,不能生克他爻,而他爻與本位之動爻,亦不能生克變爻。",plain:"动爻变出的爻,只与本位动爻发生生克冲合,不直接作用于其他爻;其他爻也不直接生克这个变爻。",url:"https://zh.wikisource.org/wiki/增刪卜易/15"},{id:"zs-liushen",book:"liuyao",chapter:"卷一·六神章第十八",quote:"諸書無不以靑龍爲吉,白虎爲凶。",plain:"旧籍多以青龙为吉、白虎为凶;本章随即用卦例说明六神只是取象的一层,不能只看它断吉凶。",url:"https://zh.wikisource.org/wiki/增刪卜易/18"},{id:"zs-liuhe",book:"liuyao",chapter:"卷一·六合章第十九",quote:"子與丑合、寅與亥合、卯與戌合、辰與酉合、巳與申合,午與未合。",plain:"六合固定六对:子丑、寅亥、卯戌、辰酉、巳申、午未;静爻逢合叫合起,动爻逢合叫合绊。",url:"https://zh.wikisource.org/wiki/增刪卜易/19"},{id:"zs-liuchong",book:"liuyao",chapter:"卷一·六沖章第二十",quote:"相沖之法有六。日月沖爻者一也,卦逢六沖二也,六合卦變六沖三也,沖變六沖四也。動爻變沖五也、爻與爻沖六也。",plain:"相冲分六种:日月冲爻、卦逢六冲、六合卦变六冲、冲变六冲、动爻变冲、爻与爻冲。冲主散,吉事不宜,凶事反而宜散。",url:"https://zh.wikisource.org/wiki/增刪卜易/20"},{id:"zs-fanyin",book:"liuyao",chapter:"卷一·反伏章第二十五",quote:"內卦反伏,內則不安。外卦反伏,外則不寧。內外反伏者,內外不寧之象也。",plain:"内卦反伏主内不安,外卦反伏主外不宁,内外都反伏则内外不宁;取象是事情反复,成而败、败而成。",url:"https://zh.wikisource.org/wiki/增刪卜易/25"},{id:"zs-fuyin",book:"liuyao",chapter:"卷一·反伏章第二十五",quote:"內卦動變伏吟,內則呻吟,外卦動變伏吟,外則憂鬱。",plain:"内卦动变伏吟主内呻吟,外卦动变伏吟主外忧郁;伏吟取停滞难伸,不像反吟那样带冲克。",url:"https://zh.wikisource.org/wiki/增刪卜易/25"},{id:"zs-jintui",book:"liuyao",chapter:"卷二·進神退神章第二十九",quote:"進神退神者﹐爻之動而化也﹐化進化退﹐吉凶禍福有喜忌之分﹐所喜者宜於化進﹐所忌者宜化退神。",plain:"进神退神是动爻化出同五行的顺次之支:化进主向前,化退主退气;喜用的宜化进,所忌的宜化退。",url:"https://zh.wikisource.org/wiki/增刪卜易"},{id:"zs-yingqi",book:"liuyao",chapter:"卷一·各門類應期總注章第又二十六",quote:"靜而逢值逢沖:如主事爻臨子水不動,後逢子日午日而應之,餘仿此。",plain:"应期先分动静:静爻在逢值或逢冲之日应,动爻在逢合或逢值之日应;其余按入墓、旬空、月破等逐条推。",url:"https://zh.wikisource.org/wiki/增刪卜易/26又3"},{id:"dl-jigong",book:"daliuren",chapter:"卷一·起例(十干寄宫)",quote:"甲课寅兮乙课辰,丙戊课巳不须论。丁己课未庚申上,辛戌壬亥是其真。癸课原来丑宫坐,分明不用四正神。",plain:"十干寄宫是四课起手:甲寄寅、乙寄辰、丙戊寄巳、丁己寄未、庚寄申、辛寄戌、壬寄亥、癸寄丑;丙戊、丁己各同宫,子午卯酉四个正位不寄。",url:"https://zh.wikisource.org/wiki/六壬大全/1"},{id:"dl-zeike",book:"daliuren",chapter:"卷一·起例(贼克法)",quote:"取课先从下贼呼,如无下贼上克初。初传之上名中次,中上加临是末居。三传既定天盘将,此是入式法第一。",plain:"九宗门取初传先看下贼上,没有下贼再看上克下;初传定后,中传取初传所乘之神,末传再顺取一位,三传齐了才布天盘天将。",url:"https://zh.wikisource.org/wiki/六壬大全/1"},{id:"dl-yuejiang",book:"daliuren",chapter:"卷二·神将释(月将)",quote:"逆布者谓之月将,其实即十二神也。",plain:"月将就是十二支神,按太阳过宫排:以登明为首逆布十二宫;起课时把月将加在占时上,顺布成天盘。",url:"https://zh.wikisource.org/wiki/六壬大全/2"},{id:"dt-yiqi-tonggen",book:"ditian",chapter:"干支总论",quote:"天全一气,不可使地德莫之载。地全三物,不可使天道莫之容。",plain:"四柱天干同属一气,还得地支能承载它;地支所藏三干若不透到天干,也显不出用处——通根与透出是一件事的两面。",url:"https://www.diancang.xyz/xuanxuewushu/ditiansui/153091.html",note:"《子平真诠》卷一论十干十二支注文引作《滴天髓》语,底本干支总论原文可核。"}],I={...Object.fromEntries(Object.entries(X).map(([z,R])=>[z,R])),...W};function J(z){const R=E.find(x=>x.id===z)||P.find(x=>x.id===z);if(!R)return null;const ne=I[R.book];return{...R,bookName:ne?ne.name:R.book,bookAuthor:ne?ne.author:""}}const k={"bazi-yueling-siquan":{refs:["smt-renyuan"]},"bazi-geju":{refs:["zp-yongshen"]},"bazi-suiyun":{refs:["smt-suiyun"]},"bazi-sanming-duizhao":{refs:["zp-zhenguan","smt-guansha-liu"]},"bazi-geju-chengbai":{refs:["zp-chengbai"]},"bazi-huagi-bianhua":{refs:["zp-bianhua"]},"bazi-zaji-quyong":{refs:["zp-zaji"]},"bazi-zhuanwang-yuanwen":{refs:["smt-quzhi","smt-yanshang","smt-congge","smt-runxia","smt-jiasi"]},"bazi-congge-yuanwen":{refs:["smt-congsha","smt-congcai"]},"bazi-tongguan":{refs:["dt-tongguan"]},"bazi-tonggen-tougan":{refs:["dt-yiqi-tonggen"],note:"通行说两句出自《子平真诠》卷一注文,非《滴天髓》正文;注文所引的滴天髓句见本条。"},"bazi-wangxiang":{refs:["smt-wangxiang"]},"bazi-shensha":{refs:["smt-shensha"]},"bazi-tiaohou":{refs:["qt-tiaohou"]},"bazi-liuqin":{refs:["smt-liuqin"]},"bazi-kongwang":{refs:["smt-kongwang"]},"bazi-xingchong":{refs:["smt-xingchong"]},"bazi-dayun-jiaoqi":{refs:["smt-dayun-qiyun"]},"ziwei-sanfang":{refs:["zw-sanfang"]},"ziwei-sihua":{refs:["zw-sihua-lu","zw-sihua-ji"]},"ziwei-miaowang":{refs:["zw-miaowang"]},"ziwei-daxian":{refs:["zw-daxian"]},"ziwei-shengong":{refs:["zw-shenming"]},"ziwei-kongjie":{refs:["zw-kongjie"]},"ziwei-poge":{refs:["zw-poge-ruge","zw-poge-sanfang"]},"ziwei-feixing":{status:"general",book:"紫微斗数全书 / 飞星派",chapter:"四化篇",reason:"宫干飞化属飞星派传法,非《全书》单条原文"},"ziwei-sanfang-fei":{status:"general",book:"紫微斗数全书 / 飞星派",chapter:"四化篇",reason:"三方四正同飞属飞星派读法,未定位到单条原文"},"ziwei-jichuanji":{status:"general",book:"紫微斗数全书 / 飞星派",chapter:"四化篇",reason:"忌转忌串连属飞星派读法,未定位到单条原文"},"liuyao-yongshen":{refs:["zs-yongshen"]},"liuyao-fushen":{refs:["zs-fushen"]},"liuyao-wangshuai":{refs:["zs-yuejian"]},"liuyao-yongshen-shuai":{refs:["zs-richen"]},"liuyao-quanggu-shuai":{refs:["zs-yuejian-zhuli"]},"liuyao-dongbian":{refs:["zs-dongbian"]},"liuyao-liushen":{refs:["zs-liushen"]},"liuyao-liuhe":{refs:["zs-liuhe"]},"liuyao-liuchong":{refs:["zs-liuchong"]},"liuyao-fanyin":{refs:["zs-fanyin"]},"liuyao-fuyin":{refs:["zs-fuyin"]},"liuyao-jintui":{refs:["zs-jintui"]},"liuyao-yingqi":{refs:["zs-yingqi"]},"liuyao-jintui-yong":{refs:["zs-jintui"]},"liuyao-yingqi-exact":{status:"todo",book:"增删卜易",chapter:"各門類應期總注章",reason:"逐条应期尚未实现,等 20+ 条有应验日期的卦例"},"meihua-tiyong":{refs:["mh-tiyong"]},"daliuren-sike":{refs:["dl-jigong","dl-zeike"]},"qimen-yinyang":{refs:["qm-yinyang"]},"qimen-jixing":{refs:["qm-jixing"]},"qimen-rumu":{refs:["qm-rumu"]},"qimen-wangshuai":{refs:["qm-wangshuai"]},"qimen-wangshuai-yong":{refs:["qm-men-gong"]},"qimen-gan-shengke":{status:"general",book:"奇门遁甲统宗",chapter:"卷十二·玄机赋(下)",reason:"底本有「奇仪与日干」生克条,未见单列「干与落宫」生克条;干宫取象为通行读法,不拿十神条文冒充"},"qimen-ganying":{status:"general",book:"奇门十干应克 / 奇门遁甲元灵经",chapter:"通行 100 组表 / 卷二·天盘加地盘吉凶",reason:"100 组为通行表汇编,元灵经只存甲、乙、丙三组,非单条原文"},"tarot-orientation":{status:"general",book:"韦特塔罗",chapter:"逆位读法",reason:"韦特体系无中文古籍原文,逆位读法属近代流派"}};function A(){return[...P.map(z=>J(z.id)),...E.map(z=>J(z.id))]}function O(z,R=""){const ne=k[z];if(!ne)return{source:R,citations:[],status:"general",reason:"未建立引文索引"};if(Array.isArray(ne.refs)&&ne.refs.length){const x=ne.refs.map(J).filter(Boolean),M=x.map(h=>`《${h.bookName}·${h.chapter}》${h.url}`).join(";");return{source:`${R}(原文索引:${M})`,citations:x,status:"verified"}}return{source:`${R}(${ne.status==="todo"?"待补原文":"通行说,原文待补"}:${ne.book||""}${ne.chapter?`·${ne.chapter}`:""})`,citations:[],status:ne.status||"general",reason:ne.reason||""}}function L(){return Object.entries(F).filter(([,z])=>Array.isArray(z.citationIds)&&z.citationIds.length).map(([z,R])=>({name:z,citationIds:R.citationIds,citations:R.citationIds.map(J).filter(Boolean)}))}return{CITATION_BOOKS:W,CITATIONS:E,citationOf:J,CARD_CITATIONS:k,allCitations:A,citationSourceOf:O,patternCitations:L}})(),B.interpret=(function(){const{HEX64:P,HEX_BY_CORE:X,TRIGRAM:oe,YAO_POSITION:F,MOVING_NATURE:W,ZIWEI_STARS:E,WUXING_INDUSTRY:I,WUXING_ORGAN:J,TENGOD_STYLE:k,LIUREN_JIANG:A,TAROT_ELEMENT_FOCUS:O,DISCLAIMER:L}=B["interpret-data"]||{},{MUTAGEN:z}=B.ziwei||{},{palaceFieldOf:R,starExtraOf:ne,starPairOf:x,brightRead:M,huaInLine:h,shaLineOf:b,shaNatureOf:r,fuLineOf:l,patternReadOf:d,MAIN_SHA:o}=B["ziwei-words"]||{},{stemPortraitOf:c,godPortraitOf:w,frameToneOf:g,relationNotes:p}=B["bazi-words"]||{},{bodyLabels:C,yongshenOf:de}=B.liuyao||{},Ae=[{key:"overall",label:"整体运势"},{key:"work",label:"工作与职业选择"},{key:"career",label:"事业发展"},{key:"love",label:"爱情与感情"},{key:"health",label:"健康状况"}],ue={bazi:"natal",ziwei:"natal",liuyao:"divination",meihua:"divination",daliuren:"divination",tarot:"card"},je={bazi:"八字",ziwei:"紫微斗数",liuyao:"六爻",meihua:"梅花易数",daliuren:"大六壬",tarot:"塔罗"},we=[{key:"general",label:"综合",dim:null,focus:""},{key:"wealth",label:"财运",dim:"work",focus:"钱财进出的落点主要看「工作与职业选择」与「事业发展」这两条。"},{key:"career",label:"事业",dim:"career",focus:"事业发展这条与你的问题最直接。"},{key:"love",label:"感情",dim:"love",focus:"感情这条与你的问题最直接。"},{key:"health",label:"健康",dim:"health",focus:"健康这条与你的问题最直接;下面只作提醒,不作任何诊断。"},{key:"study",label:"学业",dim:"career",focus:"学业与考试更贴近「事业发展」这条,讲的是长期积累与阶段进展。"},{key:"travel",label:"出行",dim:"overall",focus:"出行与迁动更贴近「整体运势」这条,看的是当下这一段的大环境。"}],De="general",_e=s=>we.find($=>$.key===s)||we[0];function Ye(s){const $=_(s)?s:{},S=typeof $.question=="string"?$.question.trim().slice(0,200):"",T=_e($.direction);return{question:S,direction:T.key,directionLabel:T.label,echo:S?`问题:${S} | 询问方向:${T.label}`:`询问方向:${T.label}`}}function Ve(s,$,S){const T=Array.isArray(s)?s.slice():[],v=_e($&&$.direction);if(v.dim){const $e=T.findIndex(ae=>ae&&ae.key===v.dim);if($e>0){const ae=T[$e];T.splice($e,1),T.unshift(ae)}if(T[0]&&T[0].key===v.dim){const ae=$.question?`就你所问的「${$.question}」来看(${v.label}方向)——${v.focus}`:`按${v.label}这个方向看——${v.focus}`;T[0]=Object.assign({},T[0],{text:`${ae}${T[0].text}`,focused:!0})}}let Z=S||"";return $.question?Z=`你问的是「${$.question}」${v.key==="general"?"。":`,方向是${v.label}。`}${Z}`:v.key!=="general"&&(Z=`方向是${v.label}。${Z}`),{dims:T,lead:Z}}const ie={大吉:"外部环境对你比较配合,属于可以主动争取的阶段",吉:"整体偏顺,适合稳步推进手上的事",平:"起伏不大,更适合打基础、补短板",忌:"摩擦与消耗偏多,宜守成、减少冒进",大忌:"压力相对集中,宜降低预期、先保住基本盘"},se={大吉:"想做的事可以排进日程,别只停在想法上",吉:"按已有节奏走,把一件事做完整比开新头更划算",平:"把精力投向积累:技能、资质、人脉都算数",忌:"少做大的调整,先把手上的事收尾",大忌:"给自己留出缓冲,重要决定不妨往后放一放"},_=s=>s&&typeof s=="object",y=(s,$,S="")=>_(s)&&s[$]!=null?s[$]:S,D=(s,$="、")=>Array.isArray(s)?s.filter(Boolean).join($):String(s||"");function ke(s,$,S){if(P[s])return{full:s,...P[s]};const T=typeof s=="string"&&s.length>2?s.slice(2):s;if(X[T]){const $e=X[T];return{full:$e,...P[$e]}}const v=oe[$]||{},Z=oe[S]||{};return{full:s||"本卦",meaning:`${v.nature||$||""}在${Z.nature||S||""}上,${v.trait||""}遇${Z.trait||""}`.trim(),scene:"按上下卦的取象体会这一卦的大意"}}function Ce(s){const $=String(s||"");return/七杀/.test($)?"七杀":/正官/.test($)?"正官":/正财/.test($)?"正财":/偏财|财格/.test($)?"偏财":/伤官/.test($)?"伤官":/食神|食伤/.test($)?"食神":/正印/.test($)?"正印":/偏印|枭/.test($)?"偏印":/劫财/.test($)?"劫财":/比肩|比劫/.test($)?"比肩":/官/.test($)?"正官":/财/.test($)?"偏财":/印/.test($)?"正印":""}function en(s,$){const S=F.find(T=>T.pos===s)||F[0];return`${S.name}(${S.gist}):${S.tone}${$?";此处发动,"+($.yinYang==="阳"?W.yang:W.yin):""}`}function an(s){const $=_(s.dayMaster)?s.dayMaster:{},S=_(s.strength)?s.strength:{},T=_(s.frame)?s.frame:{},v=_(T.yongshen)?T.yongshen:{},Z=s.climate||(_(v.climate)?v.climate:_(v.tiaohou)?v.tiaohou:null),$e=_(s.wuxing)?s.wuxing:{},ae=y(S,"level","中和"),re=Array.isArray(v.favor)?v.favor:[],U=Array.isArray(v.avoid)?v.avoid:[],Q=Array.isArray(v.disputed)?v.disputed:[],ge=Array.isArray(v.neutral)?v.neutral:[],ze=ge.length?`其中${ge.map(t=>`${t.element}(${t.role})`).join("、")}全局仅 ${ge.map(t=>t.weight).join("、")} 分,分量近零,按中性偏忌看;仍留在忌里,是因为行运走到这一行时照样按忌计。`:"",H=y(T,"primaryName","未取定"),m=y(s.input,"gender","")==="male",he=m?"财":"官杀",Se=Number(y(s.liunian?.[0],"age",NaN)),Be=Array.isArray(s.dayun?.list)?s.dayun.list:[];let qe=null;for(const t of Be)Number.isFinite(Se)&&Number(t.startAge)<=Se&&(qe=t);!qe&&Be.length&&(qe=Be[0]);const Ie=_(qe?.luck)?qe.luck:{},Pe=y(Ie,"tier","平"),q=_(s.liunian?.[0])?s.liunian[0]:{},Te=_(q.luck)?q.luck:{},Ee=y(Te,"tier","平"),be=_(T.godStats?.groups)?T.godStats.groups:{},le=Object.entries(be).sort((t,u)=>u[1]-t[1]),K=le[0]?.[0]||"",Oe=le[1]?.[0]||"",pe=Object.entries($e).sort((t,u)=>u[1]-t[1]),Le=pe[0]?.[0]||"",Xe=pe[pe.length-1]?.[0]||"",on=Object.keys($e).filter(t=>Number($e[t])===0),$n=qe?Be.indexOf(qe):-1,Je=[],En={甲:"木",乙:"木",丙:"火",丁:"火",戊:"土",己:"土",庚:"金",辛:"金",壬:"水",癸:"水"},xn=t=>En[String(t||"")[0]]||"",Sn={子:"水",丑:"土",寅:"木",卯:"木",辰:"土",巳:"火",午:"火",未:"土",申:"金",酉:"金",戌:"土",亥:"水"};if(qe){const t=xn(qe.ganzhi);t&&(re.includes(t)?Je.push(`当前大运 ${qe.ganzhi} 走${t},正是喜用,这十年推事情比平时省力;${K?`可把力气放在${K}对应的事上`:"适合把长期计划铺开"}。`):U.includes(t)?Je.push(`当前大运 ${qe.ganzhi} 走${t},落在忌神上,这十年更适合守成、补短板,不宜大杠杆扩张。`):Je.push(`当前大运 ${qe.ganzhi} 走${t},既非喜用也非忌神,属于平运,结果更多取决于你在这段里做了什么。`))}if(on.length){const t=on.filter(f=>U.includes(f)),u=on.filter(f=>re.includes(f));t.length&&Je.push(`命局缺 ${t.join("、")},而它正是你的忌神——缺得刚好,不必刻意去补。`),u.length&&Je.push(`命局缺 ${u.join("、")},这恰是喜用,是这盘的短板:靠环境、行业与身边人来补,比自己硬扛有效。`)}if(K&&H){const t=Ce(H);t&&K&&t===K?Je.push(`格局 ${H} 与最重的${K}一致,说明你的能量集中在同一条线上,长处突出、短板也集中。`):t&&Je.push(`格局 ${H}(偏${t})与最重的${K}不在一条线上,内在会有两股力气拉扯:一边是格局给你的路,一边是你本能投入最多的事。`)}if(Array.isArray(s.shensha)&&s.shensha.some(t=>(t.items||[]).some(u=>u.name==="羊刃"))&&Number(be.官杀||0)>=1&&Je.push('命见羊刃且官杀有力,属压力驱动型:遇强则强,但需要出口,长期憋着容易内耗;运动或竞技类爱好比"忍"更有用。'),s.pillars?.day){const u=s.input?.gender==="male"?"财":"官杀",f=Number(be[u]||0),N=Sn[s.pillars.day.branch]||"";f>=2&&N&&re.includes(N)?Je.push(`配偶星(${u})不弱,且日支 ${s.pillars.day.branch} 属喜用,感情中有实际助益,不只看感觉。`):f===0&&Je.push(`命局不见${u},感情多靠自己主动创造场景;日支 ${s.pillars.day.branch} 更像"对方的样子"而不是"缘分的强度"。`)}const ln=$n>=0?Be.slice($n+1,$n+4):Be.slice(0,3),pn=(...t)=>t.filter(u=>u!=null&&u!==""),vn=[{key:"overall",label:"整体运势",text:`你的日主是${$.stem}(五行属${$.element}),命局${ae}(${y(S,"score","")} 分)。用神取向偏${D(re)},忌${D(U)}——往${D(re)}的方向走会更省力${v.tiaohou&&v.tiaohou.note?`;调候上${v.tiaohou.note}`:""}。目前走在${y(qe,"ganzhi","当前")}大运(${Pe}),${y(q,"year","今年")}年流年${y(q,"ganzhi","")}为${Ee}。`,advice:`大运看:${ie[Pe]||ie.平};流年看:${se[Ee]||se.平}。大方向定在${D(re)}相关的领域,会比硬扛${D(U)}顺畅一些。`,evidence:pn(`日主 ${$.stem}${$.element}·${ae}`,S&&S.parts&&S.parts.season?`月令 ${S.parts.season.branch}${S.parts.season.element}`:"",`喜 ${D(re)} / 忌 ${D(U)}`,qe?`大运 ${qe.ganzhi}·${Pe}`:"",q&&q.ganzhi?`流年 ${q.year}${q.ganzhi}·${Ee}`:"")},{key:"work",label:"工作与职业选择",text:`按喜用神看,${D(re)}这几类方向对你更有利,可参考的行业包括:${re.slice(0,2).map(t=>I[t]||"").filter(Boolean).join(";")||"暂未取定,可先按兴趣与能力试"}。命局主格为${H},这类结构的人通常${k[Ce(H)]||"有自己稳定的节奏"}。十神中${K}最重(${le[0]?.[1]??""}),${Oe}次之,说明你在${K}所代表的事项上投入的精力最多。`,advice:`选岗位时可以偏向「${D(re)}属性 + ${K}对应的事务」;如果现在的工作明显偏${D(U)}且长期让你疲惫,可以参考上面方向做小幅试探,不必立刻大改。`,evidence:pn(`主格 ${H}`,`喜用五行 ${D(re)}`,le.length?`十神 ${le.slice(0,3).map(([t,u])=>`${t}${u}`).join(" ")}`:"")},{key:"career",label:"事业发展",text:`${H}的格局,配合十神里${K}偏旺的结构,事业上更适合${K==="财"?"靠业绩与资源积累说话":K==="官杀"?"在有规则的组织里按层级上升":K==="印"?"凭资质、专业与口碑取胜":K==="食伤"?"靠作品、技术与表达打开局面":"与人并肩、共同承担的方式"}。接下来几步大运依次为:${ln.map(t=>`${t.ganzhi}(${t.luck?.tier||"平"})`).join(" → ")||"暂未排出"},整体节奏是${ln.length&&ln.filter(t=>["吉","大吉"].includes(t.luck?.tier)).length>=2?"先抑后扬、后段更顺":"需要一步步积累,中间偶有起伏"}。`,advice:`把${ln[0]?.ganzhi||"下一步"}这一步当作铺垫期,重点补${K==="食伤"?"作品与专业深度":K==="官杀"?"资历与组织内的信任":"可迁移的能力与资质"};遇到${D(U)}过重的年份,优先保住已有成果。`,evidence:pn(`格局 ${H}`,ln.length?`后续大运 ${ln.map(t=>t.ganzhi).join(" → ")}`:"",`当前 ${y(qe,"ganzhi","—")}·${Pe}`)},{key:"love",label:"爱情与感情",text:`${m?"男命以财星看妻缘":"女命以官杀看夫缘"},你命局中${m?"财":"官杀"}的力量为${be[m?"财":"官杀"]??"—"},${Number(be[m?"财":"官杀"]||0)>=2?"缘分出现的机会不算少":"需要自己主动创造认识人的场景"}。日支(配偶宫)为${y(s.pillars?.day,"branch","")},坐${y(s.pillars?.day,"zizuo","")},这里的信号是:${Number(be[m?"财":"官杀"]||0)>=2?"关系里你容易被主动靠近,但要留意筛选":"感情推进偏慢,属于需要经营的类型"}。`,advice:`不必急着要结果,先看清自己在关系里最在意什么。${Number(be[m?"财":"官杀"]||0)>=2?"选项多时,明确标准反而更省心":"可以把社交圈稍微扩大一点,但别为了脱单降低底线"};沟通上多说具体需求,少让对方猜。`,evidence:pn(`${m?"财":"官杀"} 权重 ${be[m?"财":"官杀"]??"—"}`,`日支 ${y(s.pillars?.day,"branch","")}·${y(s.pillars?.day,"zizuo","")}`,`配偶星 ${m?"财":"官杀"}`)},{key:"health",label:"健康状况",text:`五行分布上,${Le}最旺、${Xe}最弱${on.length?`,其中${D(on)}在命局中没有明现`:""}。按五行与身体的对应,${Le}偏旺时${J[Le]?.part||""}负担相对重(${J[Le]?.note||""});${Xe}偏弱则${J[Xe]?.part||""}偏弱一些,是更值得留意的部分。这只是传统命理的取象提示,不是诊断。`,advice:`建议把作息规律放在第一位——尤其是睡眠时长尽量稳定;${J[Xe]?.note?Xe+"对应的"+J[Xe].part+"可以按体检项目关注":"按常规体检关注"}。任何不适请去看医生,别用命理结论替代检查。`,evidence:pn(`五行 ${Object.entries($e).map(([t,u])=>`${t}${u}`).join(" ")}`,`最旺 ${Le} / 最弱 ${Xe}`,on.length?`缺 ${D(on)}`:"")}],Ue=c($.stem),We=w(K),cn=w(Oe),mn=S.parts&&S.parts.season?S.parts.season:null,Ln=y(s.pillars?.day,"branch",""),hn=Object.entries(_(T.godStats?.byGod)?T.godStats.byGod:{}).filter(([,t])=>Number(t)>0).sort((t,u)=>u[1]-t[1]),yn=hn[0]?hn[0][0]:"",An=w(yn),In=(Array.isArray(v.favorRoles)?v.favorRoles:[]).slice().sort((t,u)=>(Number(be[u])||0)-(Number(be[t])||0)),On=[`**日主**:${$.stem}${$.element}(${$.yinYang}${$.element})${mn?`生于${mn.branch}月,日主在月令「${mn.word}」`:""},命局${ae}(${y(S,"score","—")} 分)${Ue?`——${Ue.image}之象`:""}。`,`**用神**:喜${D(re)||"—"}(${D(v.favorRoles||[])||"—"}),忌${D(U)||"—"}(${D(v.avoidRoles||[])||"—"})。${ge.length?`(${D(ge.map(t=>t.element))} 近零,按中性偏忌看)`:""}${g(ae,In)}`,`**格局**:${H}(${y(T.primary,"evidence","")})${(Array.isArray(T.geju)?T.geju:[]).filter(t=>t.name&&t.name!==H).length?`,另有${T.geju.map(t=>t.name).filter(t=>t&&t!==H).join("、")}`:""}。`].join(`
|
|
69
|
+
`),j=[`**外在取象**:${Ue?`${Ue.image}的日主,传统取象上${Ue.look}`:"这一柱的取象词库未覆盖"}${Ue?`;气质上${Ue.temper}`:""}。这一层只是取象,不作定论。`,`**性格底色**:十神里${K||"—"}最重${le[0]?`(${le[0][1]})`:""}${Oe?`,${Oe}次之`:""}。${We?`${We.gift};${We.trap}。`:""}`+(An&&yn&&yn!==K?`具体到单颗,${yn}最显,落在「${An.role}」上。`:"")+(Ue?`放在${$.stem}日主身上,长处是「${Ue.gift}」,容易踩的坑是「${Ue.trap}」。`:""),`**事业与家庭**:${We?`做事上${We.work}`:"做事方式看喜用与时运"}${We?`;感情里${We.love}。`:"。"}日支${Ln}${y(s.pillars?.day,"zizuo","")?`坐${y(s.pillars?.day,"zizuo","")}`:""},${Number(be[he]||0)>=2?"配偶星不弱,关系里你有条件被好好对待,也要留意别把这些当成理所当然":"配偶星偏轻,感情更需要主动经营"}。${cn?`另一面是${Oe}的${cn.role}:${cn.gift}。`:""}`].join(`
|
|
70
|
+
`),Y=(s.liunian||[]).slice(0,3).map(t=>{const u=_(t.luck)?t.luck:{},f=p(t.relations),N=(u.reasons||[]).slice(0,2).join(",");return`**${t.year} ${t.ganzhi}**(${t.age}岁·${t.stemTenGod||"—"})${u.tier||"平"}:${N||"没有特别信号,按大运的基调走"}${f.length?`;与命局的关系——${f.join(";")}`:""}。`}).join(`
|
|
71
|
+
`),me=Y?`先看眼前三年(大字是当年干支与十神,后面是该年的档位与理由):
|
|
72
|
+
${Y}
|
|
73
|
+
读法:档位说的是「这一年顺不顺手」,不是「会发生什么」;年份不顺时把重要动作挪到顺的年份,比硬扛更省事。`:"流年数据未取到,暂不展开。",Me=[];re.length&&Me.push(`把生活与工作往${D(re)}的方向挪一点:${re.slice(0,2).map(t=>I[t]||"").filter(Boolean).join(";")||"按喜用五行对应的行业挑"}。不必推倒重来,先从环境、圈子和日常习惯改起。`),U.length&&Me.push(`对${D(U)}保持一点自觉:不是不能碰,而是别在关键决定上给它加码——${U.includes("火")?"少在情绪最热的时候拍板":U.includes("木")?"少在想法最多的时候开工":"先把手上的事收尾再谈新的"}。`);const Re=p(s.relations&&s.relations.branches);Re.length&&Me.push(`命局里的地支关系是「${(s.relations.branches||[]).join("、")}」:${Re.join(";")}。对应到具体人事,先处理情绪,再处理事情。`),Z&&Z.need&&Me.push(`调候要${Z.need.stem}${Z.need.element}:${Z.need.why}。落到日常,就是往这一类的环境、作息与节奏上靠。`);const Ne=Me.slice(0,4).map((t,u)=>`${"①②③④"[u]} ${t}`).join(`
|
|
74
|
+
`),e=[...Je.length?[{key:"cross",label:"交叉判断",text:Je.join(" ")}]:[],{key:"framework",label:"命局框架",text:On},{key:"portrait",label:"画像",text:j},{key:"reasoning",label:"看盘顺序",text:[`① 先看月令:${S.parts&&S.parts.season?`${S.parts.season.branch}月,日主${$.element}${S.parts.season.word}(${S.parts.season.weight})`:"月令已定"},得旺衰 ${ae}(${y(S,"score","—")} 分)。这一步定的是"你有没有力气"。`,`② 再定用神:身强则取泄、耗、制——喜${D(re)}(${D(v.favorRoles||[])}),忌${D(U)}(${D(v.avoidRoles||[])})。这一步定的是"往哪走省力"。`,`③ 看格局:主格${H}${(()=>{const t=(Array.isArray(T.geju)?T.geju:[]).map(u=>u.name).filter(u=>u&&u!==H);return t.length?`,另有${t.join("、")}`:""})()}。格局与前两步同向时可信度更高;冲突时以用神为先。`,`④ 看大运:当前${y(qe,"ganzhi","—")}(${Pe})${q&&q.year?`,${q.year} 年流年${q.ganzhi}为${Ee}`:""}。行运的吉凶不看名字,看它落在喜用还是忌神(下方「时间窗」给了理由)。`,"⑤ 落到维度:工作看喜用五行与十神权重;感情看配偶星与日支;健康看最旺与最弱的五行。五维度都只是这套推导的应用,不是另一套算法。"].join(`
|
|
75
|
+
`)},...s.renyuan?[(()=>{const t=s.renyuan,u=t.segments.map(ye=>`${ye.stem}${ye.from}–${ye.to}`).join(" / "),f=t.next?`,第 ${t.next.from} 日起交 ${t.next.stem}${t.next.element}`:"",N=t.inHidden?"":` 表里的 ${t.active} 不在本柱藏干表中(属余气口径),两表各照原样,不互相改写。`,V=t.beyond?" 你生在第 31 日以后,已超出 30 日表,按本气算,不硬分摊。":"",ce=s.renyuanClassic||Kn("smt-renyuan"),ee=ce?`
|
|
76
|
+
原文:《${gn[ce.book].name}·${ce.chapter}》「${ce.quote}」
|
|
77
|
+
白话:${ce.plain}`:"";return{key:"renyuan",label:"人元司权",text:`生于${t.month}月第 ${t.day} 日(从${t.term?t.term.name:"节"}起算,节当日为第 1 日,日差按本盘所用时刻所在日计):这一日由 **${t.active}${t.activeElement}** 司权,第 ${t.segment.from}–${t.segment.to} 日属它${f}。
|
|
78
78
|
月令这一个月里,余气、中气、本气轮值,不是整月同一个五行当值——所以「月令是什么」,还要看生在第几日。
|
|
79
|
-
**口径**:本插件固定通行 30 日表(${
|
|
80
|
-
`:""}当前大运:${
|
|
81
|
-
近五年流年:${
|
|
82
|
-
读法:大运管"这十年的大环境",流年管"今年的具体天气";两者打架时,以能否动到用神为准。`})()},{key:"years",label:"流年时间轴",text:
|
|
83
|
-
原文:《${
|
|
84
|
-
白话:${
|
|
79
|
+
**口径**:本插件固定通行 30 日表(${u});另有 7/7/16、9/3/18 等分法,三命通会此本又作 5/5/20(见下原文),各家不一。分日只作解释层的一层细节,**不改取格**:取格仍按本气、透干与会支判定。${N}${V}`+ee}})()]:[],{key:"timeline",label:"时间窗",text:(()=>{const t=qe&&qe.startAge!=null?`${qe.startAge}–${qe.startAge+9}岁,${Pe}${Ie.reasons&&Ie.reasons.length?`;${Ie.reasons.join(",")}`:""}`:"—",u=(ln||[]).slice(0,2).map(V=>`${V.ganzhi}(${V.startAge}–${V.startAge+9}岁,${V.luck?.tier||"平"})`).join(" → ")||"—",f=(s.liunian||[]).slice(0,5).map(V=>{const ce=_(V.luck)?V.luck:{},ee=(ce.reasons||[]).slice(0,2).join(",");return`${V.year} ${V.ganzhi}·${V.stemTenGod||""}·${ce.tier||"平"}${ee?`(${ee})`:""}`}).join(";");return`${s.dayun&&s.dayun.jiao&&s.dayun.jiao.at?`起运交运时刻 ${s.dayun.jiao.at}(${s.dayun.jiao.frame};三日折一年,距${s.dayun.jiao.from.name} ${s.dayun.jiao.spanDays} 天)。每步大运在同月同日同时刻换,逐年日期见下方大运表「交运」列。
|
|
80
|
+
`:""}当前大运:${y(qe,"ganzhi","—")}(${t})。后续两步:${u}。
|
|
81
|
+
近五年流年:${f||"—"}。
|
|
82
|
+
读法:大运管"这十年的大环境",流年管"今年的具体天气";两者打架时,以能否动到用神为准。`})()},{key:"years",label:"流年时间轴",text:me},{key:"advice",label:"专业建议",text:Ne},(()=>{const t=(s.liunian||[]).filter(N=>N.suiyun&&Array.isArray(N.suiyun.signals)&&N.suiyun.signals.length),u=Wn(s),f=u?`
|
|
83
|
+
原文:《${gn[u.book].name}·${u.chapter}》「${u.quote}」
|
|
84
|
+
白话:${u.plain}`:"";return{key:"suiyun",label:"岁运提示",text:t.length?t.map(N=>{const V=(N.suiyun.dayun||[]).map(ce=>`第${ce.step}步${ce.ganzhi}`).join("、");return`${N.year} ${N.ganzhi}(${V||"未到起运"}):${N.suiyun.signals.map(ce=>ce.detail).join(";")}`}).join(`
|
|
85
85
|
`)+`
|
|
86
|
-
读法:岁运并临、运年反吟、大运与流年的伏吟/反吟只说明干支层面重复或对冲,传统上当作「变动感较强」的信号;本插件不据此判吉凶,要落到具体年份,仍看该年是否动到用神。大运与本命四柱的伏吟/反吟整步大运都在,会连续多年出现,不当成逐年加重。`+
|
|
87
|
-
`)}]:[],{key:"quant",label:"量化口径",text:`本报告的量化只到「档位」:事业看十神权重(${
|
|
88
|
-
`),
|
|
89
|
-
${(
|
|
90
|
-
${
|
|
91
|
-
`)}`,
|
|
92
|
-
破格:${
|
|
93
|
-
依据:${
|
|
94
|
-
做法:${
|
|
95
|
-
`)}:null}).filter(Boolean);
|
|
96
|
-
`)||"这张盘的结构比较平,没有单点特别突出——按现有节奏走,把一件事做完整比开新头更划算。",
|
|
97
|
-
`)},{key:"timeline",label:"时间窗",text:(()=>{const
|
|
98
|
-
近五年流年:${
|
|
99
|
-
读法:大限定十年的主题,流年四化指出今年往哪边偏;两层方向相反时,以守住大限主题为主。`})()},{key:"quant",label:"量化口径",text:"紫微这边只数「宫位里有什么」:大限看落宫与四化命中数、流年看命宫与四化星数;不把星曜折算成分数,也不预测金额与疾病诊断。四化命中数只是结构计数,不等于吉凶强度。"},{key:"limits",label:"未纳入",text:"本盘没有计算:小限与大限的加权、流日流时的具体事项定位、双星组合的强弱细分,以及「三方四正一起飞」的复合飞化(这里只跟单一支化逐宫串连)。四化表取中州派常用口径,其他流派(如飞星派)结论会不同;这些不改变盘面事实,只影响轻重,所以只作方向参考。"}];if(
|
|
100
|
-
`)}),
|
|
101
|
-
`)})}const
|
|
102
|
-
`)})}{const
|
|
103
|
-
`)},{key:"limits",label:"未纳入",text:"本课没有计算:年命与行年(命上神)、神煞的加权轻重、伏吟反吟的细分,以及课体之间的互涉。三传只取九宗门里的主要取法,其他流派(如以贵神起课)结论可能不同;这些只影响轻重,不改变课面事实。"}];return{lead:"大六壬看的是一件事的来龙去脉。三传给出「发端—过程—结局」的顺序,下面按这个结构分五个维度说。",dimensions:[{key:"overall",label:"整体运势",text:`这一课${
|
|
104
|
-
`):"",
|
|
105
|
-
${
|
|
106
|
-
`)}),{...
|
|
107
|
-
`);return{text:Ie,question:ee,system:s&&s.system||"",label:u,chars:Ie.length,truncated:o}}return{followup:F,READING_ORDERS:H,READING_ORDER_FALLBACK:b,readingOrderOf:C,askPrompt:le}})(),J.index=(function(){const{buildBazi:D}=J.bazi||{},{buildLiuyao:oe,tossLines:ue,bodyLabels:V,yongshenOf:ie,yongshenStrength:A,fushenAccess:N,hexagramStrength:Q,jinTuiPower:v,yingqiWindow:F}=J.liuyao||{},{buildZiwei:W,BRIGHTNESS:H,flowOf:b,asOfParts:C,ZIWEI_SCHOOL_DEFAULTS:le}=J.ziwei||{},{drawTarot:s}=J.tarot||{},{buildMeihua:w}=J.meihua||{},{buildDaliuren:u}=J.daliuren||{},{buildHepan:M}=J.hepan||{},{buildZiweiHepan:ee}=J["ziwei-hepan"]||{},{buildQimen:S,buildSnapshot:z}=J.qimen||{},{geocodeAddress:o,resolveAddress:m}=J.geo||{},{toJDN:R,ganzhiName:G,dayGanzhiIndex:k}=J.calendar||{},{randomOf:B,isSeed:pe}=J.random||{},{interpret:Ie,DIRECTIONS:de,DIRECTION_DEFAULT:Ae}=J.interpret||{},{followup:Se,askPrompt:Ge}=J.followup||{},{crossCheck:Te,crossText:Be,crossSection:Qe}=J.crosscheck||{},{pastSignals:ne,verifyFit:ae}=J.verify||{},{rectifyBirth:T}=J.rectify||{},{buildAlmanac:h}=J.almanac||{},{buildZeri:E}=J.zeri||{},{buildChenggu:ze}=J.chenggu||{},{buildXiaoliuren:Le}=J.xiaoliuren||{},{buildStar:Je}=J.star||{},{buildNumerology:en}=J.numerology||{},{buildMbti:Ve,mbtiPaper:Ue}=J.mbti||{},{buildConvert:Ze}=J.convert||{},{classicsFor:xe,classicsText:nn,suiyunClassicOf:cn,classicOf:We,CLASSIC_BOOKS:rn}=J.classics||{},{diffObjects:hn,summarize:dn,sortDiffs:fn,labelOf:gn,rootOf:yn,categoryOf:pn,formatValue:bn,CALIBER_SWITCHES:En}=J.diff||{},{canonicalJson:Pn,fingerprintOf:Mn}=J.fingerprint||{},{buildTrend:xn}=J.trend||{},{buildFengshui:wn}=J.fengshui||{},{buildName:vn}=J.name||{},{buildTrace:Sn,SYSTEM_LABEL:_n}=J.trace||{},{fail:Re}=J.fail||{},{assertCivil:Gn}=J.validate||{},An=e=>String(e).padStart(2,"0"),Ln=["male","female"];function Nn(e,i){return i===2?e%4===0&&e%100!==0||e%400===0?29:28:[31,28,31,30,31,30,31,31,30,31,30,31][i-1]}function ln(e,i=""){if(Ln.includes(e))return e;const n=e==null||e===""?"(未提供)":`「${e}」`;throw Re("E_INPUT",`${i?i+"的":""}gender 必须是 male 或 female${n};性别决定大运/大限顺逆,不能靠默认值`)}const Tn=["brightnessSchool","gengYearSihua","tianmaSchool","tiankongSchool","jiekongSchool","kuiyueSchool","tianshiTianshang","changshengSchool","lateZishi","shenzhuSchool"];function qn(e){const i={};for(const n of Tn)e[n]!==void 0&&(i[n]=e[n]);return e.schools&&typeof e.schools=="object"&&(i.schools=e.schools),i}function De(e){if(typeof e!="string"||!e.trim())throw Re("E_INPUT","缺少 datetime(公历日期时间),例如 1990-05-12T14:30");const i=e.trim().match(/^(\d{4})-(\d{1,2})-(\d{1,2})(?:[T\s](\d{1,2}):(\d{1,2})(?::(\d{1,2}))?)?$/);if(!i)throw Re("E_INPUT",`无法解析 datetime:「${e}」,请用 1990-05-12T14:30 这种格式`);const n={year:Number(i[1]),month:Number(i[2]),day:Number(i[3]),hour:Number(i[4]??0),minute:Number(i[5]??0)};if(n.month<1||n.month>12)throw Re("E_INPUT",`月份超出范围:${n.month}`);const t=Nn(n.year,n.month);if(n.day<1||n.day>t)throw Re("E_INPUT",`日期不存在:${n.year}-${n.month}-${n.day}(${n.year} 年 ${n.month} 月只有 ${t} 天)`);if(n.hour>23||n.minute>59)throw Re("E_INPUT",`时间超出范围:${n.hour}:${n.minute}`);if(n.year<1600||n.year>2400)throw Re("E_RANGE",`年份 ${n.year} 超出可计算范围(1600–2400)`);return(n.year<1900||n.year>2100)&&(n.precision={level:"approx",note:`ΔT 模型仅覆盖 1900–2100,${n.year} 年按端点值外推,节气与朔望时刻可能有分钟级偏差,月柱在交节前后需复核`}),n}function Cn(e){const i=e.pillars,n=(p,je)=>`${p}:${je.ganzhi} ${je.stemTenGod?`十神 ${je.stemTenGod} `:""}藏干 ${je.hidden.map(_e=>`${_e.stem}(${_e.tenGod})`).join(" ")} 纳音 ${je.nayin} 地势 ${je.dishi} 自坐 ${je.zizuo} 空亡 ${je.kongwang.join("")}`+(je.shensha&&je.shensha.length?` 神煞 ${je.shensha.join("、")}`:""),t=Object.entries(e.wuxing).map(([p,je])=>`${p}${je}`).join(" "),r=e.palaces?`【胎元】${e.palaces.taiyuan.ganzhi} 胎息 ${e.palaces.taixi?e.palaces.taixi.ganzhi:"—"} 命宫 ${e.palaces.minggong.ganzhi} 身宫 ${e.palaces.shengong.ganzhi}`:"",I=e.dayun.list.slice(0,8).map(p=>`${p.startAge}岁 ${p.ganzhi}(${p.stemTenGod})${p.luck?`·${p.luck.tier}`:""}${p.relations&&p.relations.length?`[${p.relations.join("")}]`:""}`).join(" "),q=e.dayun.jiao&&e.dayun.jiao.at?`;交运 ${e.dayun.jiao.at}(${e.dayun.jiao.frame},距${e.dayun.jiao.from.name} ${e.dayun.jiao.spanDays} 天,三日折一年)`:"",P=e.jieqi.nearBoundaryMinutes<20?`
|
|
108
|
-
⚠ 出生时刻距「节」仅 ${e.jieqi.nearBoundaryMinutes} 分钟,而节气时刻本身有最多约 14 分钟的偏差,月柱与年柱建议人工复核。`:"",
|
|
109
|
-
`)+
|
|
110
|
-
`)}const
|
|
111
|
-
`)}function
|
|
112
|
-
`)}const i=
|
|
113
|
-
`)}function
|
|
114
|
-
`)}function
|
|
115
|
-
`)}function
|
|
116
|
-
`)}function
|
|
117
|
-
`)},
|
|
118
|
-
`)}function
|
|
86
|
+
读法:岁运并临、运年反吟、大运与流年的伏吟/反吟只说明干支层面重复或对冲,传统上当作「变动感较强」的信号;本插件不据此判吉凶,要落到具体年份,仍看该年是否动到用神。大运与本命四柱的伏吟/反吟整步大运都在,会连续多年出现,不当成逐年加重。`+f:"近十年没有岁运并临、运年反吟或大运/流年伏吟、反吟。「岁运并临主大凶」这类说法流传很广,本插件只把它当变动提示,没有命中就不作额外解读。"}})(),{key:"checks",label:"交叉校验",text:(()=>{const t=re.reduce((V,ce)=>V+(Number($e[ce])||0),0),u=U.reduce((V,ce)=>V+(Number($e[ce])||0),0),f=[];if(f.push(t<u?`喜用合计 ${t.toFixed?.(1)??t} 低于忌神合计 ${u.toFixed?.(1)??u}:原局里"顺风的条件"偏少,靠行运与外部环境补更现实,别硬扛。`:`喜用合计 ${t} 不低于忌神合计 ${u}:原局自带可用的条件,行运只是把它放大或压住。`),Pe&&Ee){const V=["吉","大吉"];V.includes(Pe)&&!V.includes(Ee)?f.push("大运顺、当年逆:方向可以按大运走,具体动作挑流年的顺月做,不必因为一年不顺就推翻长期计划。"):!V.includes(Pe)&&V.includes(Ee)?f.push("大运逆、当年顺:今年适合借势处理具体事务,但不宜把长期结构性问题押在这一年解决。"):!V.includes(Pe)&&!V.includes(Ee)?f.push("大运与流年都偏逆:以守住基本盘为主,减少新增承诺。"):f.push("大运与流年同向偏顺:可以把想做但一直拖着的事排上日程。")}const N=v.tiaohou&&v.tiaohou.need?v.tiaohou:null;return N&&f.push(N.clash?`调候要${N.need.stem}${N.need.element},扶抑不在喜用里:两套取法有分歧,本盘按调候优先——寒暖失衡时,再补强弱也难受。`:`调候要${N.need.stem}${N.need.element},与扶抑用神同向:取用上不打架,${N.need.element}相关的行业与环境优先。`),f.join(" ")})()},{key:"yongshen",label:"用神与忌神",text:`喜用:${D(re)}(对应十神:${D(v.favorTenGods||v.favorRoles||[])});忌:${D(U)}(对应十神:${D(v.avoidTenGods||v.avoidRoles||[])})。`+ze+`${y(v,"detail","")}`},...Z?[{key:"climate",label:"寒暖燥湿",text:`${Z.narration}${Z.need?`调候取${Z.need.stem}${Z.need.element},忌${Z.avoidElement}${Q.some(t=>t.element===Z.avoidElement)?"(有争议:该行在扶抑中为喜,见用神节)":""};${Z.clash?"与扶抑冲突,本盘以调候为先":Q.some(t=>t.element===Z.avoidElement)?"调候所忌在扶抑里为喜,两说并存":"与扶抑同向"}`:"气候平和,调候不作主取"}。`}]:[],...v.qt?[{key:"qiongtong",label:"穷通宝鉴",text:`${v.qt.label}:用神 ${v.qt.yong.join("、")}(首取 ${v.qt.primary})。原文:「${v.qt.quote}」(《穷通宝鉴》第 ${v.qt.chapter} 章${v.qt.note?";"+v.qt.note:""})`}]:[],...s.palaces?[{key:"palaces",label:"胎命身",text:`胎元 ${s.palaces.taiyuan.ganzhi}(月干进一、月支进三);${s.palaces.taixi?`胎息 ${s.palaces.taixi.ganzhi}(日干五合、日支六合);`:""}命宫 ${s.palaces.minggong.ganzhi}、身宫 ${s.palaces.shengong.ganzhi}(生月与生时两支合数定宫,天干随六十甲子)。四宫是读盘的辅助坐标,不单独折吉凶。`}]:[],{key:"geju",label:"格局依据",text:(Array.isArray(T.geju)?T.geju:[]).map(t=>`${t.name}(${t.kind}${t.status?`·${t.status}`:""}):${t.evidence}${Array.isArray(t.breaks)&&t.breaks.length?`;破:${t.breaks.join(";")}`:""}`).join(";")||"未取到格局"},...Array.isArray(s.classics)&&s.classics.length?[{key:"classics",label:"古籍原文",text:s.classics.map(t=>`《${gn[t.book].name}·${t.chapter}》「${t.quote}」——${t.plain}`).join(`
|
|
87
|
+
`)}]:[],{key:"quant",label:"量化口径",text:`本报告的量化只到「档位」:事业看十神权重(${K} ${le[0]?.[1]??"—"})、财富看财星权重(${be.财??0})、感情看配偶星权重(${he} ${be[he]??0});大运/流年用「大吉 / 吉 / 平 / 忌」四档。不换算金额、不给健康诊断——那需要地域、家庭、行业与体检数据,命盘本身推不出来。`},{key:"limits",label:"未纳入",text:'本盘没有计算:流月与流日、神煞的加权轻重、地支藏干的动态引化(合冲后再论)。取用按「调候优先、扶抑校验」;调候由月令与全局寒暖燥湿判定,并按《穷通宝鉴》120 格给出用神顺序(整理表口径,原文摘句照录,异文处已标 note);各派取法仍有分歧;真太阳时未含历史时区与夏令时。把这些补上会改变"强弱"的边际判断,所以这里只给方向,不下断语。'}],i=[{key:"overall",label:"整体",text:`${ae},喜${D(re)||"—"}、忌${D(U)||"—"}${ge.length?`(${D(ge.map(t=>t.element))} 近零·中性偏忌)`:""}`},{key:"career",label:"事业",text:`主格${H},${K}偏旺`},{key:"wealth",label:"财富",text:`财星权重 ${be.财??0}${re.includes("金")?",喜金助财":""}`},{key:"love",label:"感情",text:`${he}星权重 ${be[he]??0},日支 ${y(s.pillars?.day,"branch","—")}`},{key:"rhythm",label:"节奏",text:`当前${y(qe,"ganzhi","—")}(${Pe}),${y(q,"year","")} ${y(q,"ganzhi","")}(${Ee})`}],a=[{key:"dayun",title:"大运表",columns:["大运","年龄","交运","十神","档位","理由"],rows:Be.map(t=>[t.ganzhi,`${t.startAge}–${t.startAge+9}`,t.fromDate||"—",t.stemTenGod||"",t.luck?.tier||"平",(t.luck?.reasons||[]).join(",")])},{key:"liunian",title:"流年表(近十年)",columns:["年份","干支","十神","档位","与原局"],rows:(s.liunian||[]).slice(0,10).map(t=>[String(t.year),t.ganzhi,t.stemTenGod||"",t.luck?.tier||"平",(t.relations||[]).join("、")])}],n=(s.liunian||[]).filter(t=>Array.isArray(t.relations)&&t.relations.length).slice(0,10).map(t=>[String(t.year),t.relations.join("、"),`流年${t.ganzhi}与原局地支:${t.relations.join("、")}`]);return n.length&&a.push({key:"triggers",title:"触发事件表",columns:["年份","触发","依据"],rows:n}),{lead:"下面按五个维度拆开说。所有内容来自你这张命盘的结构,讲的是倾向与建议,不是预言——方向供你参考,怎么走在你自己。",dimensions:vn,sections:e,outline:i,tables:a}}const nn=Object.keys(E);function Fe(s,$){return(s.palaces||[]).find(S=>S.palace===$)||null}function Ze(s){if(!s)return null;const $=(s.stars||[]).find(S=>nn.includes(S.name));return $?$.name:null}function xe(s){return(s?.stars||[]).filter($=>$.type==="煞星").map($=>$.name)}const tn=["禄","权","科","忌"];function fn(s){const $=Array.isArray(s?.palaces)?s.palaces:[],S=new Map;for(const re of $)for(const U of re.stars||[])!U||!U.mutagen||S.has(U.name)||S.set(U.name,{type:U.mutagen,palace:re.palace||null});const T=y(s,"yearGanzhi",""),v=typeof T=="string"?T.slice(0,1):"",Z=z[v]||{},$e={};for(const[re,U]of Object.entries(Z))$e[U]=re;const ae=[];for(const re of tn){let U=$e[re]||"";if(!U){for(const[ge,ze]of S)if(ze.type===re){U=ge;break}}if(!U)continue;const Q=S.get(U);ae.push({star:U,type:re,palace:Q?Q.palace:null})}return ae}function Qe(s){return!Array.isArray(s)||!s.length?"":s.map($=>$.palace?`${$.star}化${$.type}于${$.palace}`:`${$.star}化${$.type}(未上盘)`).join("、")}function dn(s){const $=Fe(s,"命宫")||(s.palaces||[])[0],S=Fe(s,"官禄"),T=Fe(s,"财帛"),v=Fe(s,"夫妻"),Z=Fe(s,"疾厄"),$e=Fe(s,"迁移"),ae=Ze($),re=Ze($e),U=nn.includes(y(s,"lifeMaster"))?s.lifeMaster:null;let Q=ae||re||U||"紫微";const ge=ae?`你的命宫主星是${Q}`:re?`你的命宫无正曜,按紫微的规则借对宫(迁移)来看,主星是${Q}`:`你的命宫与对宫都没有正曜,这里按命主星${Q}来看`,ze=E[Q]||E.紫微,H=j=>xe(j).filter(Y=>o.includes(Y)),te=Ze(S),m=Ze(T),he=Ze(v),Se=Ze(Z),Be=j=>(j?.stars||[]).filter(Y=>Y.type==="主星"),qe=(j,Y)=>(j?.stars||[]).find(me=>me.name===Y)?.brightness||"",Ie=j=>x(Be(j).map(Y=>Y.name)),Pe=ne(Q)||{},q=M(qe($,Q)),Te=Ie($),Ee=(j,Y)=>Y?`${j&&j.tone==="bad"?Y.dim:Y.bright}。`:"",be=Number(y(s.liunian?.[0],"age",NaN));let le=null;for(const j of s.palaces||[]){const Y=j.daxian||{};Number.isFinite(be)&&Number(Y.start)<=be&&be<=Number(Y.end)&&(le=j)}const K=Array.isArray(s.patterns)?s.patterns:[],Oe=K.length?K.slice(0,3).map(j=>`${j.name}(${j.tone==="good"?"偏吉":j.tone==="bad"?"需留意":"中性"}:${j.evidence})`).join(";"):"本盘未触发常见格局条目",pe=Array.isArray(s.liunian?.[0]?.mutagen)?s.liunian[0].mutagen.slice(0,4).join("、"):"",Le=fn(s),Xe=Qe(Le),on=[{key:"overall",label:"整体运势",text:`${ge}${q?`(${q.word}——${q.plain})`:""},性格底色上${ze.trait}。`+(Te?`${Te.gist};${Te.watch}。`:"")+`本盘${Oe}。当前大限走在${le?`${le.palace}(${le.daxian.start}–${le.daxian.end}岁)`:"当前阶段"},${pe?`流年四化为${pe},本年的变化感主要落在这几颗星上`:"流年四化信号不明显"}。`+(s.flow?`再往下一层,当前流月命宫是${s.flow.month.ganzhi},落在原局${s.flow.month.palace||"未上盘"},本月的变化更容易在这一宫代表的事情上显出来。`:"")+(Xe?`另外你本命的生年四化落在:${Xe}——这是你这辈子比较稳定的底色,不随某一年改变。`:""),advice:(()=>{const j=le?le.palace:"命宫",Y=R(j);return`这一阶段的主题更接近「${j}」——${Y?Y.field:"这一宫代表的事"}。把它当作这几年的主线,其余安排围着它让路;${Pe.gift?`你最顺手的做法是${Pe.gift}`:`你的优势在${ze.trait}`},但要留意${Pe.watch||"用它用过了头"}。`})(),evidence:[`命宫 ${Q}${ae?"":"(借对宫)"}`,le?`大限 ${le.palace} ${le.daxian.start}–${le.daxian.end}岁`:"",pe?`流年四化 ${pe}`:"",`格局 ${K.length} 条`].filter(Boolean)},{key:"work",label:"工作与职业选择",text:(()=>{const j=M(qe(S,te)),Y=Ie(S),me=H(S);return`命宫${Q}给你的是底层偏好:${ze.work}。官禄宫${te?`主星为${te}${j?`(${j.word})`:""},${E[te]?.work||"有其自身的做事方式"}`:"无正曜,工作方式更多受环境与他人影响,适合配合型岗位"}。`+(Y?`${Y.gist};要留意${Y.watch}。`:"")+(me.length?`官禄宫又见${D(me)}:${b(me)}`:"")+`两者合起来看,你更适合${te&&te!==Q?`用${Q}的方式去做${te}擅长的事`:"在稳定的框架里发挥自己的特点"}。`})(),advice:`挑工作时可以先看岗位内容是否匹配上面这条;如果暂时不能换,试着在现有岗位里争取靠近这部分的事务——${Pe.gift?`把「${Pe.gift}」这类活往自己身上揽,比硬熬更容易做出成绩`:"先做出一件拿得出手的事,比硬熬更容易被看见"}。`,evidence:[`命宫 ${Q}${q?`·${q.word}`:""}`,`官禄 ${te||"无正曜"}`,`财帛 ${m||"无正曜"}`,...H(S).length?[`官禄煞星 ${D(H(S))}`]:[]]},{key:"career",label:"事业发展",text:(()=>{const j=M(qe(T,m)),Y=Ie(T);return`财帛宫${m?`见${m}${j?`(${j.word})`:""},${E[m]?.trait||""}`:"无正曜"},官禄宫${te||"无正曜"},${m&&te?"财与事业两宫都有主星坐守,说明这两块是可以主动经营的部分":"有一宫无主星,说明该块更容易受外部条件牵动,宜借势而非强求"}。`+(Y?`${Y.gist}。`:"")+`大限推进上,${le?`目前落在${le.palace},这一宫管${R(le.palace)?.field||"这一段的事"}`:"当前阶段"},下一步会转入相邻的宫位,重心也会跟着挪。`})(),advice:`事业上建议做两件事:一是把可积累的东西(技能、资质、作品)做厚;二是${te?`发挥${te}的优势——${E[te]?.trait||""}`:"找一个能带你的前辈或平台"}。遇到四化化忌的年份,先守成再谈扩张。`,evidence:[`财帛 ${m||"无正曜"}`,`官禄 ${te||"无正曜"}`,le?`当前大限 ${le.palace}`:""].filter(Boolean)},{key:"love",label:"爱情与感情",text:(()=>{const j=M(qe(v,he)),Y=Ie(v),me=H(v);return`夫妻宫${he?`主星为${he}${j?`(${j.word})`:""},感情上的倾向是${E[he]?.love||"有自己相处的节奏"}`:"无正曜,关系状态更多由对方与互动方式决定"}。`+(Y?`${Y.gist}。`:"")+`${me.length?`夫妻宫同时见${D(me)}:${b(me)}煞星不等于定局,更多是提醒你留意沟通方式。`:"夫妻宫未见明显煞星,关系的基调相对平顺。"}`+(Pe.watch?`另外,你自带的${Pe.watch}这一面,在亲密关系里最容易被放大。`:"")})(),advice:`感情里${he?`参考${he}的特点:${E[he]?.love||""}`:"可以更主动地表达自己的需求"}。有分歧时先说清事实与感受,别急着下结论;关系的好坏取决于两个人怎么做,不取决于这张盘。`,evidence:[`夫妻宫 ${he||"无正曜"}`,`煞星 ${D(xe(v))||"无"}`,`夫妻宫支 ${v&&v.branch?v.branch:"—"}`]},{key:"health",label:"健康状况",text:(()=>{const j=M(qe(Z,Se)),Y=H(Z);return`疾厄宫${Se?`见${Se}${j?`(${j.word})`:""},传统取象上${E[Se]?.health||"需要留意自身的薄弱环节"}`:"无正曜,身体状态更多受生活作息直接影响"}。`+(Y.length?`同时见${D(Y)},按星情只是「${r(Y)}」这一层,提示这一块值得比其他部位多一分留意。`:"")+"这些都是象征性的提示,不构成任何医学判断。"})(),advice:`把${Se&&E[Se]?.health?.replace("留意","").replace("需要留意","")||"常规"}当作体检时重点关注的参考;真正管用的还是规律作息、适度运动与定期检查。身体不舒服请直接就医。`,evidence:[`疾厄宫 ${Se||"无正曜"}`,`煞星 ${D(xe(Z))||"无"}`]}],$n=R("命宫"),Je=y(s.body,"lands",""),En=R(Je),xn=[`命宫落在${$.branch}(${$&&$.ganzhi?$.ganzhi:"—"}),主星${Q}${q?`·${q.word}`:""}——这一宫管${$n?$n.field:"你自己"},${Pe.gift?`你身上最能用出去的是${Pe.gift}`:ze.trait}。`+(Pe.gift?Ee(q,Pe):""),Te?`${Te.gist};要留意的是${Te.watch}。`:"",Je?`身宫寄在${Je}——${En?`${En.field}是后天更容易使上劲的地方`:"这是后天着力点"},中年以后会越来越明显。`:"",`五行局为${y(s.bureau,"name","—")},${y(s.daxian,"startAge","—")}岁起运:局定的是节奏(几步起、十年一换),不是好坏。`,`命主${y(s,"lifeMaster","—")}、身主${y(s,"bodyMaster","—")}:传统把这两颗当作整张盘的定调星,命主看底色,身主看后半程的着力点。`].filter(Boolean).join(`
|
|
88
|
+
`),Sn=j=>String(j||"").replace(/。$/,""),ln=`十二宫从命宫逆排,每宫管一件事。看一宫不能只看本宫,还要并上它的三方四正(本宫+对宫+两个三合宫)——下面先逐宫摊开,再回到整体。
|
|
89
|
+
${(s.palaces||[]).map(j=>{const Y=Be(j),me=xe(j),Me=(j.stars||[]).filter(n=>n.type==="辅星"||n.type==="吉星").map(n=>n.name),Re=(j.stars||[]).filter(n=>n.mutagen).map(n=>`${n.name}化${n.mutagen}`),Ne=(j.selfHua||[]).map(n=>`自化${n.type}`),e=`【${j.palace}·${j.branch}】${Y.length?Y.map(n=>`${n.name}${n.brightness||""}`).join("·"):"无正曜"}`+(Me.length?`|吉 ${Me.slice(0,3).join("、")}`:"")+(me.length?`|煞 ${me.join("、")}`:"")+(Re.length||Ne.length?`|${[...Re,...Ne].join("、")}`:""),i=[];if(Y.length){const n=x(Y.map(u=>u.name)),t=ne(Y[0].name);n?i.push(n.gist):t&&i.push(t.gift)}else{const n=Ze(Fe(s,(j.sanfang||[])[3]));i.push(n?`无正曜,借对宫${n}来看`:"无正曜,这一宫随环境走")}Me.length&&i.push(l(Me)),me.length&&i.push(b(me));for(const n of(j.stars||[]).filter(t=>t.mutagen).slice(0,2))i.push(h(n.mutagen,j.palace));const a=i.filter(Boolean).map(Sn).join(";");return`${e}
|
|
90
|
+
${a}。`}).join(`
|
|
91
|
+
`)}`,vn=[{tone:"good",label:"有利格局"},{tone:"neutral",label:"结构提示"},{tone:"bad",label:"忌格提醒"}].map(j=>{const Y=K.filter(me=>(me.tone||"neutral")===j.tone);return Y.length?{key:`pattern-${j.tone}`,label:j.label,tone:j.tone==="neutral"?"watch":j.tone,text:Y.map(me=>{const Me=d(me.name,me.tone),Re=me.status==="broken"&&Array.isArray(me.breaks)&&me.breaks.length?`
|
|
92
|
+
破格:${me.breaks.join(";")}${me.breakRule?`(${me.breakRule})`:""}`:"";return`**${me.name}** ${Me.gist}
|
|
93
|
+
依据:${me.evidence}${Re}
|
|
94
|
+
做法:${Me.advice}`}).join(`
|
|
95
|
+
`)}:null}).filter(Boolean);vn.length||vn.push({key:"pattern-none",label:"格局",text:"本盘未触发内置的常见格局条目。这不代表盘面平淡——格局只是把若干星位组合起个名字,没命中时按宫位与四化逐条看即可。"});const Ue=[];if(Pe.gift&&Ue.push(`把「${Pe.gift}」做成招牌:${q&&q.tone==="bad"?`${Q}在这宫不得地,长处不会自己显出来,越要挑能发挥它的场子`:`${Q}${q?`·${q.word}`:"在命宫"},顺着这条走最省力`}。`),le&&le.daxian){const j=R(le.palace);Ue.push(`这几年主线在${le.palace}(${le.daxian.start}–${le.daxian.end}岁):${j?j.field:"这一宫的事"}排前面,力气别摊平。`)}const We=Le.find(j=>j.type==="忌");if(We&&We.palace){const j=R(We.palace);Ue.push(`生年化忌落在${We.palace}:${j?j.huaJi:"这一块容易反复"}——别硬顶,把预期调低一点反而顺。`)}const cn=H($);cn.length&&Ue.push(`命宫见${D(cn)}:${b(cn)}`);const mn=H(v);mn.length&&!cn.length&&Ue.push(`夫妻宫见${D(mn)}:${b(mn)}`);const Ln=Ue.slice(0,4).map((j,Y)=>`${"①②③④"[Y]} ${Sn(j)}`).join(`
|
|
96
|
+
`)||"这张盘的结构比较平,没有单点特别突出——按现有节奏走,把一件事做完整比开新头更划算。",hn=[{key:"identity",label:"命身底色",text:xn},{key:"palaces",label:"逐宫分析",text:ln},...vn,{key:"advice",label:"行动建议",text:Ln},{key:"reasoning",label:"看盘顺序",text:[`① 先看命宫:${ge}${ze.trait?`,底色是「${ze.trait}」`:""}。命宫回答的是"你是谁",不是"会遇到什么"。`,`② 再看三方四正:${$&&$.sanfang?$.sanfang.join("、"):"命/财/官/迁"},会到的主星是${(()=>{const j=($&&$.sanfang?$.sanfang:[]).map(me=>Ze(Fe(s,me))).filter(Boolean),Y=[...new Set(j)];return Y.length?Y.join("、"):"无正曜"})()}——这是你与外界打交道时的常用手法。`,Xe?`③ 生年四化:${Xe}。四化比星曜更能指出"你在意什么、哪里会反复"。`:"③ 生年四化:本盘四化信号不明显。",`④ 大限:${le?`${le.palace}(${le.daxian.start}–${le.daxian.end}岁)`:"当前阶段"}。紫微里大限比流年重:十年的主题定下来,流年只是其中一年的天气。`,pe?`⑤ 流年四化:${pe}${s.flow&&s.flow.month?`;流月命宫 ${s.flow.month.ganzhi}${s.flow.month.palace?`(${s.flow.month.palace})`:""}`:""}。`:"⑤ 流年四化:信号不明显。","⑥ 落到维度:工作看命宫与官禄的配合;感情看夫妻宫与煞星;健康看疾厄宫——五维度都是上面几步的应用。"].join(`
|
|
97
|
+
`)},{key:"timeline",label:"时间窗",text:(()=>{const j=(s.daxianList||[]).slice().sort((Ne,e)=>Ne.ages[0]-e.ages[0]),Y=j.findIndex(Ne=>Number.isFinite(be)&&be>=Ne.ages[0]&&be<=Ne.ages[1]),Me=j.slice(Y>=0?Y:0,(Y>=0?Y:0)+3).map(Ne=>`${Ne.palace} ${Ne.ages[0]}–${Ne.ages[1]}岁·会${(Ne.mainStars||[]).join("")||"—"}${(Ne.mutagenHits||[]).length?`·${Ne.mutagenHits.map(e=>e.star+e.type).join("")}`:""}`).join(" → "),Re=(s.liunian||[]).slice(0,5).map(Ne=>`${Ne.year} ${Ne.ganzhi} ${Ne.age}岁·命宫${Ne.lifePalace?Ne.lifePalace.palace:"—"}`).join(";");return`大限:${Me||"—"}。
|
|
98
|
+
近五年流年:${Re||"—"}。
|
|
99
|
+
读法:大限定十年的主题,流年四化指出今年往哪边偏;两层方向相反时,以守住大限主题为主。`})()},{key:"quant",label:"量化口径",text:"紫微这边只数「宫位里有什么」:大限看落宫与四化命中数、流年看命宫与四化星数;不把星曜折算成分数,也不预测金额与疾病诊断。四化命中数只是结构计数,不等于吉凶强度。"},{key:"limits",label:"未纳入",text:"本盘没有计算:小限与大限的加权、流日流时的具体事项定位、双星组合的强弱细分,以及「三方四正一起飞」的复合飞化(这里只跟单一支化逐宫串连)。四化表取中州派常用口径,其他流派(如飞星派)结论会不同;这些不改变盘面事实,只影响轻重,所以只作方向参考。"}];if(Le.length){const j=Le.find(Me=>Me.type==="科")||null,Y=Me=>`${Me}${String(Me).endsWith("宫")?"":"宫"}`,me=j?`其中化科是${j.star}${j.palace?`落在${Y(j.palace)}`:"未上盘"},`:"";hn.push({key:"sihua",label:"生年四化",text:`你出生年的天干定下四颗化星,落在:${Xe}。读法上,化禄的宫位做起来比较顺手、也容易有人帮忙;化权的宫位偏向由你拿主意、但也更容易用力过猛;化科的宫位自带一层体面与贵人缘,遇到事多半能体面收场;化忌的宫位是你容易在意、也容易反复的地方。${me}这几处只是长期倾向,落到具体某一年还要配上流年四化一起看,不必把它当成结论。`})}{const j=s.flyChains,Y=me=>`${me}${String(me).endsWith("宫")?"":"宫"}`;if(j){const me=e=>{const i=j[e];if(!i||!i.steps.length)return`${e}:命宫这一干不化${e}星`;const a=i.steps.map(n=>`${Y(n.from)}(${n.fromStem})化${e}${n.star}→${Y(n.to)}(${n.toBranch})`).join(";");return`${e}:${a}${i.closed?`,绕回${Y(i.path[i.path.length-1])}成环`:""}`},Me=(s.fly||[]).flatMap(e=>(e.flies||[]).filter(i=>i.self).map(i=>`${Y(e.palace)}(${e.stem})化${i.type}${i.star}落回本宫`)),Re=j.忌,Ne=Re&&Re.steps.length?`忌这一条最值得盯:${Y(Re.from)}化忌入${Y(Re.steps[0].to)},${Y(Re.steps[0].to)}的宫干再化忌往下一宫去,${Re.closed?`最后绕回${Y(Re.path[Re.path.length-1])}`:"走到没有可落的星就停下"}——这条线就是你反复着力的那一圈,${Re.closed?"环越短越容易在同一组宫位上打转(传统说「忌出不去」)":"没成环表示这条力还有落点没走完"}。`:"命宫这一干化忌未上盘,忌线不成立。";hn.push({key:"fly",label:"四化飞星",text:`生年四化说的是「一出场就带着什么」,飞星四化说的是「这一宫自己会去找谁」:宫干定出四颗化星,星落到哪一宫,这一宫的力就往哪边使。从命宫出发,四条线各串一遍——${me("禄")};${me("权")};${me("科")};${me("忌")}。${Ne}另外,四化落回本宫的是自化:${Me.length?Me.join("、")+"——自己化出去又回到自己,常表现为「说得多、落得少」或一阵一阵的劲头":"本盘没有自化"}。这一层只描方向与牵引,不断吉凶:同样是化忌入某宫,落在生年忌上还是落在生年禄上,味道完全不同,得并着生年四化看。`})}}{const j=s.flyComposite,Y=me=>`${me}${String(me).endsWith("宫")?"":"宫"}`;if(j&&Array.isArray(j.sources)&&j.sources.length>=2){const me=j.targets.filter(Ne=>Ne.count>=2),Me=me.length?me.slice(0,5).map(Ne=>`${Y(Ne.palace)}收了 ${Ne.incoming.map(e=>`${Y(e.from)}化${e.type}${e.star}`).join("、")}`).join(";"):"四宫化出去之后没有落在同一宫,力是散开的",Re=[];j.groups.doubleJi.length&&Re.push(`${j.groups.doubleJi.map(Ne=>Y(Ne.palace)).join("、")}收到两个以上的忌——同一件事被反复牵动,传统看作那一宫的事务容易拖着不放`),j.groups.luJi.length&&Re.push(`${j.groups.luJi.map(Ne=>Y(Ne.palace)).join("、")}禄忌同宫:好处与在意的地方绑在一起,越想要的东西越容易反复`),j.groups.tripleHua.length&&Re.push(`${j.groups.tripleHua.map(Ne=>Y(Ne.palace)).join("、")}三化以上会宫:那一宫同时被几种力牵住,常常是这张盘最忙的地方`),j.groups.selfHua.length&&Re.push(`${j.groups.selfHua.map(Ne=>Y(Ne.palace)).join("、")}自化:宫干化出去又落回自己,表现为力气绕回原处`),hn.push({key:"flyComposite",label:"三方四正飞化",text:`上一节是命宫一条线往下追;这一节把命宫连同对宫与两个三合宫(${j.sanfang.join("、")})一起飞:四宫各化禄权科忌,共 16 条飞化(星未上盘的只记星不记落宫),按落宫归堆。${Me}。${Re.length?`${Re.join(";")}。`:""}读法上,会在一处的化越多,那一宫被牵动的力道越集中;落单的飞化只说明方向,不单独取象。这一层同样只描会照与方向,不折吉凶,也没有叠大限与流年四化。`})}}if(s.flow){const j=s.flow,Y=Me=>`${Me.ganzhi||"—"}${Me.palace?`落${Me.palace}`:""}`,me=Me=>(Me.mutagenHits||[]).map(Re=>`${Re.star}化${Re.type}${Re.palace?`→${Re.palace}`:""}`).join("、");hn.push({key:"flow",label:"流月 · 流日 · 流时",text:`以 ${j.asOf.solar}(农历 ${j.asOf.lunar},流年 ${j.asOf.yearGanzhi},斗君 ${j.year.doujun})为准往下推:流月命宫 ${Y(j.month)},四化 ${me(j.month)||"不明显"};流日命宫 ${Y(j.day)},四化 ${me(j.day)||"不明显"};流时命宫 ${Y(j.hour)},四化 ${me(j.hour)||"不明显"}。这三层的读法不一样:流月管的是一整个月的节奏,适合拿来做「这个月该推进还是该收」的判断;流日和流时颗粒度太细,更容易被临时因素打断,看它们不如说是在看「今明两天的情绪底色」,不必逐条对号入座。`})}const yn=[{key:"overall",label:"整体",text:`命宫${Q}${ae?"":"(借对宫)"}${ze.trait?`,${ze.trait}`:""}`},{key:"career",label:"事业",text:`官禄${te||"无正曜"}`},{key:"wealth",label:"财富",text:`财帛${m||"无正曜"}`},{key:"love",label:"感情",text:`夫妻${he||"无正曜"}`},{key:"rhythm",label:"节奏",text:le&&le.daxian?`当前大限${le.palace}(${le.daxian.start}–${le.daxian.end}岁)${s.liunian?.[0]?.year?`,${s.liunian[0].year} 流年`:""}`:"当前大限未取到"}],An=(s.daxianList||[]).slice().sort((j,Y)=>j.ages[0]-Y.ages[0]),In=[{key:"daxian",title:"大限表",columns:["大限","年龄","会主星","四化"],rows:An.map(j=>[j.palace,`${j.ages[0]}–${j.ages[1]}`,(j.mainStars||[]).join("、"),(j.mutagenHits||[]).map(Y=>`${Y.star}${Y.type}→${Y.palace}`).join("、")])},{key:"liunian",title:"流年表(近六年)",columns:["年份","干支","年龄","命宫","四化"],rows:(s.liunian||[]).slice(0,6).map(j=>[String(j.year),j.ganzhi,String(j.age),j.lifePalace?j.lifePalace.palace:"—",(j.mutagen||[]).join("、")])}],On=An.flatMap(j=>(j.mutagenHits||[]).map(Y=>[`${j.palace}(${j.ages[0]}–${j.ages[1]}岁)`,`${Y.star}化${Y.type}→${Y.palace}`,`大限${j.palace}引动`])).slice(0,12);return On.length&&In.push({key:"triggers",title:"触发事件表(大限四化)",columns:["大限","触发","依据"],rows:On}),{lead:"紫微斗数看的是你与环境的互动方式。下面按五个维度拆开,讲的是性格与处境的倾向,具体怎么选仍然在你。",dimensions:on,sections:hn,outline:yn,tables:In}}function wn({benName:s,benUpper:$,benLower:S,bianName:T,bianUpper:v,bianLower:Z,movingLine:$e,moving:ae}){const re=ke(s,$,S),U=[{key:"guaCi",label:"卦名与卦辞大意",text:`本卦为「${re.full}」,卦辞大意是:${re.meaning}。这一卦讲的是事情当下的整体走势——你可以先记住这句,后面每个维度都会回到它。`},{key:"yaoCi",label:"爻辞与动爻",text:ae?en(ae.position,ae):"本卦无动爻,事情处于相对静止的状态,短期内变化的动力不强,宜按现状维持。"}];if(T){const Q=ke(T,v,Z);U.push({key:"bianGua",label:"变卦与走向",text:`动爻变化之后得到「${Q.full}」,${Q.meaning}。变卦往往指向事情后来的样子:从「${re.full}」走到「${Q.full}」,可以理解为局面会从${re.scene}转为${Q.scene}。`})}return U.push({key:"scene",label:"落到生活里",text:`把这一卦放进日常:${re.scene}。${T?`而后续的方向是${ke(T,v,Z).scene}。`:""}你可以对照着看看,眼下哪件事最像这个描述。`}),{sections:U,ben:re,bian:T?ke(T,v,Z):null}}const kn={妻财:"钱财、收入、订单,也指男命的妻缘",官鬼:"工作、职位、上司、考核,也指压力与疾病",父母:"文书、合同、学历、长辈、房子",子孙:"下属、客户、创意、消解压力的出口",兄弟:"同事、同行、竞争者,多与破财相关"};function qn(s,$){const S=_(s.ben)?s.ben:{},T=_(s.bian)?s.bian:{},v=Array.isArray(S.lines)?S.lines:[],Z=v.find(q=>q.moving)||null,{sections:$e,ben:ae,bian:re}=wn({benName:S.name,benUpper:S.upper,benLower:S.lower,bianName:T.name,bianUpper:T.upper,bianLower:T.lower,moving:Z}),U=v.find(q=>q.position===S.shi),Q=v.find(q=>q.position===S.ying),ge=y(S,"palaceElement",""),ze=Z?.liuqin||"",H=Z?.liushen||"",te=y(s.dayGanZhi,"name",""),m=_(s.body)?s.body:{},he=m&&Array.isArray(m.labels)?m.labels:C(m),Se=q=>v.filter(Te=>Te.liuqin===q).length,Be=q=>q?`${q.position}爻${q.liuqin}${q.liushen?"·"+q.liushen:""}${q.moving?"(动)":""}`:"—",qe=(...q)=>q.filter(Te=>Te!=null&&Te!=="");if($e.push({key:"liuqin",label:"六亲取用",text:`这一卦里,${ze?`动爻落在${ze}(${kn[ze]||""})`:"没有发动的六亲"}。如果你心里有具体问题,可以对号入座:${Object.entries(kn).map(([q,Te])=>`${q}主${Te.split(",")[0]}`).join(";")}。`}),$e.push({key:"reasoning",label:"看卦顺序",text:[`① 先定卦宫:本卦「${S.name||"—"}」属${String(y(S,"palace","—")).replace(/宫$/,"")}宫(${ge||"—"}),六亲由此排定——宫变了,同一个字的六亲就变了。`,`② 再看世应:世在${S.shi}爻(${U?`${U.liuqin}${U.liushen?`·${U.liushen}`:""}`:"—"}),应在${S.ying}爻(${Q?`${Q.liuqin}`:"—"});世代表你,应代表对方与环境。`,`③ 看动爻:${Z?`${Z.position}爻${Z.liuqin}${Z.liushen?`(${Z.liushen})`:""}发动,事情的变化点在这里`:"六爻安静,短期不会有大的转折"}。`,"④ 定用神:按所问之事取六亲——问工作看官鬼、文书看父母、求财与感情(男)看妻财、健康看官鬼与子孙;用神不上卦时,看伏神或借日月。",`⑤ 看日辰:${te||"—"}日起六神、定旬空;日辰能生克动爻,但不被爻所伤。`,`⑥ 看变卦:${T.name?`变出「${T.name}」,是事情后续的走向`:"本卦无变,以静卦论"}。以上每一步都能在下方「依据」里对上号。`].join(`
|
|
100
|
+
`)}),he.length){const q=pe=>[pe&&pe.inner?"内卦":"",pe&&pe.outer?"外卦":""].filter(Boolean).join("、"),Te=q(m.fanYin||{}),Ee=["inner","outer"].map(pe=>m.fanYin&&m.fanYin[pe]&&m.fanYin[pe].by).filter(Boolean).flat(),be=[];m.ben&&m.ben.chong&&be.push("本卦是六冲卦:六爻地支正好配成子午、寅申、辰戌三组对冲,传统读作「散」——事情起落快、成得急也散得急,急事与近病反而喜欢这股冲开的力量,拖了很久的人事则不容易凝聚。"),m.ben&&m.ben.he&&be.push("本卦是六合卦:六爻地支两两相合(子丑、寅亥、卯戌、辰酉、巳申、午未),传统读作「成」——容易谈拢,也容易拖住不放。"),m.bian&&m.bian.chong?be.push("变卦也是六冲:往后走偏「散」,收尾容易一拍两散,也可能是速战速决。"):m.bian&&m.bian.he&&be.push("变卦是六合:往后走偏「合」,收尾倾向于合拢、或者就这么延续下去。"),q(m.fuYin||{})&&be.push(`${q(m.fuYin||{})}伏吟:卦变了,纳甲地支却没变(六十四卦里只有乾与震共用子寅辰/午申戌,所以卦伏吟只会出在乾↔震互换)——传统说「伏吟主呻吟」,人想动、事情在原地打转,宜先看清楚再迈步。`),Te&&be.push(`${Te}反吟:变卦与本卦相冲,来源有两种——${Ee.includes("chong")?"地支三爻全冲":""}${Ee.includes("chong")&&Ee.includes("pair")?",或":""}${Ee.includes("pair")?"本卦之宫与变卦之宫在后天八卦上正对(乾巽、坎离、艮坤、震兑)":""}。传统说「反吟主反复」,去而复来、方案改来改去。`),m.yaoFanYin&&m.yaoFanYin.length&&be.push(`动爻反吟(第${m.yaoFanYin.join("、")}爻):变出的地支回头冲本爻,变化点本身在反复——动了又翻回来,等于绕一圈回到原处。`),m.yaoFuYin&&m.yaoFuYin.length&&be.push(`动爻伏吟(第${m.yaoFuYin.join("、")}爻):变出的地支与本爻同支,动了等于没动,想推的事会卡在同一道坎上。`);const le=(m.jinTui||[]).filter(pe=>pe.type==="进"),K=(m.jinTui||[]).filter(pe=>pe.type==="退");le.length&&be.push(`化进神(第${le.map(pe=>pe.position).join("、")}爻:${le.map(pe=>`${pe.from}→${pe.to}`).join("、")}):变出的地支与本爻同五行、且顺着往前一步,传统读作「进」——这一爻代表的人或事有后劲,往前走比退回去顺。`),K.length&&be.push(`化退神(第${K.map(pe=>pe.position).join("、")}爻:${K.map(pe=>`${pe.from}→${pe.to}`).join("、")}):变出的地支与本爻同五行、却倒着退一步,传统读作「退」——这一爻代表的人或事渐渐退气,别按原来的势头去推。`);const Oe=s.jinTuiPower;Oe&&Array.isArray(Oe.lines)&&Oe.lines.length&&be.push(`进退的力重(放回月建日辰看):${Oe.lines.map(pe=>`第${pe.position}爻${pe.say}`).join(";")}。进退只管方向,走不走得动看时令托不托着;用神化进为喜,忌神化进反而是忌。`),be.push("这些标签只说明卦体的动势,不直接定吉凶:同一支六冲,近病问的是速愈、久病问的是凶险;同一爻化进,也得看用神旺不旺、有没有月建日辰托着。"),$e.push({key:"body",label:"卦体关系",text:be.join(`
|
|
101
|
+
`)})}const Ie=de(s,{direction:$&&$.direction||s.useGod&&s.useGod.direction||"general",gender:s.useGod&&s.useGod.gender||"male"});if(Ie&&Ie.liuqin){const q=[];if(q.push(`所问方向取${Ie.byShi?"世爻":Ie.liuqin}为用神(${Ie.ask})${Ie.direction==="love"?`;感情按${Ie.gender==="female"?"女命看官鬼":"男命看妻财"}取,性别未给时按男命算`:""}。`),Ie.found.length)q.push(`用神在卦上:${Ie.found.map(K=>`${K.position}爻${K.ganzhi}${K.element}${K.liuqin}${K.liushen?`·${K.liushen}`:""}${K.shi?"(持世)":""}${K.ying?"(临应)":""}${K.moving?"(发动)":""}${K.kong?"(旬空)":""}`).join("、")}${Ie.side?`,落在${Ie.side}`:""}。`),Ie.found.length>1&&q.push("用神两现:传统取动者、取持世者、取旬空待填者,各派权重不同;这里只把几处都列出来,不替你选哪一爻当主用。");else if(Ie.fushen.length){q.push(`用神不上卦:本卦六爻里没有${Ie.liuqin},按「用神不上卦则于本宫首卦内寻之」,到${String(y(S,"palace","")).replace(/宫$/,"")}宫首卦取伏神——${Ie.fushen.map(Oe=>`${Oe.position}爻${Oe.ganzhi}${Oe.element},伏于飞神${Oe.fei?`${Oe.fei.liuqin}${Oe.fei.ganzhi}${Oe.fei.element}`:"—"}之下`).join(";")}。`),Ie.relationSay.length&&q.push(`飞伏生克:${Ie.relationSay.join(";")}。伏神要得出才算有力,藏在忌神之下且被克,则虽有如无。`);const K=s.fushenAccess;K&&Array.isArray(K.items)&&K.items.length&&(q.push(`伏神出伏的条件:${K.items.map(Oe=>Oe.say).join(";")}。`),q.push("「助」与「压」只把飞伏生克、月建日辰与月破并列摆出,再归成四档(可出 / 有助有压 / 受压难出 / 未得助);不排各家优先级,旬空只标出、不并入档位,也不给应期日期。"))}else q.push(`用神不上卦,且本宫首卦里也没找到${Ie.liuqin},这一问在卦面上没有直接对应物,只能借日月或改日再占。`);const Te=[];m.ben&&m.ben.chong&&Te.push("用神在六冲卦里:六冲主散,急事与近病借这股冲开的力量,缓事、久拖的人事则不容易凝聚"),m.ben&&m.ben.he&&Te.push("用神在六合卦里:六合主成,容易谈拢,也容易黏住不放"),m.bian&&m.bian.chong?Te.push("用神逢变六冲:往后走向偏散,收尾容易一拍两散,也可能是速战速决"):m.bian&&m.bian.he&&Te.push("用神逢变六合:往后走向偏合,倾向于合拢或就这么延续");for(const K of["inner","outer"]){const Oe=K==="inner"?"内卦":"外卦";m.fuYin&&m.fuYin[K]&&Te.push(`用神在${Oe}伏吟:动而地支未变,想推的事卡在原地`),m.fanYin&&m.fanYin[K]&&Te.push(`用神在${Oe}反吟:变卦与本卦相冲,用神这一头去而复来、定了又改`)}const Ee=(m.jinTui||[]).filter(K=>K.type==="进"&&Ie.found.some(Oe=>Oe.position===K.position)),be=(m.jinTui||[]).filter(K=>K.type==="退"&&Ie.found.some(Oe=>Oe.position===K.position));Ee.length&&Te.push(`用神化进神(${Ee.map(K=>`${K.from}→${K.to}`).join("、")}):这一爻有后劲,顺着推比退回去顺`),be.length&&Te.push(`用神化退神(${be.map(K=>`${K.from}→${K.to}`).join("、")}):这一爻渐渐退气,别按原来的势头硬推`),Ie.found.some(K=>K.kong)&&Te.push("用神旬空:事情先悬着,传统说空要出空、填实才算落地"),Ie.found.some(K=>(m.yaoFanYin||[]).includes(K.position))&&Te.push("用神这一爻动而反吟:变化点本身在反复,动了又翻回来"),Ie.found.some(K=>(m.yaoFuYin||[]).includes(K.position))&&Te.push("用神这一爻动而伏吟:动了等于没动,容易卡在同一道坎上"),Te.length&&q.push(`与卦体对起来看:${Te.join(";")}。`);const le=s.useGodStrength;if(le&&le.lines&&le.lines.length){const K=le.month&&le.month.branch?`月建 ${le.month.branch}(${le.month.element})`:"没有月建(未给起卦时间),只按日辰看",Oe=le.lines.map(pe=>{const Le=pe.monthChong?",遭月建冲(月破)":pe.dayChong?pe.kong?",日辰冲空":pe.moving?",逢日辰冲":",日辰冲而暗动":"";return`${pe.position}爻${pe.branch}${pe.element}:月建${pe.monthState}(${pe.monthSay}),${pe.dayRelation}(${pe.daySay})${Le}`});q.push(`时令对用神:${K},日辰 ${le.day?`${le.day.branch}(${le.day.element})`:"—"}。${Oe.join(";")}。`),q.push("月建看这一段时令站在哪一边,日辰看当天那股力量是扶还是克;两处同时看,只报状态,不折成分数。")}q.push("这一层只把用神、卦体与时令对起来,不折成分数、不断成败;应期另在「应期线索」一节只给触发支与快慢。"),$e.push({key:"yongshen",label:"用神落位与卦体",text:q.join(`
|
|
102
|
+
`)})}{const q=s.yingqi;if(q&&Array.isArray(q.items)&&q.items.length){const Te=q.items.map(Ee=>{const be=[Ee.monthState&&Ee.monthState!=="unknown"?`月建${Ee.monthState}`:"",Ee.monthChong?"月破":"",Ee.kong?"旬空":""].filter(Boolean).join("、");return`${Ee.position}爻${Ee.branch}${Ee.element}${be?`(${be})`:""}:${Ee.tempoSay}`});$e.push({key:"yingqi",label:"应期线索",text:`应期快慢:${q.tempoSay}。${Te.join(";")}。可留意的地支:${q.triggers.map(Ee=>`${Ee.branch}(${Ee.labels.join("、")})`).join(";")}。${q.viaFushen?"用神不上卦,这里的支取自伏神;伏神要先得出才算数。":""}这一节只把传统的「逢值、逢冲、逢合」与旬空的出空、冲空摆出来,不换算成具体日期、不排先后、也不判忌神受制;近事以日计、远事以月计,用哪把尺取决于事情本身。`})}}{const q=s.hexStrength;if(q&&Array.isArray(q.lines)&&q.lines.length){const Te=q.month&&q.month.branch?`月建 ${q.month.branch}(${q.month.element})`:"没有月建(未给起卦时间)",Ee=q.day&&q.day.branch?`日辰 ${q.day.branch}(${q.day.element})`:"日辰 —",be=q.lines.map(Le=>{const Xe=Le.shi?"(世)":Le.ying?"(应)":"",on=`${Le.moving?"·动":""}${Le.kong?"·旬空":""}`;return`${Le.position}爻${Le.liuqin?Le.liuqin:""}${Le.branch}${Le.element}${Xe}${on}:月建${Le.monthState},${Le.dayRelation}${Le.chongTag?`,${Le.chongTag}`:""}`}),K=["旺","相","休","囚","死"].filter(Le=>q.counts[Le]).map(Le=>`${Le}${q.counts[Le]}`).join("、"),Oe=q.shi?`世爻在${q.shi.position}爻(月建${q.shi.monthState},${q.shi.dayRelation})`:"",pe=q.ying?`应爻在${q.ying.position}爻(月建${q.ying.monthState},${q.ying.dayRelation})`:"";$e.push({key:"hexStrength",label:"全卦逐爻旺衰",text:`整张卦按${Te}、${Ee}逐爻过一遍:${be.join(";")}。五态分布:${K}——${[Oe,pe].filter(Boolean).join(",")}。气旺的爻对应的事推进起来省力,气弱或遭月破的爻对应的事宜缓;这只是六爻全貌,用神那几爻的细节仍以上一节为准,两处不冲突时再看动爻把哪一头带动。判定与用神旺衰同一套(月令五态、日辰五关系、月破/暗动/冲空),只报状态,不折成分数。`})}}return $e.push({key:"limits",label:"未纳入",text:'本卦没有计算:用神两现时该取哪一爻的权重、应期的具体日期(只给逢值/逢冲/逢合的触发支与快慢方向)、忌神受制的时点、动变连环。化进/化退的力重只按月建五态给「得令/失令」这类档位,不折成加权分数;这些都会改变"旺不旺"的判断,所以这里只给取象与方向。'}),{lead:"这一卦问的是眼下的具体事。下面先讲卦理,再分五个维度落到生活里——卦象给的是倾向,不是定论。",dimensions:[{key:"overall",label:"整体运势",text:`这一卦是「${ae.full}」,${ae.meaning}。${H?`动爻带${H},事情带一点${H==="青龙"?"喜庆顺遂":H==="白虎"?"压力与阻碍":H==="朱雀"?"口舌与是非":H==="玄武"?"不明朗、需要核实":"反复与牵扯"}的色彩。`:""}日辰为${te},卦宫属${ge},整体更像是${ae.scene}的阶段。`,advice:`${ae.scene}——顺着这句做就行。${Z?"既然有动爻,说明事情还在变化,先观察几天再定也不迟。":"暂无动爻,说明短期内不会有大的转折,维持现状反而是稳妥选择。"}`,evidence:qe(`本卦 ${S.name||"—"}(${S.upper||""}/${S.lower||""})`,Z?`动爻 ${Be(Z)}`:"无动爻",`日辰 ${te||"—"}`,`卦宫 ${y(S,"palace","—")}·${ge||"—"}`,he.length?`卦体 ${he.join("、")}`:"卦体 无六冲六合伏吟反吟")},{key:"work",label:"工作与职业选择",text:`问工作看官鬼与父母:本卦中${v.filter(q=>q.liuqin==="官鬼").length?`官鬼出现${v.filter(q=>q.liuqin==="官鬼").length}处,${v.find(q=>q.liuqin==="官鬼").moving?"且有发动,岗位或考核层面会有动作":"但未发动,职位层面暂时平稳"}`:"未见官鬼,工作这件事在卦中不是主要矛盾"};${v.filter(q=>q.liuqin==="父母").length?"父母(文书、合同、资质)有出现,涉及手续与材料的事要提前准备":"父母未现,手续类事务暂无明显阻碍"}。`,advice:`如果正在看机会,建议先把合同、岗位职责这些落到纸面上的东西问清楚;${Z?.liuqin==="官鬼"?"动爻在官鬼,工作层面近期有变动的迹象,可以主动谈,但别先辞再找。":"工作层面暂无强动象,稳住手上的事更划算。"}`,evidence:qe(`官鬼 ${Se("官鬼")} 现`,`父母 ${Se("父母")} 现`,ze?`动爻六亲 ${ze}`:"无动爻")},{key:"career",label:"事业发展",text:`世爻(代表你)在${S.shi}爻${U?`,六亲为${U.liuqin},${U.moving?"且发动":"安静未动"}`:""};应爻(代表对方与环境)在${S.ying}爻${Q?`,六亲为${Q.liuqin}`:""}。世应之间${U&&Q?U.liuqin===Q.liuqin?"同气相求,双方立场接近":"立场有别,需要多沟通":"信号不明"},${re?`变卦「${re.full}」提示后续走向是${re.scene}`:"暂无变卦"}。`,advice:`事业上的建议是:${U?.moving?"你自己这边有主动变化的意思,那就把想法说出来、把动作做出来":"先不动,把手上的事做扎实"};${re?`按${re.scene}的方向去准备,会比被动等结果好。`:""}`,evidence:qe(`世 ${Be(U)}`,`应 ${Be(Q)}`,T.name?`变卦 ${T.name}`:"无变卦")},{key:"love",label:"爱情与感情",text:`问感情,男看妻财、女看官鬼。本卦中${v.filter(q=>q.liuqin==="妻财").length?`妻财${v.filter(q=>q.liuqin==="妻财").length}现${v.find(q=>q.liuqin==="妻财").moving?"且发动,感情层面有动静":"但安静,关系暂时平缓"}`:"妻财未现,感情不是当前卦象的重点"};${v.filter(q=>q.liuqin==="官鬼").length?"官鬼有现,对方或关系中的压力面是被看到的":"官鬼未现"}。${ae.meaning},放在关系里就是${ae.scene}。`,advice:`关系里${Z?.liuqin==="妻财"||Z?.liuqin==="官鬼"?"近期有变化的可能,适合把话说开,别憋着":"暂时平稳,可以按自己的节奏相处"}。卦象只给倾向,真正决定关系的是你们怎么沟通。`,evidence:qe(`妻财 ${Se("妻财")} 现`,`官鬼 ${Se("官鬼")} 现`,`世应 ${Be(U)} / ${Be(Q)}`)},{key:"health",label:"健康状况",text:`问健康,看官鬼(病)与子孙(医药、消散)。本卦中${v.filter(q=>q.liuqin==="官鬼").length?`官鬼有现${v.find(q=>q.liuqin==="官鬼").moving?"且发动,提示身体上可能有需要留意的地方":",但安静,暂无明显变化"}`:"官鬼未现,卦象未指向明显的身体问题"};${v.filter(q=>q.liuqin==="子孙").length?"子孙有现,恢复与调养的出口是有的":"子孙未现,休息与调养需要自己主动安排"}。${H==="白虎"?"动爻带白虎,尤其别忽视突发的身体信号。":""}`,advice:`这一卦在健康上的提醒是${v.filter(q=>q.liuqin==="官鬼").length?"别硬扛,累了就休息,有机会就做一次检查":"维持现有作息即可,别自己吓自己"}。任何不适请就医,卦象不能替代诊断。`,evidence:qe(`官鬼 ${Se("官鬼")} 现`,`子孙 ${Se("子孙")} 现`,H?`动爻六神 ${H}`:"")}],sections:$e}}function Mn(s){const $=_(s.ben)?s.ben:{},S=_(s.hu)?s.hu:{},T=_(s.bian)?s.bian:{},v=_(s.cuo)?s.cuo:{},Z=_(s.zong)?s.zong:{},$e=_(s.bodyUse)?s.bodyUse:{},ae=Array.isArray(s.lines)?s.lines:[],re=ae.find(qe=>qe.moving)||(Number(s.moving)?ae[Number(s.moving)-1]:null),{sections:U,ben:Q,bian:ge}=wn({benName:$.name,benUpper:$.upper,benLower:$.lower,bianName:T.name,bianUpper:T.upper,bianLower:T.lower,moving:re}),ze=y($e.body,"element",""),H=y($e.use,"element",""),te=y($e,"relation",""),m=y($e,"level",""),he=/吉/.test(m),Se=/凶/.test(m);return U.splice(1,0,{key:"tiYong",label:"体用关系",text:`体卦为${y($e.body,"trigram","")}(${ze}),代表你自己;用卦为${y($e.use,"trigram","")}(${H}),代表对方与环境。${te}(${m})。梅花易数看体用生克:${he?"用卦对体卦有利,事情推进会相对顺":Se?"用卦克体或消耗体卦,推进中会感到阻力,宜缓不宜急":"体用关系平和,事情按常态发展"}。`}),U.splice(3,0,{key:"huGua",label:"互卦与过程",text:`互卦为「${y(S,"name","")}」,${ke(S.name,S.upper,S.lower).meaning}——互卦看事情中间的过程,这一段大致是这个味道。错卦「${y(v,"name","")}」是换个立场看同一件事,综卦「${y(Z,"name","")}」是站在对方位置看,可以参考着换个角度想。`}),{lead:"梅花易数重「体用」——你与这件事之间的关系。下面先讲卦理与体用,再分五个维度落到生活场景。",dimensions:[{key:"overall",label:"整体运势",text:`本卦「${Q.full}」,${Q.meaning}。体${ze}用${H},${te},判定为${m}。${he?"整体的倾向是顺的:外部环境对你不算苛刻,可以正常推进":Se?"整体有阻力:不是不能做,而是要多留余量与耐心":"整体平稳,不会有大的起落"}。`,advice:`${Q.scene}。${Se?"建议把节奏放慢,先解决卡点再谈推进":he?"可以趁势把想做的事往前推一步":"按原计划走,不必刻意改变"}。`,evidence:[`本卦 ${Q.full}`,`互卦 ${y(S,"name","—")}`,`变卦 ${y(T,"name","—")}`,`体${ze} / 用${H}·${te||"—"}`,`判定 ${m||"—"}`].filter(Boolean)},{key:"work",label:"工作与职业选择",text:`梅花里工作看用卦与体卦的生克:现在用卦${H}${he?"对体卦有利,说明当下的工作环境或岗位与你的匹配度还不错":Se?"与体卦相耗,说明眼下这份工作消耗感偏重":"与体卦关系平和,属于不好不坏"}。本卦${Q.meaning},对应到工作里就是${Q.scene}。`,advice:`${Se?"如果长期觉得被消耗,可以先在内部争取调整职责,再考虑外部机会":he?"适合主动争取更多责任或更好的岗位":"把手上的事做好,等一个明确的信号再动"}。选工作时优先考虑让你舒服的环境,长期看比短期收益重要。`,evidence:[`体卦 ${ze}`,`用卦 ${H}`,`体用 ${te||"—"}`]},{key:"career",label:"事业发展",text:`变卦「${ge?ge.full:""}」代表事情的结局方向,${ge?ge.meaning:""}。互卦「${y(S,"name","")}」代表过程,${ke(S.name,S.upper,S.lower).meaning}。合起来看:过程${ke(S.name,S.upper,S.lower).scene},结果${ge?ge.scene:"暂不明朗"}。`,advice:`按这个结构,建议${he?"现在就把关键的一步迈出去":Se?"先补短板、攒条件,等下一轮再动":"小步推进,边做边看"}。动爻在${y(s,"movingName","某爻")},变化点就在那里,值得重点关注。`,evidence:[`互卦 ${y(S,"name","—")}`,`变卦 ${y(T,"name","—")}`,`动爻 ${y(s,"movingName","—")}`]},{key:"love",label:"爱情与感情",text:`感情上看体用是否相合:体${ze}与用${H}之间是${te},${he?"这种组合在关系里意味着双方相处比较顺,彼此能给到支撑":Se?"这种组合提示相处中有一方付出更多,需要留意平衡":"关系处在常态,没有特别的张力"}。本卦${Q.meaning},放到两人之间就是${Q.scene}。`,advice:`${Se?"别把不满攒着,找个合适的时机说清楚;也别指望对方猜":he?"可以主动推进关系,做一些共同的事":"维持现在的相处节奏就好"}。卦象看的是当下的气氛,关系的走向取决于你们怎么经营。`,evidence:[`体 ${ze} / 用 ${H}`,`体用 ${te||"—"}`,`本卦 ${Q.full}`]},{key:"health",label:"健康状况",text:`梅花里健康看体卦的强弱:体卦${y($e.body,"trigram","")}属${ze},${Se?"被用卦所耗,传统取象上提示近期精力消耗偏大":he?"得到生扶,精力状态相对好":"平顺,无明显偏枯"}。${J[ze]?`${ze}对应${J[ze].part},${J[ze].note}。`:""}这是取象提示,不是诊断。`,advice:`${Se?"近期别硬撑,睡眠与饮食先稳住,有条件做一次常规体检":"保持现在的作息即可,顺势多动一动更好"}。身体有明确的症状请直接看医生。`,evidence:[`体卦 ${y($e.body,"trigram","—")}属${ze}`,`用卦 ${y($e.use,"trigram","—")}属${H}`,`体用 ${te||"—"}`]}],sections:U}}function _n(s){const $=_(s.sanChuan)?s.sanChuan:{},S=_($.chu)?$.chu:{},T=_($.zhong)?$.zhong:{},v=_($.mo)?$.mo:{},Z=_(s.geJu)?s.geJu:{},$e=Array.isArray(s.siKe)?s.siKe:[],ae=he=>A[he?.jiangFull]||A[he?.jiang]||"",re=y(S,"liuQin",""),U=y(v,"liuQin",""),Q=!!(S.xunKong||T.xunKong||v.xunKong),ge=JSON.stringify($),ze=he=>ge.includes(he),H=`初${y(S,"zhi","—")} → 中${y(T,"zhi","—")} → 末${y(v,"zhi","—")}`,te=[{key:"sanChuan",label:"三传与事体走向",text:`初传${y(S,"zhi","")}(${y(S,"jiangFull","")}·${y(S,"liuQin","")}${S.xunKong?"·旬空":""}):${ae(S)||"发端的信号"};中传${y(T,"zhi","")}(${y(T,"jiangFull","")}·${y(T,"liuQin","")}${T.xunKong?"·旬空":""}):${ae(T)||"过程的信号"};末传${y(v,"zhi","")}(${y(v,"jiangFull","")}·${y(v,"liuQin","")}${v.xunKong?"·旬空":""}):${ae(v)||"结局的信号"}。三传讲的是一件事从发端、经过到落定的过程,可以按这个顺序对照你的处境。`},{key:"geju",label:"课体与四课",text:`本课为${y(Z,"name","未定")}${Z.detail?`(${Z.detail})`:""}。${$e.length?`四课:${$e.map((he,Se)=>`${Se+1}课 ${he.shang||""}上${he.xia||""}下`).join(" ")}`:""}`},{key:"reasoning",label:"看课顺序",text:[`① 先看月将加时:月将${y(s.yueJiang,"name","—")}${y(s.yueJiang,"zhi","")}加在${y(s,"hourZhi","—")}时上,定出天地盘——后面所有关系都从这张盘推。`,'② 再看四课:日干寄宫起一课,日支起二课,依次得三、四课;四课是"事情的四个面"。',`③ 看三传:初传${y(S,"zhi","—")}(${re||"—"})起,中传${y(T,"zhi","—")}(${y(T,"liuQin","—")}),末传${y(v,"zhi","—")}(${U||"—"})落——发端、过程、结局。`,`④ 定课体:${y(Z,"name","未定")}${Z.detail?`(${Z.detail})`:""};课体决定这件事"以什么方式"推进,不是吉凶标签。`,'⑤ 看神将:月将、贵人与旬空决定信号强弱;旬空处多为"看着有、实则虚",须核实。',"⑥ 落到维度:工作看官鬼与青龙、朱雀;感情看六合、天后与妻财;健康看白虎与子孙——都是上面几步的应用。"].join(`
|
|
103
|
+
`)},{key:"limits",label:"未纳入",text:"本课没有计算:年命与行年(命上神)、神煞的加权轻重、伏吟反吟的细分,以及课体之间的互涉。三传只取九宗门里的主要取法,其他流派(如以贵神起课)结论可能不同;这些只影响轻重,不改变课面事实。"}];return{lead:"大六壬看的是一件事的来龙去脉。三传给出「发端—过程—结局」的顺序,下面按这个结构分五个维度说。",dimensions:[{key:"overall",label:"整体运势",text:`这一课${y(Z,"name","")}${Z.detail?`·${Z.detail}`:""},发端在${y(S,"zhi","")}(${ae(S)||""}),落定在${y(v,"zhi","")}(${ae(v)||""})。${Q?"课中有旬空,提示事情里有「看着有、实则虚」的部分,涉及承诺与数字的要核实。":"课中无旬空,事情相对实在。"}整体倾向是:${/吉|生|合/.test(ae(S)+ae(v))?"开局与结局的象都不差,可以正常推进":/虎|蛇|勾|空/.test(ae(S)+ae(v))?"过程中有牵绊与不明朗处,宜慢不宜快":"平顺中带一点摩擦"}。`,advice:`${Q?"先把信息核实清楚,别在含糊的基础上做决定":"按你原本的计划推进即可"}。${/虎/.test(ae(S))?"开局带白虎,头几天别硬碰,先观察。":""}事情的局面是动态的,这一课看的是当下这一刻的气象。`,evidence:[`课体 ${y(Z,"name","—")}`,`三传 ${H}`,`月将 ${y(s.yueJiang,"name","—")}`,Q?"课中见旬空":"无旬空"]},{key:"work",label:"工作与职业选择",text:`工作看官鬼与青龙、太常:本课${re==="官鬼"?"初传即见官鬼,事情一上来就与职位、考核或上级有关":`初传为${re||"未取"},${ae(S)||""}`}。${/青龙/.test(JSON.stringify($))?"课中见青龙,工作层面有喜庆与进益的象":"课中未见青龙,工作层面属常态推进"};${/朱雀/.test(JSON.stringify($))?"见朱雀,文书、沟通与口舌要留意,材料务必留底":""}`,advice:`涉及岗位与待遇的事,建议把口头承诺落成文字;${/朱雀/.test(JSON.stringify($))?"沟通时少说满话,多留余地。":"正常沟通即可。"}选工作时优先考虑课象中显示出支撑力的方向。`,evidence:[`初传 ${y(S,"zhi","—")}·${re||"未取"}·${ae(S)||"—"}`,ze("青龙")?"见青龙":"无青龙",ze("朱雀")?"见朱雀":"无朱雀"]},{key:"career",label:"事业发展",text:`末传${y(v,"zhi","")}(${U||""}·${ae(v)||""})主结局,${U==="官鬼"?"结局落在官鬼,事业这条线会有明确的结果或位置变化":U==="妻财"?"结局落在妻财,更多体现为收入与资源的落袋":U==="子孙"?"结局落在子孙,压力会消散,适合收尾与转向":"结局的信号相对中性"}。${v.xunKong?"末传旬空,结局有落空的可能,别把预期定得太满。":"末传不空,结果相对实在。"}`,advice:`按三传的顺序安排节奏:初传阶段先摸清情况,中传阶段处理摩擦,末传阶段收果。${v.xunKong?"对结果保留一点弹性,Plan B 提前想好。":"可以朝着末传给出的方向去准备。"}`,evidence:[`末传 ${y(v,"zhi","—")}·${U||"未取"}·${ae(v)||"—"}`,v.xunKong?"末传旬空":"末传不空",`三传 ${H}`]},{key:"love",label:"爱情与感情",text:`感情看妻财与天后、六合:本课${/六合/.test(JSON.stringify($))?"见六合,有和合、契约之象,关系层面是往一起走的":"未见六合,关系层面没有明显的和合信号"};${/天后/.test(JSON.stringify($))?"见天后,有被照顾、被回应的象":""}${/玄武/.test(JSON.stringify($))?"见玄武,提示信息不明或有隐瞒,重要的事要当面问清":""}${/妻财/.test(JSON.stringify($))?"课中见妻财,感情这条线是被看到的":""}。`,advice:`${/玄武/.test(JSON.stringify($))?"关系里有看不清的地方,别猜,直接问。":"按你感受到的相处状态来判断就好。"}卦象只反映当下的气氛,关系如何取决于两个人怎么做。`,evidence:[ze("六合")?"见六合":"无六合",ze("天后")?"见天后":"无天后",ze("妻财")?"见妻财":"无妻财"]},{key:"health",label:"健康状况",text:`健康看白虎与子孙:本课${/白虎/.test(JSON.stringify($))?"见白虎,传统取象上提示身体有需要留意的地方,尤其突发的不适别忽视":"未见白虎,卦象未指向明显的身体问题"};${/子孙/.test(JSON.stringify($))?"见子孙,医药与调养的出口是有的,恢复的象在":"未见子孙,休息与调养需要自己主动安排"}。这些都是象征提示,不构成医学判断。`,advice:`${/白虎/.test(JSON.stringify($))?"近期别熬夜、别硬扛,有条件做一次检查":"保持现有作息,适度运动即可"}。任何不适请就医,这一课不能替代诊断。`,evidence:[ze("白虎")?"见白虎":"无白虎",ze("子孙")?"见子孙":"无子孙",`课体 ${y(Z,"name","—")}`]}],sections:te}}function zn(s){const $=Array.isArray(s.cards)?s.cards:[],S=$.length,T=$.filter(m=>m.arcana==="大阿卡纳"),v=$.filter(m=>m.upright),Z=$.filter(m=>!m.upright),$e=$.filter(m=>/国王|王后|骑士|侍从/.test(String(m.name))),ae={};for(const m of $)m.element&&(ae[m.element]=(ae[m.element]||0)+1);const re=Object.entries(ae).map(([m,he])=>`${m}×${he}`).join("、")||"分布不明",U=["火","水","风","土"].filter(m=>!ae[m]),Q=$.find(m=>/未来|结果|建议/.test(String(m.position)))||$[$.length-1]||null,ze=[{key:"narrative",label:"整盘连贯解读",text:`先把几张牌串成一条线来看:${$.map((m,he)=>{const Se=m.upright?"顺":"滞";return`${m.position}(${m.positionHint||""})${m.name}${m.orientation}:${m.core||(m.keywords||[]).join("、")},这一环是${Se}的`}).join(";")}。${Q?`整盘的主轴是「${Q.name}」(${Q.position}·${Q.orientation})——${Q.core||""}。其余几张可以理解为这条主线在不同阶段的样貌:${$.filter(m=>m!==Q).map(m=>`${m.position}的${m.name}说明${m.core||(m.keywords||[]).join("、")}`).join(",")}。`:""}所以这张牌阵讲的不是几件不相干的事,而是同一件事在不同时间位置上的样子。`},{key:"structure",label:"牌面结构",text:`${S} 张牌中有 ${T.length} 张大阿卡纳(占 ${Math.round(T.length/S*100)}%),${T.length>=Math.ceil(S/2)?"大牌过半,事情牵动的层面较深,与环境、阶段性的课题有关":"大牌不到半数,重点更偏日常层面的具体人事"}。元素分布:${re}${U.length?`;缺${D(U)},这一块容易被忽略`:""}。正逆位 ${v.length} 正 ${Z.length} 逆,${Z.length>v.length?"逆位偏多,说明阻滞主要来自内部状态而非外部条件":"整体偏顺,逆位那张是全盘的关节"}。`}],H=m=>$.find(Se=>{const Be=(Se.keywords||[]).join("")+String(Se.core||"");return m==="love"?/爱|情感|关系|圣杯|恋人|伴侣/.test(Be)||Se.domain==="情感与关系":m==="work"?/工作|事业|职场|权杖|星币|金币/.test(Be)||Se.domain==="工作与事业":m==="career"?/成就|成功|目标|进展|资源/.test(Be):m==="health"?/健康|休息|疲惫|压力|疗愈/.test(Be):!0});return{lead:"塔罗是一套象征系统而不是判决。下面先给整盘的连贯解读(把几张牌串成一条线),再分五个维度落到生活里。",dimensions:[{key:"overall",label:"整体运势",text:`整盘的主轴落在「${Q?Q.name:"—"}」(${Q?Q.orientation:""}),${Q?Q.core||(Q.keywords||[]).join("、"):""}。${Z.length?`其中${D(Z.map(m=>`${m.name}(${m.position})`))}是逆位,逆位不等于凶,更像那股力量还没顺过来或用力过猛,它是这张牌阵里最值得你先看的部分。`:"全部为正位,说明牌面呈现的状态与你当下的处境是通的。"}${U.length?`元素上缺${D(U)},${U.map(m=>O[m]?.area).filter(Boolean).join("、")}这一块容易被忽略。`:""}`,advice:`${Z.length?`先把${Z[0].name}指出的卡点处理掉(${(Z[0].keywords||[]).join("、")}),暂时不要加码推进`:"按牌面呈现的节奏走"};${U.length?`补一点${U[0]}的力量:${O[U[0]]?.advice||""}`:"把注意力放在能立刻做的小事上,先动一件"}。牌是镜子,照的是你此刻的状态。`,evidence:[`牌阵 ${S} 张(${$.map(m=>m.position).join(" / ")})`,`主轴 ${Q?`${Q.name}·${Q.position}·${Q.orientation}`:"—"}`,`逆位 ${Z.length} / 正位 ${v.length}`,U.length?`缺 ${D(U)}`:"五行元素齐"]},{key:"work",label:"工作与职业选择",text:`${H("work")?`牌面上与工作最相关的是「${H("work").name}」(${H("work").position}·${H("work").orientation}):${H("work").core||(H("work").keywords||[]).join("、")}。`:"牌面上没有明确指向工作的牌。"}${$e.length?`牌中有宫廷牌${D($e.map(m=>m.name))},说明局面里有具体的人(也可能就是你自己的某个侧面)在起作用。`:""}${ae.土?"有土元素,现实条件与资源是被这张牌阵看到的。":"缺土元素,现实条件与资源这块容易估计不足。"}`,advice:`工作上建议:${ae.土?"把计划落到预算与时间表上,别停在口头":"先把现实条件摸清楚——薪资、工时、稳定性,再谈喜好"};${H("work")&&!H("work").upright?"这张相关牌是逆位,说明当下的不适主要来自状态而非岗位本身,可以调状态再看。":""}`,evidence:[`工作相关牌 ${H("work")?`${H("work").name}·${H("work").position}·${H("work").orientation}`:"无"}`,`宫廷牌 ${$e.length} 张`,`土元素 ${ae.土||0} 张`]},{key:"career",label:"事业发展",text:`从牌阵的时间线看:${$.map(m=>`${m.position}是${m.name}${m.orientation}`).join(",")}。${T.length>=Math.ceil(S/2)?"大牌过半,事业这条线牵动的不只是岗位,还有你对自己要往哪走的判断":"变化更多发生在具体事务层面,先把眼前的项目做成"}${Q?`;结局位置的「${Q.name}」给出的方向是${Q.core||""}`:""}。`,advice:`建议把${$[0]?.position||"最初"}这一环的课题先收尾,再往${Q?.position||"结果"}的方向推进;${ae.火?"火的能量在,适合主动出击一步":"缺火时别等热情来,先用流程推着自己动"}。事业发展是长线,牌面只反映当前这一段。`,evidence:[`时间线 ${$.map(m=>`${m.position}·${m.name}${m.orientation}`).join(" → ")}`,`大阿卡纳 ${T.length}/${S}`]},{key:"love",label:"爱情与感情",text:`${H("love")?`与感情最相关的是「${H("love").name}」(${H("love").position}·${H("love").orientation}):${H("love").core||(H("love").keywords||[]).join("、")}。`:"牌面上没有明确指向感情的牌,当下这段关系不是主要议题。"}${ae.水?"有水元素,情感与感受在这件事里占的分量不轻。":"缺水元素,容易用理性压过感受,留意别忽略自己的情绪。"}`,advice:`${ae.水?"先照顾好感受再谈效率:把想说的话说出口,比猜对方心思有效":"给自己留一点感受情绪的时间,别把所有事都当任务处理"};${H("love")&&!H("love").upright?"相关牌为逆位,提示关系里有没说开的地方,找个合适时机讲清楚。":""}关系取决于你们怎么做,牌只帮你把问题问清楚。`,evidence:[`感情相关牌 ${H("love")?`${H("love").name}·${H("love").position}·${H("love").orientation}`:"无"}`,`水元素 ${ae.水||0} 张`]},{key:"health",label:"健康状况",text:`牌阵里${H("health")?`与健康状态最贴近的是「${H("health").name}」:${H("health").core||(H("health").keywords||[]).join("、")}`:"没有直接指向身体的牌"}。${Z.length>=2?`${Z.length} 张逆位,提示内在消耗偏大,身体往往是第一个反映出来的`:"整体状态与牌面呈现的相对一致"}${ae.土||ae.水?"":";缺土与水,作息与身体的基本盘容易被牺牲"}。这些是象征性的提示,不是诊断。`,advice:`${Z.length>=2?"建议先把睡眠与饮食稳住,别在这个阶段额外加压":"维持现有作息,适度运动即可"};${U.length?`补${U[0]}所代表的${O[U[0]]?.area||""}:${O[U[0]]?.advice||""}`:""}身体有明确不适请就医,牌面不能替代专业意见。`,evidence:[`健康相关牌 ${H("health")?`${H("health").name}·${H("health").position}`:"无"}`,`逆位 ${Z.length} 张`,`元素 土${ae.土||0} / 水${ae.水||0}`]}],sections:ze}}const Xn={bazi:an,ziwei:dn,liuyao:qn,meihua:Mn,daliuren:_n,tarot:zn},{interpretQimen:Jn}=B["qimen-interpret"]||{},{buildAnswer:Cn,buildPlain:Pn,buildGlossary:Nn,buildFollowups:Dn,dimensionPlain:Gn}=B["interpret-plain"]||{},{knowledgeFor:Yn,caveatsFor:Bn,STATUS_LABEL:Tn}=B["interpret-knowledge"]||{},{citationSourceOf:Zn}=B.citations||{},{CLASSIC_BOOKS:gn,suiyunClassicOf:Wn,classicOf:Kn}=B.classics||{};function Qn(s,$,S){if(!s)return s;const T=["overall","work","career","love","health"],v=te=>{const m=T.indexOf(te);return m<0?T.length:m},Z=new Set,$e=(s.dimensions||[]).map(te=>{const m=Gn(te.key,$,{});return{...te,...m?{plain:m}:{}}}),ae=3;for(const te of $e.slice().sort((m,he)=>v(m.key)-v(he.key))){const m=Yn($.system,te.key).filter(he=>!Z.has(he.id)).slice(0,ae).map(he=>{const Se=Zn(he.id,he.source);return{id:he.id,gist:he.gist,detail:he.detail,source:Se.source,citations:Se.citations,citationStatus:Se.status,citationReason:Se.reason||"",status:he.status,statusLabel:Tn[he.status]||he.status,note:he.note||""}});for(const he of m)Z.add(he.id);m.length&&(te.knowledge=m)}const re=[s.lead,...$e.map(te=>[te.label,te.text,te.advice,te.plain,...(te.knowledge||[]).map(m=>m.detail)].filter(Boolean).join("")),...(s.sections||[]).map(te=>te.text)].filter(Boolean),U=Bn($.system),Q=U.filter(te=>te.status!=="todo"),ge=Q.length?Q.map(te=>{const m=Tn[te.status]||te.status;return`· ${te.gist}(${m})${Z.has(te.id)||!te.note?"":`——${te.note}`}`}).join(`
|
|
104
|
+
`):"",ze=[...s.sections||[]];ge&&ze.push({key:"caveats",label:"这套规则有多稳",text:`下列几条各家说法不一,本插件取其中一派并把分歧标出来,供你判断可信度(已在上面展开的只列条目,未展开的附原注):
|
|
105
|
+
${ge}`});const H=U.filter(te=>te.status==="todo");return H.length&&ze.push({key:"todo",label:"尚未实现(不猜)",text:H.map(te=>`· ${te.gist}${te.note?`——${te.note}`:""}`).join(`
|
|
106
|
+
`)}),{...s,dimensions:$e,sections:ze,answer:s.answer||Cn($,S,{}),plain:s.plain||Pn($,S,{}),followups:Dn($,S),glossary:Nn(re,$.system),knowledgeCount:$e.reduce((te,m)=>te+(m.knowledge||[]).length,0),caveats:U.map(te=>({id:te.id,gist:te.gist,status:te.status,statusLabel:Tn[te.status]||te.status}))}}const Hn={bazi:"八字(月令 · 十神 · 大运流年)",ziwei:"紫微(宫位 · 四化 · 大限流年)",liuyao:"六爻(卦宫 · 世应 · 动爻 · 日辰)",meihua:"梅花(体用 · 互卦 · 变卦)",daliuren:"六壬(月将加时 · 四课 · 三传)",qimen:"奇门(九宫 · 值符值使 · 用神)",tarot:"塔罗(牌阵 · 正逆位 · 元素)",hepan:"合盘(日主 · 夫妻宫 · 五行互补)"},Fn=s=>{const $=Array.isArray(s&&s.evidence)?s.evidence.length:0;return $>=3?"强":$>=2?"中":"弱"},jn=(s,$,S)=>Qn({...s,moduleType:ue[$.system]||"natal",system:$.system,systemLabel:je[$.system]||$.system,title:"解析与详解",dimensions:(s.dimensions||[]).map(T=>({...T,confidence:T.confidence||Fn(T)})),sections:s.sections||[],outline:s.outline||[],tables:s.tables||[],technique:Hn[$.system]||je[$.system]||$.system,disclaimer:s.disclaimer||L,ask:S},$,S);function Un(s,$){if(!_(s)||!s.system)return null;const S=Ye($);if(s.system==="qimen")return jn(Jn(s,$),s,S);const T=Xn[s.system];if(!T)return null;let v;try{v=T(s,S)}catch($e){return{moduleType:ue[s.system]||"natal",system:s.system,systemLabel:je[s.system]||s.system,title:"解析与详解",lead:"这一盘的解析暂未生成,请稍后重试。",dimensions:[],sections:[],outline:[],tables:[],technique:Hn[s.system]||"",disclaimer:L,error:String($e&&$e.message),ask:S}}const Z=Ve(v.dimensions||[],S,v.lead||"");return jn({lead:Z.lead,dimensions:Z.dims,sections:v.sections||[],outline:v.outline||[],tables:v.tables||[]},s,S)}return{DIMENSIONS:Ae,MODULE_TYPE:ue,SYSTEM_LABEL:je,DIRECTIONS:we,DIRECTION_DEFAULT:De,dirOf:_e,hexInfo:ke,interpret:Un}})(),B.followup=(function(){const{ZIWEI_STARS:P}=B["interpret-data"]||{},X=[{key:"career",label:"事业",words:["事业","工作","跳槽","升职","创业","职业","岗位","离职","加薪","面试","offer"]},{key:"wealth",label:"财富",words:["财","钱","收入","投资","买房","存款","亏","赚","分红"]},{key:"love",label:"感情",words:["感情","婚","恋","对象","分手","复合","姻缘","结婚","桃花"]},{key:"health",label:"健康",words:["健康","病","身体","手术","失眠","体检","医院"]},{key:"study",label:"学业",words:["学业","考试","学习","考研","考公","证书","升学"]},{key:"travel",label:"出行",words:["出行","搬家","旅行","出国","迁","远行"]}],oe={career:"官禄",wealth:"财帛",love:"夫妻",health:"疾厄",study:"官禄",travel:"迁移",overall:"命宫"},F=(x,M)=>{const h=String(x).match(/(20\d{2})\s*年?/);if(h)return Number(h[1]);const b=Array.isArray(M.liunian)&&M.liunian[0]?Number(M.liunian[0].year):null;return b?/明年/.test(x)?b+1:/后年/.test(x)?b+2:/去年/.test(x)?b-1:/今年|本年/.test(x)?b:null:null},W=x=>X.find(M=>M.words.some(h=>String(x).includes(h)))||null;function E(x,M){const h=F(M,x),b=W(M),r=Array.isArray(x.liunian)?x.liunian:[],l=Array.isArray(x.dayun?.list)?x.dayun.list:[],d=r.map(o=>o.year);if(h&&!r.some(o=>Number(o.year)===h))return{ok:!1,year:h,topic:b,answer:`这一盘已排的流年范围是 ${d[0]}–${d[d.length-1]},没有 ${h} 年。可以把问题改到范围内,或用 asOf 指定你想看的年份重新排盘。`,evidence:[`已排流年:${d.join("、")}`],confidence:"弱"};if(h){const o=r.find(de=>Number(de.year)===h),c=l.find(de=>Number(de.startAge)<=Number(o.age)&&Number(o.age)<=Number(de.startAge)+9)||null,w=o.luck?.tier||"平",g=(o.luck?.reasons||[]).slice(0,3),p=(o.relations||[]).join("、"),C=b?J(x,b.key):"";return{ok:!0,year:h,topic:b,answer:`${h} 年(${o.ganzhi})流年,十神为${o.stemTenGod||"—"},档位「${w}」;所行大运 ${c?`${c.ganzhi}(${c.luck?.tier||"平"})`:"未取到"}。${g.length?`理由:${g.join(",")}。`:""}${p?`与该年地支相关的原局关系:${p}。`:""}${C}`,evidence:[`流年 ${o.year} ${o.ganzhi}·${o.stemTenGod||""}·${w}`,c?`大运 ${c.ganzhi}·${c.luck?.tier||"平"}`:"",p?`原局关系 ${p}`:"",b?`问题方向:${b.label}`:""].filter(Boolean),confidence:c&&g.length?"强":"中"}}if(b){const o={wealth:"overall",study:"work",travel:"overall"}[b.key]||b.key,c=(x.interpret?.dimensions||[]).find(w=>w.key===b.key||w.key===o);if(c){const w=x.frame&&x.frame.godStats&&x.frame.godStats.groups||{},g=b.key==="wealth"?` 财星权重 ${Number(w.财||0)}(只作结构参考,不含金额)。`:"";return{ok:!0,year:null,topic:b,answer:`按${b.label}这条线看:${c.text}${g}${c.advice?` 建议:${c.advice}`:""}`,evidence:(c.evidence||[]).slice(0,4),confidence:c.confidence||"中"}}}return{ok:!1,year:null,topic:b,answer:`这个问题里没有识别到具体的年份或方面。可以这样问:「2027 年事业怎么样」「财运如何」「感情在 2028 年」;已排流年是 ${d[0]}–${d[d.length-1]}。`,evidence:[`可问年份:${d.join("、")}`],confidence:"弱"}}function I(x,M){const h=F(M,x),b=W(M),r=Array.isArray(x.liunian)?x.liunian:[];if(h&&!r.some(l=>Number(l.year)===h))return{ok:!1,year:h,topic:b,answer:`这一盘的流年表覆盖 ${r[0]?.year}–${r[r.length-1]?.year},没有 ${h} 年;可以换一个年份,或用 asOf 指定起点重新排盘。`,evidence:[`流年表:${r.map(l=>l.year).join("、")}`],confidence:"弱"};if(h){const l=r.find(o=>Number(o.year)===h),d=l.daxian||{};return{ok:!0,year:h,topic:b,answer:`${h} 年(${l.ganzhi},${l.age} 岁)流年命宫落在「${l.lifePalace?l.lifePalace.palace:"—"}」,四化为 ${(l.mutagen||[]).join("、")||"不明显"};所行大限${d.palace?`在${d.palace}(${d.start}–${d.end} 岁)`:"未取到"}。${b?`与「${b.label}」对应的宫位信号见下条依据。`:""}`,evidence:[`流年命宫 ${l.lifePalace?l.lifePalace.palace:"—"}(${l.lifePalace?l.lifePalace.branch:"—"})`,`四化 ${(l.mutagen||[]).join("、")||"不明显"}`,d.palace?`大限 ${d.palace}·${d.start}–${d.end}岁`:""].filter(Boolean),confidence:(l.mutagen||[]).length>=3?"强":"中"}}if(b){const l=oe[b.key]||"命宫",d=(x.palaces||[]).find(o=>o.palace===l);if(d){const o=(d.stars||[]).filter(w=>w.type==="主星").map(w=>w.name),c=o.map(w=>P[w]?.trait).filter(Boolean).slice(0,2).join(";");return{ok:!0,year:null,topic:b,answer:`「${b.label}」看${l}:主星${o.length?o.join("、"):"无正曜(借对宫)"}${c?`——${c}`:""}。宫支${d.branch},${d.stems,""}生年四化与煞星的影响需结合报告里的对应分节一起看。`,evidence:[`${l} ${d.branch}·${o.join("、")||"无正曜"}`,...(d.shensha||[]).slice(0,3)],confidence:o.length?"强":"弱"}}}return{ok:!1,year:null,topic:b,answer:"没有识别到具体年份或方面。可以问「2028 年事业」「感情怎么样」「财运在 2030 年」;也可以直接问某个宫位,如「夫妻宫」。",evidence:[],confidence:"弱"}}function J(x,M){return`这段时间可以重点对照报告里「${{career:"事业",wealth:"财富",love:"感情",health:"健康",study:"学业",travel:"出行"}[M]||"整体"}」一节看。`}function k(x,M){const h=W(M),b=Array.isArray(x.interpret?.sections)?x.interpret.sections:[],r=h?b.find(d=>d.label.includes(h.label)||d.text.includes(h.label)):null;if(r)return{ok:!0,year:null,topic:h,answer:r.text,evidence:[`引用分节:${r.label}`],confidence:"中"};const l=b[0];return{ok:!1,year:null,topic:h,answer:l?`这一盘的追问需要落到具体方面(事业 / 财富 / 感情 / 健康 / 学业 / 出行)。先看「${l.label}」这一节,或把问题说得更具体一点。`:"这一盘暂时没有可追问的分节;先看完整解析,再问具体方面。",evidence:[],confidence:"弱"}}function A(x,M){const h=String(M||"").trim(),b=x&&x.system==="bazi"?E(x,h):x&&x.system==="ziwei"?I(x,h):k(x,h);return{question:h,...b}}const O={bazi:"八字(四柱)",ziwei:"紫微斗数",liuyao:"六爻",meihua:"梅花易数",daliuren:"大六壬",qimen:"奇门遁甲",tarot:"塔罗",hepan:"合盘",chenggu:"称骨",almanac:"黄历",zeri:"择日",star:"星座",numerology:"生命数字",mbti:"十六型人格",trend:"人生 K 线",fengshui:"风水",name:"起名",convert:"公农历互转"},L=Object.freeze({bazi:["基本信息","四柱(日主/十神/藏干)","旺衰·格局·用神","合冲·神煞","起运·大运·流年","古籍依据"],ziwei:["基本信息","命宫/身宫与五行局","十二宫(主星/辅煞/四化)","格局与三方四正","大限/流年","古籍依据"],liuyao:["所问与用神","本卦/变卦(世应/动爻/六亲)","月建日辰(旺衰/空破)","应期线索","卦辞与依据"],meihua:["所问与体用","本卦/互卦/变卦","五行生克","应期与依据"],daliuren:["天地盘(月将/贵人)","四课","三传","课体与神将","依据"],qimen:["四柱与局数","九宫(星门神/天盘干)","用神落宫","门宫·干宫·十干克应","旺衰·击刑入墓","依据"],tarot:["问题与牌阵","逐牌(正逆/元素)","牌间关系","综合倾向","边界"],fengshui:["坐向与元运","运盘/山盘/向盘","旺山旺向","取象与边界"]}),z=Object.freeze(["基本信息","盘面事实","结构与关系","倾向","边界"]);function R(x){return L[x]||z}function ne(x,M={}){const h=O[x&&x.system]||x&&x.system||"未知体系",r=String(M&&M.question||"").trim()||"请先用一句白话讲清这张盘的主线,再指出最值得注意的一两处,并说明每处的具体依据。",l=Number.isFinite(M&&M.maxChars)&&M.maxChars>=400?M.maxChars:3e3,d=String(x&&x.summary||"").trim(),o=d.length>l,c=o?`${d.slice(0,l)}…(摘要已截断)`:d,w=M&&typeof M.interpret=="object"&&M.interpret||x&&typeof x.interpret=="object"&&x.interpret||null,g=String(w&&w.answer||"").trim(),p=String(w&&w.plain||"").trim(),C=[];g&&C.push(`直答:${g}`),p&&C.push(`说人话:${p}`);const Ae=["【命理追问】下面这张盘是命理插件刚排好的,请就着它回答我的问题;不用重新排盘,盘面字段已经够用。",`体系:${h}`,`所问:${r}`,"",...C.length?["——开场结论(插件已按同一套规则算好,开场先沿用这句;措辞可改,口径别换)——",...C,""]:[],"——盘面层次(从上到下读,别跳层)——",`${h}:${R(x&&x.system).join(" → ")}`,"先复述事实,再讲结构与时间;上一层没交代清楚,不要跳到下一层。","","——盘面摘要——",c||"(这张盘没有摘要字段,请先让我重新排一次。)","","——回答要求——","读者不懂命理。按下面的骨架答;任何一句他看不懂,就算没写完:",C.length?"1) 开头一句结论:先沿用上面的「开场结论」,再用一句不用术语的话说清这张盘的主线——只读这一句也该有收获;":"1) 开头一句结论:不用术语,一句话说清这张盘的主线,只读这一句也该有收获;","2) 第二段只复述盘面骨架:按上面的层次用 2–4 行写事实(如四柱、格局、用神、大运),不掺倾向,让读者知道后面的判断从哪来;","3) 判断最多两条,按重要性排序,每条分四行写:"," 盘面|只引盘面已有的字(具体的柱、宫或爻、字段名),不掺解释;"," 白话|把上一行的术语当场翻成日常话——调候 / 化气 / 通关 / 空亡 / 争合 这类词必须落地,一个词只翻一次,不连续堆三个以上;"," 倾向|说「更可能……」,讲清它在现实里大概意味着什么,用概率语气;"," 边界|这条在什么情况下不成立;盘面没给的,直接写「这盘里看不出来」;","4) 收尾一句「如果只记一件事」:给一条能核对、能动手的观察点,并说明它出自上面哪条盘面依据;","5) 别把传统说法当成已证实的事实:不下绝对断言,也不用「肯定」「绝对」这类词,更不写「格局很好」「运程不顺」这种没有信息的空话。"].join(`
|
|
107
|
+
`);return{text:Ae,question:r,system:x&&x.system||"",label:h,chars:Ae.length,truncated:o}}return{followup:A,READING_ORDERS:L,READING_ORDER_FALLBACK:z,readingOrderOf:R,askPrompt:ne}})(),B.revise=(function(){const P=[{key:"ziwei",label:"紫微",re:/紫微|斗数/},{key:"bazi",label:"八字",re:/八字|四柱/},{key:"liuyao",label:"六爻",re:/六爻|摇卦/},{key:"qimen",label:"奇门",re:/奇门/},{key:"daliuren",label:"大六壬",re:/大六壬|六壬/},{key:"tarot",label:"塔罗",re:/塔罗|抽牌/},{key:"meihua",label:"梅花",re:/梅花/},{key:"hepan",label:"合盘",re:/合盘|合婚/},{key:"almanac",label:"黄历",re:/黄历|老黄历/},{key:"zeri",label:"择日",re:/择日|挑日子/},{key:"fengshui",label:"风水",re:/风水/},{key:"name",label:"起名",re:/起名|取名/},{key:"chenggu",label:"称骨",re:/称骨/},{key:"xiaoliuren",label:"小六壬",re:/小六壬/},{key:"star",label:"星座",re:/星座/},{key:"numerology",label:"生命数字",re:/生命数字|生命灵数/},{key:"mbti",label:"MBTI",re:/mbti|人格测试|十六型/i},{key:"trend",label:"人生 K 线",re:/k\s*线|人生曲线/i},{key:"convert",label:"公农历互转",re:/农历转公历|公历转农历|公农历/}],X=[{key:"love",label:"感情",re:/感情|婚姻|恋爱|对象|夫妻/},{key:"wealth",label:"财运",re:/财运|财富|赚钱|收入|破财/},{key:"career",label:"事业",re:/事业|工作|升职|跳槽/},{key:"health",label:"健康",re:/健康|身体|疾病|病/},{key:"study",label:"学业",re:/学业|考试|考研|升学|读书/},{key:"travel",label:"出行",re:/出行|搬家|迁移|旅行|外地/}],oe=/换成|改成|改为|换到|改看|再看|再看一下|换一套|排一?张|用|按|看/,F=k=>String(k||"").replace(/(出生|出生地|所在地|人)$/,"").replace(/[的了].*$/,"").trim();function W(k){const A=String(k??"").trim(),O={},L=[],z=[];if(!A)return{text:"",patch:O,labels:L,ignored:z};if(oe.test(A)){for(const x of P)if(x.re.test(A)){O.system=x.key,L.push({key:"system",label:"体系",value:x.key,display:x.label});break}}/女命|女性|换成女|改成女|女盘/.test(A)?(O.gender="female",L.push({key:"gender",label:"性别",value:"female",display:"女"})):/男命|男性|换成男|改成男|男盘/.test(A)&&(O.gender="male",L.push({key:"gender",label:"性别",value:"male",display:"男"})),/晚子时/.test(A)&&(/不换日|不换天|算当日|归当日|按当日|当天/.test(A)?(O.lateZi=!1,L.push({key:"lateZi",label:"晚子时",value:!1,display:"23:00 后仍算当日"})):/换日|算次日|归次日|按次日|第二天|次日/.test(A)&&(O.lateZi=!0,L.push({key:"lateZi",label:"晚子时",value:!0,display:"23:00 后算次日"}))),/真太阳时/.test(A)&&(/不用|不要|关闭|关掉|取消|不算/.test(A)?(O.trueSolar=!1,L.push({key:"trueSolar",label:"真太阳时",value:!1,display:"用东八区平太阳时"})):(O.trueSolar=!0,L.push({key:"trueSolar",label:"真太阳时",value:!0,display:"按出生地经度校正"}))),/夏令时/.test(A)&&(/不用|不要|关闭|关掉|取消|不校正/.test(A)?(O.dst=!1,L.push({key:"dst",label:"夏令时",value:!1,display:"不自动校正 1986–1991 夏令时"})):(O.dst=!0,L.push({key:"dst",label:"夏令时",value:!0,display:"自动校正 1986–1991 夏令时"})));const R=A.match(/出生在\s*([\u4e00-\u9fa5]{2,12})/)||A.match(/出生地(?:改成|改为|换成|换到|是|为)?\s*([\u4e00-\u9fa5]{2,12})/)||A.match(/改到\s*([\u4e00-\u9fa5]{2,12})\s*出生/);if(R){const x=F(R[1]);x.length>=2&&(O.address=x,L.push({key:"address",label:"出生地",value:x,display:x}))}const ne=A.match(/(?:看|查|问|到|到了|临近)\s*((?:19|20)\d{2})\s*年/)||A.match(/((?:19|20)\d{2})\s*年(?:的)?(?:运势|怎么样|如何|会怎样|流年)/);if(ne){const x=Number(ne[1]);O.asOf=`${x}-01-01T00:00`,L.push({key:"asOf",label:"流年基准",value:O.asOf,display:`${x} 年`})}else/(出生|生年)/.test(A)&&/(19|20)\d{2}\s*年/.test(A)&&z.push("出生年份没改:一句话改不出日与时辰,请直接传 datetime(如 1993-04-08T06:20)");for(const x of X)if(x.re.test(A)){O.direction=x.key,L.push({key:"direction",label:"询问方向",value:x.key,display:x.label});break}return/解读|详解|详细说|说人话/.test(A)&&!/不要解读|不用解读|别解读/.test(A)&&(O.withInterpret=!0,L.push({key:"withInterpret",label:"解读",value:!0,display:"附解析与详解"})),{text:A,patch:O,labels:L,ignored:z}}const E=P,I=X;function J(k,A){if(A==null)return null;if(k==="system"){const O=P.find(L=>L.key===A);return O?O.label:String(A)}if(k==="gender")return A==="female"?"女":A==="male"?"男":String(A);if(k==="direction"){const O=X.find(L=>L.key===A);return O?O.label:String(A)}if(typeof A=="boolean")return A?"开":"关";if(k==="asOf"){const O=String(A).match(/^(\d{4})/);return O?`${O[1]} 年`:String(A)}return String(A)}return{parseRevision:W,REVISE_SYSTEMS:E,REVISE_DIRECTIONS:I,displayValue:J}})(),B.handle=(function(){const{fail:P}=B.fail||{},X="mc1.",oe=new Set(["handle","trace","shadow","shadowVersion","diff","withInterpret","cross","verifyPast","rectify","events","ask","followup","question","geocode","caliber","revise"]),F=h=>h!==null&&typeof h=="object"&&!Array.isArray(h);function W(h){if(Array.isArray(h))return`[${h.map(r=>W(r===void 0?null:r)).join(",")}]`;if(F(h))return`{${Object.keys(h).filter(l=>h[l]!==void 0).sort().map(l=>`${JSON.stringify(l)}:${W(h[l])}`).join(",")}}`;const b=JSON.stringify(h===void 0?null:h);return b===void 0?"null":b}function E(h){let b=2166136261;for(let r=0;r<h.length;r++)b^=h.charCodeAt(r),b=Math.imul(b,16777619)>>>0;return b.toString(16).padStart(8,"0")}const I="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";function J(h){const b=[];for(const r of String(h)){let l=r.codePointAt(0);l<128?b.push(l):l<2048?b.push(192|l>>6,128|l&63):l<65536?b.push(224|l>>12,128|l>>6&63,128|l&63):b.push(240|l>>18,128|l>>12&63,128|l>>6&63,128|l&63)}return b}function k(h){let b="";for(let r=0;r<h.length;){const l=h[r];let d,o;l<128?(d=l,o=1):l<224?(d=l&31,o=2):l<240?(d=l&15,o=3):(d=l&7,o=4);for(let c=1;c<o;c++)d=d<<6|h[r+c]&63;r+=o,b+=String.fromCodePoint(d)}return b}function A(h){const b=J(h);let r="";for(let l=0;l<b.length;l+=3){const d=b[l],o=b[l+1],c=b[l+2];if(r+=I[d>>2],r+=I[(d&3)<<4|(o===void 0?0:o)>>4],o===void 0||(r+=I[(o&15)<<2|(c===void 0?0:c)>>6],c===void 0))break;r+=I[c&63]}return r}function O(h){const b=[];let r=0,l=0;for(const d of h){const o=I.indexOf(d);if(o<0)throw new Error(`不是 base64url 字符:${d}`);r=r<<6|o,l+=6,l>=8&&(l-=8,b.push(r>>l&255))}return k(b)}function L(h={}){const b={};for(const[r,l]of Object.entries(h||{}))oe.has(r)||l===void 0||(b[r]=l);return b}function z(h={}){const b=L(h);if(!Object.keys(b).length)return"";const r=A(W(b));return`${X}${r}.${E(r)}`}function R(h){if(typeof h!="string"||!h.trim())throw P("E_HANDLE","handle 必须是非空字符串;没拿到句柄时照常传 system + datetime 等原始参数即可");const b=h.trim();if(!b.startsWith(X))throw P("E_HANDLE",`handle 前缀不对(应以 ${X} 开头):句柄来自旧版本或复制不全,重新排一次盘取新的 handle`);const r=b.slice(X.length),l=r.lastIndexOf(".");if(l<=0)throw P("E_HANDLE","handle 缺少校验位:复制时可能被截断,重新取一次");const d=r.slice(0,l),o=r.slice(l+1);if(E(d)!==o)throw P("E_HANDLE","handle 校验不通过:内容被改动或截断,重新排一次盘取新的 handle");let c;try{c=JSON.parse(O(d))}catch{throw P("E_HANDLE","handle 内容无法解析(不是本插件生成的句柄),重新排一次盘取新的 handle")}if(!F(c))throw P("E_HANDLE","handle 内容不是参数对象,重新排一次盘取新的 handle");return c}function ne(h={}){if(!F(h))return h;const{handle:b,...r}=h;if(b==null||b==="")return{...r};const d={...R(b)};for(const[o,c]of Object.entries(r))c!==void 0&&(d[o]=c);return d}return{handlePayload:L,encodeHandle:z,decodeHandle:R,resolveHandle:ne,HANDLE_PREFIX:X,handleChecksum:E}})(),B.bridge=(function(){const{encodeHandle:P,decodeHandle:X,HANDLE_PREFIX:oe}=B.handle||{},{askPrompt:F}=B.followup||{},W=200,E=60,I={bazi:"八字",ziwei:"紫微",liuyao:"六爻",meihua:"梅花",daliuren:"大六壬",qimen:"奇门",hepan:"合盘",tarot:"塔罗",almanac:"黄历",zeri:"择日",chenggu:"称骨",xiaoliuren:"小六壬",star:"星座",numerology:"生命数字",mbti:"人格",trend:"人生K线",fengshui:"风水",name:"起名",convert:"农历"},J=b=>I[b]||b||"未知体系";function k(b){const r=String(b||""),l=r.indexOf("#");return l<0?r:r.slice(0,l)}function A(b){try{return encodeURIComponent(b)}catch{return""}}function O(b){try{return decodeURIComponent(b)}catch{return String(b||"")}}function L(b={},r={}){const l=r||{},o=String(l.handle||b&&b.handle||"").trim()||P(b||{});if(!o||!o.startsWith(oe))return"";const c=String(l.question||"").trim().slice(0,W),w=[`mp=${o}`];return c&&w.push(`q=${A(c)}`),`${k(l.base)}#${w.join("&")}`}function z(b){const r=String(b||"").trim();if(!r)return{ok:!1,code:"E_LINK",message:"没有链接内容:请粘贴带 #mp= 的完整链接"};let l="";const d=r.indexOf("#");if(d>=0&&r.slice(d+1).trim())l=r.slice(d+1).trim();else{const g=r.indexOf("?");g>=0&&r.slice(g+1).trim()?l=r.slice(g+1).trim():/^mp=/.test(r)&&(l=r)}if(!l)return{ok:!1,code:"E_LINK",message:"链接里没有 #mp= 片段:这不是本插件生成的深链"};const o={};for(const g of l.split("&")){if(!g)continue;const p=g.indexOf("=");if(p<=0)continue;const C=g.slice(0,p),de=g.slice(p+1);C==="mp"?o.mp=de:C==="q"&&(o.q=de)}if(!o.mp)return{ok:!1,code:"E_LINK",message:"链接里没有 mp 参数(只有问题没有盘):无法还原盘面"};let c;try{c=X(o.mp)}catch(g){return{ok:!1,code:g&&g.code||"E_HANDLE",message:g&&g.message||"句柄无法解析"}}const w=o.q?O(o.q).slice(0,W):"";return{ok:!0,handle:o.mp,args:c,question:w,system:c.system||"",label:J(c.system)}}const R=b=>{const r=/^(\d{4}-\d{1,2}-\d{1,2})[T ](\d{1,2}:\d{2})/.exec(String(b||"").trim());if(!r)return{date:"",time:""};const[l,d,o]=r[1].split("-");return{date:`${l}-${String(d).padStart(2,"0")}-${String(o).padStart(2,"0")}`,time:r[2].padStart(5,"0")}},ne=["gender","address","trueSolar","lateZi","lines"];function x(b){const r=b&&b.ok?b:null,l=r&&r.args||{},d=R(l.datetime),o={tab:l.system||"",date:d.date,time:d.time,question:r&&r.question||"",restored:[],rest:{}};o.tab&&o.restored.push("system"),d.date&&o.restored.push("datetime");for(const c of ne)l[c]===void 0||l[c]===null||(o[c]=l[c],o.restored.push(c));o.question&&o.restored.push("question");for(const[c,w]of Object.entries(l))c==="system"||c==="datetime"||ne.includes(c)||(o.rest[c]=w);return o}function M(b){const r=Object.keys(b&&b.rest||{});return r.length?`链接里还有 ${r.length} 项没填回表单(${r.join("、")}):这些只在引擎调用里生效,页面上按默认值显示。`:""}function h(b,r={}){const l=r||{},d=b||{},o=d.system||"",c=J(o),w=String(l.question||"").trim(),g=String(d.handle||"").trim();let p="";try{const we=F(d,{question:w,interpret:l.interpret});p=we&&we.text||String(d.summary||"")}catch{p=String(d.summary||"")}const C=w?w.length>E?`${w.slice(0,E)}…`:w:"(未填问题:按摘要讲主线)",de=g?`【命理追问】${c}|${g}|问:${C}`:`【命理追问】${c}|问:${C}`,Ae={};g&&(Ae.handle=g),o&&(Ae.system=o),w&&(Ae.question=w);const ue=JSON.stringify({tool:"metaphysics",v:1,args:Ae},null,2),je=g?L({handle:g},{question:w,base:l.base}):"";return{system:o,label:c,handle:g,question:w,full:p,brief:de,structured:ue,link:je}}return{LINK_MAX_QUESTION:W,askLink:L,parseAskLink:z,formOf:x,restNote:M,askPackages:h}})(),B.index=(function(){const{buildBazi:P}=B.bazi||{},{buildLiuyao:X,tossLines:oe,bodyLabels:F,yongshenOf:W,yongshenStrength:E,fushenAccess:I,hexagramStrength:J,jinTuiPower:k,yingqiWindow:A}=B.liuyao||{},{buildZiwei:O,BRIGHTNESS:L,flowOf:z,asOfParts:R,ZIWEI_SCHOOL_DEFAULTS:ne}=B.ziwei||{},{drawTarot:x}=B.tarot||{},{buildMeihua:M}=B.meihua||{},{buildDaliuren:h}=B.daliuren||{},{buildHepan:b,tripleOf:r}=B.hepan||{},{buildZiweiHepan:l}=B["ziwei-hepan"]||{},{buildQimen:d,buildSnapshot:o}=B.qimen||{},{geocodeAddress:c,resolveAddress:w}=B.geo||{},{toJDN:g,ganzhiName:p,dayGanzhiIndex:C}=B.calendar||{},{randomOf:de,isSeed:Ae}=B.random||{},{encodeHandle:ue,decodeHandle:je,resolveHandle:we}=B.handle||{},{askLink:De,parseAskLink:_e,formOf:Ye,restNote:Ve,askPackages:ie}=B.bridge||{},{parseRevision:se,displayValue:_}=B.revise||{},{interpret:y,DIRECTIONS:D,DIRECTION_DEFAULT:ke}=B.interpret||{},{followup:Ce,askPrompt:en}=B.followup||{},{crossCheck:an,crossText:nn,crossSection:Fe}=B.crosscheck||{},{pastSignals:Ze,verifyFit:xe}=B.verify||{},{rectifyBirth:tn}=B.rectify||{},{buildAlmanac:fn}=B.almanac||{},{buildZeri:Qe}=B.zeri||{},{buildChenggu:dn}=B.chenggu||{},{buildXiaoliuren:wn}=B.xiaoliuren||{},{buildStar:kn}=B.star||{},{buildNumerology:qn}=B.numerology||{},{buildMbti:Mn,mbtiPaper:_n}=B.mbti||{},{buildConvert:zn}=B.convert||{},{classicsFor:Xn,classicsText:Jn,suiyunClassicOf:Cn,classicOf:Pn,CLASSIC_BOOKS:Nn}=B.classics||{},{diffObjects:Dn,summarize:Gn,sortDiffs:Yn,labelOf:Bn,rootOf:Tn,categoryOf:Zn,formatValue:gn,CALIBER_SWITCHES:Wn,viewRows:Kn}=B.diff||{},{canonicalJson:Qn,fingerprintOf:Hn}=B.fingerprint||{},{buildTrend:Fn}=B.trend||{},{buildFengshui:jn}=B.fengshui||{},{buildName:Un}=B.name||{},{buildTrace:s,traceMarkdown:$,SYSTEM_LABEL:S}=B.trace||{},{fail:T}=B.fail||{},{assertCivil:v}=B.validate||{},Z=e=>String(e).padStart(2,"0"),$e=["male","female"];function ae(e,i){return i===2?e%4===0&&e%100!==0||e%400===0?29:28:[31,28,31,30,31,30,31,31,30,31,30,31][i-1]}function re(e,i=""){if($e.includes(e))return e;const a=e==null||e===""?"(未提供)":`「${e}」`;throw T("E_INPUT",`${i?i+"的":""}gender 必须是 male 或 female${a};性别决定大运/大限顺逆,不能靠默认值`)}const U=["brightnessSchool","gengYearSihua","tianmaSchool","tiankongSchool","jiekongSchool","kuiyueSchool","tianshiTianshang","changshengSchool","lateZishi","shenzhuSchool"];function Q(e){const i={};for(const a of U)e[a]!==void 0&&(i[a]=e[a]);return e.schools&&typeof e.schools=="object"&&(i.schools=e.schools),i}function ge(e){if(typeof e!="string"||!e.trim())throw T("E_INPUT","缺少 datetime(公历日期时间),例如 1990-05-12T14:30");const i=e.trim().match(/^(\d{4})-(\d{1,2})-(\d{1,2})(?:[T\s](\d{1,2}):(\d{1,2})(?::(\d{1,2}))?)?$/);if(!i)throw T("E_INPUT",`无法解析 datetime:「${e}」,请用 1990-05-12T14:30 这种格式`);const a={year:Number(i[1]),month:Number(i[2]),day:Number(i[3]),hour:Number(i[4]??0),minute:Number(i[5]??0)};if(a.month<1||a.month>12)throw T("E_INPUT",`月份超出范围:${a.month}`);const n=ae(a.year,a.month);if(a.day<1||a.day>n)throw T("E_INPUT",`日期不存在:${a.year}-${a.month}-${a.day}(${a.year} 年 ${a.month} 月只有 ${n} 天)`);if(a.hour>23||a.minute>59)throw T("E_INPUT",`时间超出范围:${a.hour}:${a.minute}`);if(a.year<1600||a.year>2400)throw T("E_RANGE",`年份 ${a.year} 超出可计算范围(1600–2400)`);return(a.year<1900||a.year>2100)&&(a.precision={level:"approx",note:`ΔT 模型仅覆盖 1900–2100,${a.year} 年按端点值外推,节气与朔望时刻可能有分钟级偏差,月柱在交节前后需复核`}),a}function ze(e){const i=e.pillars,a=(ve,He)=>`${ve}:${He.ganzhi} ${He.stemTenGod?`十神 ${He.stemTenGod} `:""}藏干 ${He.hidden.map(bn=>`${bn.stem}(${bn.tenGod})`).join(" ")} 纳音 ${He.nayin} 地势 ${He.dishi} 自坐 ${He.zizuo} 空亡 ${He.kongwang.join("")}`+(He.shensha&&He.shensha.length?` 神煞 ${He.shensha.join("、")}`:""),n=Object.entries(e.wuxing).map(([ve,He])=>`${ve}${He}`).join(" "),t=e.palaces?`【胎元】${e.palaces.taiyuan.ganzhi} 胎息 ${e.palaces.taixi?e.palaces.taixi.ganzhi:"—"} 命宫 ${e.palaces.minggong.ganzhi} 身宫 ${e.palaces.shengong.ganzhi}`:"",u=e.dayun.list.slice(0,8).map(ve=>`${ve.startAge}岁 ${ve.ganzhi}(${ve.stemTenGod})${ve.luck?`·${ve.luck.tier}`:""}${ve.relations&&ve.relations.length?`[${ve.relations.join("")}]`:""}`).join(" "),f=e.dayun.jiao&&e.dayun.jiao.at?`;交运 ${e.dayun.jiao.at}(${e.dayun.jiao.frame},距${e.dayun.jiao.from.name} ${e.dayun.jiao.spanDays} 天,三日折一年)`:"",N=e.jieqi.nearBoundaryMinutes<20?`
|
|
108
|
+
⚠ 出生时刻距「节」仅 ${e.jieqi.nearBoundaryMinutes} 分钟,而节气时刻本身有最多约 14 分钟的偏差,月柱与年柱建议人工复核。`:"",V={year:"年",month:"月",day:"日",hour:"时"},ce=e.shensha&&e.shensha.groups&&e.shensha.groups.length?`神煞(${e.shensha.count} 见):`+e.shensha.groups.map(ve=>`${ve.cat}|`+ve.items.map(He=>`${He.name}(${He.pillars.map(bn=>V[bn]).join("")})`).join("、")).join(";"):"神煞:—",ee=e.renyuan,ye=Pn("smt-renyuan"),G=ee?`人元:${ee.month}月第${ee.day}日,${ee.active}${ee.activeElement}司权(${ee.segments.map(ve=>`${ve.stem}${ve.from}–${ve.to}`).join(" ")})${ee.beyond?";已过 30 日表,按本气算":""}${ye?`|原文见《${Nn[ye.book].name}·${ye.chapter}》`:""}`:"",fe=e.frame&&e.frame.yongshen&&e.frame.yongshen.disputed||[],Ke=fe.length?` 有争议:${fe.map(ve=>`${ve.element}(${ve.favorRole};${ve.climate}盘调候忌${ve.element})`).join("、")}`:"",un=new Set(fe.map(ve=>ve.element)),Ge=e.frame&&e.frame.yongshen&&e.frame.yongshen.neutral||[],rn=Ge.length?` 中性偏忌:${Ge.map(ve=>`${ve.element} ${ve.weight} 分`).join("、")}(近零,不作实忌)`:"",Rn=e.frame?[`格局:${e.frame.primary?`${e.frame.primary.name}(${e.frame.primary.evidence})`:"—"}`,` ${e.frame.geju.map(ve=>`${ve.name}[${ve.kind}${ve.status?`·${ve.status}`:""}]`).join(" ")}`,`用神:喜${e.frame.yongshen.favor.join("")}(${e.frame.yongshen.favorTenGods.join("、")}) 忌${e.frame.yongshen.avoid.join("")}(${e.frame.yongshen.avoidTenGods.join("、")})${Ke}${rn} ${e.frame.yongshen.method}`,` ${e.frame.yongshen.detail}`,`寒暖:${e.climate?`${e.climate.label}(${(e.climate.evidence||[]).join("、")})${e.climate.need?` 调候取${e.climate.need.stem}${e.climate.need.element} 忌${e.climate.avoidElement}${un.has(e.climate.avoidElement)?"(有争议)":""}`:""}`:"—"}`+(e.frame.yongshen.qt?` 穷通:${e.frame.yongshen.qt.month}${e.frame.yongshen.qt.stem}取${e.frame.yongshen.qt.yong.join("、")}(首取${e.frame.yongshen.qt.primary})`:""),`十神权重:${Object.entries(e.frame.godStats.groups).map(([ve,He])=>`${ve}${He}`).join(" ")}`]:[];return[`【四柱】${i.year.ganzhi} ${i.month.ganzhi} ${i.day.ganzhi} ${i.hour.ganzhi}`,`日主:${e.dayMaster.stem}${e.dayMaster.element}(${e.dayMaster.yinYang}) 空亡:${e.kongwang.join("")}`,a("年柱",i.year),a("月柱",i.month),a("日柱",i.day),a("时柱",i.hour),`五行:${n}`,...t?[t]:[],`日主强弱:${e.strength.level}(${e.strength.score}) ${e.strength.detail}`,...Rn,`天干关系:${e.relations&&e.relations.stems.length?e.relations.stems.join(" "):"—"}`,`地支关系:${e.relations&&e.relations.branches.length?e.relations.branches.join(" "):"—"}`,ce,`真太阳时:${e.solarTime.trueSolarText}(${e.input.geo?e.input.geo.note+";":""}${e.solarTime.note}) 晚子时:${e.input.lateZi?"23:00 后算次日":"23:00 后仍算当日"}`,`节气:上一节 ${e.jieqi.previous.name} ${e.jieqi.previous.time} 下一节 ${e.jieqi.next.name} ${e.jieqi.next.time}`,...G?[G]:[],`大运:${e.dayun.rule}(${e.dayun.direction}),${e.dayun.startAge.years}岁${e.dayun.startAge.months}个月起运${f}`,` ${u}`,`流年:${e.liunian.slice(0,10).map(ve=>`${ve.year}${ve.ganzhi}(${ve.stemTenGod})${ve.luck?`·${ve.luck.tier}`:""}`).join(" ")}`,(()=>{const ve=e.liunian.filter(sn=>sn.suiyun&&sn.suiyun.signals&&sn.suiyun.signals.length);if(!ve.length)return"岁运提示:近十年无岁运并临、运年反吟或大运/流年伏吟、反吟(只标干支,不判吉凶)";const He=sn=>`${sn.type}${(sn.type.startsWith("流年")||sn.type.startsWith("大运"))&&sn.target?`(${sn.target})`:""}`,bn=Cn(e),et=bn?`|古籍见《${Nn[bn.book].name}·${bn.chapter}》`:"";return"岁运提示(只标干支变动,不判吉凶):"+ve.map(sn=>`${sn.year}${sn.ganzhi} ${sn.suiyun.signals.map(He).join("/")}`).join(";")+et})(),"(格局、用神、行运吉凶为扶抑+简化调候的量化提示,非断语。)"].join(`
|
|
109
|
+
`)+N}function H(e){const i=e.lunar.monthRaw||e.lunar.month,a=`${e.lunar.year}年${e.lunar.isLeap?`闰${i}`:e.lunar.month}月${e.lunar.day}日`+(e.lunar.isLeap&&e.lunar.month!==i?`(按${e.lunar.month}月起盘)`:""),n=(()=>{if(!e.schools)return"";const fe=Object.entries({brightnessSchool:"亮度",gengYearSihua:"庚干四化",tianmaSchool:"天马",tiankongSchool:"天空",jiekongSchool:"截空",kuiyueSchool:"魁钺",tianshiTianshang:"天伤天使",changshengSchool:"长生",lateZishi:"晚子时",shenzhuSchool:"身主"}).filter(([Ke])=>e.schools[Ke]&&e.schools[Ke]!==ne[Ke]).map(([Ke,un])=>`${un} ${e.schools[Ke]}`);return fe.length?`【流派】${fe.join(" ")}`:""})(),t=G=>G.length?G.map(fe=>`${fe.name}${fe.mutagen?`化${fe.mutagen}`:""}`).join(" "):"—",u=G=>`神煞:长生(${G.changsheng}) 博士(${G.boshi}) 将前(${G.jiangqian}) 岁前(${G.suiqi})`,f=[];for(const G of e.palaces){const fe=G.isSoul?"【命】":G.isBody?"【身】":" ";f.push(` ${G.palace} ${G.branch} ${G.ganzhi} ${fe} 大限${String(G.daxian.start).padStart(2)}-${G.daxian.end} 小限${String(G.xiaoxian.age).padStart(2)} ${t(G.stars)}`),f.push(` ${u(G.shensha)}`)}const N=(e.liunian??[]).slice(0,6).map(G=>` ${G.year} ${G.ganzhi} ${String(G.age).padStart(2)}岁 命宫${G.lifePalace.branch}(${G.lifePalace.palace}) 流禄${G.liulu} 流羊${G.liuyang} 流陀${G.liutuo} | ${G.mutagen.map(fe=>fe.replace("化","")).join(" ")}`+(G.mutagenHits?` 四化落宫 ${G.mutagenHits.map(fe=>`${fe.star}${fe.type}→${fe.palace||"未上盘"}`).join("、")}`:"")+(G.sanfangMainStars?` 三方主星 ${G.sanfangMainStars.join("")}`:"")),V=(e.patterns??[]).length?e.patterns.map(G=>`${G.name}(${G.tone==="good"?"吉格":G.tone==="bad"?"忌格":"中"}:${G.evidence})`).join(";"):"无明显格局(按内置规则)",ce=(e.daxianList??[]).slice(0,8).map(G=>` ${G.branch}宫(${G.palace})${G.ages[0]}-${G.ages[1]}岁 ${G.ganzhi} 会${G.mainStars.join("")||"—"} 化 ${G.mutagenHits.map(fe=>`${fe.star}${fe.type}→${fe.palace||"未上盘"}`).join("、")}`),ee=(()=>{const G=e.flyChains;if(!G)return"";const fe=un=>{const Ge=G[un];return!Ge||!Ge.steps.length?"":`${un}:${Ge.path.join("→")}${Ge.closed?"(成环)":""}`},Ke=["禄","权","科","忌"].map(fe).filter(Boolean).join(" ");return Ke?`【命宫飞星】${Ke}`:""})(),ye=(()=>{const G=e.flyComposite;if(!G||!Array.isArray(G.sources)||!G.sources.length)return"";const fe=G.labels.length?G.labels.join(" · "):"无同宫会聚",Ke=["禄","权","科","忌"].map(un=>{const Ge=(G.byType&&G.byType[un]||[]).filter(Rn=>!Rn.self),rn=[...new Set(Ge.map(Rn=>String(Rn.to).replace(/宫$/,"")))];return rn.length?`${un}→${rn.join("/")}`:""}).filter(Boolean).join(" ");return`【三方四正飞化】${G.sanfang.join("·")}:${fe}${Ke?` ${Ke}`:""}`})();return[`【农历】${a}(月首 ${e.lunar.monthStart}) 时支:${e.hourBranch} 年干支:${e.yearGanzhi}`,`【时刻】${e.solarTime?`${e.solarTime.civilText} → 真太阳时 ${e.solarTime.trueSolarText}${e.input.geo?"("+e.input.geo.note+")":""}`:""}`,`【命宫】${e.soul.branch}(${e.soul.ganzhi}·${e.soul.nayin}) 【身宫】${e.body.branch}(落${e.body.lands}) 【五行局】${e.bureau.name}`,`【紫微】${e.ziwei} 【天府】${e.tianfu} 【命主】${e.lifeMaster} 【身主】${e.bodyMaster}${e.bodyMasterNote?`(${e.bodyMasterSchool==="common"?"子午皆火星":"子铃午火"})`:""}`,`【大限】${e.daxian.rule},${e.daxian.startAge}岁起 【小限】${e.xiaoxianRule.direction}`,n,`【昌曲】文昌${e.changqu.wenchang.branch}(${e.changqu.wenchang.palace}${e.changqu.wenchang.mutagen?"·化"+e.changqu.wenchang.mutagen:""}) 文曲${e.changqu.wenqu.branch}(${e.changqu.wenqu.palace}${e.changqu.wenqu.mutagen?"·化"+e.changqu.wenqu.mutagen:""})`,` ${e.changqu.relation} 入命三方:${e.changqu.inSoulSanfang?"是":"否"} 吸收面:${e.changqu.absorb.label}(${e.changqu.absorb.reason})`,ee,ye,"十二宫:",...f,"大限(按起运年龄排序,前 8 限,宫干四化落宫):",...ce,"流年(前 6 年,完整 12 年在结构化数据里):",...N,`【格局】${V}`,e.patternSummary?`【结构统计】吉格 ${e.patternSummary.good.length}、中性 ${e.patternSummary.neutral.length}、忌格 ${e.patternSummary.bad.length}${e.patternSummary.broken.length?`、破格 ${e.patternSummary.broken.length}(${e.patternSummary.broken.join("、")})`:""};${e.patternSummary.note}`:"",e.lunar.note?`注:${e.lunar.note}`:""].filter(Boolean).join(`
|
|
110
|
+
`)}const te=["旺","相","休","囚","死"];function m(e){const i=e.states,a=e.month;if(!i||!a)return"无月令数据";const n=t=>te.filter(u=>t&&Array.isArray(t[u])&&t[u].length).map(u=>`${u} ${t[u].join("/")}`).join(" ");return`月令 ${a.branch}(${a.element}) 门 ${n(i.gate)||"—"} 星 ${n(i.star)||"—"} 干 ${n(i.stem)||"—"}`}function he(e){const i=e.palaces,a=n=>`${n.palace}宫 ${n.star||"—"}/${n.gate||"—"}/${n.god||"—"}${n.kong?" 空":""}${n.ma?" 马":""}`;return[`【四柱】${e.siZhu.year} ${e.siZhu.month} ${e.siZhu.day} ${e.siZhu.time}`,`【局数】${e.ju} 节气 ${e.jieqi}(${e.jieqiTime})`,`【值符】${e.zhiFu.star}(${e.zhiFu.gong}宫) 【值使】${e.zhiShi.gate}(${e.zhiShi.gong}宫) 旬首 ${e.xunshou}`,`【空亡】${e.kongWang.join("")||"—"} 驿马 ${e.ma.zhi||"—"}(${e.ma.gong||"—"}宫)`,`【宫位条件】击刑 ${(e.conditions&&e.conditions.jiXing||[]).map(n=>`${n.palace}宫${n.stem}`).join("、")||"无"} 三奇入墓 ${(e.conditions&&e.conditions.ruMu||[]).map(n=>`${n.palace}宫${n.stem}`).join("、")||"无"} 六仪入墓 ${(e.conditions&&e.conditions.liuYiRuMu||[]).map(n=>`${n.palace}宫${n.stem}`).join("、")||"无"}`,`【十干克应】${[...i,e.centerPalace].filter(n=>n&&n.ganYing).map(n=>`${n.palace}宫 ${n.ganYing.tian}加${n.ganYing.di} ${n.ganYing.name}`).join(" ")||"—"}`,`【旺衰】${m(e)}`,`【九宫】${i.map(a).join(" ")}`,`※ 晚子时:${e.lateZiHourMode==="next-day"?"23:00 后归次日":"23:00 后仍归当日"}(可用 lateZiHourMode / lateZi 指定)`,`※ ${e.rules[e.rules.length-1]}`].join(`
|
|
111
|
+
`)}function Se(e){if(!e||!Array.isArray(e.pairs)||!e.pairs.length)return[];const i=["【三方合盘】三对两两并列,不合成「三人总分」",...e.pairs.map(a=>`· ${a.a}–${a.b}:${a.level||"—"}(${a.total==null?"—":`${a.total}/100`})`)];return e.best&&(e.spread>=3?i.push(` 最顺:${e.best.a}–${e.best.b}(${e.best.total}/100)`+(e.hardest?`;最需磨合:${e.hardest.a}–${e.hardest.b}(${e.hardest.total}/100)`:"")):i.push(` 三对分数接近(最高与最低相差 ${e.spread} 分),不排名`)),e.focus&&e.focus.spread>=3&&i.push(` 差异最大的一维:${e.focus.label}(三对相差 ${e.focus.spread} 分)`),e.note&&i.push(`※ ${e.note}`),i}function Be(e){if(e.chart==="ziwei"){const n=t=>`${t.label}:${t.score>=0?"+":""}${t.score} ${t.text}`;return[`【紫微合盘】${e.score.level}(${e.score.total}/100)`,`你 命宫 ${e.a.soul.branch}(${e.a.soulStars.join("、")||"无主星"}) 夫妻 ${e.a.spouseStars.join("、")||"无主星"} ${e.a.bureau}`,`对方 命宫 ${e.b.soul.branch}(${e.b.soulStars.join("、")||"无主星"}) 夫妻 ${e.b.spouseStars.join("、")||"无主星"} ${e.b.bureau}`,...e.dimensions.map(n),...e.interactions.map(t=>` · ${t.text}`),...Se(e.triple),...e.notes.map(t=>`※ ${t}`)].join(`
|
|
112
|
+
`)}const i=n=>`${n.label}:${n.score>=0?"+":""}${n.score} ${n.text}`,a=n=>!n||!n.solarNote?"—":`${n.longitude==null?"未含经度修正":`${n.longitude}°E`}(${n.solarNote})`;return[`【合盘】${e.score.level}(${e.score.total}/100)`,`你 ${e.a.pillars.join(" ")} 日主 ${e.a.dayMaster} 日支 ${e.a.dayBranch} ${e.a.strength||""}`,`对方 ${e.b.pillars.join(" ")} 日主 ${e.b.dayMaster} 日支 ${e.b.dayBranch} ${e.b.strength||""}`,`真太阳时:你 ${a(e.a)};对方 ${a(e.b)}`,...e.dimensions.map(i),...e.detail?[`属相:${e.detail.yearRelation.label}——${e.detail.yearRelation.text}`,`日干:${e.detail.stems.text}`,...e.detail.crossBranches&&e.detail.crossBranches.length?[`跨盘地支:${e.detail.crossBranches.map(n=>`${n.name}(${n.a}${n.b})`).join("、")}`]:[],`年命纳音:${e.detail.nayin.a} / ${e.detail.nayin.b}(${e.detail.nayin.label})——${e.detail.nayin.text}`,`吉凶象:吉 ${e.detail.tally.good} / 凶 ${e.detail.tally.bad}(${e.detail.tally.lean};分档只数象,总分以上面三维度为准)`]:[],...Se(e.triple),...e.notes.map(n=>`※ ${n}`)].join(`
|
|
113
|
+
`)}function qe(e){const i=e.sanChuan,a=n=>`${n.zhi}(${n.jiang}${n.liuQin}${n.xunKong?"空":""})`;return[`【日时】${e.dayGanZhi}日 ${e.hourZhi}时(${e.dayNight}贵) 月将 ${e.yueJiang.name}${e.yueJiang.zhi} 节气 ${e.jieqi.name} ${e.lateZi===!1?"晚子时不换日":"晚子时换日"}`,`【三传】初 ${a(i.chu)} → 中 ${a(i.zhong)} → 末 ${a(i.mo)}`,`【四课】${e.siKe.map(n=>`${n.position}课 ${n.shang}上${n.xia}下(${n.relation}·${n.jiang})`).join(" ")}`,`【天地盘】${e.pan.map(n=>`${n.di}:${n.tian}(${n.jiang})`).join(" ")}`,`【格局】${e.geJu.name}·${e.geJu.detail}`,...e.shensha&&e.shensha.length?[`【神煞】${e.shensha.map(n=>`${n.name}${n.branch}`).join(" ")}`]:[]].join(`
|
|
114
|
+
`)}function Ie(e){const i=[`【起卦】${e.source}`,`【本卦】${e.ben.name}(上${e.ben.upper} 下${e.ben.lower}) 动爻:${e.movingName}`,`【互卦】${e.hu.name} 【变卦】${e.bian.name} 【错卦】${e.cuo.name} 【综卦】${e.zong.name}`,`【体用】体 ${e.bodyUse.body.trigram}${e.bodyUse.body.element} 用 ${e.bodyUse.use.trigram}${e.bodyUse.use.element} ${e.bodyUse.level}`,` ${e.bodyUse.relation}`],a=e.lines.slice().reverse().map(n=>` ${n.name} ${n.yinYang==="阳"?"━━━━━":"━━ ━━"}${n.moving?" ←动":""}`);return[...i,"【爻】",...a].join(`
|
|
115
|
+
`)}function Pe(e){const i=[e.question?`【所问】${e.question}`:"(未填写提问)",`【牌阵】${e.spread}${e.castAt?` 抽牌于 ${e.castAt}`:""}`];for(const a of e.cards)i.push(` ${a.position}:${a.name}(${a.orientation}) ${a.keywords.join("、")}`);if(e.reading&&e.reading.length){i.push("【解读】");for(const a of e.reading)i.push(` ${a}`)}return i.join(`
|
|
116
|
+
`)}function q(e){const i=V=>{const ce=V.lines.slice().reverse().map(ee=>{const ye=ee.position===V.shi?"世":ee.position===V.ying?"应":" ";return` ${ee.name} ${ye} ${ee.symbol} ${ee.ganzhi}${ee.element} ${ee.liuqin}/${ee.liushen}`});return[`${V.name}(${V.palace}·${V.palaceElement})`,...ce].join(`
|
|
117
|
+
`)},a=[`起卦:${e.cast.notation.join("、")}(自下而上)`,`日辰:${e.dayGanZhi.name}`,e.xunShou?`旬首:${e.xunShou} 旬空:${(e.xunKong||[]).join("")||"—"}`:"",e.question?`所问:${e.question}`:"","本卦:",i(e.ben)];e.bian?a.push(`动爻:第 ${e.cast.movingPositions.join("、")} 爻`,"变卦(六亲以变卦自身宫论):",i(e.bian)):a.push("六爻安静,无变卦。");const n=e.body&&Array.isArray(e.body.labels)?e.body.labels:F(e.body);a.push(`卦体:${n.length?n.join(" · "):"无六冲、六合、伏吟、反吟"}`);const t=e.useGod||W(e,{});if(t&&t.liuqin){const V=t.found.length?t.found.map(fe=>`${fe.position}爻${fe.ganzhi}${fe.element}${fe.kong?"(空)":""}`).join("、"):t.fushen.length?t.fushen.map(fe=>`伏 ${fe.position}爻${fe.ganzhi}${fe.element}(${fe.relation||"飞伏关系未知"})`).join("、"):"不上卦";a.push(`用神:${t.byShi?"世爻":t.liuqin}(${t.ask})→ ${V}${t.side?`(${t.side})`:""}`);const ce=t.byShi?"用神 世爻":`用神 ${t.liuqin}`,ee=t.labels.filter(fe=>fe!==ce&&!fe.startsWith(ce));ee.length&&a.push(`用神联动:${ee.join(" · ")}`);const ye=e.useGodStrength;if(ye&&ye.labels.length){const fe=ye.month&&ye.month.branch?`月建 ${ye.month.branch}(${ye.month.element}) `:"";a.push(`用神旺衰:${fe}${ye.labels.join(" · ")}`)}const G=e.fushenAccess;G&&Array.isArray(G.labels)&&G.labels.length&&a.push(`伏神出伏:${G.labels.join(" · ")}`)}else a.push("用神:未取(未指明所问之事;用「询问方向」指定后即按六亲取用)");const u=e.hexStrength;if(u&&Array.isArray(u.labels)&&u.labels.length){const V=u.month&&u.month.branch?`月建 ${u.month.branch}(${u.month.element}) `:"无月建(未给起卦时间) ";a.push(`全卦旺衰:${V}${u.labels.join(" · ")}`)}const f=e.jinTuiPower;f&&Array.isArray(f.lines)&&f.lines.length&&a.push(`进退力重:${f.lines.map(V=>`${V.position}爻${V.from}→${V.to}${V.type}·${V.verdict}`).join(" · ")}`);const N=e.yingqi;return N&&Array.isArray(N.triggers)&&N.triggers.length&&a.push(`应期线索:${N.tempo} · ${N.triggers.map(V=>`${V.labels.join("/")}${V.branch}`).join(" · ")}(只列地支,不出日期)`),a.filter(Boolean).join(`
|
|
118
|
+
`)}function Te(e){const i=new WeakSet,a=(n,t)=>{switch((n instanceof Number||n instanceof String||n instanceof Boolean)&&(n=n.valueOf()),n&&typeof n=="object"&&typeof n.toJSON=="function"&&(n=n.toJSON(t)),typeof n){case"string":case"boolean":return n;case"number":return Number.isFinite(n)?Object.is(n,-0)?0:n:null;case"bigint":throw new TypeError("Do not know how to serialize a BigInt");case"object":{if(n===null)return null;if(i.has(n))throw new TypeError("Converting circular structure to JSON");i.add(n);let u;if(Array.isArray(n)){u=new Array(n.length);for(let f=0;f<n.length;f++){const N=a(n[f],String(f));u[f]=N===void 0?null:N}}else{u={};for(const f of Object.keys(n)){const N=a(n[f],f);N!==void 0&&(u[f]=N)}}return i.delete(n),u}default:return}};return a(e,"")}const Ee=new Set(["shadow","shadowVersion","diff","trace","traceError","withInterpret","cross","verifyPast","rectify","events","geocode","ask","followup","caliber","seed","asOf","handle","revise"]),be=e=>{if(e==null||e==="")return null;const i=Number(e);return Number.isFinite(i)?Number(i.toFixed(6)):null};function le(e){if(e==null||e==="")return null;try{const i=ge(e);return{y:i.year,m:i.month,d:i.day,h:i.hour,mi:i.minute,precision:i.precision}}catch{return String(e).trim()}}function K(e={}){const i={};return e.datetime&&(i.datetime=le(e.datetime)),e.gender&&(i.gender=String(e.gender).toLowerCase()),e.longitude!==void 0?i.longitude=be(e.longitude):e.address&&(i.address=String(e.address).trim()),e.lateZi!==void 0&&(i.lateZi=e.lateZi!==!1),e.trueSolar!==void 0&&(i.trueSolar=e.trueSolar!==!1),e.dst!==void 0&&(i.dst=e.dst!==!1),i}function Oe(e){return e.lateZiHourMode==="next-day"||e.lateZi===!0?"next-day":"same-day"}function pe(e,i){const a=String(i&&i.system||e.system||""),n=i&&i.input&&typeof i.input=="object"?i.input:null;if(a==="bazi"&&n)return{civil:n.civil,gender:n.gender,longitude:be(n.longitude),lateZi:n.lateZi!==!1,trueSolar:n.trueSolar!==!1,dst:!!(n.dst&&n.dst.applied)};if(a==="ziwei"&&n)return{civil:{year:n.year,month:n.month,day:n.day,hour:n.hour,minute:n.minute},gender:n.gender,longitude:be(n.longitude),leapMonth:n.leapMonth||"split",leapAsNext:n.leapAsNext===!0,schools:n.schools||ne,trueSolar:n.trueSolar!==!1,dst:!!(n.dst&&n.dst.applied)};if(a==="qimen")return{datetime:le(e.datetime),juMethod:e.juMethod||"chaibu",lateZiHourMode:Oe(e)};if(a==="hepan"){const u={chart:e.chart==="ziwei"?"ziwei":"bazi",a:K({...e,datetime:e.datetime}),b:K(e.partner||{})};return e.partner2&&(u.c=K(e.partner2)),u}const t={};for(const[u,f]of Object.entries(e))if(!(Ee.has(u)||f===void 0))if(u==="datetime")t.datetime=le(f);else if(u==="partner")t.partner=K(f);else if(u==="gender")t.gender=String(f).toLowerCase();else{if(u==="address")continue;typeof f=="number"?t[u]=Number.isFinite(f)?Object.is(f,-0)?0:f:null:typeof f=="string"?t[u]=f.trim():t[u]=f}return a==="daliuren"&&t.lateZi===void 0&&(t.lateZi=!0),a==="tarot"&&t.count===void 0&&(t.count=3),a==="meihua"&&t.mode===void 0&&(t.mode="time"),a==="xiaoliuren"&&t.mode===void 0&&(t.mode="time"),a==="convert"&&t.mode===void 0&&(t.mode="solar2lunar"),a==="fengshui"&&t.action===void 0&&(t.action="natal"),a==="tarot"&&i&&Array.isArray(i.cards)&&i.cards.length&&(t.cards=i.cards.map(u=>`${u.name||""}|${u.upright?"正":"逆"}`)),a==="liuyao"&&i&&i.cast&&Array.isArray(i.cast.lines)&&(t.cast=i.cast.lines.join("")),t}function Le(e,i){const a=i.seed,n=!(a==null||a==="");return e==="liuyao"&&Array.isArray(i.lines)&&i.lines.length===6?{reproducible:!0}:(e==="tarot"||e==="liuyao")&&!n?{reproducible:!1,reason:"未给 seed:重算会变成另一副牌 / 另一卦"}:e==="bazi"||e==="ziwei"||e==="trend"||e==="fengshui"?{reproducible:!0,asOfPinned:!!i.asOf}:{reproducible:!0}}function Xe(e={},i={}){const a=i.result||null,n=String(a&&a.system||e.system||""),t=String(i.version||typeof globalThis<"u"&&globalThis.__MP_VER||"dev");return{...Hn({system:n,params:pe(e,a),seed:e.seed,asOf:e.asOf?String(e.asOf):null,version:t}),...Le(n,e),system:n,version:t}}const on=new Set(["shadow","trace","traceText","traceError","interpret","summary","classics","suiyunClassic","renyuanClassic","cross","past","rectify","followup","caliber","input","reading","knowledge","outline","sections","answer","plain","tables","glossary","caveats","lead","dimensions","moduleType","technique","disclaimer","ask","followups","knowledgeCount","title","systemLabel","handle","handleError","revision"]);function $n(e){const i={};for(const[a,n]of Object.entries(e||{}))on.has(a)||(i[a]=n);return i}function Je(e){return!e||!e.shadow||!e.shadow.baseId?null:{snapshot:!0,shadow:e.shadow,data:$n(e)}}function En(e,i,a={}){const n=e&&e.shadow,t=i&&i.shadow;if(!n||!t)return{sameId:!1,total:0,reason:"缺少影子盘信息"};if(n.baseId&&t.baseId&&n.baseId!==t.baseId)return{sameId:!1,total:0,fromId:n.id,toId:t.id,fromBaseId:n.baseId,toBaseId:t.baseId,reason:"基础指纹不同,不是同一张盘"};const u=G=>G.snapshot===!0&&G.data&&typeof G.data=="object"?G.data:$n(G),f=Dn(u(e),u(i)),N=Yn(f.filter(G=>Tn(G.path))).map(G=>({path:G.path,label:Bn(G.path),from:gn(G.from),to:gn(G.to)})),V=new Map;for(const G of f){const fe=Zn(G.path)||"其他";V.set(fe,(V.get(fe)||0)+1)}const ce=[...V.entries()].map(([G,fe])=>({name:G,count:fe})).sort((G,fe)=>fe.count-G.count||G.name.localeCompare(fe.name,"zh-Hans-CN")),ee=a.fromVersion||n.version||"",ye=a.toVersion||t.version||"";return{sameId:!0,versionChanged:ee!==ye,fromVersion:ee,toVersion:ye,total:f.length,summary:Gn(f),roots:N,categories:ce,diffs:f}}function xn(e={}){let i=we(e),a;if(typeof i.revise=="string"&&i.revise.trim()){const t=se(i.revise),u={...i};i={...i,...t.patch},a={text:t.text,applied:t.labels.map(f=>{const N=u[f.key]===void 0?null:u[f.key];return{...f,from:N,fromDisplay:_(f.key,N)}}),ignored:t.ignored}}i.partner2===null&&(i={...i},delete i.partner2);const n=Te(cn(i));if(a&&(n.revision=a),n&&n.system==="bazi"){n.classics=Xn(n);const t=Jn(n.classics);t&&(n.summary=`${n.summary}
|
|
119
119
|
【古籍】
|
|
120
|
-
${
|
|
121
|
-
${
|
|
122
|
-
${
|
|
123
|
-
依据:${
|
|
124
|
-
规则·${
|
|
125
|
-
`)));return Array.isArray(e.followups)&&e.followups.length&&i.push("还可以这样追问:"+e.followups.map(
|
|
126
|
-
`)}const Oe=["cross","verifyPast","withInterpret","question","direction","ask","geocode","rectify","events","shadow","trace"];function we(e={},i={}){const n=i.system||e.system,t=i.switches||En[n]||[];if(!t.length)return{system:n,switches:[],affected:0,total:0};const r={...e};for(const q of Oe)delete r[q];const I=t.map(q=>{const P=q.read(r),l=q.alt(P);let f=[],O="";try{f=hn(x({...r,[q.key]:P}),x({...r,[q.key]:l}))}catch(ye){O=ye&&ye.message||String(ye)}const re=fn(f.filter(ye=>yn(ye.path))).map(ye=>({path:ye.path,label:gn(ye.path),from:bn(ye.from),to:bn(ye.to)})),y=new Map;for(const ye of f){const qe=pn(ye.path)||"其他";y.set(qe,(y.get(qe)||0)+1)}const L=[...y.entries()].map(([ye,qe])=>({name:ye,count:qe})).sort((ye,qe)=>qe.count-ye.count||ye.name.localeCompare(qe.name,"zh-Hans-CN"));return{key:q.key,title:q.title,short:q.short,current:P,alt:l,currentLabel:q.label(P),altLabel:q.label(l),total:f.length,summary:O?"":dn(f),roots:re,categories:L,error:O}});return{system:n,switches:I,affected:I.filter(q=>!q.error&&q.total>0).length,total:I.reduce((q,P)=>q+P.total,0)}}const me=["chaibu","chaoshen","zhirun"],fe=[1,3,5],Ee=["same-day","next-day"];function $e(e){if(e==null||e==="")return;const i=C(e);if(!i)throw Re("E_ASOF",`无法解析 asOf:「${e}」,请用 2026-10-22T16:00 这种格式`);const{year:n,month:t,day:r}=i;if(!(t>=1&&t<=12)||!(r>=1&&r<=Nn(n,t)))throw Re("E_ASOF",`asOf 指向的日期不存在:${e}`);return i}function Me(e={}){const i=e.system;if(i==="bazi"){const n=De(e.datetime),t=$e(e.asOf),r=D({...n,gender:ln(e.gender),longitude:typeof e.longitude=="number"?e.longitude:void 0,address:typeof e.address=="string"?e.address:void 0,geo:e.geo&&typeof e.geo=="object"?e.geo:void 0,lateZi:e.lateZi!==!1,trueSolar:e.trueSolar!==!1,dst:e.dst!==!1,nowYear:t?t.year:void 0});return{...r,...t?{asOf:t}:{},precision:n.precision,summary:Cn(r)}}if(i==="ziwei"){const n=De(e.datetime),t=$e(e.asOf),r=W({...n,gender:ln(e.gender),leapMonth:e.leapMonth,leapAsNext:e.leapAsNext===!0,...qn(e),longitude:typeof e.longitude=="number"?e.longitude:void 0,address:typeof e.address=="string"?e.address:void 0,geo:e.geo&&typeof e.geo=="object"?e.geo:void 0,trueSolar:e.trueSolar,dst:e.dst!==!1,asOf:t});return{...r,precision:n.precision,summary:a(r)}}if(i==="tarot"){const n=e.count===void 0||e.count===null||e.count===""?3:Number(e.count);if(!fe.includes(n))throw Re("E_COUNT",`塔罗张数只能是 1 / 3 / 5,收到「${e.count}」`);if(!pe(e.seed))throw Re("E_INPUT",`seed 必须是数字,收到「${e.seed}」`);const t=$e(e.asOf),r=s({count:n,question:e.question,at:e.asOf,random:B(e.seed)});return e.seed!==void 0&&e.seed!==null&&e.seed!==""&&(r.seed=Number(e.seed)),{...r,...t?{asOf:t}:{},summary:te(r)}}if(i==="daliuren"){const n=De(e.datetime),t=e.lateZi!==!1,r=u({...n,lateZi:t});return r.lateZi=t,{...r,precision:n.precision,summary:Y(r)}}if(i==="qimen"){const n=De(e.datetime);if(e.juMethod!==void 0&&!me.includes(e.juMethod))throw Re("E_INPUT",`juMethod 只能是 chaibu / chaoshen / zhirun,收到「${e.juMethod}」`);const t=e.lateZiHourMode!==void 0?e.lateZiHourMode:e.lateZi===!0?"next-day":e.lateZi===!1?"same-day":void 0;if(t!==void 0&&!Ee.includes(t))throw Re("E_INPUT",`lateZiHourMode 只能是 same-day / next-day,收到「${t}」`);const r=t==="next-day"?"next-day":"same-day",I=S({...n,lateZiHourMode:r,juMethod:e.juMethod});return I.lateZiHourMode=r,{...I,summary:_(I)}}if(i==="hepan"){const n=e.partner;if(!n||typeof n!="object")throw Re("E_PARTNER","合盘需要 partner:{ datetime, gender, address? },其中 partner.datetime 是对方的公历出生时间");if(!n.datetime)throw Re("E_PARTNER",'缺少 partner.datetime(对方的公历出生时间),例如 partner: {"datetime":"1992-03-03T10:00","gender":"female"}');const t=De(e.datetime),r=De(n.datetime),I=e.chart==="ziwei"?"ziwei":"bazi",q={...t,gender:ln(e.gender,"你(主方)"),trueSolar:e.trueSolar,lateZi:e.lateZi,dst:e.dst!==!1,address:typeof e.address=="string"?e.address:void 0,longitude:typeof e.longitude=="number"?e.longitude:void 0,geo:e.geo&&typeof e.geo=="object"?e.geo:void 0},P={...r,gender:ln(n.gender,"对方"),trueSolar:n.trueSolar,lateZi:n.lateZi,dst:n.dst!==!1,address:typeof n.address=="string"?n.address:void 0,longitude:typeof n.longitude=="number"?n.longitude:void 0,geo:n.geo&&typeof n.geo=="object"?n.geo:void 0},l=I==="ziwei"?ee({a:q,b:P}):M({a:q,b:P});return{...l,summary:j(l)}}if(i==="meihua"){let n;try{n=w({mode:e.mode==="number"?"number":"time",datetime:e.datetime,upper:e.upper,lower:e.lower,changing:e.changing})}catch(t){throw Re("E_INPUT",`梅花起卦参数不完整:${t&&t.message?t.message:t}`)}return{...n,summary:ge(n)}}if(i==="liuyao"){if(!pe(e.seed))throw Re("E_INPUT",`seed 必须是数字,收到「${e.seed}」`);let n;if(e.lines===void 0||e.lines===null)n=ue(B(e.seed));else{if(!Array.isArray(e.lines))throw Re("E_LINES","lines 必须是数组:自下而上 6 个爻值(6 老阴 / 7 少阳 / 8 少阴 / 9 老阳)");if(e.lines.length!==6)throw Re("E_LINES",`六爻需要正好 6 个爻值(自下而上),收到 ${e.lines.length} 个;留空则由引擎随机摇卦`);n=e.lines.map(Number)}let t,r=null;const I=e.datetime?De(e.datetime):$e(e.asOf);if(I){e.datetime||(r=I);const re=G(k(R(I.year,I.month,I.day)));t={stem:re.stem,branch:re.branch,name:re.name}}let q;try{q=oe({lines:n,question:e.question,dayGanZhi:t})}catch(re){throw Re("E_LINES",re&&re.message?re.message:re)}const P=ie(q,{direction:e.direction,gender:e.gender});P.liuqin&&(q.useGod=P);let l=null;if(I)try{l=(z({year:I.year,month:I.month,day:I.day,hour:I.hour,minute:I.minute}).monthGanZhi||"")[1]||null}catch{l=null}const f=Q(q,{monthBranch:l,dayBranch:q.dayGanZhi.branch});f&&(q.hexStrength=f);const O=v(q,{monthBranch:l,dayBranch:q.dayGanZhi.branch});if(O&&(q.jinTuiPower=O),P.liuqin){const re=A(q,P,{monthBranch:l,dayBranch:q.dayGanZhi.branch});re&&(q.useGodStrength=re);const y=N(q,P,{monthBranch:l,dayBranch:q.dayGanZhi.branch});y&&(q.fushenAccess=y);const L=F(q,P,{monthBranch:l});L&&(q.yingqi=L)}return e.seed!==void 0&&e.seed!==null&&e.seed!==""&&(q.seed=Number(e.seed)),{...q,...r?{asOf:r}:{},summary:he(q)}}if(i==="almanac"){const n=De(e.datetime),t=h({year:n.year,month:n.month,day:n.day});return{...t,summary:tn(t)}}if(i==="zeri"){if(typeof e.startDate!="string"||!e.startDate.trim())throw Re("E_INPUT","择日需要 startDate(公历 YYYY-MM-DD,起算日);可另给 days(1–60,默认 30)与 shengXiao(当事人属相)");const n=E({task:e.task,startDate:e.startDate,days:e.days,shengXiao:e.shengXiao});return{...n,summary:Xe(n)}}if(i==="chenggu"){const n=De(e.datetime),t=/[T\s]\d{1,2}:\d{1,2}/.test(String(e.datetime)),r=Number.isInteger(e.hour)?e.hour:t?n.hour:null;if(r===null||r<0||r>23)throw Re("E_INPUT","称骨必须给时辰:datetime 带时分(如 1990-08-15T10:00),或额外给 hour(0–23)——缺时辰四柱不齐");const I=ze({year:n.year,month:n.month,day:n.day,hour:r,minute:t?n.minute:0});return{...I,summary:jn(I)}}if(i==="convert"){const n=e.mode==="lunar2solar"?"lunar2solar":"solar2lunar";let t;if(n==="lunar2solar"){if(e.lunarYear==null||e.lunarMonth==null||e.lunarDay==null)throw Re("E_INPUT","农历转公历需要 lunarYear / lunarMonth / lunarDay(闰月另加 isLeapMonth: true)");t=Ze({mode:n,lunarYear:Number(e.lunarYear),lunarMonth:Number(e.lunarMonth),lunarDay:Number(e.lunarDay),isLeapMonth:e.isLeapMonth===!0})}else{const r=De(e.datetime);t=Ze({mode:n,year:r.year,month:r.month,day:r.day})}return{...t,summary:In(t)}}if(i==="xiaoliuren"){const n=e.datetime?De(e.datetime):null,t=Le({mode:e.mode==="number"?"number":"time",date:typeof e.date=="string"&&e.date.trim()?e.date:n?`${n.year}-${n.month}-${n.day}`:void 0,hour:Number.isInteger(e.hour)?e.hour:n&&/[T\s]\d{1,2}:\d{1,2}/.test(String(e.datetime))?n.hour:void 0,num1:e.num1,num2:e.num2,num3:e.num3,question:e.question});return{...t,summary:mn(t)}}if(i==="star"){const n=De(e.datetime),t=Je({year:n.year,month:n.month,day:n.day});return{...t,summary:zn(t)}}if(i==="numerology"){const n=De(e.datetime),t=en({year:n.year,month:n.month,day:n.day});return{...t,summary:on(t)}}if(i==="mbti"){if(e.answers===void 0||e.answers===null){const t=Ue();return{...t,summary:kn(t)}}const n=Ve({answers:e.answers});return{...n,summary:$n(n)}}if(i==="trend"){const n=De(e.datetime),t=xn({...n,gender:ln(e.gender),toAge:e.toAge,lateZi:e.lateZi!==!1,trueSolar:e.trueSolar!==!1,dst:e.dst!==!1,longitude:typeof e.longitude=="number"?e.longitude:void 0,address:typeof e.address=="string"?e.address:void 0,geo:e.geo&&typeof e.geo=="object"?e.geo:void 0});return{...t,precision:n.precision,summary:an(t)}}if(i==="fengshui"){const n=e.action==="advise"?"advise":e.action==="xuankong"?"xuankong":"natal";if(n==="xuankong"){const I=wn({action:n,sitting:e.sitting,facing:e.facing,...e.period!==void 0?{period:e.period}:{},...Number.isInteger(e.fortuneYear)?{fortuneYear:e.fortuneYear}:{},...typeof e.sittingOffset=="number"?{sittingOffset:e.sittingOffset}:{},...typeof e.sittingDegree=="number"?{sittingDegree:e.sittingDegree}:{},...typeof e.facingOffset=="number"?{facingOffset:e.facingOffset}:{},...typeof e.facingDegree=="number"?{facingDegree:e.facingDegree}:{},...typeof e.fortuneDate=="string"?{fortuneDate:e.fortuneDate}:{},...typeof e.fortuneTime=="string"?{fortuneTime:e.fortuneTime}:{},dst:e.dst!==!1});return{...I,summary:Ke(I)}}if(n==="advise"){const I=wn({action:n,sitting:e.sitting,facing:e.facing,...e.datetime?De(e.datetime):{},...e.gender==="male"||e.gender==="female"?{gender:e.gender}:{},dst:e.dst!==!1});return{...I,summary:Ke(I)}}const t=De(e.datetime),r=wn({action:"natal",year:t.year,month:t.month,day:t.day,gender:ln(e.gender),fortuneYear:Number.isInteger(e.fortuneYear)?e.fortuneYear:void 0,dst:e.dst!==!1});return{...r,summary:Ke(r)}}if(i==="name"){const n=e.action==="generate"?"generate":"assess",t=e.datetime?De(e.datetime):Number.isInteger(e.year)&&Number.isInteger(e.month)&&Number.isInteger(e.day)?{year:e.year,month:e.month,day:e.day,...Number.isInteger(e.hour)?{hour:e.hour}:{},...Number.isInteger(e.minute)?{minute:e.minute}:{}}:{},r=vn({action:n,surname:e.surname,givenName:e.givenName,limit:e.limit,charElements:e.charElements&&typeof e.charElements=="object"?e.charElements:void 0,strokeOverrides:e.strokeOverrides&&typeof e.strokeOverrides=="object"?e.strokeOverrides:void 0,surnameStrokes:e.surnameStrokes&&typeof e.surnameStrokes=="object"?e.surnameStrokes:void 0,...t,...e.gender==="male"||e.gender==="female"?{gender:e.gender}:{},...e.datetime?{lateZi:e.lateZi!==!1,trueSolar:e.trueSolar!==!1,dst:e.dst!==!1,longitude:typeof e.longitude=="number"?e.longitude:void 0,address:typeof e.address=="string"?e.address:void 0,geo:e.geo&&typeof e.geo=="object"?e.geo:void 0}:{}});return{...r,summary:sn(r)}}throw i?Re("E_SYSTEM",`未知体系「${i}」,可选:bazi(四柱八字)、ziwei(紫微斗数)、liuyao(六爻)、meihua(梅花易数)、daliuren(大六壬)、qimen(奇门遁甲)、hepan(合盘)、tarot(塔罗)、almanac(黄历)、zeri(择日)、chenggu(称骨)、xiaoliuren(小六壬)、star(星座)、numerology(生命数字)、mbti(十六型人格问卷)、trend(人生 K 线)、fengshui(风水)、name(起名)、convert(公农历互转)。`):Re("E_INPUT","缺少 system,可选:bazi(四柱八字)、ziwei(紫微斗数)、liuyao(六爻)、meihua(梅花易数)、daliuren(大六壬)、qimen(奇门遁甲)、hepan(合盘)、tarot(塔罗)、almanac(黄历)、zeri(择日)、chenggu(称骨)、xiaoliuren(小六壬)、star(星座)、numerology(生命数字)、mbti(十六型人格问卷)、trend(人生 K 线)、fengshui(风水)、name(起名)、convert(公农历互转)。")}function tn(e){const i=e.ganzhi,n=e.jieQi&&e.jieQi.next?` 下一节:${e.jieQi.next.name} ${e.jieQi.next.date}`:"",t=e.dayGod?`值日:${e.dayGod.name}(${e.dayGod.type}·${e.dayGod.luck})`:"",r=e.xiu?`二十八宿:${e.xiu.name}宿(${e.xiu.luck}·${e.xiu.zheng}·${e.xiu.animal})`:"",I=e.taiShen?`胎神:${e.taiShen}`:"",q=e.positions?`吉神方位:喜神${e.positions.xiShen||"—"} 财神${e.positions.caiShen||"—"} 福神${e.positions.fuShen?e.positions.fuShen.dir:"—"} 阳贵${e.positions.yangGui?e.positions.yangGui.dir:"—"} 阴贵${e.positions.yinGui?e.positions.yinGui.dir:"—"}`:"",P=e.lucky?`吉配生肖:六合${e.lucky.liuhe||"—"} 三合${(e.lucky.sanhe||[]).join("、")||"—"}`:"",l=e.nayin&&e.nayin.day?`日柱纳音:${e.nayin.day.name}`:"",f=(e.hours||[]).map(O=>`${O.zhi}${O.ganZhi.slice(0,1)}·${O.shen}${O.luck==="吉"?"吉":"凶"}`).join(" ");return[`【黄历】${e.meta.date} ${e.meta.weekday} ${e.lunar.text}`,`干支:${i.year}年 ${i.month}月 ${i.day}日 属${i.shengXiao}`,...e.meta.boundaryNote?[` ${e.meta.boundaryNote}`]:[],`建除:${e.zhiXing}日 冲:${e.chong.text}${e.chong.sha?`(${e.chong.sha})`:""} ${t}`,[r,l,I].filter(Boolean).join(" "),`宜:${e.yi.join("、")}`,`忌:${e.ji.join("、")}`,q,P,f?`时辰吉凶:${f}`:"",`节气:上一节 ${e.jieQi.prev?`${e.jieQi.prev.name} ${e.jieQi.prev.date}`:"—"}${n}`,e.dailyHexagram?`每日一卦:${e.dailyHexagram.name} ${e.dailyHexagram.meaning||""}`:"",`口径:${e.meta.scope}`].filter(Boolean).join(`
|
|
127
|
-
`)}function
|
|
128
|
-
`)}function
|
|
129
|
-
`)}function
|
|
130
|
-
`)}function
|
|
120
|
+
${t}`);const u=Cn(n);if(u&&(n.suiyunClassic={...u,bookName:Nn[u.book].name}),n.renyuan){const f=Pn("smt-renyuan");f&&(n.renyuanClassic={...f,bookName:Nn[f.book].name})}}if(n&&n.precision&&n.precision.level==="approx"&&n.summary&&(n.summary=`⚠ ${n.precision.note}
|
|
121
|
+
${n.summary}`),n&&(n.system==="bazi"||n.system==="ziwei")&&n.input&&n.input.longitude==null&&n.summary&&(n.summary=`⚠ 未提供出生地或经度:按东八区平太阳时排盘,时柱可能与本命盘相差一个时辰;海外出生请先把当地时间换算成东八区标准时。
|
|
122
|
+
${n.summary}`),i.withInterpret&&(n.interpret=y(n,{question:typeof i.question=="string"?i.question:"",direction:typeof i.direction=="string"?i.direction:"general"})),i.cross===!0&&(n.system==="bazi"||n.system==="ziwei")){const u={...ge(i.datetime),gender:re(i.gender),longitude:typeof i.longitude=="number"?i.longitude:void 0,address:typeof i.address=="string"?i.address:void 0,geo:i.geo&&typeof i.geo=="object"?i.geo:void 0,trueSolar:i.trueSolar!==!1,dst:i.dst!==!1},f=We(i.asOf),N=n.system==="bazi"?O({...u,leapMonth:i.leapMonth,leapAsNext:i.leapAsNext===!0,...Q(i),asOf:f}):P({...u,lateZi:i.lateZi!==!1,nowYear:f?f.year:void 0});n.cross=an(n.system==="bazi"?n:N,n.system==="ziwei"?n:N),n.interpret&&n.interpret.sections.push(Fe(n.cross))}if(Number.isInteger(i.verifyPast)&&i.verifyPast>0&&n.system==="bazi"){const t=Math.min(Math.max(i.verifyPast,1),10),u=Number(n.liunianFrom)-t,f=P({...ge(i.datetime),gender:re(i.gender),lateZi:i.lateZi!==!1,trueSolar:i.trueSolar!==!1,longitude:typeof i.longitude=="number"?i.longitude:void 0,address:typeof i.address=="string"?i.address:void 0,geo:i.geo&&typeof i.geo=="object"?i.geo:void 0,dst:i.dst!==!1,nowYear:u});n.past={rows:Ze(f,Number(n.liunianFrom)-1),years:t,until:Number(n.liunianFrom)-1}}if(i.rectify===!0&&n.system==="bazi"){const t=ge(i.datetime);n.rectify=tn({base:{year:t.year,month:t.month,day:t.day,minute:t.minute},gender:re(i.gender),events:Array.isArray(i.events)?i.events:[],hours:Array.isArray(i.rectifyHours)?i.rectifyHours:void 0,lateZi:i.lateZi!==!1,trueSolar:i.trueSolar!==!1,dst:i.dst!==!1,longitude:typeof i.longitude=="number"?i.longitude:void 0,address:typeof i.address=="string"?i.address:void 0,geo:i.geo&&typeof i.geo=="object"?i.geo:void 0})}if(typeof i.ask=="string"&&i.ask.trim()&&(n.followup=Ce(n,i.ask)),i.trace===!0)try{const t=s(n,{direction:i.direction,gender:i.gender});t&&(n.trace=t,n.traceText=$(t,{system:n.system}))}catch(t){n.traceError=String(t&&t.message||t)}if(i.shadow===!0)try{n.shadow=Xe(i,{result:n,version:i.shadowVersion})}catch(t){n.shadow={error:String(t&&t.message||t)}}try{const t=ue(i);t&&(n.handle=t)}catch(t){n.handleError=String(t&&t.message||t)}return n}function Sn(e){if(!e)return"";const i=[`【${e.title||"解析与详解"}】${e.ask&&e.ask.echo?e.ask.echo:""}`];e.answer&&i.push(`▶ ${e.ask&&e.ask.question?"先答所问":"先看结论"}:${e.answer}`),e.plain&&i.push(`▶ 说人话:${e.plain}`),e.lead&&i.push(e.lead),Array.isArray(e.outline)&&e.outline.length&&i.push("一页读懂:"+e.outline.map(a=>`${a.label}·${a.text}`).join(" ")),e.error&&i.push(`⚠ 解析生成失败:${e.error}(上方盘面数据本身可用)`);for(const a of e.dimensions||[]){const n=Array.isArray(a.evidence)&&a.evidence.length?`
|
|
123
|
+
依据:${a.evidence.join(";")}${a.confidence?` 置信度:${a.confidence}`:""}`:"",t=a.plain?`(${a.plain})`:"",u=(a.knowledge||[]).map(f=>`
|
|
124
|
+
规则·${f.gist}〔${f.statusLabel}〕${f.detail} 出处:${f.source}${f.note?` 注:${f.note}`:""}`).join("");i.push(`${a.label}:${t}${a.text}${a.advice?` 建议:${a.advice}`:""}${n}${u}`)}for(const a of e.sections||[])i.push(`${a.label}:${a.text}`);for(const a of e.tables||[])!Array.isArray(a.rows)||!a.rows.length||(i.push(`【${a.title}】`),i.push([a.columns.join(" | "),...a.rows.map(n=>n.join(" | "))].join(`
|
|
125
|
+
`)));return Array.isArray(e.followups)&&e.followups.length&&i.push("还可以这样追问:"+e.followups.map(a=>`「${a}」`).join(" ")),Array.isArray(e.glossary)&&e.glossary.length&&i.push("名词解释:"+e.glossary.map(a=>`${a.term}=${a.plain}`).join(" ")),e.disclaimer&&i.push(e.disclaimer),i.join(`
|
|
126
|
+
`)}const Vn=["cross","verifyPast","withInterpret","question","direction","ask","geocode","rectify","events","shadow","trace"];function ln(e={},i={}){const a=i.system||e.system,n=i.switches||Wn[a]||[];if(!n.length)return{system:a,switches:[],affected:0,total:0};const t={...e};for(const f of Vn)delete t[f];const u=n.map(f=>{const N=f.read(t),V=f.alt(N);let ce=[],ee="",ye=null,G=null;try{ye=xn({...t,[f.key]:N}),G=xn({...t,[f.key]:V}),ce=Dn(ye,G)}catch(Ge){ee=Ge&&Ge.message||String(Ge)}const fe=Yn(ce.filter(Ge=>Tn(Ge.path))).map(Ge=>({path:Ge.path,label:Bn(Ge.path),from:gn(Ge.from),to:gn(Ge.to)})),Ke=new Map;for(const Ge of ce){const rn=Zn(Ge.path)||"其他";Ke.set(rn,(Ke.get(rn)||0)+1)}const un=[...Ke.entries()].map(([Ge,rn])=>({name:Ge,count:rn})).sort((Ge,rn)=>rn.count-Ge.count||Ge.name.localeCompare(rn.name,"zh-Hans-CN"));return{key:f.key,title:f.title,short:f.short,current:N,alt:V,currentLabel:f.label(N),altLabel:f.label(V),total:ce.length,summary:ee?"":Gn(ce),views:ee?[]:Kn(a,ye,G),roots:fe,categories:un,error:ee}});return{system:a,switches:u,affected:u.filter(f=>!f.error&&f.total>0).length,total:u.reduce((f,N)=>f+N.total,0)}}const pn=["chaibu","chaoshen","zhirun"],vn=[1,3,5],Ue=["same-day","next-day"];function We(e){if(e==null||e==="")return;const i=R(e);if(!i)throw T("E_ASOF",`无法解析 asOf:「${e}」,请用 2026-10-22T16:00 这种格式`);const{year:a,month:n,day:t}=i;if(!(n>=1&&n<=12)||!(t>=1&&t<=ae(a,n)))throw T("E_ASOF",`asOf 指向的日期不存在:${e}`);return i}function cn(e={}){const i=e.system;if(i==="bazi"){const a=ge(e.datetime),n=We(e.asOf),t=P({...a,gender:re(e.gender),longitude:typeof e.longitude=="number"?e.longitude:void 0,address:typeof e.address=="string"?e.address:void 0,geo:e.geo&&typeof e.geo=="object"?e.geo:void 0,lateZi:e.lateZi!==!1,trueSolar:e.trueSolar!==!1,dst:e.dst!==!1,nowYear:n?n.year:void 0});return{...t,...n?{asOf:n}:{},precision:a.precision,summary:ze(t)}}if(i==="ziwei"){const a=ge(e.datetime),n=We(e.asOf),t=O({...a,gender:re(e.gender),leapMonth:e.leapMonth,leapAsNext:e.leapAsNext===!0,...Q(e),longitude:typeof e.longitude=="number"?e.longitude:void 0,address:typeof e.address=="string"?e.address:void 0,geo:e.geo&&typeof e.geo=="object"?e.geo:void 0,trueSolar:e.trueSolar,dst:e.dst!==!1,asOf:n});return{...t,precision:a.precision,summary:H(t)}}if(i==="tarot"){const a=e.count===void 0||e.count===null||e.count===""?3:Number(e.count);if(!vn.includes(a))throw T("E_COUNT",`塔罗张数只能是 1 / 3 / 5,收到「${e.count}」`);if(!Ae(e.seed))throw T("E_INPUT",`seed 必须是数字,收到「${e.seed}」`);const n=We(e.asOf),t=x({count:a,question:e.question,at:e.asOf,random:de(e.seed)});return e.seed!==void 0&&e.seed!==null&&e.seed!==""&&(t.seed=Number(e.seed)),{...t,...n?{asOf:n}:{},summary:Pe(t)}}if(i==="daliuren"){const a=ge(e.datetime),n=e.lateZi!==!1,t=h({...a,lateZi:n});return t.lateZi=n,{...t,precision:a.precision,summary:qe(t)}}if(i==="qimen"){const a=ge(e.datetime);if(e.juMethod!==void 0&&!pn.includes(e.juMethod))throw T("E_INPUT",`juMethod 只能是 chaibu / chaoshen / zhirun,收到「${e.juMethod}」`);const n=e.lateZiHourMode!==void 0?e.lateZiHourMode:e.lateZi===!0?"next-day":e.lateZi===!1?"same-day":void 0;if(n!==void 0&&!Ue.includes(n))throw T("E_INPUT",`lateZiHourMode 只能是 same-day / next-day,收到「${n}」`);const t=n==="next-day"?"next-day":"same-day",u=d({...a,lateZiHourMode:t,juMethod:e.juMethod});return u.lateZiHourMode=t,{...u,summary:he(u)}}if(i==="hepan"){const a=e.partner;if(!a||typeof a!="object")throw T("E_PARTNER","合盘需要 partner:{ datetime, gender, address? },其中 partner.datetime 是对方的公历出生时间");if(!a.datetime)throw T("E_PARTNER",'缺少 partner.datetime(对方的公历出生时间),例如 partner: {"datetime":"1992-03-03T10:00","gender":"female"}');const n=e.partner2;if(n!=null){if(typeof n!="object"||Array.isArray(n))throw T("E_PARTNER","partner2 需要 { datetime, gender, address? };不想看三方就整段省略(null 视同未传)");if(!n.datetime)throw T("E_PARTNER",'缺少 partner2.datetime(第三方的公历出生时间),例如 partner2: {"datetime":"1988-09-09T08:00","gender":"male"}')}const t=e.chart==="ziwei"?"ziwei":"bazi",u=(ee,ye)=>({...ge(ee.datetime),gender:re(ee.gender,ye),trueSolar:ee.trueSolar,lateZi:ee.lateZi,dst:ee.dst!==!1,address:typeof ee.address=="string"?ee.address:void 0,longitude:typeof ee.longitude=="number"?ee.longitude:void 0,geo:ee.geo&&typeof ee.geo=="object"?ee.geo:void 0}),f=u(e,"你(主方)"),N=u(a,"对方"),V=(ee,ye)=>t==="ziwei"?l({a:ee,b:ye}):b({a:ee,b:ye}),ce=V(f,N);if(n){const ee=u(n,"第三方");ce.triple=r([{key:"a-b",a:"你",b:"对方",result:ce},{key:"a-c",a:"你",b:"第三方",result:V(f,ee)},{key:"b-c",a:"对方",b:"第三方",result:V(N,ee)}])}return{...ce,summary:Be(ce)}}if(i==="meihua"){let a;try{a=M({mode:e.mode==="number"?"number":"time",datetime:e.datetime,upper:e.upper,lower:e.lower,changing:e.changing})}catch(n){throw T("E_INPUT",`梅花起卦参数不完整:${n&&n.message?n.message:n}`)}return{...a,summary:Ie(a)}}if(i==="liuyao"){if(!Ae(e.seed))throw T("E_INPUT",`seed 必须是数字,收到「${e.seed}」`);let a;if(e.lines===void 0||e.lines===null)a=oe(de(e.seed));else{if(!Array.isArray(e.lines))throw T("E_LINES","lines 必须是数组:自下而上 6 个爻值(6 老阴 / 7 少阳 / 8 少阴 / 9 老阳)");if(e.lines.length!==6)throw T("E_LINES",`六爻需要正好 6 个爻值(自下而上),收到 ${e.lines.length} 个;留空则由引擎随机摇卦`);a=e.lines.map(Number)}let n,t=null;const u=e.datetime?ge(e.datetime):We(e.asOf);if(u){e.datetime||(t=u);const ye=p(C(g(u.year,u.month,u.day)));n={stem:ye.stem,branch:ye.branch,name:ye.name}}let f;try{f=X({lines:a,question:e.question,dayGanZhi:n})}catch(ye){throw T("E_LINES",ye&&ye.message?ye.message:ye)}const N=W(f,{direction:e.direction,gender:e.gender});N.liuqin&&(f.useGod=N);let V=null;if(u)try{V=(o({year:u.year,month:u.month,day:u.day,hour:u.hour,minute:u.minute}).monthGanZhi||"")[1]||null}catch{V=null}const ce=J(f,{monthBranch:V,dayBranch:f.dayGanZhi.branch});ce&&(f.hexStrength=ce);const ee=k(f,{monthBranch:V,dayBranch:f.dayGanZhi.branch});if(ee&&(f.jinTuiPower=ee),N.liuqin){const ye=E(f,N,{monthBranch:V,dayBranch:f.dayGanZhi.branch});ye&&(f.useGodStrength=ye);const G=I(f,N,{monthBranch:V,dayBranch:f.dayGanZhi.branch});G&&(f.fushenAccess=G);const fe=A(f,N,{monthBranch:V});fe&&(f.yingqi=fe)}return e.seed!==void 0&&e.seed!==null&&e.seed!==""&&(f.seed=Number(e.seed)),{...f,...t?{asOf:t}:{},summary:q(f)}}if(i==="almanac"){const a=ge(e.datetime),n=fn({year:a.year,month:a.month,day:a.day});return{...n,summary:mn(n)}}if(i==="zeri"){if(!(e.candidates!==void 0&&e.candidates!==null)&&(typeof e.startDate!="string"||!e.startDate.trim()))throw T("E_INPUT",'择日需要 startDate(公历 YYYY-MM-DD,起算日);可另给 days(1–60,默认 30)与 shengXiao(当事人属相)。只想比几天,改给 candidates: ["2026-12-01","2026-12-08"]');let n;try{n=Qe({task:e.task,startDate:e.startDate,days:e.days,shengXiao:e.shengXiao,candidates:e.candidates})}catch(t){throw T("E_INPUT",t&&t.message||String(t))}return{...n,summary:Ln(n)}}if(i==="chenggu"){const a=ge(e.datetime),n=/[T\s]\d{1,2}:\d{1,2}/.test(String(e.datetime)),t=Number.isInteger(e.hour)?e.hour:n?a.hour:null;if(t===null||t<0||t>23)throw T("E_INPUT","称骨必须给时辰:datetime 带时分(如 1990-08-15T10:00),或额外给 hour(0–23)——缺时辰四柱不齐");const u=dn({year:a.year,month:a.month,day:a.day,hour:t,minute:n?a.minute:0});return{...u,summary:hn(u)}}if(i==="convert"){const a=e.mode==="lunar2solar"?"lunar2solar":"solar2lunar";let n;if(a==="lunar2solar"){if(e.lunarYear==null||e.lunarMonth==null||e.lunarDay==null)throw T("E_INPUT","农历转公历需要 lunarYear / lunarMonth / lunarDay(闰月另加 isLeapMonth: true)");n=zn({mode:a,lunarYear:Number(e.lunarYear),lunarMonth:Number(e.lunarMonth),lunarDay:Number(e.lunarDay),isLeapMonth:e.isLeapMonth===!0})}else{const t=ge(e.datetime);n=zn({mode:a,year:t.year,month:t.month,day:t.day})}return{...n,summary:In(n)}}if(i==="xiaoliuren"){const a=e.datetime?ge(e.datetime):null,n=wn({mode:e.mode==="number"?"number":"time",date:typeof e.date=="string"&&e.date.trim()?e.date:a?`${a.year}-${a.month}-${a.day}`:void 0,hour:Number.isInteger(e.hour)?e.hour:a&&/[T\s]\d{1,2}:\d{1,2}/.test(String(e.datetime))?a.hour:void 0,num1:e.num1,num2:e.num2,num3:e.num3,question:e.question});return{...n,summary:yn(n)}}if(i==="star"){const a=ge(e.datetime),n=kn({year:a.year,month:a.month,day:a.day});return{...n,summary:An(n)}}if(i==="numerology"){const a=ge(e.datetime),n=qn({year:a.year,month:a.month,day:a.day});return{...n,summary:On(n)}}if(i==="mbti"){if(e.answers===void 0||e.answers===null){const n=_n();return{...n,summary:Y(n)}}const a=Mn({answers:e.answers});return{...a,summary:j(a)}}if(i==="trend"){const a=ge(e.datetime),n=Fn({...a,gender:re(e.gender),toAge:e.toAge,lateZi:e.lateZi!==!1,trueSolar:e.trueSolar!==!1,dst:e.dst!==!1,longitude:typeof e.longitude=="number"?e.longitude:void 0,address:typeof e.address=="string"?e.address:void 0,geo:e.geo&&typeof e.geo=="object"?e.geo:void 0});return{...n,precision:a.precision,summary:me(n)}}if(i==="fengshui"){const a=e.action==="advise"?"advise":e.action==="xuankong"?"xuankong":"natal";if(a==="xuankong"){const u=jn({action:a,sitting:e.sitting,facing:e.facing,...e.period!==void 0?{period:e.period}:{},...Number.isInteger(e.fortuneYear)?{fortuneYear:e.fortuneYear}:{},...typeof e.sittingOffset=="number"?{sittingOffset:e.sittingOffset}:{},...typeof e.sittingDegree=="number"?{sittingDegree:e.sittingDegree}:{},...typeof e.facingOffset=="number"?{facingOffset:e.facingOffset}:{},...typeof e.facingDegree=="number"?{facingDegree:e.facingDegree}:{},...typeof e.fortuneDate=="string"?{fortuneDate:e.fortuneDate}:{},...typeof e.fortuneTime=="string"?{fortuneTime:e.fortuneTime}:{},dst:e.dst!==!1});return{...u,summary:Me(u)}}if(a==="advise"){const u=jn({action:a,sitting:e.sitting,facing:e.facing,...e.datetime?ge(e.datetime):{},...e.gender==="male"||e.gender==="female"?{gender:e.gender}:{},dst:e.dst!==!1});return{...u,summary:Me(u)}}const n=ge(e.datetime),t=jn({action:"natal",year:n.year,month:n.month,day:n.day,gender:re(e.gender),fortuneYear:Number.isInteger(e.fortuneYear)?e.fortuneYear:void 0,dst:e.dst!==!1});return{...t,summary:Me(t)}}if(i==="name"){const a=e.action==="generate"?"generate":"assess",n=e.datetime?ge(e.datetime):Number.isInteger(e.year)&&Number.isInteger(e.month)&&Number.isInteger(e.day)?{year:e.year,month:e.month,day:e.day,...Number.isInteger(e.hour)?{hour:e.hour}:{},...Number.isInteger(e.minute)?{minute:e.minute}:{}}:{},t=Un({action:a,surname:e.surname,givenName:e.givenName,limit:e.limit,charElements:e.charElements&&typeof e.charElements=="object"?e.charElements:void 0,strokeOverrides:e.strokeOverrides&&typeof e.strokeOverrides=="object"?e.strokeOverrides:void 0,surnameStrokes:e.surnameStrokes&&typeof e.surnameStrokes=="object"?e.surnameStrokes:void 0,...n,...e.gender==="male"||e.gender==="female"?{gender:e.gender}:{},...e.datetime?{lateZi:e.lateZi!==!1,trueSolar:e.trueSolar!==!1,dst:e.dst!==!1,longitude:typeof e.longitude=="number"?e.longitude:void 0,address:typeof e.address=="string"?e.address:void 0,geo:e.geo&&typeof e.geo=="object"?e.geo:void 0}:{}});return{...t,summary:Re(t)}}throw i?T("E_SYSTEM",`未知体系「${i}」,可选:bazi(四柱八字)、ziwei(紫微斗数)、liuyao(六爻)、meihua(梅花易数)、daliuren(大六壬)、qimen(奇门遁甲)、hepan(合盘)、tarot(塔罗)、almanac(黄历)、zeri(择日)、chenggu(称骨)、xiaoliuren(小六壬)、star(星座)、numerology(生命数字)、mbti(十六型人格问卷)、trend(人生 K 线)、fengshui(风水)、name(起名)、convert(公农历互转)。`):T("E_INPUT","缺少 system,可选:bazi(四柱八字)、ziwei(紫微斗数)、liuyao(六爻)、meihua(梅花易数)、daliuren(大六壬)、qimen(奇门遁甲)、hepan(合盘)、tarot(塔罗)、almanac(黄历)、zeri(择日)、chenggu(称骨)、xiaoliuren(小六壬)、star(星座)、numerology(生命数字)、mbti(十六型人格问卷)、trend(人生 K 线)、fengshui(风水)、name(起名)、convert(公农历互转)。")}function mn(e){const i=e.ganzhi,a=e.jieQi&&e.jieQi.next?` 下一节:${e.jieQi.next.name} ${e.jieQi.next.date}`:"",n=e.dayGod?`值日:${e.dayGod.name}(${e.dayGod.type}·${e.dayGod.luck})`:"",t=e.xiu?`二十八宿:${e.xiu.name}宿(${e.xiu.luck}·${e.xiu.zheng}·${e.xiu.animal})`:"",u=e.taiShen?`胎神:${e.taiShen}`:"",f=e.positions?`吉神方位:喜神${e.positions.xiShen||"—"} 财神${e.positions.caiShen||"—"} 福神${e.positions.fuShen?e.positions.fuShen.dir:"—"} 阳贵${e.positions.yangGui?e.positions.yangGui.dir:"—"} 阴贵${e.positions.yinGui?e.positions.yinGui.dir:"—"}`:"",N=e.lucky?`吉配生肖:六合${e.lucky.liuhe||"—"} 三合${(e.lucky.sanhe||[]).join("、")||"—"}`:"",V=e.nayin&&e.nayin.day?`日柱纳音:${e.nayin.day.name}`:"",ce=(e.hours||[]).map(ee=>`${ee.zhi}${ee.ganZhi.slice(0,1)}·${ee.shen}${ee.luck==="吉"?"吉":"凶"}`).join(" ");return[`【黄历】${e.meta.date} ${e.meta.weekday} ${e.lunar.text}`,`干支:${i.year}年 ${i.month}月 ${i.day}日 属${i.shengXiao}`,...e.meta.boundaryNote?[` ${e.meta.boundaryNote}`]:[],`建除:${e.zhiXing}日 冲:${e.chong.text}${e.chong.sha?`(${e.chong.sha})`:""} ${n}`,[t,V,u].filter(Boolean).join(" "),`宜:${e.yi.join("、")}`,`忌:${e.ji.join("、")}`,f,N,ce?`时辰吉凶:${ce}`:"",`节气:上一节 ${e.jieQi.prev?`${e.jieQi.prev.name} ${e.jieQi.prev.date}`:"—"}${a}`,e.dailyHexagram?`每日一卦:${e.dailyHexagram.name} ${e.dailyHexagram.meaning||""}`:"",`口径:${e.meta.scope}`].filter(Boolean).join(`
|
|
127
|
+
`)}function Ln(e){const i=e.compare&&e.compare.mode==="candidates",a=i?`【择日·${e.meta.task}】候选 ${e.meta.days} 天:${e.meta.candidates.join("、")}${e.meta.shengXiao?` 当事人属${e.meta.shengXiao}`:"(未给属相,未做冲煞排除)"}`:`【择日·${e.meta.task}】${e.meta.startDate} 起 ${e.meta.days} 天${e.meta.shengXiao?` 当事人属${e.meta.shengXiao}`:"(未给属相,未做冲煞排除)"}`,n=e.days.slice().sort((u,f)=>f.score-u.score).slice(0,i?12:5).map(u=>`· ${u.date} ${u.weekday} ${u.verdict}(${u.score}分) 宜${u.yi.slice(0,3).join("/")} ${u.reasons.join(";")||"无特别加减分"}`),t=i?e.compare.best?`这一组里最优:${e.compare.best.date}(${e.compare.best.score}分,${e.compare.best.verdict})`+(e.compare.best.ties.length>1?`;同分:${e.compare.best.ties.filter(u=>u!==e.compare.best.date).join("、")}`:""):"这一组都因冲属相被排除,没有可用的日子":`推荐日:${e.best.length?e.best.join("、"):"本期无(都不够推荐分)"}`;return[a,t,`推荐日:${e.best.length?e.best.join("、"):"无"}`,`可用日:${e.usable.length?e.usable.join("、"):"无"}`,`回避日:${e.avoid.length?e.avoid.slice(0,6).join("、"):"无"}`,i?"候选日逐日:":"逐日排序:",...n,...i?[`比较口径:${e.compare.note}`]:[],`口径:${e.meta.scope}`].join(`
|
|
128
|
+
`)}function hn(e){const i=e.song||{};return[`【称骨】${e.input.solar} ${e.lunar.text}`,`四项:${e.weights.year.label} ${e.weights.month.label} ${e.weights.day.label} ${e.weights.hour.label}`,`合计:${e.total.label}(${e.verdict.band})`,`歌诀(${e.total.label}):${i.text||"—"}`,`释义:${i.plain||"—"}`,`分档白话:${e.verdict.text}`,"口径:骨重与歌诀为通行本口径(各版本歌诀有异文),释义为白话自撰,属民俗娱乐参考。"].join(`
|
|
129
|
+
`)}function yn(e){return[`【小六壬·${e.meta.mode}】${e.meta.question?`所问:${e.meta.question}`:""}`,e.meta.originText,`落宫:${e.steps.join(" → ")}`,`断语:${e.result.palace}(${e.result.luck}) ${e.result.text}`].join(`
|
|
130
|
+
`)}function An(e){return[`【星座】${e.meta.date} ${e.sign.name}(${e.sign.element}·守护星${e.sign.planet})`,`区间:${e.sign.range} 关键词:${e.sign.keywords} 契合:${e.sign.compatible}`,`当日基调:${e.daily.tone}`,e.daily.dims.map(i=>`· ${i.name}:${"★".repeat(i.stars)}${"☆".repeat(5-i.stars)} ${i.text}`).join(`
|
|
131
131
|
`),`幸运色:${e.daily.luckyColor} 幸运数字:${e.daily.luckyNumber}`,"口径:当日基调由日期哈希确定性生成(同日同结果),纯娱乐向。"].join(`
|
|
132
132
|
`)}function In(e){const i=e.ganzhi;return[`【公农历转换·${e.meta.mode==="lunar2solar"?"农历 → 公历":"公历 → 农历"}】${e.lunar.text} ⇄ ${e.solar.text} ${e.meta.weekday}`,`干支:${i.year}年 ${i.month}月 ${i.day}日 属${i.shengXiao}${i.springYear&&i.springYear!==i.year?`(春节界为${i.springYear}年)`:""}`,...e.meta.note?[`注:${e.meta.note}`]:[],`口径:${e.meta.scope}`].join(`
|
|
133
|
-
`)}function
|
|
133
|
+
`)}function On(e){return[`【生命数字】${e.meta.date}(西方数字学,与八字/紫微不可互证)`,...e.parts.map(i=>`${i.name}:${i.number}(${i.meaning.title}) ${i.meaning.keywords}
|
|
134
134
|
倾向:${i.meaning.tendency}
|
|
135
135
|
课题:${i.meaning.lesson}`)].join(`
|
|
136
|
-
`)}function
|
|
137
|
-
${
|
|
138
|
-
`)}`:"";return[`【十六型人格】${e.type}(${
|
|
139
|
-
`)}function
|
|
140
|
-
`)}function
|
|
136
|
+
`)}function j(e){const i=e.dims.map(t=>{const u=t.picked===t.left?t.leftSay:t.rightSay,f=Math.round(t.pct*100);return`${t.left}/${t.right} 取 ${t.picked}(${t.strength} ${f}%,净分 ${t.sum}) ${u}`}),a=e.profile,n=Array.isArray(a.stack)&&a.stack.length?a.stack.map((t,u)=>`${u===0?"主导 ":""}${t.code}`).join(" → ")+`
|
|
137
|
+
${a.stack.map(t=>`${t.code}:${t.say}`).join(`
|
|
138
|
+
`)}`:"";return[`【十六型人格】${e.type}(${a.title})· ${a.keywords} 已答 ${e.answered}/${e.total} 题`,`一句:${a.oneLine}`,"【四维】",...i,`【优势】${a.strengths.join(";")}`,`【留意】${a.blindspots.join(";")}`,`【课题】${a.growth}`,`【认知功能】${n}`,`【工作】${a.work}`,`【关系】${a.love}`,`【学习】${a.study}`,`注:${e.note}`].join(`
|
|
139
|
+
`)}function Y(e){return[`【十六型人格问卷】${e.total} 题,每题按 1(完全不像我)到 5(很像我)打分`,...e.questions.map(i=>`${i.no}. ${i.text}`),`请把 ${e.total} 个分数按顺序交给 answers(如 [4,2,5,3,…]);可以跳过某些题(填 null),至少答 12 题。`,`注:${e.note}`].join(`
|
|
140
|
+
`)}function me(e){const i=e.meta.strength,a=e.meta.dayMaster,n=a&&typeof a=="object"?`${a.stem}(${a.element})`:String(a||"");return[`【人生 K 线】${e.meta.birth} ${e.meta.gender} 日主 ${n} 旺衰 ${i.level}(${i.score})`,e.meta.boundaryNote?`※ ${e.meta.boundaryNote}`:"",`【大运分段】${e.segments.map(t=>`${t.ganZhi} ${t.startAge}-${t.endAge}岁`).join(" ")}`,`【走势】${Array.isArray(e.sparkline)?e.sparkline.join(" "):e.sparkline}`,...e.highlights&&e.highlights.best&&e.highlights.best.length?[`【关键年】最佳 ${e.highlights.best.join(";")}${e.highlights.worst&&e.highlights.worst.length?`
|
|
141
141
|
最需留意 ${e.highlights.worst.join(";")}`:""}`]:[],`※ ${e.disclaimer}`].filter(Boolean).join(`
|
|
142
|
-
`)}function
|
|
143
|
-
`)}if(e.meta.action==="advise"){const
|
|
144
|
-
`)}const i=e.mingGua;return[`【命卦】${i.num}${i.gua}(${i.group}) 方位 ${i.direction}`,`【四吉】${e.luckyDirections.map(
|
|
145
|
-
`)}function
|
|
146
|
-
`);const i=
|
|
147
|
-
`)}function
|
|
148
|
-
基础指纹 ${
|
|
149
|
-
⚠ 不可复算:${
|
|
150
|
-
提示:未固定 asOf,流年/流月随「此刻」变化;要比对请传 asOf。`:""))}if(
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
`+
|
|
156
|
-
|
|
157
|
-
`))
|
|
158
|
-
${
|
|
159
|
-
|
|
160
|
-
|
|
142
|
+
`)}function Me(e){if(e.meta.action==="xuankong"){const a=e.meta.period,n=ce=>{const ee=e.palaces.find(ye=>ye.palace===ce);return`${ce}${ee.yun}/${ee.shan}/${ee.xiang}`},t=ce=>ce.map(n).join(" "),u=e.wangShanWangXiang,f=e.meta.jianXiang,N=e.timeFlying,V=N?`【年月日时】${[["year","年"],["month","月"],["day","日"],["hour","时"]].filter(([ce])=>N[ce]).map(([ce,ee])=>`${ee}${N[ce].centerName}${N[ce].fly?`·${N[ce].fly}`:""}`).join(" ")}${N.meta&&N.meta.note?`(${N.meta.note})`:""}`:"";return[`【玄空】${e.meta.periodLabel}${f&&f.active?"·替卦":"·下卦"} 坐 ${e.meta.sitting} 向 ${e.meta.facing}`,...f&&f.active?[`【替卦】${f.note}`]:[],`【入中】山盘 ${e.meta.shanCenter.star}${e.meta.shanCenter.name}(${e.meta.shanCenter.fly},${e.meta.shanCenter.basis}${e.meta.shanCenter.mode==="替卦"?`;原运星 ${e.meta.shanCenter.original}${e.meta.shanCenter.replaced?",已替":",用替而未替"}`:""});向盘 ${e.meta.xiangCenter.star}${e.meta.xiangCenter.name}(${e.meta.xiangCenter.fly},${e.meta.xiangCenter.basis}${e.meta.xiangCenter.mode==="替卦"?`;原运星 ${e.meta.xiangCenter.original}${e.meta.xiangCenter.replaced?",已替":",用替而未替"}`:""})`,`【九宫】${t(["巽","离","坤"])}|${t(["震","中","兑"])}|${t(["艮","坎","乾"])}`,`【当运】山星${a}到${e.dangYun.shan.text};向星${a}到${e.dangYun.xiang.text}`,`【表法】${u.byTable===null?"替卦不套正向表;":""}${u.table.length?u.table.join("、"):"无"};${u.note}`,`【合十】山星合十 ${e.heshi.shan.join("、")||"无"};向星合十 ${e.heshi.xiang.join("、")||"无"}`,...V?[V]:[],...e.meta.note?[`※ ${e.meta.note}`]:[],`※ ${e.disclaimer}`].join(`
|
|
143
|
+
`)}if(e.meta.action==="advise"){const a=e.mingMatch?[`【命宅配】${e.mingMatch.text}`]:[`※ ${e.meta.birthNote||"未提供生辰,未做命宅配。"}`];return[`【宅卦】坐 ${e.meta.sitting} 向 ${e.meta.facing} ${e.meta.houseGua}宅(${e.meta.houseGroup})`,`【八星】${e.houseStars.map(n=>`${n.star}·${n.direction}${n.palace?`(${n.palace})`:""}`).join(" ")}`,`【门】${e.layout.door}`,`【灶】${e.layout.stove}`,`【床】${e.layout.bed}`,`【厕】${e.layout.toilet}`,...a,`※ ${e.disclaimer}`].join(`
|
|
144
|
+
`)}const i=e.mingGua;return[`【命卦】${i.num}${i.gua}(${i.group}) 方位 ${i.direction}`,`【四吉】${e.luckyDirections.map(a=>`${a.star}·${a.direction}${a.palace?`(${a.palace})`:""}`).join(" ")}`,`【四凶】${e.unluckyDirections.map(a=>`${a.star}·${a.direction}`).join(" ")}`,...e.yearlyFlying?[`【${e.meta.fortuneYear} 年九宫飞星】中宫 ${e.yearlyFlying.centerName};${e.yearlyFlying.palaces.filter(a=>a.palace!=="中").map(a=>`${a.palace}${a.name}`).join(" ")}`]:[`※ ${e.meta.note||""}`],`※ ${e.disclaimer}`].filter(Boolean).join(`
|
|
145
|
+
`)}function Re(e){if(e.action==="generate")return[`【候选名】姓 ${e.surname}(${e.gender},喜用 ${e.bazi.favorable.join("、")})${e.bazi.basis}`,...e.candidates.map(N=>{const V=N.wuge&&N.wuge.available?` 五格 ${N.wuge.summary}`:"",ce=N.phonetics&&N.phonetics.available?` 音韵 ${N.phonetics.level}(${N.phonetics.tonePattern})`:"";return`${N.rank}. ${N.name} ${N.chars.map(ee=>`${ee.char}(${ee.element})${ee.meaning}`).join(" ")}${V}${ce}`}),...e.notes.map(N=>`※ ${N}`)].join(`
|
|
146
|
+
`);const i=N=>N.source==="lib"?"字库":N.source==="user"?"用户指定":"未收录",a=N=>{const V=N.element==="未收录"?"未收录(不猜五行)":`${N.element}(${i(N)})`,ce=N.favorable===!0?"合喜用":N.favorable===!1?"不合喜用":"不判",ee=N.suggest&&N.suggest.length?` 可换:${N.suggest.map(ye=>`${ye.char}(${ye.element})`).join("、")}`:"";return`· ${N.char}:${V}|${ce}|${N.meaning}${ee}`},n=e.wuge,t=n&&n.available?`【五格】${n.strokes.map(N=>`${N.char}${N.strokes}画`).join("+")}|${n.summary}|三才 ${n.sancai.text}`:`【五格】${n?n.reason:"未算"}`,u=e.phonetics,f=u&&u.available?`【音韵】${u.chars.map(N=>`${N.char}${N.py}${N.tone}`).join(" ")}|声调 ${u.tonePattern}|${u.level}${u.issues.length?`:${u.issues.map(N=>N.text).join(";")}`:""}`:`【音韵】${u?u.reason:"未算"}`;return[`【名字评估】${e.fullName}`,...e.chars.map(a),e.bazi?`【八字】日主 ${e.bazi.dayMaster&&e.bazi.dayMaster.stem?`${e.bazi.dayMaster.stem}(${e.bazi.dayMaster.element})`:e.bazi.dayMaster},旺衰 ${e.bazi.strength.level}(${e.bazi.strength.score}),${e.bazi.basis}`:"",t,f,`【结论】${e.verdict}`,...e.notes.map(N=>`※ ${N}`)].filter(Boolean).join(`
|
|
147
|
+
`)}function Ne(e){const a=[e.summary??JSON.stringify(e,null,2)];if(e.shadow&&e.shadow.id){const n=e.shadow;a.push(`【影子盘】${n.id}(同参数同 ID;版本 ${n.version})
|
|
148
|
+
基础指纹 ${n.baseId}(不含版本,跨版本可比对)`+(n.reproducible===!1?`
|
|
149
|
+
⚠ 不可复算:${n.reason}`:"")+(n.reproducible===!0&&n.asOfPinned===!1&&(n.system==="bazi"||n.system==="ziwei")?`
|
|
150
|
+
提示:未固定 asOf,流年/流月随「此刻」变化;要比对请传 asOf。`:""))}if(e.revision&&((e.revision.applied||[]).length||(e.revision.ignored||[]).length)){const n=e.revision,t=(n.applied||[]).map(u=>`${u.label}:${u.fromDisplay==null?"(未设)":u.fromDisplay} → ${u.display}`);a.push(`【改参】${n.text}${t.length?`
|
|
151
|
+
${t.join(";")}`:`
|
|
152
|
+
没有识别到可改的参数,仍按原参数排盘`}`+((n.ignored||[]).length?`
|
|
153
|
+
未处理:${n.ignored.join(";")}`:""))}if(typeof e.handle=="string"&&e.handle&&a.push(`【排盘句柄】${e.handle}
|
|
154
|
+
追问同一张盘:传 handle + 增量参数(asOf / direction / question,或换 system 看另一套盘),不必重报出生信息。`),Array.isArray(e.trace)&&e.trace.length&&a.push(`【推导链】${S[e.system]||e.system} · ${e.trace.length} 层
|
|
155
|
+
`+e.trace.map((n,t)=>`${t+1}. ${n.field}|${n.result}
|
|
156
|
+
规则:${n.rule} 出处:${n.source}`).join(`
|
|
157
|
+
`)),e.interpret){const n=Sn(e.interpret);n&&a.push(n)}if(e.cross&&a.push(`【八字 × 紫微 交叉验证】
|
|
158
|
+
${nn(e.cross)}`),e.caliber&&Array.isArray(e.caliber.switches)&&e.caliber.switches.length){const n=e.caliber;a.push(`【口径对照】同一组输入,只换一个口径(不判哪套更准,也不改盘面)
|
|
159
|
+
`+n.switches.map(t=>{if(t.error)return`· ${t.title}:未能对照(${t.error})`;if(!t.total)return`· ${t.title}:${t.currentLabel} → ${t.altLabel},本盘无变化`;const u=(Array.isArray(t.views)?t.views:[]).filter(N=>N.changed),f=u.length?`
|
|
160
|
+
并排:${u.map(N=>`${N.label} ${N.current} → ${N.alt}`).join(";")}`:"";return`· ${t.title}:${t.currentLabel} → ${t.altLabel}
|
|
161
|
+
${t.summary}${f}`}).join(`
|
|
162
|
+
`))}if(e.followup){const n=e.followup;a.push(`【追问】${n.question}
|
|
163
|
+
${n.answer}${n.evidence&&n.evidence.length?`
|
|
164
|
+
依据:${n.evidence.join(";")} 置信度:${n.confidence}`:""}`)}if(e.past&&Array.isArray(e.past.rows)&&e.past.rows.length&&a.push(`【验前事】过去 ${e.past.years} 年的流年信号(只读,不改盘)
|
|
165
|
+
`+e.past.rows.map(n=>`· ${n.year} ${n.ganzhi} · ${n.theme}(${n.tier}${n.tenGod?`,${n.tenGod}`:""})`).join(`
|
|
161
166
|
`)+`
|
|
162
|
-
用法:在面板里勾「准 / 不准 / 不确定」后算贴合度;贴合度低时先核对出生时间、时区与晚子时口径。`),e.rectify&&Array.isArray(e.rectify.candidates)){const
|
|
163
|
-
`+
|
|
167
|
+
用法:在面板里勾「准 / 不准 / 不确定」后算贴合度;贴合度低时先核对出生时间、时区与晚子时口径。`),e.rectify&&Array.isArray(e.rectify.candidates)){const n=e.rectify;a.push(`【生时校正】候选时辰 ${n.candidates.length} 个(固定规则打分,只缩小范围)
|
|
168
|
+
`+n.candidates.slice(0,8).map(t=>`· ${t.label} 时柱 ${t.hourGanzhi} / 日柱 ${t.dayGanzhi} · 命中 ${t.hits}/${t.total}`).join(`
|
|
164
169
|
`)+`
|
|
165
|
-
${
|
|
170
|
+
${n.note}`)}return a.filter(Boolean).join(`
|
|
166
171
|
|
|
167
|
-
`)}return{interpret:
|
|
172
|
+
`)}return{interpret:y,DIRECTIONS:D,DIRECTION_DEFAULT:ke,BRIGHTNESS:L,flowOf:z,geocodeAddress:c,resolveAddress:w,buildBazi:P,buildLiuyao:X,tossLines:oe,followup:Ce,askPrompt:en,pastSignals:Ze,verifyFit:xe,rectifyBirth:tn,crossCheck:an,crossText:nn,crossSection:Fe,buildAlmanac:fn,buildZeri:Qe,buildChenggu:dn,buildXiaoliuren:wn,buildStar:kn,buildNumerology:qn,buildConvert:zn,buildTrend:Fn,buildFengshui:jn,buildName:Un,buildTrace:s,traceMarkdown:$,encodeHandle:ue,decodeHandle:je,resolveHandle:we,askLink:De,parseAskLink:_e,formOf:Ye,restNote:Ve,askPackages:ie,parseDateTime:ge,chartFingerprint:Xe,shadowSnapshot:Je,shadowDiff:En,compute:xn,interpretText:Sn,caliberCompare:ln,renderText:Ne}})(),{Engine:B.index}}});
|