UNPKG

yijing-bazi-mcp

Version:

易经八字分析 MCP 服务器 - 提供传统命理分析和易经卦象解读的AI工具

867 lines (814 loc) 31.8 kB
/** * 易经卦象数据库 * 提供六十四卦的完整信息和查询功能 */ class HexagramDatabase { constructor() { this.hexagrams = this.initializeHexagrams(); this.trigrams = this.initializeTrigrams(); } /** * 初始化八卦数据 */ initializeTrigrams() { return { '乾': { symbol: '☰', binary: '111', element: '天', attribute: '刚健', direction: '西北', season: '秋冬之交', family: '父', nature: '阳', meaning: '天、君、父、首、金、玉、冰、雹、大赤、良马、老马、瘠马、驳马' }, '坤': { symbol: '☷', binary: '000', element: '地', attribute: '柔顺', direction: '西南', season: '夏秋之交', family: '母', nature: '阴', meaning: '地、母、布、釜、吝啬、均、子母牛、大舆、文、众、柄' }, '震': { symbol: '☳', binary: '001', element: '雷', attribute: '动', direction: '东', season: '春', family: '长男', nature: '阳', meaning: '雷、龙、玄黄、旉、大涂、决躁、苍筤竹、萑苇' }, '巽': { symbol: '☴', binary: '110', element: '风', attribute: '入', direction: '东南', season: '春夏之交', family: '长女', nature: '阴', meaning: '风、木、长、高、进退、不果、臭、长女、绳直、工、白' }, '坎': { symbol: '☵', binary: '010', element: '水', attribute: '陷', direction: '北', season: '冬', family: '中男', nature: '阳', meaning: '水、沟渎、隐伏、矫輮、弓轮、中男、豕、月、盗、木' }, '离': { symbol: '☲', binary: '101', element: '火', attribute: '丽', direction: '南', season: '夏', family: '中女', nature: '阴', meaning: '火、日、电、中女、甲胄、戈兵、大腹、乾卦、鳖、蟹、蠃、蚌、龟' }, '艮': { symbol: '☶', binary: '100', element: '山', attribute: '止', direction: '东北', season: '冬春之交', family: '少男', nature: '阳', meaning: '山、径路、小石、门阙、果蓏、阍寺、指、狗、鼠、黔喙之属' }, '兑': { symbol: '☱', binary: '011', element: '泽', attribute: '悦', direction: '西', season: '秋', family: '少女', nature: '阴', meaning: '泽、少女、巫、口舌、毁折、附决、羊' } }; } /** * 初始化六十四卦数据 */ initializeHexagrams() { return { 1: { name: '乾', chinese: '乾为天', upper: '乾', lower: '乾', symbol: '☰☰', binary: '111111', judgment: '乾:元,亨,利,贞。', image: '天行健,君子以自强不息。', meaning: '刚健中正,自强不息', keywords: ['创造', '领导', '刚健', '进取'], element: '金', season: '秋', direction: '西北', lines: [ { position: 1, text: '初九:潜龙,勿用。', meaning: '时机未到,韬光养晦' }, { position: 2, text: '九二:见龙在田,利见大人。', meaning: '崭露头角,寻求指导' }, { position: 3, text: '九三:君子终日乾乾,夕惕若,厉无咎。', meaning: '勤奋努力,保持警惕' }, { position: 4, text: '九四:或跃在渊,无咎。', meaning: '审时度势,准备跃进' }, { position: 5, text: '九五:飞龙在天,利见大人。', meaning: '功成名就,德高望重' }, { position: 6, text: '上九:亢龙有悔。', meaning: '物极必反,谦逊为要' } ], applications: { career: '适合创业、领导工作,需要主动进取', relationship: '主动追求,但要避免过于强势', health: '精力充沛,注意不要过度劳累', wealth: '财运旺盛,投资需谨慎', study: '学习能力强,适合挑战性课程' } }, 2: { name: '坤', chinese: '坤为地', upper: '坤', lower: '坤', symbol: '☷☷', binary: '000000', judgment: '坤:元,亨,利牝马之贞。君子有攸往,先迷后得主,利西南得朋,东北丧朋。安贞,吉。', image: '地势坤,君子以厚德载物。', meaning: '柔顺承载,厚德载物', keywords: ['包容', '承载', '柔顺', '配合'], element: '土', season: '夏秋之交', direction: '西南', lines: [ { position: 1, text: '初六:履霜,坚冰至。', meaning: '见微知著,防患未然' }, { position: 2, text: '六二:直,方,大,不习无不利。', meaning: '正直方正,自然无为' }, { position: 3, text: '六三:含章可贞。或从王事,无成有终。', meaning: '含蓄内敛,坚持到底' }, { position: 4, text: '六四:括囊;无咎,无誉。', meaning: '谨言慎行,明哲保身' }, { position: 5, text: '六五:黄裳,元吉。', meaning: '中正谦逊,大吉大利' }, { position: 6, text: '上六:龙战于野,其血玄黄。', meaning: '阴极阳生,变化在即' } ], applications: { career: '适合辅助、支持工作,需要耐心配合', relationship: '温柔体贴,包容理解', health: '注意脾胃,保持平和心态', wealth: '稳健理财,积少成多', study: '基础扎实,循序渐进' } }, 3: { name: '屯', chinese: '水雷屯', upper: '坎', lower: '震', symbol: '☵☳', binary: '010001', judgment: '屯:元,亨,利,贞。勿用,有攸往,利建侯。', image: '云,雷,屯;君子以经纶。', meaning: '万物始生,艰难创业', keywords: ['开始', '困难', '创业', '积累'], element: '水', season: '春', direction: '东北', lines: [ { position: 1, text: '初九:磐桓;利居贞,利建侯。', meaning: '稳扎稳打,建立基础' }, { position: 2, text: '六二:屯如邅如,乘马班如。匪寇婚媾,女子贞不字,十年乃字。', meaning: '困难重重,坚持等待' }, { position: 3, text: '六三:既鹿无虞,惟入于林中,君子几不如舍,往吝。', meaning: '盲目行动,不如放弃' }, { position: 4, text: '六四:乘马班如,求婚媾,无不利。', meaning: '寻求合作,前景光明' }, { position: 5, text: '九五:屯其膏,小贞吉,大贞凶。', meaning: '积蓄实力,小事可为' }, { position: 6, text: '上六:乘马班如,泣血涟如。', meaning: '进退两难,痛苦不堪' } ], applications: { career: '创业初期,需要坚持和耐心', relationship: '感情萌芽,需要时间培养', health: '注意调养,避免过度劳累', wealth: '积累阶段,不宜大额投资', study: '打好基础,循序渐进' } }, 4: { name: '蒙', chinese: '山水蒙', upper: '艮', lower: '坎', symbol: '☶☵', binary: '100010', judgment: '蒙:亨。匪我求童蒙,童蒙求我。初噬告,再三渎,渎则不告。利贞。', image: '山下出泉,蒙;君子以果行育德。', meaning: '启蒙教育,循序渐进', keywords: ['启蒙', '教育', '学习', '成长'], element: '土', season: '冬春之交', direction: '东北', lines: [ { position: 1, text: '初六:发蒙,利用刑人,用说桎梏,以往吝。', meaning: '启发蒙昧,需要约束' }, { position: 2, text: '九二:包蒙吉,纳妇吉,子克家。', meaning: '包容教导,获得成功' }, { position: 3, text: '六三:勿用娶女,见金夫,不有躬,无攸利。', meaning: '不要急于求成' }, { position: 4, text: '六四:困蒙,吝。', meaning: '困于蒙昧,需要努力' }, { position: 5, text: '六五:童蒙,吉。', meaning: '保持童心,虚心学习' }, { position: 6, text: '上九:击蒙,不利为寇,利御寇。', meaning: '严格教育,防范错误' } ], applications: { career: '适合教育、培训工作,需要耐心指导', relationship: '需要相互理解,慢慢培养感情', health: '注意心理健康,保持学习心态', wealth: '财运一般,不宜冒险投资', study: '学习态度很重要,需要好老师' } }, 5: { name: '需', chinese: '水天需', upper: '坎', lower: '乾', symbol: '☵☰', binary: '010111', judgment: '需:有孚,光亨,贞吉。利涉大川。', image: '云上于天,需;君子以饮食宴乐。', meaning: '等待时机,积蓄力量', keywords: ['等待', '需求', '准备', '时机'], element: '水', season: '冬', direction: '北', lines: [ { position: 1, text: '初九:需于郊,利用恒,无咎。', meaning: '在远处等待,保持恒心' }, { position: 2, text: '九二:需于沙,小有言,终吉。', meaning: '稍有困难,最终吉利' }, { position: 3, text: '九三:需于泥,致寇至。', meaning: '陷入困境,招致麻烦' }, { position: 4, text: '六四:需于血,出自穴。', meaning: '危险境地,需要脱离' }, { position: 5, text: '九五:需于酒食,贞吉。', meaning: '安心等待,保持正道' }, { position: 6, text: '上六:入于穴,有不速之客三人来,敬之终吉。', meaning: '意外来客,以礼相待' } ], applications: { career: '需要等待机会,不宜急进', relationship: '需要时间培养,不要急躁', health: '需要调养,注意饮食', wealth: '财运需要等待,稳健为主', study: '需要积累,循序渐进' } }, 6: { name: '讼', chinese: '天水讼', upper: '乾', lower: '坎', symbol: '☰☵', binary: '111010', judgment: '讼:有孚,窒惕,中吉,终凶。利见大人,不利涉大川。', image: '天与水违行,讼;君子以作事谋始。', meaning: '争讼纠纷,谨慎处理', keywords: ['争讼', '纠纷', '谨慎', '调解'], element: '金', season: '秋', direction: '西北', lines: [ { position: 1, text: '初六:不永所事,小有言,终吉。', meaning: '不要纠缠,小有争议但终吉' }, { position: 2, text: '九二:不克讼,归而逋,其邑人三百户,无眚。', meaning: '不能胜诉,退避为上' }, { position: 3, text: '六三:食旧德,贞厉,终吉,或从王事,无成。', meaning: '依靠旧德,坚持正道' }, { position: 4, text: '九四:不克讼,复即命渝,安贞吉。', meaning: '不能胜诉,改变态度为吉' }, { position: 5, text: '九五:讼元吉。', meaning: '争讼大吉' }, { position: 6, text: '上九:或锡之鞶带,终朝三褫之。', meaning: '即使获胜,也不长久' } ], applications: { career: '避免争斗,寻求和解', relationship: '化解矛盾,避免冲突', health: '注意情绪,避免争吵伤身', wealth: '避免投机,谨慎理财', study: '专心学习,避免分心' } }, 7: { name: '师', chinese: '地水师', upper: '坤', lower: '坎', symbol: '☷☵', binary: '000010', judgment: '师:贞,丈人吉,无咎。', image: '地中有水,师;君子以容民畜众。', meaning: '统帅军队,领导众人', keywords: ['领导', '统帅', '团队', '纪律'], element: '土', season: '夏秋之交', direction: '西南', lines: [ { position: 1, text: '初六:师出以律,否臧凶。', meaning: '军队出征要有纪律' }, { position: 2, text: '九二:在师中,吉无咎,王三锡命。', meaning: '在军中得到重用' }, { position: 3, text: '六三:师或舆尸,凶。', meaning: '指挥不当,必有损失' }, { position: 4, text: '六四:师左次,无咎。', meaning: '军队撤退,无过错' }, { position: 5, text: '六五:田有禽,利执言,无咎。长子帅师,弟子舆尸,贞凶。', meaning: '选择合适的统帅' }, { position: 6, text: '上六:大君有命,开国承家,小人勿用。', meaning: '论功行赏,不用小人' } ], applications: { career: '适合管理工作,需要领导能力', relationship: '需要包容理解,团结一致', health: '注意劳逸结合,避免过度疲劳', wealth: '团队合作,共同发展', study: '需要纪律性,系统学习' } }, 8: { name: '比', chinese: '水地比', upper: '坎', lower: '坤', symbol: '☵☷', binary: '010000', judgment: '比:吉。原筮元永贞,无咎。不宁方来,后夫凶。', image: '地上有水,比;先王以建万国,亲诸侯。', meaning: '亲密合作,相互依附', keywords: ['合作', '亲密', '依附', '团结'], element: '水', season: '冬', direction: '北', lines: [ { position: 1, text: '初六:有孚比之,无咎。有孚盈缶,终来有他,吉。', meaning: '真诚合作,必有好结果' }, { position: 2, text: '六二:比之自内,贞吉。', meaning: '从内部团结,坚持正道' }, { position: 3, text: '六三:比之匪人。', meaning: '与不当的人合作' }, { position: 4, text: '六四:外比之,贞吉。', meaning: '对外合作,坚持正道' }, { position: 5, text: '九五:显比,王用三驱,失前禽。邑人不诫,吉。', meaning: '明显的合作,宽容待人' }, { position: 6, text: '上六:比之无首,凶。', meaning: '合作无首领,必然失败' } ], applications: { career: '团队合作,建立良好关系', relationship: '亲密无间,相互支持', health: '需要他人关心,互相照顾', wealth: '合作投资,共同发展', study: '团体学习,相互帮助' } } }; } /** * 初始化六十四卦数据(完整版本) */ initializeFullHexagrams() { return { 1: { name: '乾', chinese: '乾为天', upper: '乾', lower: '乾', symbol: '☰☰', binary: '111111', judgment: '乾:元,亨,利,贞。', image: '天行健,君子以自强不息。', meaning: '刚健中正,自强不息', keywords: ['创造', '领导', '刚健', '进取'], element: '金', season: '秋', direction: '西北', lines: [ { position: 1, text: '初九:潜龙,勿用。', meaning: '时机未到,韬光养晦' }, { position: 2, text: '九二:见龙在田,利见大人。', meaning: '崭露头角,寻求指导' }, { position: 3, text: '九三:君子终日乾乾,夕惕若,厉无咎。', meaning: '勤奋努力,保持警惕' }, { position: 4, text: '九四:或跃在渊,无咎。', meaning: '审时度势,准备跃进' }, { position: 5, text: '九五:飞龙在天,利见大人。', meaning: '功成名就,德高望重' }, { position: 6, text: '上九:亢龙有悔。', meaning: '物极必反,谦逊为要' } ], applications: { career: '适合创业、领导工作,需要主动进取', relationship: '主动追求,但要避免过于强势', health: '精力充沛,注意不要过度劳累', wealth: '财运旺盛,投资需谨慎', study: '学习能力强,适合挑战性课程' } }, 2: { name: '坤', chinese: '坤为地', upper: '坤', lower: '坤', symbol: '☷☷', binary: '000000', judgment: '坤:元亨,利牝马之贞。君子有攸往,先迷后得主,利西南得朋,东北丧朋。安贞吉。', image: '地势坤,君子以厚德载物。', meaning: '柔顺承载,厚德载物', keywords: ['包容', '承载', '柔顺', '配合'], element: '土', season: '夏秋之交', direction: '西南', lines: [ { position: 1, text: '初六:履霜,坚冰至。', meaning: '见微知著,防患未然' }, { position: 2, text: '六二:直,方,大,不习无不利。', meaning: '正直方正,自然而成' }, { position: 3, text: '六三:含章可贞。或从王事,无成有终。', meaning: '含蓄内敛,辅佐他人' }, { position: 4, text: '六四:括囊;无咎,无誉。', meaning: '谨言慎行,明哲保身' }, { position: 5, text: '六五:黄裳,元吉。', meaning: '德行高尚,获得认可' }, { position: 6, text: '上六:龙战于野,其血玄黄。', meaning: '阴极阳生,变化在即' } ], applications: { career: '适合辅助、服务性工作,需要耐心配合', relationship: '温柔体贴,善于包容理解', health: '体质较弱,需要调养身体', wealth: '财运平稳,适合稳健投资', study: '基础扎实,循序渐进' } }, 3: { name: '屯', chinese: '水雷屯', upper: '坎', lower: '震', symbol: '☵☳', binary: '010001', judgment: '屯:元亨利贞,勿用,有攸往,利建侯。', image: '云雷,屯;君子以经纶。', meaning: '初始困难,需要积累', keywords: ['开始', '困难', '积累', '建立'], element: '水', season: '冬春之交', direction: '北', lines: [ { position: 1, text: '初九:磐桓;利居贞,利建侯。', meaning: '稳扎稳打,建立基础' }, { position: 2, text: '六二:屯如邅如,乘马班如。匪寇婚媾,女子贞不字,十年乃字。', meaning: '困难重重,坚持等待' }, { position: 3, text: '六三:即鹿无虞,惟入于林中,君子几不如舍,往吝。', meaning: '盲目行动,不如放弃' }, { position: 4, text: '六四:乘马班如,求婚媾,往吉,无不利。', meaning: '寻求合作,前进有利' }, { position: 5, text: '九五:屯其膏,小贞吉,大贞凶。', meaning: '小心谨慎,不宜大动' }, { position: 6, text: '上六:乘马班如,泣血涟如。', meaning: '进退两难,痛苦不堪' } ], applications: { career: '创业初期,需要坚持和耐心', relationship: '感情初期,需要时间培养', health: '身体不适,需要调理', wealth: '财运不佳,不宜投资', study: '学习困难,需要基础积累' } } // 这里只展示前3卦作为示例,实际应包含全部64卦 }; } /** * 根据卦名获取卦象信息 * @param {string} name - 卦名 * @returns {Object|null} 卦象信息 */ getHexagramByName(name) { for (const [key, hexagram] of Object.entries(this.hexagrams)) { if (hexagram.name === name || hexagram.chinese === name) { return { id: parseInt(key), ...hexagram }; } } return null; } /** * 根据卦序号获取卦象信息 * @param {number} id - 卦序号 * @returns {Object|null} 卦象信息 */ getHexagramById(id) { const hexagram = this.hexagrams[id]; return hexagram ? { id, ...hexagram } : null; } /** * 根据卦序号获取卦象信息(别名方法) * @param {number} id - 卦序号 * @returns {Object|null} 卦象信息 */ getHexagram(id) { return this.getHexagramById(id); } /** * 根据上下卦获取卦象 * @param {string} upper - 上卦 * @param {string} lower - 下卦 * @returns {Object|null} 卦象信息 */ getHexagramByTrigrams(upper, lower) { for (const [key, hexagram] of Object.entries(this.hexagrams)) { if (hexagram.upper === upper && hexagram.lower === lower) { return { id: parseInt(key), ...hexagram }; } } return null; } /** * 根据二进制编码获取卦象 * @param {string} binary - 二进制编码 * @returns {Object|null} 卦象信息 */ getHexagramByBinary(binary) { for (const [key, hexagram] of Object.entries(this.hexagrams)) { if (hexagram.binary === binary) { return { id: parseInt(key), ...hexagram }; } } return null; } /** * 获取八卦信息 * @param {string} name - 八卦名 * @returns {Object|null} 八卦信息 */ getTrigramByName(name) { return this.trigrams[name] || null; } /** * 根据关键词搜索卦象 * @param {string} keyword - 关键词 * @returns {Array} 匹配的卦象列表 */ searchHexagrams(keyword) { const results = []; const lowerKeyword = keyword.toLowerCase(); for (const [key, hexagram] of Object.entries(this.hexagrams)) { const searchText = [ hexagram.name, hexagram.chinese, hexagram.meaning, ...hexagram.keywords, hexagram.judgment, hexagram.image ].join(' ').toLowerCase(); if (searchText.includes(lowerKeyword)) { results.push({ id: parseInt(key), ...hexagram }); } } return results; } /** * 根据应用场景获取相关卦象 * @param {string} scenario - 应用场景 * @returns {Array} 相关卦象列表 */ getHexagramsByScenario(scenario) { const results = []; for (const [key, hexagram] of Object.entries(this.hexagrams)) { if (hexagram.applications && hexagram.applications[scenario]) { results.push({ id: parseInt(key), name: hexagram.name, chinese: hexagram.chinese, meaning: hexagram.meaning, application: hexagram.applications[scenario] }); } } return results; } /** * 获取所有卦象列表 * @returns {Array} 所有卦象 */ getAllHexagrams() { return Object.entries(this.hexagrams).map(([key, hexagram]) => ({ id: parseInt(key), name: hexagram.name, chinese: hexagram.chinese, symbol: hexagram.symbol, meaning: hexagram.meaning, keywords: hexagram.keywords })); } /** * 获取所有八卦列表 * @returns {Array} 所有八卦 */ getAllTrigrams() { return Object.entries(this.trigrams).map(([name, trigram]) => ({ name, ...trigram })); } /** * 根据五行获取相关卦象 * @param {string} element - 五行 * @returns {Array} 相关卦象列表 */ getHexagramsByElement(element) { const results = []; for (const [key, hexagram] of Object.entries(this.hexagrams)) { if (hexagram.element === element) { results.push({ id: parseInt(key), ...hexagram }); } } return results; } /** * 根据季节获取相关卦象 * @param {string} season - 季节 * @returns {Array} 相关卦象列表 */ getHexagramsBySeason(season) { const results = []; for (const [key, hexagram] of Object.entries(this.hexagrams)) { if (hexagram.season === season) { results.push({ id: parseInt(key), ...hexagram }); } } return results; } /** * 获取变卦 * @param {number} originalId - 原卦ID * @param {Array} changingLines - 变爻位置 * @returns {Object} 变卦信息 */ getChangedHexagram(originalId, changingLines) { const original = this.getHexagramById(originalId); if (!original) return null; // 将二进制字符串转换为数组 const binaryArray = original.binary.split('').map(bit => parseInt(bit)); // 应用变爻 changingLines.forEach(line => { if (line >= 1 && line <= 6) { const index = 6 - line; // 从下往上数,第1爻对应数组最后一位 binaryArray[index] = 1 - binaryArray[index]; // 0变1,1变0 } }); // 转换回二进制字符串 const newBinary = binaryArray.join(''); // 查找对应的卦象 return this.getHexagramByBinary(newBinary); } /** * 分析卦象组合 * @param {number} hexagramId - 卦象ID * @returns {Object} 卦象分析 */ analyzeHexagram(hexagramId) { const hexagram = this.getHexagramById(hexagramId); if (!hexagram) return null; const upperTrigram = this.getTrigramByName(hexagram.upper); const lowerTrigram = this.getTrigramByName(hexagram.lower); return { hexagram: hexagram, upper_trigram: { name: hexagram.upper, ...upperTrigram }, lower_trigram: { name: hexagram.lower, ...lowerTrigram }, combination_meaning: this.getCombinationMeaning(hexagram.upper, hexagram.lower), five_elements_analysis: this.analyzeFiveElements(upperTrigram, lowerTrigram), seasonal_influence: this.analyzeSeasonalInfluence(hexagram), directional_meaning: this.analyzeDirectionalMeaning(upperTrigram, lowerTrigram) }; } /** * 获取卦象组合含义 * @param {string} upper - 上卦 * @param {string} lower - 下卦 * @returns {string} 组合含义 */ getCombinationMeaning(upper, lower) { const combinations = { '乾乾': '天行健,刚健不息', '坤坤': '地势坤,厚德载物', '坎震': '云雷屯,经纶世务', // 可以继续添加更多组合 }; return combinations[upper + lower] || `${upper}上${lower}下的组合`; } /** * 分析五行关系 * @param {Object} upperTrigram - 上卦 * @param {Object} lowerTrigram - 下卦 * @returns {Object} 五行分析 */ analyzeFiveElements(upperTrigram, lowerTrigram) { const elementMap = { '天': '金', '地': '土', '雷': '木', '风': '木', '水': '水', '火': '火', '山': '土', '泽': '金' }; const upperElement = elementMap[upperTrigram.element]; const lowerElement = elementMap[lowerTrigram.element]; return { upper_element: upperElement, lower_element: lowerElement, relationship: this.getFiveElementsRelationship(upperElement, lowerElement), harmony_level: this.assessElementHarmony(upperElement, lowerElement) }; } /** * 获取五行关系 * @param {string} element1 - 五行1 * @param {string} element2 - 五行2 * @returns {string} 五行关系 */ getFiveElementsRelationship(element1, element2) { const relationships = { '木火': '相生', '火土': '相生', '土金': '相生', '金水': '相生', '水木': '相生', '木土': '相克', '土水': '相克', '水火': '相克', '火金': '相克', '金木': '相克' }; return relationships[element1 + element2] || relationships[element2 + element1] || '比和'; } /** * 评估五行和谐度 * @param {string} element1 - 五行1 * @param {string} element2 - 五行2 * @returns {string} 和谐度 */ assessElementHarmony(element1, element2) { const relationship = this.getFiveElementsRelationship(element1, element2); switch (relationship) { case '相生': return '和谐'; case '相克': return '冲突'; case '比和': return '平衡'; default: return '中性'; } } /** * 分析季节影响 * @param {Object} hexagram - 卦象 * @returns {Object} 季节分析 */ analyzeSeasonalInfluence(hexagram) { return { primary_season: hexagram.season, seasonal_energy: this.getSeasonalEnergy(hexagram.season), timing_advice: this.getTimingAdvice(hexagram.season), seasonal_applications: this.getSeasonalApplications(hexagram.season) }; } /** * 获取季节能量 * @param {string} season - 季节 * @returns {string} 季节能量 */ getSeasonalEnergy(season) { const energies = { '春': '生发之气,万物复苏', '夏': '旺盛之气,繁荣昌盛', '秋': '收敛之气,成熟收获', '冬': '潜藏之气,蓄势待发', '春夏之交': '生长转旺,积极向上', '夏秋之交': '由盛转收,稳健发展', '秋冬之交': '收藏转潜,内敛修养', '冬春之交': '潜藏转生,蓄势待发' }; return energies[season] || '四季平衡'; } /** * 获取时机建议 * @param {string} season - 季节 * @returns {string} 时机建议 */ getTimingAdvice(season) { const advice = { '春': '适合开始新项目,播种希望', '夏': '适合全力发展,展现才华', '秋': '适合收获成果,总结经验', '冬': '适合休养生息,积蓄力量' }; return advice[season] || '顺应自然,把握时机'; } /** * 获取季节应用 * @param {string} season - 季节 * @returns {Array} 季节应用 */ getSeasonalApplications(season) { const applications = { '春': ['创业', '学习', '恋爱', '种植'], '夏': ['发展', '表现', '社交', '旅行'], '秋': ['收获', '总结', '投资', '储蓄'], '冬': ['休息', '思考', '修养', '计划'] }; return applications[season] || ['平衡发展']; } /** * 分析方位含义 * @param {Object} upperTrigram - 上卦 * @param {Object} lowerTrigram - 下卦 * @returns {Object} 方位分析 */ analyzeDirectionalMeaning(upperTrigram, lowerTrigram) { return { upper_direction: upperTrigram.direction, lower_direction: lowerTrigram.direction, combined_direction: this.getCombinedDirection(upperTrigram.direction, lowerTrigram.direction), feng_shui_implications: this.getFengShuiImplications(upperTrigram.direction, lowerTrigram.direction) }; } /** * 获取组合方位 * @param {string} upperDir - 上卦方位 * @param {string} lowerDir - 下卦方位 * @returns {string} 组合方位 */ getCombinedDirection(upperDir, lowerDir) { return `${upperDir}与${lowerDir}的结合`; } /** * 获取风水含义 * @param {string} upperDir - 上卦方位 * @param {string} lowerDir - 下卦方位 * @returns {string} 风水含义 */ getFengShuiImplications(upperDir, lowerDir) { return `${upperDir}主导,${lowerDir}辅助的能量场`; } } module.exports = HexagramDatabase;