HarmonyOS应用《玄象》开发实战:神煞查法:天乙贵人 / 文昌 / 桃花查表算法封装
阅读时长:约 18 分钟 | 难度:★★★★☆ | 篇章:第 6 篇 · 命理八字模块 对应源码:
entry/src/main/ets/pages/mingli/MingliAnalysisPage.ets
前言
神煞是八字命理中的“吉凶标记“。玄象项目通过查表算法,根据日干/日支查找天乙贵人、文昌贵人、桃花、驿马等常见神煞。本篇将深入剖析玄象项目神煞查法的实现:从神煞数据表设计、查表算法、多神煞聚合,到神煞在 UI 中的展示。
提示:神煞查法的核心是“基于日干/日支的查表映射“。
一、神煞数据表
1.1 天乙贵人
private static readonly TIAN_YI_GUI_REN: Record<string, string> = { '甲': '丑未', '乙': '子申', '丙': '亥酉', '丁': '亥酉', '戊': '丑未', '己': '子申', '庚': '丑未', '辛': '午寅', '壬': '卯巳', '癸': '卯巳' };1.2 文昌贵人
private static readonly WEN_CHANG: Record<string, string> = { '甲': '巳', '乙': '午', '丙': '申', '丁': '酉', '戊': '申', '己': '酉', '庚': '亥', '辛': '子', '壬': '寅', '癸': '卯' };二、查表算法
2.1 天乙贵人查询
private getTianYiGuiRen(dayGan: string): string { return TIAN_YI_GUI_REN[dayGan] || ''; }三、神煞在 UI 中的展示
3.1 神煞列表
@State shenSha: { name: string, value: string }[] = []; aboutToAppear(): void { this.shenSha = [ { name: '天乙贵人', value: this.getTianYiGuiRen('甲') }, { name: '文昌贵人', value: this.getWenChang('甲') }, ]; }四、神煞查法设计总结
4.1 数据流
日干(甲木) ↓ 神煞查询表 ↓ 天乙贵人 → "丑未" 文昌贵人 → "巳" ↓ UI 展示神煞列表总结
本篇以玄象项目神煞查法为蓝本,深入剖析了 ArkTS 神煞查表的实现:从神煞数据表设计、查表算法、多神煞聚合,到神煞在 UI 中的展示。掌握这套神煞查法,您就能在 HarmonyOS 应用中实现八字命理的神煞分析功能。
如果这篇文章对你有帮助,欢迎点赞👍、收藏⭐、关注🔔,你的支持是我持续创作的动力!
相关资源:
- 神煞:wikipedia.org/wiki/神煞
- 开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net