塔罗牌模块新增总结论功能
- 新增综合解读功能,包含性格特质、感情运势、事业发展、总体建议四个维度 - 总结论使用通俗易懂的大白话,便于用户理解 - 前端UI优化,新增总结论展示区域 - 根据抽到的牌组合,智能生成个性化的命理解读 - 优化样式设计,提升用户体验
This commit is contained in:
1 parent
093d379555
commit
2ac5c5782a
8 files changed
+1315
-453
No files matched your search
@@ -217,9 +217,9 @@ public class BaZiController {
|
||||
|
||||
marriage.append("【感情婚姻】\n\n");
|
||||
|
||||
Integer sex = baZi.getSex();
|
||||
String sex = baZi.getSex();
|
||||
|
||||
if (sex != null && sex == 1) {
|
||||
if ("男".equals(sex)) {
|
||||
marriage.append("男命看婚姻:\n\n");
|
||||
marriage.append("• 您的八字中财星代表妻子,财星旺相的话,妻子贤惠能干,婚姻幸福。\n");
|
||||
marriage.append("• 财星弱的话,可能需要晚婚,或者妻子身体较弱,需要多关心照顾。\n");
|
||||
|
||||
@@ -29,7 +29,17 @@ public class LiuYaoController {
|
||||
setting.setMonthGanZhiType(request.getMonthGanZhiType() != null ? request.getMonthGanZhiType() : 1);
|
||||
setting.setDayGanZhiType(request.getDayGanZhiType() != null ? request.getDayGanZhiType() : 0);
|
||||
setting.setPaiPanType(request.getPaiPanType() != null ? request.getPaiPanType() : 0);
|
||||
setting.setLiuYaoYaoXiang(request.getLiuYaoYaoXiang() != null ? request.getLiuYaoYaoXiang() : "——,——,——,——,——,——");
|
||||
if (request.getLiuYaoYaoXiang() != null) {
|
||||
String[] yaoXiang = request.getLiuYaoYaoXiang().split(",");
|
||||
if (yaoXiang.length >= 6) {
|
||||
setting.setLiuYao(yaoXiang[0].equals("—") || yaoXiang[0].equals("阳") ? 1 : 0);
|
||||
setting.setWuYao(yaoXiang[1].equals("—") || yaoXiang[1].equals("阳") ? 1 : 0);
|
||||
setting.setSiYao(yaoXiang[2].equals("—") || yaoXiang[2].equals("阳") ? 1 : 0);
|
||||
setting.setSanYao(yaoXiang[3].equals("—") || yaoXiang[3].equals("阳") ? 1 : 0);
|
||||
setting.setErYao(yaoXiang[4].equals("—") || yaoXiang[4].equals("阳") ? 1 : 0);
|
||||
setting.setYiYao(yaoXiang[5].equals("—") || yaoXiang[5].equals("阳") ? 1 : 0);
|
||||
}
|
||||
}
|
||||
|
||||
LiuYao liuYao = new LiuYao(setting);
|
||||
liuYao.liuYaoShenShaSetting(new LiuYaoShenShaSetting());
|
||||
|
||||
@@ -148,6 +148,7 @@ public class TaLuoController {
|
||||
data.put("question", request.getQuestion());
|
||||
data.put("cards", selectedCards);
|
||||
data.put("interpretation", generateInterpretation(selectedCards, spreadType, request.getQuestion()));
|
||||
data.put("summary", generateSummary(selectedCards, spreadType));
|
||||
data.put("timestamp", new Date());
|
||||
|
||||
result.put("success", true);
|
||||
@@ -269,6 +270,214 @@ public class TaLuoController {
|
||||
return interpretation.toString();
|
||||
}
|
||||
|
||||
private Map<String, String> generateSummary(List<Map<String, Object>> cards, String spreadType) {
|
||||
Map<String, String> summary = new HashMap<>();
|
||||
|
||||
summary.put("personality", generatePersonalityAnalysis(cards));
|
||||
summary.put("emotion", generateEmotionAnalysis(cards));
|
||||
summary.put("career", generateCareerAnalysis(cards));
|
||||
summary.put("overall", generateOverallAdvice(cards, spreadType));
|
||||
|
||||
return summary;
|
||||
}
|
||||
|
||||
private String generatePersonalityAnalysis(List<Map<String, Object>> cards) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
int majorCount = 0;
|
||||
int reversedCount = 0;
|
||||
boolean hasFool = false, hasMagician = false, hasHighPriestess = false, hasEmperor = false;
|
||||
|
||||
for (Map<String, Object> card : cards) {
|
||||
String name = (String) card.get("name");
|
||||
boolean isReversed = (Boolean) card.get("isReversed");
|
||||
String type = (String) card.get("type");
|
||||
|
||||
if ("major".equals(type)) majorCount++;
|
||||
if (isReversed) reversedCount++;
|
||||
|
||||
if ("愚者".equals(name)) hasFool = true;
|
||||
if ("魔术师".equals(name)) hasMagician = true;
|
||||
if ("女祭司".equals(name)) hasHighPriestess = true;
|
||||
if ("皇帝".equals(name)) hasEmperor = true;
|
||||
}
|
||||
|
||||
sb.append("【性格特质】\n");
|
||||
|
||||
if (majorCount > cards.size() / 2) {
|
||||
sb.append("你的内心世界很丰富,经常思考人生的大问题。你是个有深度的人,不满足于表面的东西,总想探索更深层的意义。");
|
||||
} else {
|
||||
sb.append("你是个务实的人,更关注日常生活中的具体事务。你脚踏实地,做事有条理,是个值得信赖的人。");
|
||||
}
|
||||
|
||||
sb.append("\n\n");
|
||||
|
||||
if (reversedCount > cards.size() / 2) {
|
||||
sb.append("最近你可能感到有些迷茫,内心有些矛盾。这是正常的,说明你在反思和成长。给自己一点时间,不要着急。");
|
||||
} else {
|
||||
sb.append("你目前的状态比较积极向上,心态比较平和。继续保持这种状态,会让你更容易应对生活中的挑战。");
|
||||
}
|
||||
|
||||
sb.append("\n\n");
|
||||
|
||||
if (hasFool) {
|
||||
sb.append("你有一颗年轻的心,充满好奇心和冒险精神。你愿意尝试新事物,不怕失败,这是很宝贵的品质。");
|
||||
}
|
||||
if (hasMagician) {
|
||||
sb.append("你很有创造力和执行力,能够把自己的想法变成现实。你善于利用身边的资源,是个有能力的人。");
|
||||
}
|
||||
if (hasHighPriestess) {
|
||||
sb.append("你的直觉很敏锐,常常能感知到别人察觉不到的东西。你善于倾听内心的声音,这是你的优势。");
|
||||
}
|
||||
if (hasEmperor) {
|
||||
sb.append("你有领导才能,善于规划和组织。你做事有原则,有责任感,是个可以依靠的人。");
|
||||
}
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
private String generateEmotionAnalysis(List<Map<String, Object>> cards) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
sb.append("【感情运势】\n");
|
||||
|
||||
boolean hasLovers = false, hasEmpress = false, hasStar = false, hasMoon = false;
|
||||
boolean hasCups = false;
|
||||
int reversedCount = 0;
|
||||
|
||||
for (Map<String, Object> card : cards) {
|
||||
String name = (String) card.get("name");
|
||||
boolean isReversed = (Boolean) card.get("isReversed");
|
||||
String suit = (String) card.get("suit");
|
||||
|
||||
if (isReversed) reversedCount++;
|
||||
if ("恋人".equals(name)) hasLovers = true;
|
||||
if ("女皇".equals(name)) hasEmpress = true;
|
||||
if ("星星".equals(name)) hasStar = true;
|
||||
if ("月亮".equals(name)) hasMoon = true;
|
||||
if ("圣杯".equals(suit)) hasCups = true;
|
||||
}
|
||||
|
||||
if (hasLovers) {
|
||||
sb.append("牌面显示你正在面临或即将面临一个重要的感情选择。这可能是一个转折点,需要你认真思考自己真正想要的是什么。");
|
||||
} else if (hasEmpress) {
|
||||
sb.append("你的感情生活充满温暖和关爱。你懂得如何去爱,也值得被爱。这段时期适合培养和加深感情关系。");
|
||||
} else if (hasStar) {
|
||||
sb.append("感情方面充满希望。如果你在寻找爱情,很快就会遇到让你心动的人。如果已有伴侣,你们的关系会更加和谐美满。");
|
||||
} else if (hasMoon) {
|
||||
sb.append("在感情方面,你可能感到有些困惑或不确定。这可能是因为信息不完整,或者你还没有看清事情的全貌。建议多沟通,不要急于下结论。");
|
||||
} else if (hasCups) {
|
||||
sb.append("你的感情世界比较丰富,最近可能会有一些情感上的波动。这是正常的,说明你对感情很投入。");
|
||||
} else {
|
||||
if (reversedCount > cards.size() / 2) {
|
||||
sb.append("最近感情方面可能有些不太顺利,但这只是暂时的。保持开放的心态,真诚地对待他人,情况会慢慢好转。");
|
||||
} else {
|
||||
sb.append("你的感情生活比较平稳。虽然没有大的波澜,但这种平静也是一种幸福。珍惜身边的人,用心经营感情。");
|
||||
}
|
||||
}
|
||||
|
||||
sb.append("\n\n");
|
||||
sb.append("建议:在感情中要保持真诚和耐心。不要因为一时的情绪波动而做出冲动的决定。多倾听对方的心声,也要勇敢表达自己的感受。");
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
private String generateCareerAnalysis(List<Map<String, Object>> cards) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
sb.append("【事业发展】\n");
|
||||
|
||||
boolean hasMagician = false, hasEmperor = false, hasChariot = false, hasWheel = false;
|
||||
boolean hasWands = false, hasPentacles = false;
|
||||
int reversedCount = 0;
|
||||
|
||||
for (Map<String, Object> card : cards) {
|
||||
String name = (String) card.get("name");
|
||||
boolean isReversed = (Boolean) card.get("isReversed");
|
||||
String suit = (String) card.get("suit");
|
||||
|
||||
if (isReversed) reversedCount++;
|
||||
if ("魔术师".equals(name)) hasMagician = true;
|
||||
if ("皇帝".equals(name)) hasEmperor = true;
|
||||
if ("战车".equals(name)) hasChariot = true;
|
||||
if ("命运之轮".equals(name)) hasWheel = true;
|
||||
if ("权杖".equals(suit)) hasWands = true;
|
||||
if ("星币".equals(suit)) hasPentacles = true;
|
||||
}
|
||||
|
||||
if (hasMagician) {
|
||||
sb.append("你目前的工作能力很强,能够很好地运用自己的技能和资源。这是个展现才华的好时机,不要害怕表现自己。");
|
||||
} else if (hasEmperor) {
|
||||
sb.append("你在工作中展现出领导才能,善于管理和规划。如果有机会,可以尝试承担更多的责任,这会带来更好的发展机会。");
|
||||
} else if (hasChariot) {
|
||||
sb.append("事业正处于上升期,你的努力正在得到回报。保持这种势头,继续前进,你会取得更大的成功。");
|
||||
} else if (hasWheel) {
|
||||
sb.append("事业方面即将迎来转机,可能是新的机会或者环境的改变。保持开放的心态,抓住机遇,但也要做好充分的准备。");
|
||||
} else if (hasWands) {
|
||||
sb.append("工作中充满活力和创造力,你有很多好的想法和计划。现在是付诸行动的好时机,不要让机会从手中溜走。");
|
||||
} else if (hasPentacles) {
|
||||
sb.append("你的工作比较稳定,财务状况也不错。这是个积累的好时期,为未来打下坚实的基础。");
|
||||
} else {
|
||||
if (reversedCount > cards.size() / 2) {
|
||||
sb.append("最近工作方面可能遇到一些挑战或阻碍。不要灰心,这些困难都是暂时的。调整好心态,寻找解决问题的方法。");
|
||||
} else {
|
||||
sb.append("你的事业发展比较平稳。虽然没有大的突破,但稳扎稳打也是一种进步。继续保持,机会总会来的。");
|
||||
}
|
||||
}
|
||||
|
||||
sb.append("\n\n");
|
||||
sb.append("建议:在工作中要保持学习和成长的心态。不要满足于现状,要不断提升自己的能力。同时,也要注意工作与生活的平衡,不要过度劳累。");
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
private String generateOverallAdvice(List<Map<String, Object>> cards, String spreadType) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
sb.append("【总体建议】\n\n");
|
||||
|
||||
int reversedCount = 0;
|
||||
int majorCount = 0;
|
||||
boolean hasSun = false, hasWorld = false, hasTower = false, hasDeath = false;
|
||||
|
||||
for (Map<String, Object> card : cards) {
|
||||
String name = (String) card.get("name");
|
||||
boolean isReversed = (Boolean) card.get("isReversed");
|
||||
String type = (String) card.get("type");
|
||||
|
||||
if (isReversed) reversedCount++;
|
||||
if ("major".equals(type)) majorCount++;
|
||||
if ("太阳".equals(name)) hasSun = true;
|
||||
if ("世界".equals(name)) hasWorld = true;
|
||||
if ("塔".equals(name)) hasTower = true;
|
||||
if ("死神".equals(name)) hasDeath = true;
|
||||
}
|
||||
|
||||
if (hasSun || hasWorld) {
|
||||
sb.append("这是一个非常积极的信号!你正走在正确的道路上,未来充满光明和希望。继续保持积极的心态,好事即将发生。\n\n");
|
||||
}
|
||||
|
||||
if (hasTower || hasDeath) {
|
||||
sb.append("牌面显示可能会有一些变化或转折。不要害怕改变,有时候结束是为了更好的开始。接受变化,适应新的情况,你会发现新的机会。\n\n");
|
||||
}
|
||||
|
||||
if (reversedCount > cards.size() / 2) {
|
||||
sb.append("整体来看,你目前可能处于一个需要反思和调整的阶段。这并不是坏事,反而是一个重新审视自己、做出改变的好机会。");
|
||||
} else {
|
||||
sb.append("整体来看,你目前的状态不错,各方面都比较平衡。继续保持,同时也要注意细节,不要因为顺利而掉以轻心。");
|
||||
}
|
||||
|
||||
sb.append("\n\n");
|
||||
|
||||
if (majorCount > cards.size() / 2) {
|
||||
sb.append("这次占卜显示的都是大阿卡纳牌,说明你正在经历或即将经历一些重要的人生阶段。这些经历会让你成长,帮助你更好地理解自己和人生。");
|
||||
}
|
||||
|
||||
sb.append("\n\n最后,记住塔罗牌只是提供指引,真正的决定权在你手中。相信自己的直觉,勇敢地面对生活,你一定能够创造属于自己的美好未来!");
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
@GetMapping("/cards")
|
||||
public Map<String, Object> getAllCards() {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
|
||||
@@ -10,39 +10,6 @@ import java.util.*;
|
||||
@RequestMapping("/api/ziwei")
|
||||
public class ZiWeiController {
|
||||
|
||||
private static final Map<String, String> ZHU_XING_JIE_DU = new HashMap<>();
|
||||
private static final Map<String, String> GONG_WEI_JIE_DU = new HashMap<>();
|
||||
|
||||
static {
|
||||
ZHU_XING_JIE_DU.put("紫微", "帝王之星,主权威领导,性格稳重有魄力,适合管理岗位,天生具有统御能力");
|
||||
ZHU_XING_JIE_DU.put("天机", "智慧之星,主聪明机敏,善于策划分析,适合参谋顾问,思维活跃多变");
|
||||
ZHU_XING_JIE_DU.put("太阳", "光明之星,主外向热情,事业心强,利于公职发展,贵人运旺");
|
||||
ZHU_XING_JIE_DU.put("武曲", "财星,主刚毅果断,理财能力强,适合金融商业,财运亨通");
|
||||
ZHU_XING_JIE_DU.put("天同", "福星,主温和仁慈,人缘好福气厚,适合服务行业,生活安逸");
|
||||
ZHU_XING_JIE_DU.put("廉贞", "桃花星,主才华艺术,感情丰富,适合文艺创作,魅力十足");
|
||||
ZHU_XING_JIE_DU.put("天府", "财库星,主稳重守成,善于理财积累,适合财务管理,财源稳定");
|
||||
ZHU_XING_JIE_DU.put("太阴", "阴柔之星,主细腻敏感,直觉力强,适合文艺创作,财运平稳");
|
||||
ZHU_XING_JIE_DU.put("贪狼", "欲望之星,主多才多艺,交际能力强,适合演艺销售,但需防贪欲");
|
||||
ZHU_XING_JIE_DU.put("巨门", "口舌之星,主能言善辩,适合律师教师,但易招是非口舌");
|
||||
ZHU_XING_JIE_DU.put("天相", "印星,主正直公正,适合公务员法律,贵人运佳,事业平稳");
|
||||
ZHU_XING_JIE_DU.put("天梁", "荫星,主慈悲为怀,适合医疗教育,有长辈贵人,福泽深厚");
|
||||
ZHU_XING_JIE_DU.put("七杀", "将星,主刚强果断,适合军警创业,有领导才能,但需防冲动");
|
||||
ZHU_XING_JIE_DU.put("破军", "变动之星,主开创冒险,适合创业改革,变动多端,需稳中求进");
|
||||
|
||||
GONG_WEI_JIE_DU.put("命宫", "代表核心性格、人生基调、先天特质");
|
||||
GONG_WEI_JIE_DU.put("兄弟宫", "代表兄弟姐妹关系、同辈交往、合作能力");
|
||||
GONG_WEI_JIE_DU.put("夫妻宫", "代表婚姻感情、配偶特质、婚姻质量");
|
||||
GONG_WEI_JIE_DU.put("子女宫", "代表子女运势、后代情况、桃花缘分");
|
||||
GONG_WEI_JIE_DU.put("财帛宫", "代表财富来源、理财能力、财运起伏");
|
||||
GONG_WEI_JIE_DU.put("疾厄宫", "代表健康状况、易患疾病、养生方向");
|
||||
GONG_WEI_JIE_DU.put("迁移宫", "代表外出运势、人际交往、贵人运");
|
||||
GONG_WEI_JIE_DU.put("交友宫", "代表朋友关系、下属能力、人际网络");
|
||||
GONG_WEI_JIE_DU.put("官禄宫", "代表事业发展、职业方向、官运仕途");
|
||||
GONG_WEI_JIE_DU.put("田宅宫", "代表房产运势、家庭环境、祖业继承");
|
||||
GONG_WEI_JIE_DU.put("福德宫", "代表精神状态、福报厚薄、晚年运势");
|
||||
GONG_WEI_JIE_DU.put("父母宫", "代表父母关系、长辈助力、学历背景");
|
||||
}
|
||||
|
||||
@PostMapping("/paipan")
|
||||
public Map<String, Object> paiPan(@RequestBody ZiWeiRequest request) {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
@@ -76,245 +43,543 @@ public class ZiWeiController {
|
||||
Map<String, Object> data = new HashMap<>();
|
||||
|
||||
data.put("name", ziWei.getName());
|
||||
data.put("occupy", ziWei.getOccupy());
|
||||
data.put("sex", ziWei.getSex());
|
||||
data.put("age", ziWei.getAge());
|
||||
data.put("zao", ziWei.getZao());
|
||||
|
||||
data.put("solar", ziWei.getSolarStr2());
|
||||
data.put("lunar", ziWei.getLunarStr2());
|
||||
data.put("xingQi", ziWei.getXingQi());
|
||||
data.put("jiJie", ziWei.getJiJie());
|
||||
data.put("shengXiao", ziWei.getShengXiao());
|
||||
data.put("xingZuo", ziWei.getXingZuo());
|
||||
data.put("yueXiang", ziWei.getYueXiang());
|
||||
data.put("yueJiang", ziWei.getYueJiang());
|
||||
data.put("yueJiangShen", ziWei.getYueJiangShen());
|
||||
data.put("wuBuYuShi", ziWei.getWuBuYuShi());
|
||||
|
||||
data.put("yearGan", ziWei.getYearGan());
|
||||
data.put("monthGan", ziWei.getMonthGan());
|
||||
data.put("dayGan", ziWei.getDayGan());
|
||||
data.put("hourGan", ziWei.getHourGan());
|
||||
data.put("yearZhi", ziWei.getYearZhi());
|
||||
data.put("monthZhi", ziWei.getMonthZhi());
|
||||
data.put("dayZhi", ziWei.getDayZhi());
|
||||
data.put("hourZhi", ziWei.getHourZhi());
|
||||
data.put("wuXingJu", ziWei.getWuXingJu());
|
||||
|
||||
data.put("yearGanZhi", ziWei.getYearGanZhi());
|
||||
data.put("monthGanZhi", ziWei.getMonthGanZhi());
|
||||
data.put("dayGanZhi", ziWei.getDayGanZhi());
|
||||
data.put("hourGanZhi", ziWei.getHourGanZhi());
|
||||
|
||||
data.put("yearGanZhiNaYin", ziWei.getYearGanZhiNaYin());
|
||||
data.put("monthGanZhiNaYin", ziWei.getMonthGanZhiNaYin());
|
||||
data.put("dayGanZhiNaYin", ziWei.getDayGanZhiNaYin());
|
||||
data.put("hourGanZhiNaYin", ziWei.getHourGanZhiNaYin());
|
||||
|
||||
data.put("nanNvYinYang", ziWei.getNanNvYinYang());
|
||||
data.put("mingGongGongWei", ziWei.getMingGongGongWei());
|
||||
data.put("shenGongGongWei", ziWei.getShenGongGongWei());
|
||||
data.put("mingGongDiZhi", ziWei.getMingGongDiZhi());
|
||||
data.put("shenGongDiZhi", ziWei.getShenGongDiZhi());
|
||||
|
||||
data.put("wuXingJu", ziWei.getWuXingJu());
|
||||
data.put("mingZhu", ziWei.getMingZhu());
|
||||
data.put("shenZhu", ziWei.getShenZhu());
|
||||
|
||||
data.put("shiErGongDiZhi", ziWei.getShiErGongDiZhi());
|
||||
data.put("shiErGongTianGan", ziWei.getShiErGongTianGan());
|
||||
data.put("shiErMingGong", ziWei.getShiErMingGong());
|
||||
data.put("shiErShenGong", ziWei.getShiErShenGong());
|
||||
|
||||
data.put("ziWeiXingGongWei", ziWei.getZiWeiXingGongWei());
|
||||
data.put("tianFuXingGongWei", ziWei.getTianFuXingGongWei());
|
||||
data.put("ziWeiXingGongDiZhi", ziWei.getZiWeiXingGongDiZhi());
|
||||
data.put("tianFuXingGongDiZhi", ziWei.getTianFuXingGongDiZhi());
|
||||
|
||||
data.put("ziWeiXingXiZhuXing", ziWei.getZiWeiXingXiZhuXing());
|
||||
data.put("tianFuXingXiZhuXing", ziWei.getTianFuXingXiZhuXing());
|
||||
data.put("shiZhiZhuXing", ziWei.getShiZhiZhuXing());
|
||||
data.put("yueZhiZhuXing", ziWei.getYueZhiZhuXing());
|
||||
data.put("nianGanZhuXing", ziWei.getNianGanZhuXing());
|
||||
data.put("nianZhiZhuXing", ziWei.getNianZhiZhuXing());
|
||||
data.put("dayZhuXing", ziWei.getDayZhuXing());
|
||||
|
||||
data.put("shiErZhangSheng", ziWei.getShiErZhangSheng());
|
||||
data.put("jieLuKongWang", ziWei.getJieLuKongWang());
|
||||
data.put("xunZhongKongWang", ziWei.getXunZhongKongWang());
|
||||
data.put("tianShangTianShiXing", ziWei.getTianShangTianShiXing());
|
||||
|
||||
data.put("daXian", ziWei.getDaXian());
|
||||
data.put("xiaoXian", ziWei.getXiaoXian());
|
||||
data.put("shiErGongBoShi", ziWei.getShiErGongBoShi());
|
||||
data.put("liuNianSuiQianZhuXing", ziWei.getLiuNianSuiQianZhuXing());
|
||||
data.put("liuNianJiangQianZhuXing", ziWei.getLiuNianJiangQianZhuXing());
|
||||
|
||||
List<List<String>> shiErGongZhuXing = ziWei.getShiErGongZhuXing(false);
|
||||
data.put("shiErGongZhuXing", shiErGongZhuXing);
|
||||
data.put("shiErGongZhuXingGuanXi", ziWei.getShiErGongZhuXingGuanXi());
|
||||
|
||||
data.put("huaLuXingGongWei", ziWei.getHuaLuXingGongWei());
|
||||
data.put("huaQuanXingGongWei", ziWei.getHuaQuanXingGongWei());
|
||||
data.put("huaKeXingGongWei", ziWei.getHuaKeXingGongWei());
|
||||
data.put("huaJiXingGongWei", ziWei.getHuaJiXingGongWei());
|
||||
data.put("shiErGongSiHuaXing", ziWei.getShiErGongSiHuaXing());
|
||||
data.put("shiErZhangSheng", ziWei.getShiErZhangSheng());
|
||||
data.put("daXian", ziWei.getDaXian());
|
||||
|
||||
data.put("huaLuXingGongWeiJieDu", ziWei.getHuaLuXingGongWeiJieDu());
|
||||
data.put("huaQuanXingGongWeiJieDu", ziWei.getHuaQuanXingGongWeiJieDu());
|
||||
data.put("huaKeXingGongWeiJieDu", ziWei.getHuaKeXingGongWeiJieDu());
|
||||
data.put("huaJiXingGongWeiJieDu", ziWei.getHuaJiXingGongWeiJieDu());
|
||||
|
||||
data.put("shiErGongSiHuaXing", ziWei.getShiErGongSiHuaXing());
|
||||
data.put("shiErGongSiHuaXingGuanXi", ziWei.getShiErGongSiHuaXingGuanXi());
|
||||
data.put("jieDu", buildJieDu(ziWei, shiErGongZhuXing));
|
||||
|
||||
data.put("mingZhu", ziWei.getMingZhu());
|
||||
data.put("shenZhu", ziWei.getShenZhu());
|
||||
data.put("ziDou", ziWei.getZiDou());
|
||||
data.put("liuDou", ziWei.getLiuDou());
|
||||
|
||||
data.put("prevJie", ziWei.getPrevJie());
|
||||
data.put("nextJie", ziWei.getNextJie());
|
||||
data.put("chuShengJie", ziWei.getChuShengJie());
|
||||
data.put("prevQi", ziWei.getPrevQi());
|
||||
data.put("nextQi", ziWei.getNextQi());
|
||||
data.put("chuShengQi", ziWei.getChuShengQi());
|
||||
return data;
|
||||
}
|
||||
|
||||
private Map<String, Object> buildJieDu(ZiWei ziWei, List<List<String>> shiErGongZhuXing) {
|
||||
Map<String, Object> jieDu = new HashMap<>();
|
||||
|
||||
List<String> shiErMingGong = ziWei.getShiErMingGong();
|
||||
int mingGongIndex = ziWei.getMingGongGongWei() - 1;
|
||||
List<String> mingGongStars = shiErGongZhuXing.get(mingGongIndex);
|
||||
|
||||
data.put("jieDu", buildJieDu(ziWei, shiErMingGong, shiErGongZhuXing));
|
||||
List<String> mainStars = getMainStars(mingGongStars);
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
private Map<String, Object> buildJieDu(ZiWei ziWei, List<String> shiErMingGong, List<List<String>> shiErGongZhuXing) {
|
||||
Map<String, Object> jieDu = new HashMap<>();
|
||||
String xingGe = analyzeXingGe(mainStars);
|
||||
String shiYe = analyzeShiYe(mainStars, ziWei, shiErMingGong, shiErGongZhuXing);
|
||||
String ganQing = analyzeGanQing(ziWei, shiErMingGong, shiErGongZhuXing);
|
||||
String caiYun = analyzeCaiYun(ziWei, shiErMingGong, shiErGongZhuXing);
|
||||
|
||||
int mingGongIndex = ziWei.getMingGongGongWei() - 1;
|
||||
List<String> mingGongStars = shiErGongZhuXing.get(mingGongIndex);
|
||||
jieDu.put("xingGe", xingGe);
|
||||
jieDu.put("shiYe", shiYe);
|
||||
jieDu.put("ganQing", ganQing);
|
||||
jieDu.put("caiYun", caiYun);
|
||||
|
||||
List<String> mainStars = new ArrayList<>();
|
||||
for (String star : mingGongStars) {
|
||||
if (ZHU_XING_JIE_DU.containsKey(star)) {
|
||||
mainStars.add(star);
|
||||
}
|
||||
}
|
||||
|
||||
StringBuilder summary = new StringBuilder();
|
||||
summary.append("【命盘总览】\n");
|
||||
summary.append("命主").append(ziWei.getMingZhu()).append(",身主").append(ziWei.getShenZhu()).append(",");
|
||||
summary.append("五行局为").append(ziWei.getWuXingJu()).append(",");
|
||||
summary.append("命宫在").append(ziWei.getMingGongDiZhi()).append("宫");
|
||||
|
||||
if (!mainStars.isEmpty()) {
|
||||
summary.append(",命宫主星:").append(String.join("、", mainStars));
|
||||
}
|
||||
summary.append("。");
|
||||
|
||||
jieDu.put("summary", summary.toString());
|
||||
|
||||
List<Map<String, String>> mingGongJieDu = new ArrayList<>();
|
||||
for (String star : mingGongStars) {
|
||||
if (ZHU_XING_JIE_DU.containsKey(star)) {
|
||||
Map<String, String> starJieDu = new HashMap<>();
|
||||
starJieDu.put("star", star);
|
||||
starJieDu.put("meaning", ZHU_XING_JIE_DU.get(star));
|
||||
mingGongJieDu.add(starJieDu);
|
||||
}
|
||||
}
|
||||
jieDu.put("mingGongStars", mingGongJieDu);
|
||||
|
||||
List<Map<String, Object>> gongWeiJieDuList = new ArrayList<>();
|
||||
String[] zhuYaoGongWei = {"命宫", "财帛宫", "官禄宫", "夫妻宫", "迁移宫", "福德宫"};
|
||||
|
||||
for (String gongWei : zhuYaoGongWei) {
|
||||
int gongIndex = -1;
|
||||
for (int i = 0; i < shiErMingGong.size(); i++) {
|
||||
if (gongWei.equals(shiErMingGong.get(i))) {
|
||||
gongIndex = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (gongIndex >= 0) {
|
||||
Map<String, Object> gongJieDu = new HashMap<>();
|
||||
gongJieDu.put("gongWei", gongWei);
|
||||
gongJieDu.put("diZhi", ziWei.getShiErGongDiZhi().get(gongIndex));
|
||||
gongJieDu.put("meaning", GONG_WEI_JIE_DU.get(gongWei));
|
||||
|
||||
List<String> gongStars = shiErGongZhuXing.get(gongIndex);
|
||||
List<String> gongMainStars = new ArrayList<>();
|
||||
for (String star : gongStars) {
|
||||
if (ZHU_XING_JIE_DU.containsKey(star)) {
|
||||
gongMainStars.add(star);
|
||||
}
|
||||
}
|
||||
gongJieDu.put("stars", gongMainStars);
|
||||
|
||||
gongWeiJieDuList.add(gongJieDu);
|
||||
}
|
||||
}
|
||||
jieDu.put("gongWeiJieDu", gongWeiJieDuList);
|
||||
|
||||
List<Map<String, String>> siHuaJieDu = new ArrayList<>();
|
||||
|
||||
Map<String, String> huaLu = new HashMap<>();
|
||||
huaLu.put("type", "化禄");
|
||||
huaLu.put("gongWei", ziWei.getHuaLuXingGongWeiJieDu());
|
||||
huaLu.put("meaning", "主财运亨通,机遇顺遂,利于求财发展");
|
||||
siHuaJieDu.add(huaLu);
|
||||
|
||||
Map<String, String> huaQuan = new HashMap<>();
|
||||
huaQuan.put("type", "化权");
|
||||
huaQuan.put("gongWei", ziWei.getHuaQuanXingGongWeiJieDu());
|
||||
huaQuan.put("meaning", "主权势掌控,竞争有力,利于事业掌权");
|
||||
siHuaJieDu.add(huaQuan);
|
||||
|
||||
Map<String, String> huaKe = new HashMap<>();
|
||||
huaKe.put("type", "化科");
|
||||
huaKe.put("gongWei", ziWei.getHuaKeXingGongWeiJieDu());
|
||||
huaKe.put("meaning", "主名声学历,贵人相助,利于学业考试");
|
||||
siHuaJieDu.add(huaKe);
|
||||
|
||||
Map<String, String> huaJi = new HashMap<>();
|
||||
huaJi.put("type", "化忌");
|
||||
huaJi.put("gongWei", ziWei.getHuaJiXingGongWeiJieDu());
|
||||
huaJi.put("meaning", "主波折阻滞,需谨慎行事,注意防范风险");
|
||||
siHuaJieDu.add(huaJi);
|
||||
|
||||
jieDu.put("siHuaJieDu", siHuaJieDu);
|
||||
|
||||
String advice = generateAdvice(ziWei, mainStars);
|
||||
jieDu.put("advice", advice);
|
||||
String zongJie = buildZongJie(ziWei, mainStars, xingGe, shiYe, ganQing, caiYun);
|
||||
jieDu.put("zongJie", zongJie);
|
||||
|
||||
return jieDu;
|
||||
}
|
||||
|
||||
private String generateAdvice(ZiWei ziWei, List<String> mainStars) {
|
||||
StringBuilder advice = new StringBuilder();
|
||||
private List<String> getMainStars(List<String> stars) {
|
||||
Set<String> mainStarSet = new HashSet<>(Arrays.asList(
|
||||
"紫微", "天机", "太阳", "武曲", "天同", "廉贞",
|
||||
"天府", "太阴", "贪狼", "巨门", "天相", "天梁", "七杀", "破军"
|
||||
));
|
||||
List<String> mainStars = new ArrayList<>();
|
||||
for (String star : stars) {
|
||||
if (mainStarSet.contains(star)) {
|
||||
mainStars.add(star);
|
||||
}
|
||||
}
|
||||
return mainStars;
|
||||
}
|
||||
|
||||
private int getGongIndex(List<String> shiErMingGong, String gongName) {
|
||||
for (int i = 0; i < shiErMingGong.size(); i++) {
|
||||
if (gongName.equals(shiErMingGong.get(i))) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
private String analyzeXingGe(List<String> mainStars) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
advice.append("【人生建议】\n");
|
||||
|
||||
if (mainStars.contains("紫微") || mainStars.contains("天府")) {
|
||||
advice.append("命带帝王之星,天生具有领导才能,适合从事管理工作或自主创业。");
|
||||
} else if (mainStars.contains("七杀") || mainStars.contains("破军")) {
|
||||
advice.append("命带将星变动之星,性格刚毅果断,适合开创性事业,但需注意稳中求进。");
|
||||
} else if (mainStars.contains("天机") || mainStars.contains("太阴")) {
|
||||
advice.append("命带智慧之星,思维敏捷细腻,适合从事策划、咨询、文艺创作等工作。");
|
||||
} else if (mainStars.contains("太阳") || mainStars.contains("天相")) {
|
||||
advice.append("命带光明之星,外向正直,适合从事公职、法律、教育等事业。");
|
||||
} else if (mainStars.contains("武曲") || mainStars.contains("贪狼")) {
|
||||
advice.append("命带财星欲望之星,善于理财交际,适合金融、销售、演艺等行业。");
|
||||
} else {
|
||||
advice.append("命格独特,各有千秋,宜发挥自身优势,扬长避短。");
|
||||
if (mainStars.isEmpty()) {
|
||||
return "你是一个性格比较随和的人,没有特别强的主见,容易受环境影响。做事比较灵活,能够适应各种情况,但有时候也会显得优柔寡断。建议多培养自己的主见,学会独立思考。";
|
||||
}
|
||||
|
||||
advice.append("\n\n【四化飞星指引】\n");
|
||||
advice.append(ziWei.getHuaLuXingGongWeiJieDu()).append("\n");
|
||||
advice.append(ziWei.getHuaQuanXingGongWeiJieDu()).append("\n");
|
||||
advice.append(ziWei.getHuaKeXingGongWeiJieDu()).append("\n");
|
||||
advice.append(ziWei.getHuaJiXingGongWeiJieDu());
|
||||
String firstStar = mainStars.get(0);
|
||||
|
||||
return advice.toString();
|
||||
switch (firstStar) {
|
||||
case "紫微":
|
||||
sb.append("你是一个很有气场的人,天生就有一种领导范儿。");
|
||||
if (mainStars.contains("天府")) {
|
||||
sb.append("性格稳重踏实,做事有条理,不喜欢冒险。");
|
||||
} else if (mainStars.contains("贪狼")) {
|
||||
sb.append("既有野心又懂得享受生活,是个有情趣的人。");
|
||||
} else if (mainStars.contains("天相")) {
|
||||
sb.append("为人正直,讲究原则,是个值得信赖的人。");
|
||||
}
|
||||
sb.append("你比较注重面子,喜欢被人尊重的感觉,有时候会显得有点强势。");
|
||||
break;
|
||||
|
||||
case "天机":
|
||||
sb.append("你是一个很聪明的人,脑子转得快,想法多。");
|
||||
sb.append("善于分析问题,喜欢琢磨事情,但有时候想得太多反而会犹豫不决。");
|
||||
sb.append("你比较敏感,能够察觉到别人的情绪变化,是个很好的倾听者。");
|
||||
break;
|
||||
|
||||
case "太阳":
|
||||
sb.append("你是一个阳光开朗的人,热情大方,喜欢交朋友。");
|
||||
sb.append("做事积极主动,不喜欢拖拖拉拉,但有时候会显得有点急躁。");
|
||||
sb.append("你很有正义感,看不惯不公平的事,愿意帮助别人。");
|
||||
break;
|
||||
|
||||
case "武曲":
|
||||
sb.append("你是一个很务实的人,做事讲究效率,不喜欢虚头巴脑的东西。");
|
||||
sb.append("性格比较刚强,有话直说,有时候会得罪人。");
|
||||
sb.append("你对金钱比较敏感,有理财头脑,是个会过日子的人。");
|
||||
break;
|
||||
|
||||
case "天同":
|
||||
sb.append("你是一个很温和的人,性格随和,不爱和人计较。");
|
||||
sb.append("喜欢安逸的生活,不喜欢太累太辛苦的事。");
|
||||
sb.append("你人缘很好,大家都愿意和你相处,是个有福气的人。");
|
||||
break;
|
||||
|
||||
case "廉贞":
|
||||
sb.append("你是一个很有魅力的人,感情丰富,有艺术细胞。");
|
||||
sb.append("做事有冲劲,但有时候会情绪化。");
|
||||
sb.append("你比较注重外表和形象,喜欢美好的事物。");
|
||||
break;
|
||||
|
||||
case "天府":
|
||||
sb.append("你是一个稳重踏实的人,做事有条不紊,不喜欢冒险。");
|
||||
sb.append("很会理财,懂得积累,是个有财运的人。");
|
||||
sb.append("你比较保守,不喜欢变动,追求安稳的生活。");
|
||||
break;
|
||||
|
||||
case "太阴":
|
||||
sb.append("你是一个心思细腻的人,感情丰富,直觉很准。");
|
||||
sb.append("比较内向,不太喜欢太热闹的场合,喜欢安静的环境。");
|
||||
sb.append("你很有艺术天分,对美的事物有独特的见解。");
|
||||
break;
|
||||
|
||||
case "贪狼":
|
||||
sb.append("你是一个很有活力的人,兴趣广泛,喜欢尝试新鲜事物。");
|
||||
sb.append("社交能力强,朋友多,但有时候会三分钟热度。");
|
||||
sb.append("你比较追求物质享受,喜欢美好的生活。");
|
||||
break;
|
||||
|
||||
case "巨门":
|
||||
sb.append("你是一个很会说话的人,口才好,善于表达。");
|
||||
sb.append("观察力强,能够看到别人看不到的问题,但有时候会想太多。");
|
||||
sb.append("你比较敏感,容易多心,建议学会放宽心态。");
|
||||
break;
|
||||
|
||||
case "天相":
|
||||
sb.append("你是一个正直善良的人,讲究原则,有正义感。");
|
||||
sb.append("做事稳重,不喜欢投机取巧,是个值得信赖的人。");
|
||||
sb.append("你很注重人际关系,懂得如何与人相处。");
|
||||
break;
|
||||
|
||||
case "天梁":
|
||||
sb.append("你是一个很有爱心的人,喜欢帮助别人,有长辈缘。");
|
||||
sb.append("性格成熟稳重,做事有担当,是个可靠的人。");
|
||||
sb.append("你比较传统,重视家庭,是个顾家的人。");
|
||||
break;
|
||||
|
||||
case "七杀":
|
||||
sb.append("你是一个很有魄力的人,做事果断,敢想敢干。");
|
||||
sb.append("性格比较强势,不喜欢被人管,有独立精神。");
|
||||
sb.append("你很有领导才能,但有时候会显得太冲动。");
|
||||
break;
|
||||
|
||||
case "破军":
|
||||
sb.append("你是一个很有个性的人,不喜欢墨守成规,喜欢打破常规。");
|
||||
sb.append("做事有冲劲,但有时候会显得太急躁。");
|
||||
sb.append("你的人生变动比较多,建议学会稳中求进。");
|
||||
break;
|
||||
|
||||
default:
|
||||
sb.append("你是一个性格独特的人,有自己的想法和追求。");
|
||||
}
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
private String analyzeShiYe(List<String> mainStars, ZiWei ziWei, List<String> shiErMingGong, List<List<String>> shiErGongZhuXing) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
int guanLuIndex = getGongIndex(shiErMingGong, "官禄宫");
|
||||
int qianYiIndex = getGongIndex(shiErMingGong, "迁移宫");
|
||||
|
||||
List<String> guanLuStars = guanLuIndex >= 0 ? getMainStars(shiErGongZhuXing.get(guanLuIndex)) : new ArrayList<>();
|
||||
List<String> qianYiStars = qianYiIndex >= 0 ? getMainStars(shiErGongZhuXing.get(qianYiIndex)) : new ArrayList<>();
|
||||
|
||||
String firstStar = mainStars.isEmpty() ? "" : mainStars.get(0);
|
||||
|
||||
sb.append("【适合的工作方向】\n");
|
||||
|
||||
switch (firstStar) {
|
||||
case "紫微":
|
||||
case "天府":
|
||||
sb.append("你天生就是当领导的料,适合做管理工作。");
|
||||
sb.append("可以考虑往企业管理、政府部门、大型机构发展。");
|
||||
sb.append("你比较适合稳定的平台,不太适合从零开始创业。");
|
||||
break;
|
||||
|
||||
case "天机":
|
||||
case "太阴":
|
||||
sb.append("你脑子好使,适合做需要动脑子的工作。");
|
||||
sb.append("可以考虑策划、咨询、设计、写作、研究等方向。");
|
||||
sb.append("你比较适合在专业领域深耕,成为某个领域的专家。");
|
||||
break;
|
||||
|
||||
case "太阳":
|
||||
case "天相":
|
||||
sb.append("你适合做需要和人打交道的工作。");
|
||||
sb.append("可以考虑公务员、律师、教师、人力资源等方向。");
|
||||
sb.append("你比较适合稳定的体制内工作,或者大型正规企业。");
|
||||
break;
|
||||
|
||||
case "武曲":
|
||||
sb.append("你对数字敏感,适合做和钱打交道的工作。");
|
||||
sb.append("可以考虑金融、财务、投资、商业等方向。");
|
||||
sb.append("你比较务实,适合实实在在能赚钱的行业。");
|
||||
break;
|
||||
|
||||
case "贪狼":
|
||||
case "廉贞":
|
||||
sb.append("你适合做需要表现力和社交能力的工作。");
|
||||
sb.append("可以考虑销售、演艺、公关、市场营销等方向。");
|
||||
sb.append("你比较适合能发挥个人魅力的行业。");
|
||||
break;
|
||||
|
||||
case "七杀":
|
||||
case "破军":
|
||||
sb.append("你适合做有挑战性的工作,不喜欢一成不变。");
|
||||
sb.append("可以考虑创业、投资、军警、体育等方向。");
|
||||
sb.append("你比较适合能发挥个人能力的舞台,不太适合被人管着。");
|
||||
break;
|
||||
|
||||
case "天同":
|
||||
case "天梁":
|
||||
sb.append("你适合做服务性质的工作,有耐心有爱心。");
|
||||
sb.append("可以考虑医疗、教育、社工、服务业等方向。");
|
||||
sb.append("你比较适合稳定、压力不太大的工作环境。");
|
||||
break;
|
||||
|
||||
case "巨门":
|
||||
sb.append("你口才好,适合做需要说话的工作。");
|
||||
sb.append("可以考虑律师、教师、主持人、销售、咨询等方向。");
|
||||
sb.append("你比较适合能发挥口才优势的行业。");
|
||||
break;
|
||||
|
||||
default:
|
||||
sb.append("你可以根据自己的兴趣和特长选择发展方向。");
|
||||
sb.append("建议多尝试不同的工作,找到最适合自己的方向。");
|
||||
}
|
||||
|
||||
sb.append("\n\n【事业发展建议】\n");
|
||||
|
||||
if (!guanLuStars.isEmpty()) {
|
||||
String guanLuStar = guanLuStars.get(0);
|
||||
if ("紫微".equals(guanLuStar) || "天府".equals(guanLuStar)) {
|
||||
sb.append("你的事业运势不错,容易得到贵人相助,发展会比较顺利。");
|
||||
} else if ("七杀".equals(guanLuStar) || "破军".equals(guanLuStar)) {
|
||||
sb.append("你的事业变动会比较多,建议稳扎稳打,不要急于求成。");
|
||||
} else if ("太阳".equals(guanLuStar)) {
|
||||
sb.append("你的事业运势旺盛,适合往外发展,多接触外面的机会。");
|
||||
} else if ("太阴".equals(guanLuStar)) {
|
||||
sb.append("你的事业发展比较平稳,适合稳中求进,不要太冒进。");
|
||||
}
|
||||
}
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
private String analyzeGanQing(ZiWei ziWei, List<String> shiErMingGong, List<List<String>> shiErGongZhuXing) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
int fuQiIndex = getGongIndex(shiErMingGong, "夫妻宫");
|
||||
int ziNvIndex = getGongIndex(shiErMingGong, "子女宫");
|
||||
|
||||
List<String> fuQiStars = fuQiIndex >= 0 ? getMainStars(shiErGongZhuXing.get(fuQiIndex)) : new ArrayList<>();
|
||||
|
||||
sb.append("【感情婚姻分析】\n");
|
||||
|
||||
if (fuQiStars.isEmpty()) {
|
||||
sb.append("你的感情运势比较平淡,婚姻生活相对稳定。");
|
||||
sb.append("另一半可能是一个性格温和、不张扬的人。");
|
||||
sb.append("你们的感情不会太轰轰烈烈,但会比较长久稳定。");
|
||||
} else {
|
||||
String fuQiStar = fuQiStars.get(0);
|
||||
|
||||
switch (fuQiStar) {
|
||||
case "紫微":
|
||||
case "天府":
|
||||
sb.append("你的另一半可能是一个有能力、有地位的人。");
|
||||
sb.append("对方性格比较强势,在家里可能说一不二。");
|
||||
sb.append("你们的婚姻比较稳定,但要注意互相尊重。");
|
||||
break;
|
||||
|
||||
case "天机":
|
||||
case "太阴":
|
||||
sb.append("你的另一半可能是一个心思细腻、温柔体贴的人。");
|
||||
sb.append("对方比较顾家,会照顾人,但有时候会想太多。");
|
||||
sb.append("你们的感情比较细腻,需要多沟通。");
|
||||
break;
|
||||
|
||||
case "太阳":
|
||||
sb.append("你的另一半可能是一个开朗热情的人。");
|
||||
sb.append("对方比较外向,喜欢社交,人缘很好。");
|
||||
sb.append("你们的感情比较阳光,充满正能量。");
|
||||
break;
|
||||
|
||||
case "武曲":
|
||||
sb.append("你的另一半可能是一个务实、有经济头脑的人。");
|
||||
sb.append("对方比较会过日子,但有时候会显得太现实。");
|
||||
sb.append("你们的婚姻比较务实,注重物质基础。");
|
||||
break;
|
||||
|
||||
case "贪狼":
|
||||
case "廉贞":
|
||||
sb.append("你的另一半可能是一个有魅力、有情趣的人。");
|
||||
sb.append("对方比较会享受生活,但有时候会显得花心。");
|
||||
sb.append("你们的感情比较浪漫,但要注意专一。");
|
||||
break;
|
||||
|
||||
case "七杀":
|
||||
case "破军":
|
||||
sb.append("你的另一半可能是一个有个性、有主见的人。");
|
||||
sb.append("对方性格比较强势,不喜欢被人管。");
|
||||
sb.append("你们的感情可能会有波折,需要多包容。");
|
||||
break;
|
||||
|
||||
case "天同":
|
||||
sb.append("你的另一半可能是一个温和、好相处的人。");
|
||||
sb.append("对方比较随和,不喜欢争吵。");
|
||||
sb.append("你们的感情比较和谐,生活平淡但幸福。");
|
||||
break;
|
||||
|
||||
case "巨门":
|
||||
sb.append("你的另一半可能是一个能说会道的人。");
|
||||
sb.append("对方口才好,但有时候会和你抬杠。");
|
||||
sb.append("你们的感情需要多沟通,避免误会。");
|
||||
break;
|
||||
|
||||
case "天相":
|
||||
sb.append("你的另一半可能是一个正直、有原则的人。");
|
||||
sb.append("对方比较传统,重视家庭。");
|
||||
sb.append("你们的感情比较稳定,互相尊重。");
|
||||
break;
|
||||
|
||||
case "天梁":
|
||||
sb.append("你的另一半可能是一个成熟、有担当的人。");
|
||||
sb.append("对方比较顾家,会照顾人。");
|
||||
sb.append("你们的感情比较稳定,对方会给你安全感。");
|
||||
break;
|
||||
|
||||
default:
|
||||
sb.append("你的感情运势比较正常,婚姻生活相对平稳。");
|
||||
}
|
||||
}
|
||||
|
||||
sb.append("\n\n【感情建议】\n");
|
||||
sb.append("感情需要经营,建议多沟通、多理解、多包容。");
|
||||
sb.append("遇到问题及时解决,不要冷战。");
|
||||
sb.append("珍惜眼前人,用心经营你的感情。");
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
private String analyzeCaiYun(ZiWei ziWei, List<String> shiErMingGong, List<List<String>> shiErGongZhuXing) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
int caiBoIndex = getGongIndex(shiErMingGong, "财帛宫");
|
||||
|
||||
List<String> caiBoStars = caiBoIndex >= 0 ? getMainStars(shiErGongZhuXing.get(caiBoIndex)) : new ArrayList<>();
|
||||
|
||||
sb.append("【财运分析】\n");
|
||||
|
||||
if (caiBoStars.isEmpty()) {
|
||||
sb.append("你的财运比较平稳,不会大起大落。");
|
||||
sb.append("收入来源比较稳定,但不会有太多意外之财。");
|
||||
sb.append("建议量入为出,做好理财规划。");
|
||||
} else {
|
||||
String caiBoStar = caiBoStars.get(0);
|
||||
|
||||
switch (caiBoStar) {
|
||||
case "紫微":
|
||||
case "天府":
|
||||
sb.append("你的财运不错,容易积累财富。");
|
||||
sb.append("收入稳定,有存钱的习惯。");
|
||||
sb.append("适合稳健投资,不宜冒险。");
|
||||
break;
|
||||
|
||||
case "武曲":
|
||||
sb.append("你是一个有财运的人,对金钱敏感。");
|
||||
sb.append("理财能力强,会赚钱也会存钱。");
|
||||
sb.append("适合做和钱打交道的工作,财运会比较旺。");
|
||||
break;
|
||||
|
||||
case "太阴":
|
||||
sb.append("你的财运比较平稳,适合慢慢积累。");
|
||||
sb.append("不宜冒险投资,稳健为主。");
|
||||
sb.append("可能有一些偏财运,但不要指望一夜暴富。");
|
||||
break;
|
||||
|
||||
case "贪狼":
|
||||
sb.append("你的财运起伏比较大,有时候很旺,有时候一般。");
|
||||
sb.append("可能有一些偏财运,但不要贪心。");
|
||||
sb.append("建议稳健理财,不要投机取巧。");
|
||||
break;
|
||||
|
||||
case "太阳":
|
||||
sb.append("你的财运和事业挂钩,事业好财运就好。");
|
||||
sb.append("适合靠努力工作赚钱,不太适合投资。");
|
||||
sb.append("收入可能比较公开透明。");
|
||||
break;
|
||||
|
||||
case "七杀":
|
||||
case "破军":
|
||||
sb.append("你的财运起伏比较大,可能有大起大落。");
|
||||
sb.append("有时候会有一笔大收入,但花销也大。");
|
||||
sb.append("建议做好财务规划,不要冲动消费。");
|
||||
break;
|
||||
|
||||
case "天机":
|
||||
sb.append("你的财运需要动脑子,靠智慧赚钱。");
|
||||
sb.append("适合做一些需要策划、分析的工作。");
|
||||
sb.append("收入可能不太稳定,但总体还行。");
|
||||
break;
|
||||
|
||||
case "天同":
|
||||
sb.append("你的财运比较平稳,不会太差也不会太好。");
|
||||
sb.append("适合安稳的工作,不太适合冒险。");
|
||||
sb.append("可能有一些意外之财,但不要指望。");
|
||||
break;
|
||||
|
||||
case "廉贞":
|
||||
sb.append("你的财运和人际关系有关,靠人脉赚钱。");
|
||||
sb.append("可能有一些偏财运,但要注意风险。");
|
||||
sb.append("建议稳健为主,不要贪心。");
|
||||
break;
|
||||
|
||||
default:
|
||||
sb.append("你的财运比较正常,不会大富大贵,也不会太差。");
|
||||
sb.append("建议量入为出,做好理财规划。");
|
||||
}
|
||||
}
|
||||
|
||||
sb.append("\n\n【理财建议】\n");
|
||||
sb.append("不管财运好坏,都要学会理财。");
|
||||
sb.append("收入再高,不会理财也是白搭。");
|
||||
sb.append("建议养成记账的习惯,控制不必要的开支。");
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
private String buildZongJie(ZiWei ziWei, List<String> mainStars, String xingGe, String shiYe, String ganQing, String caiYun) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
sb.append("【命盘总评】\n\n");
|
||||
|
||||
sb.append("根据你的出生时间排出的紫微命盘,以下是通俗易懂的解读:\n\n");
|
||||
|
||||
sb.append("你的命宫在").append(ziWei.getMingGongDiZhi()).append("宫");
|
||||
if (!mainStars.isEmpty()) {
|
||||
sb.append(",主星是").append(String.join("和", mainStars));
|
||||
}
|
||||
sb.append("。").append(ziWei.getWuXingJu()).append(",说明你的人生节奏是").append(getWuXingJuDesc(ziWei.getWuXingJu())).append("。\n\n");
|
||||
|
||||
sb.append("命主").append(ziWei.getMingZhu()).append(",身主").append(ziWei.getShenZhu()).append("。");
|
||||
sb.append("这说明你内在追求的是").append(getMingZhuDesc(ziWei.getMingZhu()));
|
||||
sb.append(",外在表现的是").append(getShenZhuDesc(ziWei.getShenZhu())).append("。\n\n");
|
||||
|
||||
sb.append("【重要提醒】\n");
|
||||
sb.append("命盘只是参考,命运掌握在自己手中。");
|
||||
sb.append("了解自己的优势和短板,扬长避短,才能过上更好的生活。");
|
||||
sb.append("不管命盘如何,努力和善良永远是最重要的。");
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
private String getWuXingJuDesc(String wuXingJu) {
|
||||
if (wuXingJu.contains("水二")) {
|
||||
return "比较灵活多变,适应能力强";
|
||||
} else if (wuXingJu.contains("木三")) {
|
||||
return "比较稳健,有成长性";
|
||||
} else if (wuXingJu.contains("金四")) {
|
||||
return "比较务实,注重实际";
|
||||
} else if (wuXingJu.contains("土五")) {
|
||||
return "比较稳重,厚积薄发";
|
||||
} else if (wuXingJu.contains("火六")) {
|
||||
return "比较快速,有冲劲";
|
||||
}
|
||||
return "比较平稳";
|
||||
}
|
||||
|
||||
private String getMingZhuDesc(String mingZhu) {
|
||||
Map<String, String> descMap = new HashMap<>();
|
||||
descMap.put("贪狼", "物质享受和人生体验");
|
||||
descMap.put("巨门", "表达和沟通");
|
||||
descMap.put("禄存", "稳定和积累");
|
||||
descMap.put("文曲", "文艺和才华");
|
||||
descMap.put("廉贞", "情感和魅力");
|
||||
descMap.put("武曲", "财富和成就");
|
||||
descMap.put("破军", "变革和突破");
|
||||
descMap.put("左辅", "帮助和服务");
|
||||
descMap.put("右弼", "支持和配合");
|
||||
descMap.put("文昌", "学业和知识");
|
||||
descMap.put("天相", "公正和平衡");
|
||||
descMap.put("天梁", "庇护和关怀");
|
||||
descMap.put("七杀", "权力和掌控");
|
||||
descMap.put("天同", "安逸和享受");
|
||||
return descMap.getOrDefault(mingZhu, "自我实现");
|
||||
}
|
||||
|
||||
private String getShenZhuDesc(String shenZhu) {
|
||||
Map<String, String> descMap = new HashMap<>();
|
||||
descMap.put("火星", "热情和行动力");
|
||||
descMap.put("铃星", "内敛和思考");
|
||||
descMap.put("天相", "正直和公正");
|
||||
descMap.put("天梁", "稳重和可靠");
|
||||
descMap.put("天同", "温和和随和");
|
||||
descMap.put("文昌", "学习和思考");
|
||||
descMap.put("文曲", "艺术和浪漫");
|
||||
return descMap.getOrDefault(shenZhu, "个人特质");
|
||||
}
|
||||
|
||||
public static class ZiWeiRequest {
|
||||
|
||||
@@ -41,6 +41,55 @@
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view v-if="result.summary" class="summary-container">
|
||||
<view class="summary-header">
|
||||
<view class="summary-icon">
|
||||
<text class="summary-icon-text">总</text>
|
||||
</view>
|
||||
<text class="summary-title">综合解读</text>
|
||||
</view>
|
||||
|
||||
<view class="summary-section">
|
||||
<view class="section-item">
|
||||
<view class="section-icon personality"></view>
|
||||
<text class="section-title">性格特质</text>
|
||||
</view>
|
||||
<view class="section-content">
|
||||
<text>{{ result.summary.personality }}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="summary-section">
|
||||
<view class="section-item">
|
||||
<view class="section-icon emotion"></view>
|
||||
<text class="section-title">感情运势</text>
|
||||
</view>
|
||||
<view class="section-content">
|
||||
<text>{{ result.summary.emotion }}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="summary-section">
|
||||
<view class="section-item">
|
||||
<view class="section-icon career"></view>
|
||||
<text class="section-title">事业发展</text>
|
||||
</view>
|
||||
<view class="section-content">
|
||||
<text>{{ result.summary.career }}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="summary-section">
|
||||
<view class="section-item">
|
||||
<view class="section-icon overall"></view>
|
||||
<text class="section-title">总体建议</text>
|
||||
</view>
|
||||
<view class="section-content">
|
||||
<text>{{ result.summary.overall }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="btn-wrapper">
|
||||
<button class="retry-btn" @click="retry">
|
||||
<text class="btn-text">重新占卜</text>
|
||||
@@ -271,4 +320,96 @@ export default {
|
||||
color: #fff;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.summary-container {
|
||||
background: #fff;
|
||||
border-radius: 20rpx;
|
||||
padding: 25rpx;
|
||||
margin-bottom: 20rpx;
|
||||
box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
|
||||
.summary-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 25rpx;
|
||||
padding-bottom: 20rpx;
|
||||
border-bottom: 2rpx solid #f0f0f0;
|
||||
}
|
||||
|
||||
.summary-icon {
|
||||
width: 60rpx;
|
||||
height: 60rpx;
|
||||
background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
|
||||
border-radius: 50%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-right: 15rpx;
|
||||
}
|
||||
|
||||
.summary-icon-text {
|
||||
font-size: 32rpx;
|
||||
color: #fff;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.summary-title {
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.summary-section {
|
||||
margin-bottom: 25rpx;
|
||||
}
|
||||
|
||||
.summary-section:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.section-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 15rpx;
|
||||
}
|
||||
|
||||
.section-icon {
|
||||
width: 12rpx;
|
||||
height: 12rpx;
|
||||
border-radius: 50%;
|
||||
margin-right: 10rpx;
|
||||
}
|
||||
|
||||
.section-icon.personality {
|
||||
background: #ec4899;
|
||||
}
|
||||
|
||||
.section-icon.emotion {
|
||||
background: #f97316;
|
||||
}
|
||||
|
||||
.section-icon.career {
|
||||
background: #10b981;
|
||||
}
|
||||
|
||||
.section-icon.overall {
|
||||
background: #8b5cf6;
|
||||
}
|
||||
|
||||
.section-title {
|
||||
font-size: 28rpx;
|
||||
font-weight: bold;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.section-content {
|
||||
background: #f8f8f8;
|
||||
border-radius: 15rpx;
|
||||
padding: 20rpx;
|
||||
font-size: 26rpx;
|
||||
color: #666;
|
||||
line-height: 1.8;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
</style>
|
||||
@@ -102,6 +102,63 @@
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="summary-card">
|
||||
<view class="card-header">
|
||||
<view class="card-dot gold"></view>
|
||||
<text class="card-title">命理总评</text>
|
||||
</view>
|
||||
|
||||
<view class="summary-section">
|
||||
<view class="summary-item">
|
||||
<view class="summary-icon personality">性</view>
|
||||
<view class="summary-content">
|
||||
<text class="summary-label">性格特质</text>
|
||||
<text class="summary-text">{{ interpretation.personality }}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="summary-item">
|
||||
<view class="summary-icon love">情</view>
|
||||
<view class="summary-content">
|
||||
<text class="summary-label">感情运势</text>
|
||||
<text class="summary-text">{{ interpretation.love }}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="summary-item">
|
||||
<view class="summary-icon career">业</view>
|
||||
<view class="summary-content">
|
||||
<text class="summary-label">事业发展</text>
|
||||
<text class="summary-text">{{ interpretation.career }}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="summary-item">
|
||||
<view class="summary-icon wealth">财</view>
|
||||
<view class="summary-content">
|
||||
<text class="summary-label">财运状况</text>
|
||||
<text class="summary-text">{{ interpretation.wealth }}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="summary-item">
|
||||
<view class="summary-icon health">健</view>
|
||||
<view class="summary-content">
|
||||
<text class="summary-label">健康建议</text>
|
||||
<text class="summary-text">{{ interpretation.health }}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="summary-item">
|
||||
<view class="summary-icon advice">言</view>
|
||||
<view class="summary-content">
|
||||
<text class="summary-label">人生建议</text>
|
||||
<text class="summary-text">{{ interpretation.advice }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="elements-card">
|
||||
<view class="card-header">
|
||||
<view class="card-dot green"></view>
|
||||
@@ -142,11 +199,170 @@
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
result: {}
|
||||
result: {},
|
||||
interpretation: {
|
||||
personality: '',
|
||||
love: '',
|
||||
career: '',
|
||||
wealth: '',
|
||||
health: '',
|
||||
advice: ''
|
||||
}
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.result = getApp().globalData.zhanxingResult || {}
|
||||
this.generateInterpretation()
|
||||
},
|
||||
methods: {
|
||||
generateInterpretation() {
|
||||
const sunSign = this.result.sunSign || '白羊座'
|
||||
const moonSign = this.result.moonSign || '巨蟹座'
|
||||
const risingSign = this.result.risingSign || '狮子座'
|
||||
|
||||
const personalityMap = {
|
||||
'白羊座': '你是个充满活力和冲劲的人,做事雷厉风行,不喜欢拖泥带水。性格直爽,有什么说什么,不会藏着掖着。遇到困难时,你总是第一个冲上去,很有领导气质。不过有时候容易冲动,做决定前最好多想想。',
|
||||
'金牛座': '你是个稳重踏实的人,做事有条不紊,追求稳定的生活。对金钱和物质比较看重,懂得理财和积累财富。性格温和,但一旦认定的事情就很难改变。有时候有点固执,需要学会灵活变通。',
|
||||
'双子座': '你聪明伶俐,反应快,口才好,喜欢和人交流。好奇心强,什么都想了解一点,但可能什么都懂一点却都不精。思维活跃,点子多,适合从事需要创意和沟通的工作。不过有时候容易三心二意。',
|
||||
'巨蟹座': '你是个重感情的人,家庭观念很强,对家人朋友都很照顾。心思细腻,能察觉到别人的情绪变化。有时候比较敏感,容易胡思乱想。内心柔软,但外表可能看起来很坚强。需要学会保护自己。',
|
||||
'狮子座': '你天生自带王者气质,自信大方,喜欢成为人群中的焦点。有领导才能,做事有魄力,但有时候可能过于自我中心。慷慨大方,对朋友很好。需要学会倾听他人的意见,不要太强势。',
|
||||
'处女座': '你是个追求完美的人,做事认真细致,注重细节。有很强的分析能力和逻辑思维,但有时候过于挑剔,对自己和他人要求都很高。实际务实,不喜欢虚的东西。需要学会放松,不要给自己太大压力。',
|
||||
'天秤座': '你是个优雅有魅力的人,追求和谐美好的生活。善于社交,人缘好,但有时候优柔寡断,很难做决定。注重公平正义,喜欢平衡各方利益。审美能力强,对美的事物有独特的见解。',
|
||||
'天蝎座': '你是个深沉神秘的人,洞察力强,能看透事物的本质。感情强烈,爱恨分明,对感情很专一。意志力强,做事有始有终。有时候可能过于多疑,需要学会信任他人。有很强的第六感。',
|
||||
'射手座': '你是个乐观开朗的人,热爱自由,喜欢冒险和探索。心胸开阔,不拘小节,但有时候可能过于直白,说话不经大脑。喜欢哲学和旅行,追求精神上的成长。需要学会专注,不要三分钟热度。',
|
||||
'摩羯座': '你是个务实上进的人,有很强的责任心和事业心。做事脚踏实地,一步一个脚印,不急不躁。有时候可能过于严肃,给人距离感。内心其实很温柔,只是不善于表达。需要学会享受生活。',
|
||||
'水瓶座': '你是个独立创新的人,思想前卫,不随波逐流。有自己独特的见解,喜欢探索新事物。人道主义精神强,关心社会问题。有时候可能过于理性,显得有些冷漠。需要学会表达感情。',
|
||||
'双鱼座': '你是个温柔善良的人,富有同情心和想象力。直觉强,能感知到他人的情绪。有艺术天赋,喜欢浪漫的事物。有时候可能过于理想化,容易逃避现实。需要学会面对问题,增强意志力。'
|
||||
}
|
||||
|
||||
const loveMap = {
|
||||
'白羊座': '感情上你比较主动,喜欢就会大胆追求。恋爱中热情似火,但可能缺乏耐心。适合找一个能包容你脾气、欣赏你活力的伴侣。注意控制情绪,不要因为冲动而伤害对方。',
|
||||
'金牛座': '你对感情很专一,一旦认定就会全心投入。恋爱中比较慢热,但一旦热起来就很稳定。适合找一个同样稳重、有责任心的伴侣。不要太过固执,学会为感情做出妥协。',
|
||||
'双子座': '你在感情中需要精神上的交流,喜欢有趣的伴侣。恋爱中活泼多变,但可能让人捉摸不透。适合找一个聪明、能和你聊得来的伴侣。注意专一,不要给人花心的印象。',
|
||||
'巨蟹座': '你是个很会照顾人的伴侣,感情细腻,重视家庭。恋爱中容易受伤,需要安全感。适合找一个温柔体贴、能给你安全感的伴侣。不要太过敏感,学会信任对方。',
|
||||
'狮子座': '你在感情中很浪漫,喜欢被宠爱的感觉。恋爱中大方热情,但可能有些强势。适合找一个欣赏你、能给你面子的伴侣。学会倾听和妥协,不要总想占主导地位。',
|
||||
'处女座': '你对感情很认真,追求完美的爱情。恋爱中细心体贴,但可能过于挑剔。适合找一个成熟稳重、能理解你的伴侣。不要要求太高,学会接受对方的不完美。',
|
||||
'天秤座': '你是个浪漫的情人,注重感情中的和谐美好。恋爱中优雅迷人,但可能优柔寡断。适合找一个果断、能帮你做决定的伴侣。不要太过依赖他人,学会独立。',
|
||||
'天蝎座': '你对感情很专一,爱得深沉热烈。恋爱中占有欲强,但也很忠诚。适合找一个同样专一、能给你安全感的伴侣。不要太过控制,学会给对方空间。',
|
||||
'射手座': '你在感情中追求自由,不喜欢被束缚。恋爱中乐观开朗,但可能不够专一。适合找一个同样独立、能理解你的伴侣。学会承担责任,不要太过花心。',
|
||||
'摩羯座': '你对感情很认真,追求稳定的爱情。恋爱中踏实可靠,但可能不够浪漫。适合找一个理解你事业心、能给你支持的伴侣。学会表达感情,不要太过严肃。',
|
||||
'水瓶座': '你在感情中需要自由空间,不喜欢太黏人。恋爱中独立理性,但可能显得冷漠。适合找一个同样独立、能给你空间的伴侣。学会表达爱意,不要太过疏离。',
|
||||
'双鱼座': '你是个浪漫的情人,对爱情充满幻想。恋爱中温柔体贴,但可能过于理想化。适合找一个能给你安全感、实现你浪漫梦想的伴侣。不要太过依赖,学会独立。'
|
||||
}
|
||||
|
||||
const careerMap = {
|
||||
'白羊座': '事业上你适合做领导者或创业者,有很强的执行力和开创精神。适合从事需要魄力和决断的工作,如管理、销售、体育等。注意控制脾气,不要冲动行事。',
|
||||
'金牛座': '事业上你适合从事稳定的行业,如金融、房地产、艺术等。有很强的理财能力,适合做投资或财务管理。做事踏实,能获得长期的成功。注意不要太过保守。',
|
||||
'双子座': '事业上你适合从事需要沟通和创意的工作,如媒体、广告、教育等。思维活跃,点子多,能胜任多种工作。注意专注,不要三心二意。',
|
||||
'巨蟹座': '事业上你适合从事照顾他人或与家庭相关的工作,如医疗、教育、餐饮等。有很强的同理心,能理解他人需求。注意不要太过情绪化,影响工作。',
|
||||
'狮子座': '事业上你适合做领导者或从事表演类工作,如管理、演艺、创意等。有很强的领导力和表现欲,能成为团队核心。注意不要太自我,学会团队合作。',
|
||||
'处女座': '事业上你适合从事需要细致和分析的工作,如医疗、研究、编辑等。做事认真,注重细节,能把工作做得很完美。注意不要太过挑剔,给自己太大压力。',
|
||||
'天秤座': '事业上你适合从事需要协调和审美的工作,如法律、设计、公关等。有很强的社交能力和审美能力。注意不要优柔寡断,学会果断决策。',
|
||||
'天蝎座': '事业上你适合从事需要洞察力和研究的工作,如心理学、侦探、金融等。有很强的分析能力和意志力。注意不要太过神秘,学会与人合作。',
|
||||
'射手座': '事业上你适合从事需要自由和探索的工作,如旅游、教育、出版等。有很强的学习能力和冒险精神。注意不要太过随性,学会专注。',
|
||||
'摩羯座': '事业上你适合从事需要长期规划的工作,如管理、政府、建筑等。有很强的责任心和执行力,能获得长期成功。注意不要太过严肃,学会放松。',
|
||||
'水瓶座': '事业上你适合从事需要创新和独立思考的工作,如科技、科研、社会服务等。有很强的创新能力和人道主义精神。注意不要太过叛逆,学会适应环境。',
|
||||
'双鱼座': '事业上你适合从事需要想象力和同情心的工作,如艺术、医疗、慈善等。有很强的直觉和艺术天赋。注意不要太过理想化,学会面对现实。'
|
||||
}
|
||||
|
||||
const wealthMap = {
|
||||
'白羊座': '财运方面,你赚钱能力强,花钱也快。适合通过创业或投资获得财富,但要注意控制开支,不要冲动消费。建议制定理财计划,学会储蓄。',
|
||||
'金牛座': '财运方面,你天生有理财天赋,善于积累财富。适合稳健投资,如房地产、基金等。财运平稳上升,但不要太过保守,适当冒险会有更大收益。',
|
||||
'双子座': '财运方面,你有多个赚钱渠道,但可能不够稳定。适合从事副业或多元化投资。注意控制开支,不要因为好奇而乱花钱。建议专注一两个领域。',
|
||||
'巨蟹座': '财运方面,你善于为家庭理财,注重储蓄和保障。适合稳健投资,如保险、定期存款等。注意不要因为情绪而冲动消费,理性理财。',
|
||||
'狮子座': '财运方面,你赚钱能力强,但花钱也大方。适合通过领导或表演类工作获得财富。注意控制开支,不要为了面子而过度消费。学会理性消费。',
|
||||
'处女座': '财运方面,你理财很细致,善于精打细算。适合稳健投资,能通过细节发现赚钱机会。注意不要太过节俭,适当享受生活。平衡储蓄和消费。',
|
||||
'天秤座': '财运方面,你财运较好,但可能因为优柔寡断而错过机会。适合通过合作或艺术类工作获得财富。注意不要因为追求美而过度消费。学会果断投资。',
|
||||
'天蝎座': '财运方面,你有很强的理财直觉,善于发现隐藏的赚钱机会。适合投资或金融类工作。注意不要太过冒险,理性分析风险。控制欲望,不要贪婪。',
|
||||
'射手座': '财运方面,你财运起伏较大,可能有意外之财也可能突然破财。适合通过旅行或教育类工作获得财富。注意控制开支,不要因为乐观而忽视风险。',
|
||||
'摩羯座': '财运方面,你财运稳步上升,善于长期规划。适合通过事业或投资获得财富。注意不要太过保守,适当冒险会有更大收益。学会享受财富。',
|
||||
'水瓶座': '财运方面,你可能通过创新或科技获得财富。适合投资新兴行业或科技股。注意不要太过理想化,理性分析投资机会。控制开支,不要追求新奇而乱花钱。',
|
||||
'双鱼座': '财运方面,你财运较为波动,可能因为同情心而借钱给人。适合通过艺术或慈善类工作获得财富。注意理性理财,不要因为感情而做出错误决定。'
|
||||
}
|
||||
|
||||
const healthMap = {
|
||||
'白羊座': '健康方面,你精力充沛,但可能因为冲动而受伤。注意头部和面部健康,避免过度劳累。建议多运动释放精力,但要注意安全。保持规律作息。',
|
||||
'金牛座': '健康方面,你体质较好,但可能因为贪吃而发胖。注意喉咙和颈部健康,控制饮食。建议适度运动,保持身材。不要太过安逸,多活动。',
|
||||
'双子座': '健康方面,你神经敏感,容易失眠或焦虑。注意呼吸系统和手臂健康。建议多休息,放松心情。不要思虑过度,学会冥想或瑜伽。',
|
||||
'巨蟹座': '健康方面,你消化系统较弱,容易因为情绪影响健康。注意胃部和胸部健康。建议保持良好心态,规律饮食。不要太过敏感,学会调节情绪。',
|
||||
'狮子座': '健康方面,你心脏功能强,但可能因为压力而心悸。注意心脏和背部健康。建议适度运动,不要过度劳累。保持乐观心态,不要太过强势。',
|
||||
'处女座': '健康方面,你消化系统敏感,容易因为压力而胃痛。注意肠胃健康。建议放松心情,不要给自己太大压力。规律饮食,不要太过挑剔。',
|
||||
'天秤座': '健康方面,你肾脏功能需要注意,容易腰痛。注意腰部和肾脏健康。建议多喝水,保持平衡饮食。不要太过优柔寡断,学会做决定。',
|
||||
'天蝎座': '健康方面,你生殖系统需要注意,容易有隐疾。注意生殖系统和排泄系统健康。建议定期体检,不要讳疾忌医。保持良好生活习惯。',
|
||||
'射手座': '健康方面,你肝脏功能需要注意,容易因为应酬而伤肝。注意肝脏和臀部健康。建议少喝酒,多运动。不要太过放纵,控制饮食。',
|
||||
'摩羯座': '健康方面,你骨骼和皮肤需要注意,容易关节痛或皮肤问题。注意膝盖和皮肤健康。建议适度运动,保持皮肤清洁。不要太过劳累,注意休息。',
|
||||
'水瓶座': '健康方面,你神经系统需要注意,容易神经痛或失眠。注意小腿和神经系统健康。建议多休息,放松心情。不要太过紧张,学会减压。',
|
||||
'双鱼座': '健康方面,你脚部需要注意,容易脚气或水肿。注意脚部和淋巴系统健康。建议多泡脚,保持脚部清洁。不要太过敏感,保持良好心态。'
|
||||
}
|
||||
|
||||
const adviceMap = {
|
||||
'白羊座': '人生建议:学会控制脾气,三思而后行。你的冲劲是优点,但也要学会耐心。多听取他人意见,不要太过自我。保持热情,但也要懂得休息。成功在于坚持,不在速度。',
|
||||
'金牛座': '人生建议:学会变通,不要太过固执。稳定是好事,但也要敢于尝试新事物。享受生活,不要只顾积累财富。多表达感情,不要太过内敛。平衡物质和精神追求。',
|
||||
'双子座': '人生建议:学会专注,不要三心二意。聪明是优势,但也要深入钻研。说到做到,不要只说不做。控制好奇心,专注重要的事。深度比广度更重要。',
|
||||
'巨蟹座': '人生建议:学会独立,不要太过依赖他人。关心他人是好事,但也要照顾好自己。不要太过敏感,学会放下过去。建立自己的安全感,不要依赖他人。爱自己才能爱他人。',
|
||||
'狮子座': '人生建议:学会谦逊,不要太过自我。自信是好事,但也要听取他人意见。不要太在意面子,实力更重要。学会分享舞台,不要总想独占。真正的王者懂得服务他人。',
|
||||
'处女座': '人生建议:学会放松,不要追求完美。认真是好事,但也要接受不完美。不要太过挑剔,学会欣赏他人。给自己减压,享受生活。完美是敌人,够好就是最好。',
|
||||
'天秤座': '人生建议:学会果断,不要优柔寡断。追求和谐是好事,但也要有自己的立场。不要太过依赖他人,学会独立决策。平衡不是妥协,是智慧。做决定比不做决定好。',
|
||||
'天蝎座': '人生建议:学会信任,不要太过怀疑。洞察力是优势,但也要给他人空间。不要太过执着,学会放下。控制欲要适度,给对方自由。爱是信任,不是控制。',
|
||||
'射手座': '人生建议:学会专注,不要三分钟热度。自由是好事,但也要有责任感。不要太过直白,学会委婉。承诺要兑现,不要随口说说。真正的自由来自自律。',
|
||||
'摩羯座': '人生建议:学会享受,不要只顾工作。上进心是好事,但也要平衡生活。不要太严肃,学会放松。表达感情,不要太过内敛。成功不只是事业,还有幸福。',
|
||||
'水瓶座': '人生建议:学会融入,不要太过特立独行。独立是好事,但也要与人合作。不要太过理性,学会表达感情。关心身边的人,不要只关心全人类。与众不同也要有温度。',
|
||||
'双鱼座': '人生建议:学会面对,不要逃避现实。梦想是好事,但也要脚踏实地。不要太过理想化,接受现实。增强意志力,不要太过软弱。梦想需要行动来实现。'
|
||||
}
|
||||
|
||||
this.interpretation = {
|
||||
personality: personalityMap[sunSign] || '你是个独特的人,有自己的想法和追求。',
|
||||
love: loveMap[sunSign] || '感情上你需要找到真正懂你的人。',
|
||||
career: careerMap[sunSign] || '事业上你有自己的优势和潜力。',
|
||||
wealth: wealthMap[sunSign] || '财运方面需要理性规划。',
|
||||
health: healthMap[sunSign] || '健康方面要注意劳逸结合。',
|
||||
advice: adviceMap[sunSign] || '保持积极心态,相信自己。'
|
||||
}
|
||||
|
||||
if (moonSign !== sunSign) {
|
||||
this.interpretation.personality += ` 月亮在${moonSign},让你内心更加${this.getMoonInfluence(moonSign)}。`
|
||||
}
|
||||
|
||||
if (risingSign !== sunSign) {
|
||||
this.interpretation.personality += ` 上升${risingSign},给人的第一印象是${this.getRisingInfluence(risingSign)}。`
|
||||
}
|
||||
},
|
||||
|
||||
getMoonInfluence(sign) {
|
||||
const influences = {
|
||||
'白羊座': '直接和热情',
|
||||
'金牛座': '稳重和务实',
|
||||
'双子座': '好奇和善变',
|
||||
'巨蟹座': '敏感和顾家',
|
||||
'狮子座': '自信和骄傲',
|
||||
'处女座': '细致和挑剔',
|
||||
'天秤座': '优雅和犹豫',
|
||||
'天蝎座': '深沉和强烈',
|
||||
'射手座': '乐观和自由',
|
||||
'摩羯座': '严肃和野心',
|
||||
'水瓶座': '独立和理性',
|
||||
'双鱼座': '浪漫和敏感'
|
||||
}
|
||||
return influences[sign] || '独特'
|
||||
},
|
||||
|
||||
getRisingInfluence(sign) {
|
||||
const influences = {
|
||||
'白羊座': '充满活力和冲劲',
|
||||
'金牛座': '稳重踏实',
|
||||
'双子座': '聪明活泼',
|
||||
'巨蟹座': '温柔体贴',
|
||||
'狮子座': '自信大方',
|
||||
'处女座': '认真细致',
|
||||
'天秤座': '优雅迷人',
|
||||
'天蝎座': '神秘深沉',
|
||||
'射手座': '开朗乐观',
|
||||
'摩羯座': '严肃稳重',
|
||||
'水瓶座': '独特前卫',
|
||||
'双鱼座': '温柔浪漫'
|
||||
}
|
||||
return influences[sign] || '独特'
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -283,6 +499,10 @@ export default {
|
||||
background: #ec4899;
|
||||
}
|
||||
|
||||
.card-dot.gold {
|
||||
background: linear-gradient(135deg, #f59e0b, #d97706);
|
||||
}
|
||||
|
||||
.card-title {
|
||||
font-size: 28rpx;
|
||||
font-weight: bold;
|
||||
@@ -450,4 +670,84 @@ export default {
|
||||
width: 60rpx;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.summary-card {
|
||||
background: #fff;
|
||||
border-radius: 20rpx;
|
||||
padding: 25rpx;
|
||||
margin-bottom: 20rpx;
|
||||
box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
|
||||
.summary-section {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 20rpx;
|
||||
}
|
||||
|
||||
.summary-item {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
gap: 15rpx;
|
||||
padding: 20rpx;
|
||||
background: #fafafa;
|
||||
border-radius: 15rpx;
|
||||
border-left: 4rpx solid #f59e0b;
|
||||
}
|
||||
|
||||
.summary-icon {
|
||||
width: 50rpx;
|
||||
height: 50rpx;
|
||||
border-radius: 50%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 24rpx;
|
||||
font-weight: bold;
|
||||
color: #fff;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.summary-icon.personality {
|
||||
background: linear-gradient(135deg, #9333ea, #7c3aed);
|
||||
}
|
||||
|
||||
.summary-icon.love {
|
||||
background: linear-gradient(135deg, #ec4899, #f472b6);
|
||||
}
|
||||
|
||||
.summary-icon.career {
|
||||
background: linear-gradient(135deg, #f59e0b, #d97706);
|
||||
}
|
||||
|
||||
.summary-icon.wealth {
|
||||
background: linear-gradient(135deg, #10b981, #059669);
|
||||
}
|
||||
|
||||
.summary-icon.health {
|
||||
background: linear-gradient(135deg, #06b6d4, #0891b2);
|
||||
}
|
||||
|
||||
.summary-icon.advice {
|
||||
background: linear-gradient(135deg, #8b5cf6, #7c3aed);
|
||||
}
|
||||
|
||||
.summary-content {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 8rpx;
|
||||
}
|
||||
|
||||
.summary-label {
|
||||
font-size: 26rpx;
|
||||
font-weight: bold;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.summary-text {
|
||||
font-size: 24rpx;
|
||||
color: #666;
|
||||
line-height: 1.6;
|
||||
}
|
||||
</style>
|
||||
@@ -20,70 +20,59 @@
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="summary-card" v-if="result.jieDu">
|
||||
<view class="card-header">
|
||||
<view class="header-icon">✨</view>
|
||||
<text class="header-title">命盘总览</text>
|
||||
<view class="jie-du-section" v-if="result.jieDu">
|
||||
<view class="section-title">
|
||||
<text class="title-icon">📖</text>
|
||||
<text class="title-text">命理解读</text>
|
||||
</view>
|
||||
<view class="summary-content">
|
||||
<text class="summary-text">{{ result.jieDu.summary }}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="advice-card" v-if="result.jieDu">
|
||||
<view class="card-header">
|
||||
<view class="header-icon">💡</view>
|
||||
<text class="header-title">人生建议</text>
|
||||
</view>
|
||||
<view class="advice-content">
|
||||
<text class="advice-text">{{ result.jieDu.advice }}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="minggong-card" v-if="result.jieDu && result.jieDu.mingGongStars && result.jieDu.mingGongStars.length > 0">
|
||||
<view class="card-header">
|
||||
<view class="card-dot purple"></view>
|
||||
<text class="header-title">命宫主星解读</text>
|
||||
</view>
|
||||
<view class="star-list">
|
||||
<view class="star-item" v-for="(star, index) in result.jieDu.mingGongStars" :key="index">
|
||||
<view class="star-name">{{ star.star }}</view>
|
||||
<view class="star-meaning">{{ star.meaning }}</view>
|
||||
|
||||
<view class="jie-du-card xingge" v-if="result.jieDu.xingGe">
|
||||
<view class="card-title">
|
||||
<text class="card-icon">👤</text>
|
||||
<text class="card-name">性格特点</text>
|
||||
</view>
|
||||
<view class="card-content">
|
||||
<text class="content-text">{{ result.jieDu.xingGe }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="gongwei-card" v-if="result.jieDu && result.jieDu.gongWeiJieDu">
|
||||
<view class="card-header">
|
||||
<view class="card-dot blue"></view>
|
||||
<text class="header-title">主要宫位分析</text>
|
||||
</view>
|
||||
<view class="gongwei-list">
|
||||
<view class="gongwei-item" v-for="(gong, index) in result.jieDu.gongWeiJieDu" :key="index">
|
||||
<view class="gongwei-header">
|
||||
<text class="gongwei-name">{{ gong.gongWei }}</text>
|
||||
<text class="gongwei-dizhi">({{ gong.diZhi }}宫)</text>
|
||||
</view>
|
||||
<view class="gongwei-meaning">{{ gong.meaning }}</view>
|
||||
<view class="gongwei-stars" v-if="gong.stars && gong.stars.length > 0">
|
||||
<text class="star-tag" v-for="(star, sIdx) in gong.stars" :key="sIdx">{{ star }}</text>
|
||||
</view>
|
||||
|
||||
<view class="jie-du-card shiye" v-if="result.jieDu.shiYe">
|
||||
<view class="card-title">
|
||||
<text class="card-icon">💼</text>
|
||||
<text class="card-name">事业发展</text>
|
||||
</view>
|
||||
<view class="card-content">
|
||||
<text class="content-text">{{ result.jieDu.shiYe }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="sihua-card" v-if="result.jieDu && result.jieDu.siHuaJieDu">
|
||||
<view class="card-header">
|
||||
<view class="card-dot gold"></view>
|
||||
<text class="header-title">四化飞星</text>
|
||||
|
||||
<view class="jie-du-card ganqing" v-if="result.jieDu.ganQing">
|
||||
<view class="card-title">
|
||||
<text class="card-icon">💕</text>
|
||||
<text class="card-name">感情婚姻</text>
|
||||
</view>
|
||||
<view class="card-content">
|
||||
<text class="content-text">{{ result.jieDu.ganQing }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="sihua-list">
|
||||
<view class="sihua-item" v-for="(sihua, index) in result.jieDu.siHuaJieDu" :key="index" :class="getSiHuaClass(sihua.type)">
|
||||
<view class="sihua-type">{{ sihua.type }}</view>
|
||||
<view class="sihua-content">
|
||||
<text class="sihua-gongwei">{{ sihua.gongWei }}</text>
|
||||
<text class="sihua-meaning">{{ sihua.meaning }}</text>
|
||||
</view>
|
||||
|
||||
<view class="jie-du-card caiyun" v-if="result.jieDu.caiYun">
|
||||
<view class="card-title">
|
||||
<text class="card-icon">💰</text>
|
||||
<text class="card-name">财运分析</text>
|
||||
</view>
|
||||
<view class="card-content">
|
||||
<text class="content-text">{{ result.jieDu.caiYun }}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="jie-du-card zongjie" v-if="result.jieDu.zongJie">
|
||||
<view class="card-title">
|
||||
<text class="card-icon">✨</text>
|
||||
<text class="card-name">综合总结</text>
|
||||
</view>
|
||||
<view class="card-content">
|
||||
<text class="content-text">{{ result.jieDu.zongJie }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -235,15 +224,6 @@ export default {
|
||||
return sihua[index].includes(type)
|
||||
}
|
||||
return false
|
||||
},
|
||||
getSiHuaClass(type) {
|
||||
const classMap = {
|
||||
'化禄': 'lu',
|
||||
'化权': 'quan',
|
||||
'化科': 'ke',
|
||||
'化忌': 'ji'
|
||||
}
|
||||
return classMap[type] || ''
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -303,7 +283,89 @@ page {
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.summary-card, .advice-card, .minggong-card, .gongwei-card, .sihua-card, .sizhu-card, .mingpan-card, .other-card {
|
||||
.jie-du-section {
|
||||
margin-bottom: 24rpx;
|
||||
}
|
||||
|
||||
.section-title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 20rpx;
|
||||
padding: 0 8rpx;
|
||||
}
|
||||
|
||||
.title-icon {
|
||||
font-size: 36rpx;
|
||||
margin-right: 12rpx;
|
||||
}
|
||||
|
||||
.title-text {
|
||||
font-size: 32rpx;
|
||||
font-weight: 700;
|
||||
color: #1F2937;
|
||||
}
|
||||
|
||||
.jie-du-card {
|
||||
background: rgba(255, 255, 255, 0.95);
|
||||
border-radius: 24rpx;
|
||||
padding: 24rpx;
|
||||
margin-bottom: 20rpx;
|
||||
box-shadow: 0 8rpx 32rpx rgba(109, 40, 217, 0.08);
|
||||
border-left: 8rpx solid;
|
||||
}
|
||||
|
||||
.jie-du-card.xingge {
|
||||
border-left-color: #8B5CF6;
|
||||
}
|
||||
|
||||
.jie-du-card.shiye {
|
||||
border-left-color: #3B82F6;
|
||||
}
|
||||
|
||||
.jie-du-card.ganqing {
|
||||
border-left-color: #EC4899;
|
||||
}
|
||||
|
||||
.jie-du-card.caiyun {
|
||||
border-left-color: #F59E0B;
|
||||
}
|
||||
|
||||
.jie-du-card.zongjie {
|
||||
border-left-color: #10B981;
|
||||
background: linear-gradient(135deg, rgba(16, 185, 129, 0.05) 0%, rgba(255, 255, 255, 0.95) 100%);
|
||||
}
|
||||
|
||||
.card-title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 16rpx;
|
||||
}
|
||||
|
||||
.card-icon {
|
||||
font-size: 32rpx;
|
||||
margin-right: 12rpx;
|
||||
}
|
||||
|
||||
.card-name {
|
||||
font-size: 30rpx;
|
||||
font-weight: 600;
|
||||
color: #1F2937;
|
||||
}
|
||||
|
||||
.card-content {
|
||||
padding: 16rpx;
|
||||
background: #F9FAFB;
|
||||
border-radius: 16rpx;
|
||||
}
|
||||
|
||||
.content-text {
|
||||
font-size: 28rpx;
|
||||
color: #374151;
|
||||
line-height: 1.8;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
.sizhu-card, .mingpan-card, .other-card {
|
||||
background: rgba(255, 255, 255, 0.95);
|
||||
border-radius: 24rpx;
|
||||
padding: 24rpx;
|
||||
@@ -317,11 +379,6 @@ page {
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
|
||||
.header-icon {
|
||||
font-size: 32rpx;
|
||||
margin-right: 12rpx;
|
||||
}
|
||||
|
||||
.header-title {
|
||||
font-size: 30rpx;
|
||||
font-weight: 600;
|
||||
@@ -337,159 +394,9 @@ page {
|
||||
margin-right: 12rpx;
|
||||
}
|
||||
|
||||
.card-dot.purple { background: #8B5CF6; }
|
||||
.card-dot.blue { background: #3B82F6; }
|
||||
.card-dot.gold { background: #F59E0B; }
|
||||
.card-dot.cyan { background: #06B6D4; }
|
||||
.card-dot.orange { background: #F97316; }
|
||||
|
||||
.summary-content, .advice-content {
|
||||
padding: 16rpx;
|
||||
background: #F9FAFB;
|
||||
border-radius: 16rpx;
|
||||
}
|
||||
|
||||
.summary-text, .advice-text {
|
||||
font-size: 28rpx;
|
||||
color: #374151;
|
||||
line-height: 1.8;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
.star-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 16rpx;
|
||||
}
|
||||
|
||||
.star-item {
|
||||
padding: 16rpx;
|
||||
background: linear-gradient(135deg, #EDE9FE 0%, #DDD6FE 100%);
|
||||
border-radius: 16rpx;
|
||||
}
|
||||
|
||||
.star-name {
|
||||
font-size: 30rpx;
|
||||
font-weight: 600;
|
||||
color: #6D28D9;
|
||||
margin-bottom: 8rpx;
|
||||
}
|
||||
|
||||
.star-meaning {
|
||||
font-size: 26rpx;
|
||||
color: #4B5563;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
.gongwei-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 16rpx;
|
||||
}
|
||||
|
||||
.gongwei-item {
|
||||
padding: 16rpx;
|
||||
background: #F9FAFB;
|
||||
border-radius: 16rpx;
|
||||
border-left: 6rpx solid #3B82F6;
|
||||
}
|
||||
|
||||
.gongwei-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 8rpx;
|
||||
}
|
||||
|
||||
.gongwei-name {
|
||||
font-size: 28rpx;
|
||||
font-weight: 600;
|
||||
color: #1F2937;
|
||||
}
|
||||
|
||||
.gongwei-dizhi {
|
||||
font-size: 24rpx;
|
||||
color: #6B7280;
|
||||
margin-left: 8rpx;
|
||||
}
|
||||
|
||||
.gongwei-meaning {
|
||||
font-size: 24rpx;
|
||||
color: #6B7280;
|
||||
margin-bottom: 12rpx;
|
||||
}
|
||||
|
||||
.gongwei-stars {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 8rpx;
|
||||
}
|
||||
|
||||
.star-tag {
|
||||
background: #DBEAFE;
|
||||
color: #1D4ED8;
|
||||
padding: 6rpx 16rpx;
|
||||
border-radius: 12rpx;
|
||||
font-size: 22rpx;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.sihua-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 12rpx;
|
||||
}
|
||||
|
||||
.sihua-item {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
padding: 16rpx;
|
||||
border-radius: 16rpx;
|
||||
}
|
||||
|
||||
.sihua-item.lu {
|
||||
background: linear-gradient(135deg, #D1FAE5 0%, #A7F3D0 100%);
|
||||
}
|
||||
|
||||
.sihua-item.quan {
|
||||
background: linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%);
|
||||
}
|
||||
|
||||
.sihua-item.ke {
|
||||
background: linear-gradient(135deg, #DBEAFE 0%, #BFDBFE 100%);
|
||||
}
|
||||
|
||||
.sihua-item.ji {
|
||||
background: linear-gradient(135deg, #FEE2E2 0%, #FECACA 100%);
|
||||
}
|
||||
|
||||
.sihua-type {
|
||||
font-size: 28rpx;
|
||||
font-weight: 600;
|
||||
width: 80rpx;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sihua-item.lu .sihua-type { color: #059669; }
|
||||
.sihua-item.quan .sihua-type { color: #D97706; }
|
||||
.sihua-item.ke .sihua-type { color: #2563EB; }
|
||||
.sihua-item.ji .sihua-type { color: #DC2626; }
|
||||
|
||||
.sihua-content {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.sihua-gongwei {
|
||||
font-size: 26rpx;
|
||||
color: #1F2937;
|
||||
display: block;
|
||||
margin-bottom: 4rpx;
|
||||
}
|
||||
|
||||
.sihua-meaning {
|
||||
font-size: 24rpx;
|
||||
color: #6B7280;
|
||||
}
|
||||
|
||||
.sizhu-row {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
|
||||
@@ -148,11 +148,41 @@ const ziweiApi = {
|
||||
}
|
||||
}
|
||||
|
||||
const zhanxingApi = {
|
||||
paiPan: (data) => {
|
||||
return request({
|
||||
url: '/zhanxing/paipan',
|
||||
method: 'POST',
|
||||
data: {
|
||||
name: data.name || '某人',
|
||||
date: data.date,
|
||||
birthTime: data.birthTime || '12:00',
|
||||
birthPlace: data.birthPlace || '北京'
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
const taLuoApi = {
|
||||
divine: (data) => {
|
||||
return request({
|
||||
url: '/taluo/divine',
|
||||
method: 'POST',
|
||||
data: {
|
||||
question: data.question || '请给我指引',
|
||||
spreadType: data.spreadType || 'single'
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
export default {
|
||||
baziApi,
|
||||
liuyaoApi,
|
||||
daliurenApi,
|
||||
qimenApi,
|
||||
ziweiApi,
|
||||
zhanxingApi,
|
||||
taLuoApi,
|
||||
request
|
||||
}
|
||||
Reference in new issue
Block a user