mirror of
https://github.com/patdelphi/suanming.git
synced 2026-03-11 02:53:11 +08:00
feat: 完整重构易经占卜系统 - 专业化升级和界面修复
🎯 主要更新: - 重构易经分析器:增加多种起卦方法、高级分析、象数理论 - 创建专业前端组件:CompleteYijingAnalysis,参考八字分析样式 - 修复表单验证逻辑:易经占卜只需问题,无需个人信息 - 优化后端API接口:适配新的参数格式和验证逻辑 🚀 功能增强: - 多种起卦方法:时间、梅花易数、金钱卦、数字起卦 - 高级分析:互卦、错卦、综卦四卦综合分析 - 象数理论:八卦数理、时间共振、五行分析 - 动态分析:问题类型识别、时间因素、针对性指导 - 专业展示:卦象符号、爻辞象传、哲学洞察 🔧 技术优化: - 前端表单条件渲染:根据分析类型显示不同表单 - 后端参数验证:易经占卜验证问题而非姓名 - API接口统一:标准化数据传递格式 - 数据库适配:易经记录使用合理默认值 ✅ 问题修复: - 解决'缺少姓名'错误 - 修复按钮无法点击问题 - 优化用户体验和界面响应
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import React from 'react';
|
||||
import CompleteBaziAnalysis from './CompleteBaziAnalysis';
|
||||
import CompleteZiweiAnalysis from './CompleteZiweiAnalysis';
|
||||
import CompleteYijingAnalysis from './CompleteYijingAnalysis';
|
||||
import BaziAnalysisDisplay from './BaziAnalysisDisplay';
|
||||
|
||||
interface AnalysisResultDisplayProps {
|
||||
@@ -10,9 +11,19 @@ interface AnalysisResultDisplayProps {
|
||||
date: string;
|
||||
time: string;
|
||||
};
|
||||
question?: string;
|
||||
userId?: string;
|
||||
divinationMethod?: string;
|
||||
}
|
||||
|
||||
const AnalysisResultDisplay: React.FC<AnalysisResultDisplayProps> = ({ analysisResult, analysisType, birthDate }) => {
|
||||
const AnalysisResultDisplay: React.FC<AnalysisResultDisplayProps> = ({
|
||||
analysisResult,
|
||||
analysisType,
|
||||
birthDate,
|
||||
question,
|
||||
userId,
|
||||
divinationMethod
|
||||
}) => {
|
||||
// 安全地获取数据的辅助函数
|
||||
const safeGet = (obj: any, path: string, defaultValue: any = '暂无数据') => {
|
||||
const keys = path.split('.');
|
||||
@@ -238,7 +249,32 @@ const AnalysisResultDisplay: React.FC<AnalysisResultDisplayProps> = ({ analysisR
|
||||
|
||||
// 渲染易经占卜分析
|
||||
const renderYijingAnalysis = () => {
|
||||
// 处理新的数据结构: { type: 'yijing', data: analysisResult }
|
||||
// 如果有问题参数,使用新的 CompleteYijingAnalysis 组件
|
||||
if (question) {
|
||||
return (
|
||||
<CompleteYijingAnalysis
|
||||
question={question}
|
||||
userId={userId}
|
||||
divinationMethod={divinationMethod}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
// 如果有分析结果但没有问题参数,尝试从结果中提取问题信息
|
||||
if (analysisResult && analysisResult.data) {
|
||||
const basicInfo = analysisResult.data.basic_info;
|
||||
if (basicInfo && basicInfo.divination_data) {
|
||||
return (
|
||||
<CompleteYijingAnalysis
|
||||
question={basicInfo.divination_data.question || '综合运势如何?'}
|
||||
userId={userId || 'user123'}
|
||||
divinationMethod={divinationMethod || 'time'}
|
||||
/>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// 回退到旧的渲染方式(向后兼容)
|
||||
const data = analysisResult?.data || analysisResult;
|
||||
|
||||
return (
|
||||
|
||||
Reference in New Issue
Block a user