Files
suanming/docs/QIMEN_DEVELOPMENT_PLAN.md
patdelphi 5af9d01bfa feat: 完善奇门遁甲算法实现
- 修复findYongShenPosition占位符函数,实现真正的用神位置查找算法
- 改进getSeasonalWangshui,基于24节气实现五行旺衰计算
- 完善getPalaceWangshui,实现五行与九宫生克关系计算
- 优化getTimeWangshui,基于时辰地支实现时间旺衰分析
- 完善analyzePalaceRelation,实现元素与宫位关系综合分析
- 改进analyzeSeasonalInfluence,实现季节对五行影响的详细分析
- 完善getTimingAssessment,建立完整的时机评估系统
- 修复findZhizhiPosition,实现地支定位算法
- 优化calculateWangShui,基于节气和五行理论实现旺衰计算
- 完善evaluateYongShenStatus,实现用神状态综合评估

测试通过率: 100% (50/50)
算法质量: 优秀
2025-08-25 14:25:49 +08:00

14 KiB
Raw Blame History

奇门遁甲模块开发计划

项目概述

基于已完成的奇门遁甲理论文档和基础代码框架,开发一个完整的奇门遁甲分析模块,为用户提供专业、准确、易用的奇门遁甲预测服务。

开发目标

核心目标

  • 实现完整的奇门遁甲起局算法
  • 提供准确的格局分析和用神判断
  • 生成专业的预测结果和指导建议
  • 支持多种问题类型的智能分析

技术目标

  • 高性能的计算引擎
  • 可扩展的架构设计
  • 完善的缓存机制
  • 友好的API接口

技术架构

后端架构

奇门遁甲模块
├── 核心计算引擎 (QimenCalculator)
│   ├── 时间转换模块
│   ├── 节气计算模块
│   ├── 起局算法模块
│   └── 格局识别模块
├── 分析服务 (QimenAnalyzer)
│   ├── 用神选择模块
│   ├── 旺衰判断模块
│   ├── 格局分析模块
│   └── 预测生成模块
├── 数据管理 (QimenDataManager)
│   ├── 基础数据管理
│   ├── 缓存管理
│   └── 历史记录管理
└── API接口层 (QimenRoutes)
    ├── 起局接口
    ├── 分析接口
    ├── 预测接口
    └── 工具接口

前端架构

奇门遁甲前端模块
├── 页面组件
│   ├── 奇门起局页面
│   ├── 分析结果页面
│   ├── 历史记录页面
│   └── 学习资料页面
├── 业务组件
│   ├── 奇门盘显示组件
│   ├── 格局分析组件
│   ├── 预测结果组件
│   └── 时间选择组件
├── 工具组件
│   ├── 九宫格组件
│   ├── 干支显示组件
│   ├── 五行图表组件
│   └── 导出功能组件
└── 服务层
    ├── 奇门API服务
    ├── 数据格式化服务
    └── 本地存储服务

功能模块详细设计

1. 核心计算引擎

1.1 时间转换模块

功能:公历转农历、干支纪年法转换 输入:公历日期时间 输出:干支纪年、月、日、时 关键算法

  • 万年历算法
  • 干支循环计算
  • 节气精确计算

1.2 节气计算模块

功能:精确计算二十四节气时间 输入:年份 输出:全年节气时间表 关键算法

  • 天文算法计算节气
  • 时区转换处理
  • 历史数据校验

1.3 起局算法模块

功能:根据时间信息生成奇门盘 输入:干支时间、节气信息 输出:完整的奇门盘数据 关键算法

  • 阴阳遁判断
  • 局数计算
  • 三奇六仪排布
  • 九星八门八神排布

1.4 格局识别模块

功能:识别奇门盘中的各种格局 输入:奇门盘数据 输出:格局列表及评级 关键算法

  • 三奇格局识别
  • 六仪格局识别
  • 特殊格局识别
  • 组合格局分析

2. 分析服务模块

2.1 用神选择模块

功能:根据问题类型智能选择用神 输入:问题描述、用户信息 输出:用神配置 关键算法

  • 问题分类算法
  • 用神匹配规则
  • 优先级排序

2.2 旺衰判断模块

功能:判断用神在当前时空的旺衰状态 输入:用神、时间信息 输出:旺衰等级 关键算法

  • 五行生克关系
  • 季节旺衰规律
  • 宫位影响因素

2.3 格局分析模块

功能:综合分析格局对事情的影响 输入:格局列表、用神信息 输出:格局分析报告 关键算法

  • 格局权重计算
  • 吉凶综合评估
  • 影响因素分析

2.4 预测生成模块

功能:生成最终的预测结果和建议 输入:所有分析结果 输出:预测报告 关键算法

  • 综合评分算法
  • 建议生成规则
  • 应期计算方法

3. 数据管理模块

3.1 基础数据管理

功能:管理奇门遁甲基础数据 数据类型

  • 九星数据
  • 八门数据
  • 八神数据
  • 格局数据
  • 用神配置

3.2 缓存管理

功能:提高计算性能 缓存策略

  • 奇门盘缓存1小时
  • 节气数据缓存1年
  • 分析结果缓存30分钟

3.3 历史记录管理

功能:保存用户的预测历史 存储内容

  • 问题描述
  • 起局时间
  • 预测结果
  • 准确性反馈

4. API接口设计

4.1 起局接口

POST /api/qimen/calculate
{
  "datetime": "2024-03-15T10:00:00+08:00",
  "timezone": "Asia/Shanghai",
  "method": "时家"
}

4.2 分析接口

POST /api/qimen/analyze
{
  "qimenPan": { /* 奇门盘数据 */ },
  "question": {
    "type": "求财",
    "description": "投资前景如何"
  },
  "querent": {
    "birthDate": "1990-05-15",
    "gender": "男"
  }
}

4.3 预测接口

POST /api/qimen/predict
{
  "qimenPan": { /* 奇门盘数据 */ },
  "analysis": { /* 分析结果 */ },
  "options": {
    "detailLevel": "full",
    "includeAdvice": true
  }
}

开发阶段规划

第一阶段基础框架搭建2周

目标:完成核心架构和基础功能

任务清单

  • 完善 QimenAnalyzer 基础类结构
  • 实现时间转换和干支计算
  • 完成节气计算模块
  • 建立基础数据结构
  • 实现简单的起局算法
  • 创建基础API接口
  • 编写单元测试

交付物

  • 可运行的基础奇门模块
  • 基础API接口
  • 单元测试覆盖率 > 80%

第二阶段核心算法实现3周

目标:实现完整的奇门遁甲计算逻辑

任务清单

  • 完善三奇六仪排布算法
  • 实现九星八门八神排布
  • 完成值符值使计算
  • 实现格局识别算法
  • 完成用神选择逻辑
  • 实现旺衰判断算法
  • 优化计算性能
  • 完善错误处理

交付物

  • 完整的奇门起局功能
  • 准确的格局识别
  • 性能优化报告

第三阶段分析预测功能2周

目标:实现智能分析和预测生成

任务清单

  • 实现问题分类算法
  • 完成综合分析逻辑
  • 实现预测结果生成
  • 完成建议生成系统
  • 实现应期计算
  • 优化预测准确性
  • 完善用户体验

交付物

  • 智能分析系统
  • 预测结果生成器
  • 用户体验优化

第四阶段前端界面开发3周

目标:开发用户友好的前端界面

任务清单

  • 设计奇门盘显示组件
  • 实现起局页面
  • 开发分析结果页面
  • 创建历史记录功能
  • 实现数据导出功能
  • 优化移动端体验
  • 完善交互设计
  • 进行用户测试

交付物

  • 完整的前端界面
  • 响应式设计
  • 用户测试报告

第五阶段系统集成测试1周

目标:完成系统集成和全面测试

任务清单

  • 前后端集成测试
  • 性能压力测试
  • 准确性验证测试
  • 用户接受度测试
  • 安全性测试
  • 文档完善
  • 部署准备

交付物

  • 完整的奇门遁甲模块
  • 测试报告
  • 部署文档

技术实现细节

1. 核心算法实现

起局算法核心逻辑

class QimenCalculator {
  calculateQimenPan(datetime) {
    // 1. 时间转换
    const timeInfo = this.convertToGanZhi(datetime);
    
    // 2. 节气判断
    const jieqi = this.calculateJieQi(datetime);
    const yuan = this.calculateYuan(datetime, jieqi);
    
    // 3. 局数计算
    const { jushu, yindun } = this.calculateJuShu(jieqi, yuan);
    
    // 4. 地盘排布
    const dipan = this.arrangeDiPan(jushu, yindun);
    
    // 5. 天盘排布
    const tianpan = this.arrangeTianPan(dipan, timeInfo, yindun);
    
    // 6. 值符值使
    const { zhifu, zhishi } = this.calculateZhiFuZhiShi(dipan, tianpan, timeInfo);
    
    return { timeInfo, dipan, tianpan, zhifu, zhishi };
  }
}

格局识别算法

class PatternAnalyzer {
  analyzePatterns(qimenPan) {
    const patterns = [];
    
    // 三奇格局识别
    patterns.push(...this.analyzeSanQiPatterns(qimenPan));
    
    // 六仪格局识别
    patterns.push(...this.analyzeLiuYiPatterns(qimenPan));
    
    // 特殊格局识别
    patterns.push(...this.analyzeSpecialPatterns(qimenPan));
    
    // 格局评级
    return this.evaluatePatterns(patterns);
  }
}

2. 性能优化策略

缓存策略

class QimenCache {
  constructor() {
    this.panCache = new LRUCache({ max: 1000, ttl: 3600000 }); // 1小时
    this.jieqiCache = new LRUCache({ max: 100, ttl: 31536000000 }); // 1年
    this.analysisCache = new LRUCache({ max: 500, ttl: 1800000 }); // 30分钟
  }
  
  getCachedPan(timeKey) {
    return this.panCache.get(timeKey);
  }
  
  setCachedPan(timeKey, pan) {
    this.panCache.set(timeKey, pan);
  }
}

批量计算优化

class BatchProcessor {
  async calculateBatch(timeList) {
    // 预计算公共数据
    const commonData = await this.preCalculateCommonData();
    
    // 并行计算
    const promises = timeList.map(time => 
      this.calculateSingle(time, commonData)
    );
    
    return Promise.all(promises);
  }
}

3. 数据结构设计

奇门盘数据结构

const QimenPanSchema = {
  timeInfo: {
    year: { gan: String, zhi: String },
    month: { gan: String, zhi: String },
    day: { gan: String, zhi: String },
    hour: { gan: String, zhi: String },
    jieqi: String,
    yuan: String,
    jushu: Number,
    yindun: Boolean
  },
  dipan: [{
    ganzhi: String,
    star: String,
    door: String,
    god: String,
    palace: Number
  }],
  tianpan: [{
    ganzhi: String,
    star: String,
    door: String,
    god: String,
    palace: Number
  }],
  zhifu: String,
  zhishi: String
};

分析结果数据结构

const AnalysisResultSchema = {
  patterns: [{
    type: String,
    name: String,
    level: String,
    description: String,
    palace: Number,
    score: Number
  }],
  yongshen: {
    primary: String,
    secondary: [String],
    analysis: {
      position: Number,
      wangshui: String,
      status: String
    }
  },
  prediction: {
    overall: String,
    probability: Number,
    details: [String],
    suggestions: [String],
    timing: {
      bestTime: String,
      avoidTime: String
    }
  }
};

测试策略

1. 单元测试

测试范围

  • 时间转换函数
  • 节气计算函数
  • 起局算法函数
  • 格局识别函数
  • 用神选择函数

测试工具Jest 覆盖率要求> 90%

2. 集成测试

测试场景

  • 完整的起局流程
  • 分析预测流程
  • API接口测试
  • 缓存机制测试

测试工具Supertest 测试数据:历史经典案例

3. 性能测试

测试指标

  • 起局计算时间 < 100ms
  • 分析预测时间 < 500ms
  • 并发处理能力 > 100 QPS
  • 内存使用 < 512MB

测试工具Artillery

4. 准确性测试

测试方法

  • 与传统手工起局对比
  • 历史案例验证
  • 专家评审

准确率要求> 95%

质量保证

1. 代码质量

  • ESLint 代码规范检查
  • Prettier 代码格式化
  • TypeScript 类型检查
  • SonarQube 代码质量分析

2. 文档质量

  • API文档自动生成
  • 代码注释覆盖率 > 80%
  • 用户使用手册
  • 开发者文档

3. 安全性

  • 输入参数验证
  • SQL注入防护
  • XSS攻击防护
  • 访问频率限制

部署策略

1. 开发环境

  • Docker容器化部署
  • 热重载开发
  • 实时日志监控

2. 测试环境

  • 自动化部署
  • 持续集成测试
  • 性能监控

3. 生产环境

  • 蓝绿部署
  • 负载均衡
  • 监控告警
  • 自动扩缩容

风险评估与应对

1. 技术风险

风险:算法复杂度高,计算准确性难以保证 应对

  • 分阶段验证算法正确性
  • 建立专家评审机制
  • 持续优化算法精度

风险:性能瓶颈,响应时间过长 应对

  • 实施多级缓存策略
  • 优化算法复杂度
  • 采用异步处理机制

2. 业务风险

风险:用户接受度不高 应对

  • 进行用户调研
  • 优化用户体验
  • 提供详细的使用指导

风险:预测准确性质疑 应对

  • 建立反馈机制
  • 持续改进算法
  • 提供透明的计算过程

3. 项目风险

风险:开发周期延长 应对

  • 合理分解任务
  • 建立里程碑检查
  • 预留缓冲时间

风险:人员技能不足 应对

  • 提供技术培训
  • 引入外部专家
  • 建立知识分享机制

成功标准

1. 功能标准

  • 完整实现奇门遁甲起局功能
  • 准确识别各种格局组合
  • 智能选择用神和分析
  • 生成专业的预测报告
  • 支持多种问题类型

2. 性能标准

  • 起局计算时间 < 100ms
  • 分析预测时间 < 500ms
  • 系统可用性 > 99.5%
  • 并发处理能力 > 100 QPS

3. 质量标准

  • 代码测试覆盖率 > 90%
  • 算法准确率 > 95%
  • 用户满意度 > 4.5/5
  • 系统稳定性 > 99%

4. 业务标准

  • 用户活跃度提升 > 30%
  • 功能使用率 > 60%
  • 用户反馈积极率 > 80%
  • 专家认可度 > 85%

后续优化方向

1. 功能扩展

  • 支持年家奇门、月家奇门
  • 增加风水应用功能
  • 开发移动端专属功能
  • 集成AI智能解读

2. 性能优化

  • 引入机器学习优化预测
  • 实现分布式计算
  • 优化数据存储结构
  • 提升算法执行效率

3. 用户体验

  • 个性化推荐系统
  • 社区交流功能
  • 学习教程系统
  • 专家咨询服务

4. 商业化

  • 高级功能付费订阅
  • 专业版本开发
  • API服务商业化
  • 合作伙伴生态

总结

本开发计划基于扎实的理论基础和技术架构,采用分阶段、迭代式的开发方式,确保项目的可控性和成功率。通过严格的质量控制和风险管理,力求打造一个专业、准确、易用的奇门遁甲分析系统,为传统文化的数字化传承做出贡献。

项目预计总开发周期为11周涉及后端算法、前端界面、系统集成等多个方面。通过合理的资源配置和进度管理确保按时交付高质量的产品。