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

653 lines
14 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 奇门遁甲模块开发计划
## 项目概述
基于已完成的奇门遁甲理论文档和基础代码框架,开发一个完整的奇门遁甲分析模块,为用户提供专业、准确、易用的奇门遁甲预测服务。
## 开发目标
### 核心目标
- 实现完整的奇门遁甲起局算法
- 提供准确的格局分析和用神判断
- 生成专业的预测结果和指导建议
- 支持多种问题类型的智能分析
### 技术目标
- 高性能的计算引擎
- 可扩展的架构设计
- 完善的缓存机制
- 友好的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 起局接口
```javascript
POST /api/qimen/calculate
{
"datetime": "2024-03-15T10:00:00+08:00",
"timezone": "Asia/Shanghai",
"method": "时家"
}
```
#### 4.2 分析接口
```javascript
POST /api/qimen/analyze
{
"qimenPan": { /* 奇门盘数据 */ },
"question": {
"type": "求财",
"description": "投资前景如何"
},
"querent": {
"birthDate": "1990-05-15",
"gender": "男"
}
}
```
#### 4.3 预测接口
```javascript
POST /api/qimen/predict
{
"qimenPan": { /* 奇门盘数据 */ },
"analysis": { /* 分析结果 */ },
"options": {
"detailLevel": "full",
"includeAdvice": true
}
}
```
## 开发阶段规划
### 第一阶段基础框架搭建2周
**目标**:完成核心架构和基础功能
**任务清单**
- [ ] 完善 QimenAnalyzer 基础类结构
- [ ] 实现时间转换和干支计算
- [ ] 完成节气计算模块
- [ ] 建立基础数据结构
- [ ] 实现简单的起局算法
- [ ] 创建基础API接口
- [ ] 编写单元测试
**交付物**
- 可运行的基础奇门模块
- 基础API接口
- 单元测试覆盖率 > 80%
### 第二阶段核心算法实现3周
**目标**:实现完整的奇门遁甲计算逻辑
**任务清单**
- [ ] 完善三奇六仪排布算法
- [ ] 实现九星八门八神排布
- [ ] 完成值符值使计算
- [ ] 实现格局识别算法
- [ ] 完成用神选择逻辑
- [ ] 实现旺衰判断算法
- [ ] 优化计算性能
- [ ] 完善错误处理
**交付物**
- 完整的奇门起局功能
- 准确的格局识别
- 性能优化报告
### 第三阶段分析预测功能2周
**目标**:实现智能分析和预测生成
**任务清单**
- [ ] 实现问题分类算法
- [ ] 完成综合分析逻辑
- [ ] 实现预测结果生成
- [ ] 完成建议生成系统
- [ ] 实现应期计算
- [ ] 优化预测准确性
- [ ] 完善用户体验
**交付物**
- 智能分析系统
- 预测结果生成器
- 用户体验优化
### 第四阶段前端界面开发3周
**目标**:开发用户友好的前端界面
**任务清单**
- [ ] 设计奇门盘显示组件
- [ ] 实现起局页面
- [ ] 开发分析结果页面
- [ ] 创建历史记录功能
- [ ] 实现数据导出功能
- [ ] 优化移动端体验
- [ ] 完善交互设计
- [ ] 进行用户测试
**交付物**
- 完整的前端界面
- 响应式设计
- 用户测试报告
### 第五阶段系统集成测试1周
**目标**:完成系统集成和全面测试
**任务清单**
- [ ] 前后端集成测试
- [ ] 性能压力测试
- [ ] 准确性验证测试
- [ ] 用户接受度测试
- [ ] 安全性测试
- [ ] 文档完善
- [ ] 部署准备
**交付物**
- 完整的奇门遁甲模块
- 测试报告
- 部署文档
## 技术实现细节
### 1. 核心算法实现
#### 起局算法核心逻辑
```javascript
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 };
}
}
```
#### 格局识别算法
```javascript
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. 性能优化策略
#### 缓存策略
```javascript
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);
}
}
```
#### 批量计算优化
```javascript
class BatchProcessor {
async calculateBatch(timeList) {
// 预计算公共数据
const commonData = await this.preCalculateCommonData();
// 并行计算
const promises = timeList.map(time =>
this.calculateSingle(time, commonData)
);
return Promise.all(promises);
}
}
```
### 3. 数据结构设计
#### 奇门盘数据结构
```javascript
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
};
```
#### 分析结果数据结构
```javascript
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周涉及后端算法、前端界面、系统集成等多个方面。通过合理的资源配置和进度管理确保按时交付高质量的产品。