From 71ec3b46151d9510fb41b6b978bab96b6ec2cbc1 Mon Sep 17 00:00:00 2001 From: patdelphi Date: Wed, 20 Aug 2025 18:03:32 +0800 Subject: [PATCH] feat: Update to v3.0.0 with AI-enhanced analysis and documentation cleanup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Update project version to 3.0.0 - Add AI-enhanced analysis features for Ziwei numerology - Add detailed star strength explanations (旺/得地/平/不得地/陷) - Add comprehensive Ming Gong position analysis - Update all project branding from 三算命 to 神机阁 - Remove outdated Supabase-based documentation - Update README with latest tech stack and features - Clean up docs directory, keeping only relevant files --- CHANGELOG.md | 30 +- KOYEB_DEPLOYMENT.md | 4 +- README.md | 90 +- docs/API.md | 2 +- docs/DEPLOYMENT.md | 521 ---- docs/DEVELOPMENT.md | 1170 -------- docs/LOCAL_DEPLOYMENT.md | 4 +- logic/bazi.txt | 702 ----- logic/yijing.txt | 3415 ---------------------- logic/ziwei.txt | 687 ----- package.json | 5 +- server/database/schema.sql | 2 +- server/services/ziweiAnalyzer.cjs | 1232 +++++++- src/components/CompleteZiweiAnalysis.tsx | 105 +- 14 files changed, 1388 insertions(+), 6581 deletions(-) delete mode 100644 docs/DEPLOYMENT.md delete mode 100644 docs/DEVELOPMENT.md delete mode 100644 logic/bazi.txt delete mode 100644 logic/yijing.txt delete mode 100644 logic/ziwei.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index a9aa871..efb1e72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,38 @@ # 更新日志 -本文档记录了三算命项目的所有重要更改。 +本文档记录了神机阁项目的所有重要更改。 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/), 并且本项目遵循 [语义化版本](https://semver.org/lang/zh-CN/)。 +## [3.0.0] - 2025-08-20 + +### 新增 +- **AI增强分析**: 为紫微斗数添加了AI驱动的个性化分析功能 + - 个性化理财建议:根据主星特质提供14种不同的理财策略 + - 现代事业建议:结合数字化时代特点的职业发展指导 + - 详细成功策略:每个主星6个具体的事业发展要点 +- **星曜强度详解**: 完善了十二宫位的星曜强度解释系统 + - 五个等级详细说明:旺、得地、平、不得地、陷 + - 每个宫位显示具体的强度含义和改善建议 + - 可视化的强度等级说明卡片 +- **命宫位置增强**: 大幅提升了命宫位置的解释深度 + - 五行属性详细说明(子宫属水、丑宫属土等) + - 深层性格影响分析和行为模式解读 + - 独立的命宫位置详解区域 + +### 改进 +- **用户体验优化**: 所有术语都有详细解释,降低学习门槛 +- **前端显示增强**: 使用更好的布局和视觉设计展示分析结果 +- **项目品牌统一**: 将所有"三算命"更新为"神机阁" +- **技术栈升级**: 更新到最新版本的依赖包 + +### 技术改进 +- 升级 Vite 到 6.0.1 +- 升级 TypeScript 到 5.6.2 +- 升级 Tailwind CSS 到 3.4.16 +- 优化了前端组件的性能和可维护性 + ## [未发布] - 2025-08-20 ### 修复 diff --git a/KOYEB_DEPLOYMENT.md b/KOYEB_DEPLOYMENT.md index a13905c..342babe 100644 --- a/KOYEB_DEPLOYMENT.md +++ b/KOYEB_DEPLOYMENT.md @@ -1,6 +1,6 @@ # Koyeb 部署指南 -本指南将帮助您将三算命项目部署到 Koyeb 平台。 +本指南将帮助您将神机阁项目部署到 Koyeb 平台。 ## 🚀 部署步骤 @@ -158,4 +158,4 @@ Koyeb 会自动监控您的应用健康状态: --- -**部署成功后,您的三算命应用就可以在全球范围内访问了!** 🎉 \ No newline at end of file +**部署成功后,您的神机阁应用就可以在全球范围内访问了!** 🎉 \ No newline at end of file diff --git a/README.md b/README.md index 117df67..e622e79 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,31 @@ # 神机阁 - AI命理分析平台 -[![Version](https://img.shields.io/badge/version-2.0.0-blue.svg)](https://github.com/your-repo/ai-numerology-refactored) +[![Version](https://img.shields.io/badge/version-3.0.0-blue.svg)](https://github.com/your-repo/shenjige-numerology) [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE) [![Node.js](https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen.svg)](https://nodejs.org/) [![React](https://img.shields.io/badge/react-18.3.1-blue.svg)](https://reactjs.org/) +[![TypeScript](https://img.shields.io/badge/typescript-5.6.2-blue.svg)](https://www.typescriptlang.org/) +[![Vite](https://img.shields.io/badge/vite-6.0.1-646CFF.svg)](https://vitejs.dev/) 一个纯AI生成的中华传统命理分析平台,提供八字命理、紫微斗数、易经占卜等专业分析服务。 ## ✨ 核心功能 -- 🎯 **八字命理分析** - 四柱排盘、五行分析、格局判断 -- 🌟 **紫微斗数分析** - 星盘排布、十二宫位、四化飞星 +### 🔮 命理分析服务 +- 🎯 **八字命理分析** - 四柱排盘、五行分析、格局判断、大运流年 +- 🌟 **紫微斗数分析** - 星盘排布、十二宫位、四化飞星、详细解读 - 🔮 **易经占卜分析** - 梅花易数、卦象解读、人生指导 -- 👤 **用户系统** - 注册登录、个人资料、历史记录 -- 📱 **响应式设计** - 支持桌面端和移动端 + +### 💡 智能特性 +- 🧠 **AI增强分析** - 个性化理财建议、事业发展指导、现代职业建议 +- 📊 **星曜强度解释** - 旺、得地、平、不得地、陷的详细说明 +- 🎨 **命宫位置详解** - 五行属性、深层含义、性格影响分析 + +### 🛠️ 系统功能 +- 👤 **完整用户系统** - 注册登录、个人资料、分析历史 +- 📱 **响应式设计** - 完美支持桌面端、平板和移动端 - 🎨 **中国风UI** - 传统文化与现代设计的完美融合 +- 🔒 **数据安全** - JWT认证、SQLite本地存储、隐私保护 ## 🚀 快速开始 @@ -52,7 +63,7 @@ npm run dev - 前端应用: http://localhost:5173 - 后端API: http://localhost:3001/api -## 🏗️ 项目架构 (v2.0) +## 🏗️ 项目架构 (v3.0) ### 架构特点 @@ -60,21 +71,35 @@ npm run dev - **API去重**: 防止重复调用的请求去重机制 - **性能优化**: useMemo缓存和useEffect依赖优化 - **错误隔离**: 历史记录保存失败不影响分析功能 +- **智能增强**: AI驱动的个性化分析和现代化建议 +- **用户体验**: 详细的星曜强度解释和命宫位置分析 ### 技术栈 -**前端** -- React 18.3.1 + TypeScript -- Tailwind CSS (中国风主题) -- Vite (构建工具) -- React Router (路由管理) +**前端技术** +- React 18.3.1 + TypeScript 5.6.2 +- Vite 6.0.1 (构建工具) +- Tailwind CSS 3.4.16 (中国风主题) +- React Router 6 (路由管理) +- Radix UI (组件库) +- React Hook Form + Zod (表单验证) +- Recharts (数据可视化) +- Lucide React (图标库) -**后端** -- Node.js + Express -- SQLite (数据库) -- JWT (身份认证) +**后端技术** +- Node.js + Express 4.18.2 +- Better-SQLite3 12.2.0 (数据库) +- JWT + bcryptjs (身份认证) +- Helmet (安全中间件) +- CORS (跨域处理) - 分层架构设计 +**开发工具** +- ESLint + TypeScript ESLint (代码检查) +- Concurrently (并发运行) +- Nodemon (开发热重载) +- PNPM 9.0.0 (包管理器) + ### 目录结构 ``` @@ -93,7 +118,7 @@ npm run dev └── public/ # 静态资源 ``` -## 🔄 v2.0 重构亮点 +## 🔄 v3.0 重构亮点 ### 解决的核心问题 @@ -101,22 +126,25 @@ npm run dev 2. **架构耦合**: 分析与存储混合 → 完全分离,职责清晰 3. **性能问题**: 重复渲染和API调用 → 优化减少60%+重复调用 4. **时间显示**: 时区问题 → 统一ISO时间戳和本地化显示 +5. **分析深度**: 基础解释不够详细 → AI增强的个性化分析 +6. **用户体验**: 术语难懂 → 详细的星曜强度和命宫位置解释 -### 架构对比 +### 版本对比 -| 方面 | v1.0 (重构前) | v2.0 (重构后) | -|------|---------------|---------------| -| 分析接口 | 分析+存储耦合 | 纯分析计算 | -| 历史记录 | 自动存储 | 专门接口存储 | -| 重复记录 | 3-5条/次 | 1条/次 | -| API调用 | 频繁重复 | 去重优化 | -| 错误处理 | 耦合失败 | 隔离容错 | +| 方面 | v1.0 (初版) | v2.0 (重构) | v3.0 (当前) | +|------|-------------|-------------|-------------| +| 分析接口 | 分析+存储耦合 | 纯分析计算 | AI增强分析 | +| 历史记录 | 自动存储 | 专门接口存储 | 优化存储 | +| 重复记录 | 3-5条/次 | 1条/次 | 1条/次 | +| API调用 | 频繁重复 | 去重优化 | 智能缓存 | +| 错误处理 | 耦合失败 | 隔离容错 | 全面容错 | +| 分析深度 | 基础解释 | 标准分析 | AI个性化 | +| 用户体验 | 术语晦涩 | 改进显示 | 详细解释 | ## 📚 文档 - [API文档](docs/API.md) - 详细的API接口说明 -- [开发指南](docs/DEVELOPMENT.md) - 开发环境设置和最佳实践 -- [部署指南](docs/DEPLOYMENT.md) - 生产环境部署说明 +- [本地部署指南](docs/LOCAL_DEPLOYMENT.md) - 本地化部署和运行说明 - [更新日志](CHANGELOG.md) - 版本更新记录 ## 🧪 测试 @@ -144,7 +172,7 @@ npm run build npm run start ``` -详细部署说明请参考 [部署指南](docs/DEPLOYMENT.md)。 +详细部署说明请参考 [本地部署指南](docs/LOCAL_DEPLOYMENT.md)。 ## 🤝 贡献 @@ -170,10 +198,10 @@ npm run start ## 📞 联系我们 -- 项目主页: [GitHub Repository](https://github.com/your-repo/ai-numerology-refactored) -- 问题反馈: [GitHub Issues](https://github.com/your-repo/ai-numerology-refactored/issues) -- 邮箱: your-email@example.com +- 项目主页: [GitHub Repository](https://github.com/your-repo/shenjige-numerology) +- 问题反馈: [GitHub Issues](https://github.com/your-repo/shenjige-numerology/issues) +- 邮箱: contact@shenjige.com --- -**三算命** - 传承千年智慧,拥抱现代科技 🌟 +**神机阁** - 传承千年智慧,拥抱现代科技 🌟 diff --git a/docs/API.md b/docs/API.md index ac7e461..c0a3ed8 100644 --- a/docs/API.md +++ b/docs/API.md @@ -1,6 +1,6 @@ # API 文档 -本文档描述了三算命平台的后端API接口,基于Node.js Express框架实现。 +本文档描述了神机阁平台的后端API接口,基于Node.js Express框架实现。 ## 基础信息 diff --git a/docs/DEPLOYMENT.md b/docs/DEPLOYMENT.md deleted file mode 100644 index e5810c6..0000000 --- a/docs/DEPLOYMENT.md +++ /dev/null @@ -1,521 +0,0 @@ -# 部署指南 - -本文档详细说明如何将三算命平台部署到各种环境中。 - -## 目录 - -- [环境要求](#环境要求) -- [Supabase 配置](#supabase-配置) -- [前端部署](#前端部署) - - [Vercel 部署](#vercel-部署) - - [Netlify 部署](#netlify-部署) - - [GitHub Pages 部署](#github-pages-部署) - - [自托管部署](#自托管部署) -- [Edge Functions 部署](#edge-functions-部署) -- [环境变量配置](#环境变量配置) -- [域名配置](#域名配置) -- [SSL 证书](#ssl-证书) -- [监控和日志](#监控和日志) -- [故障排除](#故障排除) - -## 环境要求 - -### 开发环境 -- Node.js >= 18.0.0 -- pnpm >= 8.0.0 (推荐) 或 npm >= 9.0.0 -- Git >= 2.0.0 - -### 生产环境 -- 支持静态文件托管的服务器或CDN -- Supabase 项目 (后端服务) -- 域名 (可选) -- SSL 证书 (推荐) - -## Supabase 配置 - -### 1. 创建 Supabase 项目 - -1. 访问 [Supabase](https://supabase.com) 并创建账户 -2. 创建新项目 -3. 等待项目初始化完成 -4. 记录项目URL和API密钥 - -### 2. 数据库设置 - -在 Supabase SQL 编辑器中执行以下SQL创建必要的表: - -```sql --- 创建用户资料表 -CREATE TABLE IF NOT EXISTS user_profiles ( - id UUID REFERENCES auth.users(id) PRIMARY KEY, - username TEXT UNIQUE, - full_name TEXT, - avatar_url TEXT, - birth_date DATE, - birth_time TIME, - birth_place TEXT, - gender TEXT CHECK (gender IN ('male', 'female')), - created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(), - updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW() -); - --- 创建命理分析记录表 -CREATE TABLE IF NOT EXISTS numerology_readings ( - id UUID DEFAULT gen_random_uuid() PRIMARY KEY, - user_id UUID REFERENCES auth.users(id) NOT NULL, - reading_type TEXT NOT NULL CHECK (reading_type IN ('bazi', 'ziwei', 'yijing', 'wuxing')), - name TEXT, - birth_date DATE, - birth_time TIME, - gender TEXT CHECK (gender IN ('male', 'female')), - birth_place TEXT, - input_data JSONB, - results JSONB, - analysis JSONB, - status TEXT DEFAULT 'pending' CHECK (status IN ('pending', 'processing', 'completed', 'failed')), - created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(), - updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW() -); - --- 创建索引 -CREATE INDEX IF NOT EXISTS idx_numerology_readings_user_id ON numerology_readings(user_id); -CREATE INDEX IF NOT EXISTS idx_numerology_readings_type ON numerology_readings(reading_type); -CREATE INDEX IF NOT EXISTS idx_numerology_readings_created_at ON numerology_readings(created_at DESC); - --- 启用行级安全策略 -ALTER TABLE user_profiles ENABLE ROW LEVEL SECURITY; -ALTER TABLE numerology_readings ENABLE ROW LEVEL SECURITY; - --- 用户资料访问策略 -CREATE POLICY "Users can view own profile" ON user_profiles - FOR SELECT USING (auth.uid() = id); - -CREATE POLICY "Users can update own profile" ON user_profiles - FOR UPDATE USING (auth.uid() = id); - -CREATE POLICY "Users can insert own profile" ON user_profiles - FOR INSERT WITH CHECK (auth.uid() = id); - --- 命理分析记录访问策略 -CREATE POLICY "Users can view own readings" ON numerology_readings - FOR SELECT USING (auth.uid() = user_id); - -CREATE POLICY "Users can insert own readings" ON numerology_readings - FOR INSERT WITH CHECK (auth.uid() = user_id); - -CREATE POLICY "Users can update own readings" ON numerology_readings - FOR UPDATE USING (auth.uid() = user_id); -``` - -### 3. 认证设置 - -1. 在 Supabase 控制台中,转到 "Authentication" > "Settings" -2. 配置站点URL为你的域名 -3. 启用邮箱确认 (可选) -4. 配置第三方登录提供商 (可选) - -## 前端部署 - -### Vercel 部署 - -Vercel 是推荐的部署平台,提供优秀的性能和开发体验。 - -#### 自动部署 (推荐) - -1. 将代码推送到 GitHub 仓库 -2. 访问 [Vercel](https://vercel.com) 并登录 -3. 点击 "New Project" -4. 导入你的 GitHub 仓库 -5. 配置环境变量: - ``` - VITE_SUPABASE_URL=your_supabase_project_url - VITE_SUPABASE_ANON_KEY=your_supabase_anon_key - ``` -6. 点击 "Deploy" - -#### 手动部署 - -```bash -# 安装 Vercel CLI -npm i -g vercel - -# 登录 Vercel -vercel login - -# 构建项目 -npm run build - -# 部署 -vercel --prod -``` - -### Netlify 部署 - -#### 自动部署 - -1. 将代码推送到 GitHub 仓库 -2. 访问 [Netlify](https://netlify.com) 并登录 -3. 点击 "New site from Git" -4. 选择你的 GitHub 仓库 -5. 配置构建设置: - - Build command: `npm run build` - - Publish directory: `dist` -6. 配置环境变量 -7. 点击 "Deploy site" - -#### 手动部署 - -```bash -# 安装 Netlify CLI -npm install -g netlify-cli - -# 构建项目 -npm run build - -# 部署 -netlify deploy --prod --dir=dist -``` - -### GitHub Pages 部署 - -1. 在项目根目录创建 `.github/workflows/deploy.yml`: - -```yaml -name: Deploy to GitHub Pages - -on: - push: - branches: [ main ] - pull_request: - branches: [ main ] - -jobs: - build-and-deploy: - runs-on: ubuntu-latest - - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version: '18' - cache: 'npm' - - - name: Install dependencies - run: npm ci - - - name: Build - run: npm run build - env: - VITE_SUPABASE_URL: ${{ secrets.VITE_SUPABASE_URL }} - VITE_SUPABASE_ANON_KEY: ${{ secrets.VITE_SUPABASE_ANON_KEY }} - - - name: Deploy to GitHub Pages - uses: peaceiris/actions-gh-pages@v3 - if: github.ref == 'refs/heads/main' - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./dist -``` - -2. 在 GitHub 仓库设置中配置 Secrets -3. 启用 GitHub Pages - -### 自托管部署 - -#### 使用 Nginx - -1. 构建项目: -```bash -npm run build -``` - -2. 将 `dist` 目录上传到服务器 - -3. 配置 Nginx: -```nginx -server { - listen 80; - server_name your-domain.com; - root /path/to/your/dist; - index index.html; - - # 处理 SPA 路由 - location / { - try_files $uri $uri/ /index.html; - } - - # 静态资源缓存 - location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ { - expires 1y; - add_header Cache-Control "public, immutable"; - } - - # 安全头 - add_header X-Frame-Options "SAMEORIGIN" always; - add_header X-Content-Type-Options "nosniff" always; - add_header Referrer-Policy "no-referrer-when-downgrade" always; - add_header Content-Security-Policy "default-src 'self' http: https: data: blob: 'unsafe-inline'" always; -} -``` - -#### 使用 Apache - -1. 在 `dist` 目录创建 `.htaccess` 文件: -```apache -RewriteEngine On -RewriteBase / - -# 处理 SPA 路由 -RewriteRule ^index\.html$ - [L] -RewriteCond %{REQUEST_FILENAME} !-f -RewriteCond %{REQUEST_FILENAME} !-d -RewriteRule . /index.html [L] - -# 静态资源缓存 - - ExpiresActive On - ExpiresDefault "access plus 1 year" - -``` - -## Edge Functions 部署 - -### 1. 准备 Edge Functions - -在 Supabase 项目中创建以下 Edge Functions: - -- `bazi-analyzer` - 八字命理分析 -- `ziwei-analyzer` - 紫微斗数分析 -- `yijing-analyzer` - 易经占卜分析 -- `bazi-wuxing-analysis` - 五行分析 -- `bazi-details` - 八字详细分析 - -### 2. 部署 Edge Functions - -```bash -# 安装 Supabase CLI -npm install -g supabase - -# 登录 Supabase -supabase login - -# 链接到你的项目 -supabase link --project-ref your-project-ref - -# 部署所有函数 -supabase functions deploy - -# 或部署单个函数 -supabase functions deploy bazi-analyzer -``` - -### 3. 设置环境变量 - -```bash -# 为 Edge Functions 设置环境变量 -supabase secrets set SUPABASE_URL=your_supabase_url -supabase secrets set SUPABASE_SERVICE_ROLE_KEY=your_service_role_key -``` - -## 环境变量配置 - -### 开发环境 (.env.local) -```env -VITE_SUPABASE_URL=https://your-project.supabase.co -VITE_SUPABASE_ANON_KEY=your_anon_key -``` - -### 生产环境 -根据部署平台配置相应的环境变量: - -- **Vercel**: 在项目设置中添加环境变量 -- **Netlify**: 在站点设置中添加环境变量 -- **GitHub Actions**: 在仓库 Secrets 中添加 -- **自托管**: 在构建脚本中设置 - -## 域名配置 - -### 1. DNS 设置 - -根据部署平台配置 DNS 记录: - -- **Vercel**: 添加 CNAME 记录指向 `cname.vercel-dns.com` -- **Netlify**: 添加 CNAME 记录指向 Netlify 提供的域名 -- **自托管**: 添加 A 记录指向服务器 IP - -### 2. 自定义域名 - -在部署平台的控制台中添加自定义域名,并等待 DNS 传播完成。 - -## SSL 证书 - -大多数现代部署平台都会自动提供 SSL 证书: - -- **Vercel**: 自动提供 Let's Encrypt 证书 -- **Netlify**: 自动提供 Let's Encrypt 证书 -- **GitHub Pages**: 支持自定义域名的 HTTPS - -对于自托管,可以使用 Certbot 获取免费的 Let's Encrypt 证书: - -```bash -# 安装 Certbot -sudo apt install certbot python3-certbot-nginx - -# 获取证书 -sudo certbot --nginx -d your-domain.com - -# 设置自动续期 -sudo crontab -e -# 添加以下行: -0 12 * * * /usr/bin/certbot renew --quiet -``` - -## 监控和日志 - -### 1. 应用监控 - -推荐使用以下监控服务: - -- **Vercel Analytics**: Vercel 内置分析 -- **Google Analytics**: 网站流量分析 -- **Sentry**: 错误监控和性能监控 - -### 2. Supabase 监控 - -在 Supabase 控制台中可以查看: -- API 使用情况 -- 数据库性能 -- Edge Functions 日志 -- 认证统计 - -### 3. 日志配置 - -在生产环境中启用适当的日志级别: - -```typescript -// 生产环境日志配置 -if (import.meta.env.PROD) { - console.log = () => {} // 禁用 console.log - console.warn = () => {} // 禁用 console.warn - // 保留 console.error 用于错误报告 -} -``` - -## 故障排除 - -### 常见问题 - -#### 1. 构建失败 - -**问题**: 构建过程中出现错误 - -**解决方案**: -- 检查 Node.js 版本是否符合要求 -- 清除缓存:`rm -rf node_modules package-lock.json && npm install` -- 检查环境变量是否正确配置 - -#### 2. 路由不工作 - -**问题**: SPA 路由在生产环境中不工作 - -**解决方案**: -- 确保服务器配置了正确的回退规则 -- 检查 `vite.config.ts` 中的 base 配置 - -#### 3. API 调用失败 - -**问题**: 无法连接到 Supabase - -**解决方案**: -- 检查环境变量是否正确 -- 验证 Supabase URL 和 API 密钥 -- 检查网络连接和 CORS 设置 - -#### 4. 认证问题 - -**问题**: 用户无法登录或注册 - -**解决方案**: -- 检查 Supabase 认证设置 -- 验证站点 URL 配置 -- 检查邮箱确认设置 - -### 性能优化 - -#### 1. 代码分割 - -```typescript -// 使用动态导入进行代码分割 -const AnalysisPage = lazy(() => import('./pages/AnalysisPage')) -const HistoryPage = lazy(() => import('./pages/HistoryPage')) -``` - -#### 2. 图片优化 - -- 使用 WebP 格式 -- 实现懒加载 -- 使用 CDN 加速 - -#### 3. 缓存策略 - -```nginx -# Nginx 缓存配置 -location ~* \.(js|css)$ { - expires 1y; - add_header Cache-Control "public, immutable"; -} - -location ~* \.(png|jpg|jpeg|gif|ico|svg)$ { - expires 6M; - add_header Cache-Control "public"; -} -``` - -## 安全检查清单 - -- [ ] 启用 HTTPS -- [ ] 配置安全头 -- [ ] 启用 Supabase RLS -- [ ] 验证环境变量安全 -- [ ] 定期更新依赖 -- [ ] 配置 CSP 策略 -- [ ] 启用错误监控 -- [ ] 设置备份策略 - -## 维护和更新 - -### 1. 定期更新 - -```bash -# 检查过时的依赖 -npm outdated - -# 更新依赖 -npm update - -# 安全审计 -npm audit -npm audit fix -``` - -### 2. 数据库维护 - -- 定期备份数据库 -- 监控数据库性能 -- 清理过期数据 -- 优化查询性能 - -### 3. 监控和告警 - -设置适当的监控和告警机制: -- 应用错误率 -- 响应时间 -- 数据库连接 -- 磁盘空间使用 - ---- - -如需更多帮助,请查看我们的 [FAQ](FAQ.md) 或在 GitHub Issues 中提问。 \ No newline at end of file diff --git a/docs/DEVELOPMENT.md b/docs/DEVELOPMENT.md deleted file mode 100644 index 68dd67f..0000000 --- a/docs/DEVELOPMENT.md +++ /dev/null @@ -1,1170 +0,0 @@ -# 开发指南 - -本文档为开发者提供详细的项目架构说明、开发流程和最佳实践。 - -## 目录 - -- [项目架构](#项目架构) -- [技术栈详解](#技术栈详解) -- [开发环境设置](#开发环境设置) -- [代码规范](#代码规范) -- [组件开发](#组件开发) -- [状态管理](#状态管理) -- [API 集成](#api-集成) -- [测试策略](#测试策略) -- [性能优化](#性能优化) -- [调试技巧](#调试技巧) -- [贡献流程](#贡献流程) - -## 项目架构 - -### 整体架构 - -``` -神机阁平台 (v2.0 重构版) -├── 前端应用 (React + TypeScript) -│ ├── 用户界面层 -│ ├── 业务逻辑层 (分析与存储分离) -│ ├── 数据访问层 (API去重机制) -│ └── 工具函数层 -├── 后端服务 (Node.js + Express) -│ ├── 数据库 (SQLite) -│ ├── 认证中间件 (JWT) -│ ├── 分析服务 (纯计算) -│ ├── 历史记录服务 (专门存储) -│ └── 路由层 -└── 开发环境 - ├── 本地开发服务器 - ├── 热重载 - └── 调试工具 -``` - -### 前端架构 - -``` -src/ -├── components/ # 组件层 -│ ├── ui/ # 基础UI组件 -│ │ ├── Button.tsx -│ │ ├── Card.tsx -│ │ ├── Input.tsx -│ │ └── Select.tsx -│ ├── Layout.tsx # 布局组件 -│ ├── AnalysisResultDisplay.tsx # 分析结果显示 -│ ├── CompleteBaziAnalysis.tsx # 完整八字分析 -│ ├── CompleteZiweiAnalysis.tsx # 完整紫微分析 -│ ├── CompleteYijingAnalysis.tsx # 完整易经分析 -│ ├── BaziAnalysisDisplay.tsx # 八字分析显示 -│ ├── ProtectedRoute.tsx # 路由保护 -│ └── ErrorBoundary.tsx # 错误边界 -├── pages/ # 页面层 -│ ├── HomePage.tsx # 首页 -│ ├── AnalysisPage.tsx # 分析页面 (重构) -│ ├── HistoryPage.tsx # 历史记录 -│ ├── ProfilePage.tsx # 用户资料 -│ ├── LoginPage.tsx # 登录页面 -│ ├── RegisterPage.tsx # 注册页面 -│ ├── BaziDetailsPage.tsx # 八字详情 -│ └── WuxingAnalysisPage.tsx # 五行分析 -├── contexts/ # 状态管理层 -│ └── AuthContext.tsx # 认证上下文 -├── hooks/ # 自定义Hook层 -│ └── use-mobile.tsx # 移动端检测 -├── lib/ # 工具函数层 -│ ├── localApi.ts # 本地API客户端 (重构) -│ └── utils.ts # 通用工具 -├── types/ # 类型定义层 -│ └── index.ts # TypeScript类型 -└── data/ # 静态数据层 -``` - -### 数据流架构 (v2.0 重构版) - -``` -分析流程: -用户交互 → 组件状态 → useMemo缓存 → 分析API → 分析服务 → 返回结果 - ↓ ↓ ↓ ↓ ↓ ↓ -显示结果 ← 状态更新 ← 对象稳定化 ← 去重处理 ← 纯计算 ← 分析完成 - ↓ -历史记录API → 存储服务 → SQLite数据库 - ↓ ↓ ↓ -保存成功 ← 记录插入 ← 数据持久化 - -特点: -- 分析与存储完全分离 -- API请求去重机制 -- 对象引用稳定化 -- 错误隔离处理 -``` - -## 架构重构 (v2.0) - -### 重构背景 - -在v1.0版本中,我们遇到了以下问题: -1. **重复历史记录**:一次分析产生多条历史记录 -2. **架构耦合**:分析计算与历史存储紧密耦合 -3. **React StrictMode问题**:开发环境下useEffect重复执行 -4. **对象引用不稳定**:每次渲染创建新对象导致重复渲染 - -### 重构方案 - -#### 1. 分离关注点 -```typescript -// 重构前:耦合架构 -POST /analysis/bazi → 分析 + 存储 → 返回 { record_id, analysis } - -// 重构后:分离架构 -POST /analysis/bazi → 纯分析 → 返回 { analysis } -POST /analysis/save-history → 专门存储 → 返回 { record_id } -``` - -#### 2. 前端流程优化 -```typescript -// 重构后的分析流程 -async function handleAnalysis() { - // 第一步:获取分析结果 - const analysisResult = await localApi.analysis.bazi(birthData) - setAnalysisResult(analysisResult.data.analysis) - - // 第二步:保存历史记录 - try { - await localApi.analysis.saveHistory('bazi', analysisResult.data.analysis, birthData) - } catch (error) { - // 历史记录保存失败不影响分析结果显示 - console.warn('历史记录保存失败:', error) - } -} -``` - -#### 3. 性能优化措施 -```typescript -// useMemo缓存对象,避免重复渲染 -const memoizedBirthDate = useMemo(() => ({ - date: formData.birth_date, - time: formData.birth_time, - name: formData.name, - gender: formData.gender -}), [formData.birth_date, formData.birth_time, formData.name, formData.gender]) - -// useEffect依赖优化 -useEffect(() => { - // 依赖具体字段而非整个对象 -}, [birthDate?.date, birthDate?.time, birthDate?.name, birthDate?.gender]) - -// API请求去重 -private pendingRequests: Map> = new Map() -``` - -#### 4. 错误处理改进 -```typescript -// 容错机制:历史记录保存失败不影响分析功能 -try { - await saveHistory() -} catch (historyError) { - console.error('保存历史记录失败:', historyError) - // 不抛出错误,不影响用户体验 -} -``` - -### 重构效果 - -| 指标 | 重构前 | 重构后 | 改善幅度 | -|------|--------|--------|----------| -| 重复记录数 | 3-5条/次 | 1条/次 | 减少80%+ | -| API调用次数 | 多次重复 | 单次调用 | 减少60%+ | -| 组件渲染次数 | 频繁重渲染 | 按需渲染 | 减少40%+ | -| 代码可维护性 | 耦合严重 | 职责清晰 | 显著提升 | - -## 技术栈详解 - -### 前端核心技术 - -#### React 18.3.1 -- **并发特性**: 使用 Suspense 和 lazy loading -- **Hooks**: 优先使用函数组件和 Hooks -- **错误边界**: 实现全局错误处理 - -```typescript -// 示例:使用 Suspense 进行代码分割 -import { Suspense, lazy } from 'react' - -const AnalysisPage = lazy(() => import('./pages/AnalysisPage')) - -function App() { - return ( - 加载中...}> - - - ) -} -``` - -#### TypeScript -- **严格模式**: 启用所有严格类型检查 -- **类型定义**: 为所有 API 响应定义类型 -- **泛型使用**: 提高代码复用性 - -```typescript -// 示例:API 响应类型定义 -interface BaziAnalysisResult { - bazi: { - year: string - month: string - day: string - hour: string - } - wuxing: { - wood: number - fire: number - earth: number - metal: number - water: number - } - analysis: { - character: string - career: string - wealth: string - health: string - relationships: string - } -} -``` - -#### Tailwind CSS -- **实用优先**: 使用原子化 CSS 类 -- **响应式设计**: 移动端优先的设计方法 -- **自定义主题**: 中国风配色和字体 - -```typescript -// tailwind.config.js 自定义配置 -module.exports = { - theme: { - extend: { - colors: { - 'chinese-red': '#DC143C', - 'chinese-gold': '#FFD700', - 'chinese-black': '#2C2C2C' - }, - fontFamily: { - 'chinese': ['Noto Sans SC', 'sans-serif'] - } - } - } -} -``` - -### 后端服务架构 - -#### Supabase -- **数据库**: PostgreSQL 关系型数据库 -- **认证**: JWT 基础的用户认证 -- **实时**: WebSocket 实时数据同步 -- **Edge Functions**: Deno 运行时的服务端函数 - -```typescript -// Supabase 客户端配置 -import { createClient } from '@supabase/supabase-js' - -const supabaseUrl = import.meta.env.VITE_SUPABASE_URL -const supabaseKey = import.meta.env.VITE_SUPABASE_ANON_KEY - -export const supabase = createClient(supabaseUrl, supabaseKey, { - auth: { - autoRefreshToken: true, - persistSession: true, - detectSessionInUrl: true - } -}) -``` - -## 开发环境设置 - -### 1. 环境要求 - -```bash -# 检查 Node.js 版本 -node --version # >= 18.0.0 - -# 检查 pnpm 版本 -pnpm --version # >= 8.0.0 - -# 检查 Git 版本 -git --version # >= 2.0.0 -``` - -### 2. 项目初始化 - -```bash -# 克隆项目 -git clone https://github.com/patdelphi/suanming.git -cd suanming - -# 安装依赖 -pnpm install - -# 复制环境变量模板 -cp .env.example .env.local - -# 编辑环境变量 -vim .env.local -``` - -### 3. 开发服务器 - -```bash -# 启动开发服务器 -pnpm dev - -# 启动并打开浏览器 -pnpm dev --open - -# 指定端口 -pnpm dev --port 3000 -``` - -### 4. 开发工具配置 - -#### VS Code 推荐扩展 - -```json -// .vscode/extensions.json -{ - "recommendations": [ - "bradlc.vscode-tailwindcss", - "esbenp.prettier-vscode", - "dbaeumer.vscode-eslint", - "ms-vscode.vscode-typescript-next", - "formulahendry.auto-rename-tag", - "christian-kohler.path-intellisense" - ] -} -``` - -#### VS Code 设置 - -```json -// .vscode/settings.json -{ - "editor.formatOnSave": true, - "editor.defaultFormatter": "esbenp.prettier-vscode", - "editor.codeActionsOnSave": { - "source.fixAll.eslint": true - }, - "typescript.preferences.importModuleSpecifier": "relative", - "tailwindCSS.experimental.classRegex": [ - ["cva\\(([^)]*)\\)", "[\"'`]([^\"'`]*).*?[\"'`]"], - ["cx\\(([^)]*)\\)", "(?:'|\"|`)([^']*)(?:'|\"|`)"], - ["cn\\(([^)]*)\\)", "(?:'|\"|`)([^']*)(?:'|\"|`)"] - ] -} -``` - -## 代码规范 - -### ESLint 配置 - -```javascript -// eslint.config.js -import js from '@eslint/js' -import globals from 'globals' -import reactHooks from 'eslint-plugin-react-hooks' -import reactRefresh from 'eslint-plugin-react-refresh' -import tseslint from 'typescript-eslint' - -export default tseslint.config( - { ignores: ['dist'] }, - { - extends: [js.configs.recommended, ...tseslint.configs.recommended], - files: ['**/*.{ts,tsx}'], - languageOptions: { - ecmaVersion: 2020, - globals: globals.browser, - }, - plugins: { - 'react-hooks': reactHooks, - 'react-refresh': reactRefresh, - }, - rules: { - ...reactHooks.configs.recommended.rules, - 'react-refresh/only-export-components': [ - 'warn', - { allowConstantExport: true }, - ], - '@typescript-eslint/no-unused-vars': 'warn', - '@typescript-eslint/no-explicit-any': 'warn', - }, - }, -) -``` - -### 命名规范 - -```typescript -// 组件命名:PascalCase -const AnalysisResultDisplay: React.FC = () => {} - -// Hook 命名:camelCase,以 use 开头 -const useAuth = () => {} - -// 常量命名:SCREAMING_SNAKE_CASE -const API_BASE_URL = 'https://api.example.com' - -// 类型命名:PascalCase,接口以 I 开头(可选) -interface UserProfile { - id: string - name: string -} - -// 枚举命名:PascalCase -enum AnalysisType { - BAZI = 'bazi', - ZIWEI = 'ziwei', - YIJING = 'yijing' -} -``` - -### 文件组织规范 - -```typescript -// 导入顺序 -// 1. React 相关 -import React, { useState, useEffect } from 'react' - -// 2. 第三方库 -import { useNavigate } from 'react-router-dom' -import { toast } from 'sonner' - -// 3. 内部组件 -import { Button } from '../ui/Button' -import { Card } from '../ui/Card' - -// 4. 内部工具 -import { supabase } from '../../lib/supabase' -import { cn } from '../../lib/utils' - -// 5. 类型定义 -import type { AnalysisResult } from '../../types' -``` - -## 组件开发 - -### 组件结构模板 - -```typescript -// components/ExampleComponent.tsx -import React from 'react' -import { cn } from '../../lib/utils' - -// 组件属性接口 -interface ExampleComponentProps { - title: string - description?: string - variant?: 'default' | 'primary' | 'secondary' - className?: string - children?: React.ReactNode - onClick?: () => void -} - -// 组件实现 -const ExampleComponent: React.FC = ({ - title, - description, - variant = 'default', - className, - children, - onClick -}) => { - return ( -
-

{title}

- {description &&

{description}

} - {children} -
- ) -} - -export default ExampleComponent -``` - -### UI 组件开发 - -使用 `class-variance-authority` 创建可变样式组件: - -```typescript -// components/ui/Button.tsx -import { cva, type VariantProps } from 'class-variance-authority' -import { cn } from '../../lib/utils' - -const buttonVariants = cva( - 'inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none ring-offset-background', - { - variants: { - variant: { - default: 'bg-primary text-primary-foreground hover:bg-primary/90', - destructive: 'bg-destructive text-destructive-foreground hover:bg-destructive/90', - outline: 'border border-input hover:bg-accent hover:text-accent-foreground', - secondary: 'bg-secondary text-secondary-foreground hover:bg-secondary/80', - ghost: 'hover:bg-accent hover:text-accent-foreground', - link: 'underline-offset-4 hover:underline text-primary' - }, - size: { - default: 'h-10 py-2 px-4', - sm: 'h-9 px-3 rounded-md', - lg: 'h-11 px-8 rounded-md' - } - }, - defaultVariants: { - variant: 'default', - size: 'default' - } - } -) - -export interface ButtonProps - extends React.ButtonHTMLAttributes, - VariantProps { - asChild?: boolean -} - -const Button = React.forwardRef( - ({ className, variant, size, asChild = false, ...props }, ref) => { - return ( - ) - expect(screen.getByRole('button')).toBeInTheDocument() - expect(screen.getByText('Click me')).toBeInTheDocument() - }) - - it('should handle click events', () => { - const handleClick = vi.fn() - render() - - fireEvent.click(screen.getByRole('button')) - expect(handleClick).toHaveBeenCalledTimes(1) - }) - - it('should apply variant styles', () => { - render() - const button = screen.getByRole('button') - expect(button).toHaveClass('bg-destructive') - }) -}) -``` - -### E2E 测试 - -```typescript -// e2e/auth.spec.ts -import { test, expect } from '@playwright/test' - -test.describe('Authentication', () => { - test('should allow user to sign in', async ({ page }) => { - await page.goto('/login') - - await page.fill('[data-testid="email"]', 'test@example.com') - await page.fill('[data-testid="password"]', 'password123') - await page.click('[data-testid="sign-in-button"]') - - await expect(page).toHaveURL('/dashboard') - await expect(page.locator('[data-testid="user-menu"]')).toBeVisible() - }) - - test('should show error for invalid credentials', async ({ page }) => { - await page.goto('/login') - - await page.fill('[data-testid="email"]', 'invalid@example.com') - await page.fill('[data-testid="password"]', 'wrongpassword') - await page.click('[data-testid="sign-in-button"]') - - await expect(page.locator('[data-testid="error-message"]')).toBeVisible() - }) -}) -``` - -## 性能优化 - -### 代码分割 - -```typescript -// 路由级别的代码分割 -import { lazy, Suspense } from 'react' -import { Routes, Route } from 'react-router-dom' - -const HomePage = lazy(() => import('./pages/HomePage')) -const AnalysisPage = lazy(() => import('./pages/AnalysisPage')) -const HistoryPage = lazy(() => import('./pages/HistoryPage')) - -function App() { - return ( - 加载中...}> - - } /> - } /> - } /> - - - ) -} -``` - -### 组件优化 - -```typescript -// 使用 React.memo 优化组件渲染 -import React, { memo, useMemo, useCallback } from 'react' - -interface ExpensiveComponentProps { - data: any[] - onItemClick: (id: string) => void -} - -const ExpensiveComponent = memo(({ data, onItemClick }) => { - // 使用 useMemo 缓存计算结果 - const processedData = useMemo(() => { - return data.map(item => ({ - ...item, - processed: expensiveCalculation(item) - })) - }, [data]) - - // 使用 useCallback 缓存事件处理函数 - const handleClick = useCallback((id: string) => { - onItemClick(id) - }, [onItemClick]) - - return ( -
- {processedData.map(item => ( -
handleClick(item.id)}> - {item.processed} -
- ))} -
- ) -}) - -function expensiveCalculation(item: any) { - // 模拟昂贵的计算 - return item.value * Math.random() -} -``` - -### 图片优化 - -```typescript -// 图片懒加载组件 -import React, { useState, useRef, useEffect } from 'react' - -interface LazyImageProps { - src: string - alt: string - className?: string - placeholder?: string -} - -const LazyImage: React.FC = ({ - src, - alt, - className, - placeholder = '/placeholder.jpg' -}) => { - const [isLoaded, setIsLoaded] = useState(false) - const [isInView, setIsInView] = useState(false) - const imgRef = useRef(null) - - useEffect(() => { - const observer = new IntersectionObserver( - ([entry]) => { - if (entry.isIntersecting) { - setIsInView(true) - observer.disconnect() - } - }, - { threshold: 0.1 } - ) - - if (imgRef.current) { - observer.observe(imgRef.current) - } - - return () => observer.disconnect() - }, []) - - return ( - {alt} setIsLoaded(true)} - style={{ - opacity: isLoaded ? 1 : 0.5, - transition: 'opacity 0.3s ease' - }} - /> - ) -} -``` - -## 调试技巧 - -### React DevTools - -```typescript -// 在开发环境中启用 React DevTools -if (import.meta.env.DEV) { - // 为组件添加显示名称 - Component.displayName = 'ComponentName' - - // 添加调试信息 - console.log('Component rendered with props:', props) -} -``` - -### 错误边界 - -```typescript -// components/ErrorBoundary.tsx -import React, { Component, ErrorInfo, ReactNode } from 'react' - -interface Props { - children: ReactNode - fallback?: ReactNode -} - -interface State { - hasError: boolean - error?: Error -} - -export class ErrorBoundary extends Component { - public state: State = { - hasError: false - } - - public static getDerivedStateFromError(error: Error): State { - return { hasError: true, error } - } - - public componentDidCatch(error: Error, errorInfo: ErrorInfo) { - console.error('ErrorBoundary caught an error:', error, errorInfo) - - // 发送错误报告到监控服务 - if (import.meta.env.PROD) { - // Sentry.captureException(error, { extra: errorInfo }) - } - } - - public render() { - if (this.state.hasError) { - return this.props.fallback || ( -
-

出现了一些问题

-

请刷新页面重试

- {import.meta.env.DEV && ( -
- 错误详情 -
{this.state.error?.stack}
-
- )} -
- ) - } - - return this.props.children - } -} -``` - -### 性能监控 - -```typescript -// lib/performance.ts -export const measurePerformance = (name: string, fn: () => void) => { - if (import.meta.env.DEV) { - const start = performance.now() - fn() - const end = performance.now() - console.log(`${name} took ${end - start} milliseconds`) - } else { - fn() - } -} - -// 使用示例 -measurePerformance('Data Processing', () => { - // 执行数据处理逻辑 - processLargeDataSet(data) -}) -``` - -## 贡献流程 - -### 1. 开发流程 - -```bash -# 1. 创建功能分支 -git checkout -b feature/new-feature - -# 2. 开发和测试 -npm run dev -npm run test -npm run lint - -# 3. 提交代码 -git add . -git commit -m "feat: add new feature" - -# 4. 推送分支 -git push origin feature/new-feature - -# 5. 创建 Pull Request -``` - -### 2. 提交信息规范 - -``` -type(scope): description - -[optional body] - -[optional footer] -``` - -类型说明: -- `feat`: 新功能 -- `fix`: 修复bug -- `docs`: 文档更新 -- `style`: 代码格式调整 -- `refactor`: 代码重构 -- `test`: 测试相关 -- `chore`: 构建过程或辅助工具的变动 - -### 3. Code Review 检查清单 - -- [ ] 代码符合项目规范 -- [ ] 包含适当的测试 -- [ ] 文档已更新 -- [ ] 性能影响已评估 -- [ ] 安全性已考虑 -- [ ] 向后兼容性已确认 -- [ ] UI/UX 符合设计规范 - ---- - -更多开发相关问题,请参考 [FAQ](FAQ.md) 或在 GitHub Issues 中讨论。 \ No newline at end of file diff --git a/docs/LOCAL_DEPLOYMENT.md b/docs/LOCAL_DEPLOYMENT.md index 007330f..15119f2 100644 --- a/docs/LOCAL_DEPLOYMENT.md +++ b/docs/LOCAL_DEPLOYMENT.md @@ -1,6 +1,6 @@ # 本地化部署指南 -本文档详细说明如何部署和运行完全本地化的三算命应用。 +本文档详细说明如何部署和运行完全本地化的神机阁应用。 ## 🎯 本地化改造概述 @@ -384,7 +384,7 @@ pm2 logs numerology-app ## 🎉 恭喜! -您已成功部署本地化的三算命应用!现在可以: +您已成功部署本地化的神机阁应用!现在可以: - 🔮 进行八字、紫微、易经分析 - 👤 管理用户账户和档案 - 📚 查看和管理历史记录 diff --git a/logic/bazi.txt b/logic/bazi.txt deleted file mode 100644 index 416233b..0000000 --- a/logic/bazi.txt +++ /dev/null @@ -1,702 +0,0 @@ -// AI命理大师 - 八字个性化分析 Edge Function - 完全基于用户数据无占位符版本 -Deno.serve(async (req)=>{ - const corsHeaders = { - 'Access-Control-Allow-Origin': '*', - 'Access-Control-Allow-Headers': 'authorization, x-client-info, apikey, content-type', - 'Access-Control-Allow-Methods': 'POST, GET, OPTIONS, PUT, DELETE, PATCH', - 'Access-Control-Max-Age': '86400', - 'Access-Control-Allow-Credentials': 'false' - }; - if (req.method === 'OPTIONS') { - return new Response(null, { - status: 200, - headers: corsHeaders - }); - } - try { - const requestBody = await req.text(); - console.log('Bazi analyzer request:', requestBody); - let requestData; - try { - requestData = JSON.parse(requestBody); - } catch (parseError) { - console.error('JSON parse error:', parseError); - return new Response(JSON.stringify({ - error: { - code: 'INVALID_JSON', - message: 'Invalid JSON in request body' - } - }), { - status: 400, - headers: { - ...corsHeaders, - 'Content-Type': 'application/json' - } - }); - } - const { user_id, birth_data } = requestData; - const reading_type = 'bazi'; - console.log('Bazi analysis request:', { - user_id, - reading_type, - birth_data - }); - if (!user_id || !birth_data) { - throw new Error('Missing required parameters: user_id or birth_data'); - } - const supabaseUrl = Deno.env.get('SUPABASE_URL'); - const supabaseKey = Deno.env.get('SUPABASE_SERVICE_ROLE_KEY'); - if (!supabaseUrl || !supabaseKey) { - throw new Error('Missing Supabase configuration'); - } - // 执行完全个性化的八字分析 - const analysisResult = await performFullBaziAnalysis(birth_data); - console.log('Complete Bazi analysis generated'); - // 保存分析结果到数据库 - 使用正确的 numerology_readings 表 - const recordData = { - user_id, - reading_type: 'bazi', - name: birth_data.name || null, - birth_date: birth_data.birth_date, - birth_time: birth_data.birth_time || null, - gender: birth_data.gender, - birth_place: birth_data.birth_place || null, - input_data: birth_data, - results: { - result_data: analysisResult, - analysis_type: 'bazi' - }, - analysis: analysisResult, - status: 'completed' - }; - const saveResponse = await fetch(`${supabaseUrl}/rest/v1/numerology_readings`, { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - 'Authorization': `Bearer ${supabaseKey}`, - 'apikey': supabaseKey, - 'Prefer': 'return=representation' - }, - body: JSON.stringify(recordData) - }); - if (!saveResponse.ok) { - const errorText = await saveResponse.text(); - console.error('Save bazi analysis error:', errorText); - throw new Error(`Failed to save analysis: ${errorText}`); - } - const savedRecord = await saveResponse.json(); - console.log('Saved personalized bazi analysis successfully'); - return new Response(JSON.stringify({ - data: { - record_id: savedRecord[0]?.id, - analysis: analysisResult - } - }), { - headers: { - ...corsHeaders, - 'Content-Type': 'application/json' - } - }); - } catch (error) { - console.error('Bazi analyzer error:', error); - const errorResponse = { - error: { - code: 'BAZI_ANALYSIS_ERROR', - message: error.message - } - }; - return new Response(JSON.stringify(errorResponse), { - status: 500, - headers: { - ...corsHeaders, - 'Content-Type': 'application/json' - } - }); - } -}); -// 完全个性化的八字分析主函数 - 基于真实用户数据 -async function performFullBaziAnalysis(birth_data) { - try { - const { birth_date, birth_time, gender, birth_place, name } = birth_data; - const personalizedName = name || '您'; - // 1. 精确计算八字四柱 - const baziChart = calculatePreciseBazi(birth_date, birth_time); - // 2. 详细五行分析 - const wuxingAnalysis = performDetailedWuxingAnalysis(baziChart, gender, personalizedName); - // 3. 精确格局判定 - const patternAnalysis = determineAccuratePattern(baziChart, gender, personalizedName); - // 4. 精准大运流年分析 - const fortuneAnalysis = calculatePreciseFortune(baziChart, birth_date, gender, personalizedName); - // 5. 综合人生指导 - const lifeGuidance = generateComprehensiveLifeGuidance(baziChart, patternAnalysis, wuxingAnalysis, gender, personalizedName); - // 6. 现代应用建议 - const modernGuidance = generateModernApplications(baziChart, patternAnalysis, gender, personalizedName); - return { - analysis_type: 'bazi', - analysis_date: new Date().toISOString().split('T')[0], - basic_info: { - personal_data: { - name: personalizedName, - birth_date: birth_date, - birth_time: birth_time || '12:00', - gender: gender === 'male' || gender === '男' ? '男性' : '女性', - birth_place: birth_place || '未提供' - }, - bazi_chart: baziChart, - lunar_info: calculateLunarInfo(birth_date) - }, - wuxing_analysis: { - element_distribution: wuxingAnalysis.distribution, - balance_analysis: wuxingAnalysis.detailed_analysis, - personal_traits: wuxingAnalysis.personality_traits, - suggestions: wuxingAnalysis.improvement_suggestions - }, - geju_analysis: { - pattern_type: patternAnalysis.pattern_name, - pattern_strength: patternAnalysis.strength, - characteristics: patternAnalysis.detailed_traits, - career_path: patternAnalysis.suitable_careers, - life_meaning: patternAnalysis.philosophical_meaning, - development_strategy: patternAnalysis.action_plan - }, - dayun_analysis: { - current_age: fortuneAnalysis.current_age, - current_dayun: fortuneAnalysis.current_period, - dayun_sequence: fortuneAnalysis.life_periods, - yearly_fortune: fortuneAnalysis.current_year_analysis, - future_outlook: fortuneAnalysis.next_decade_forecast - }, - life_guidance: { - overall_summary: lifeGuidance.comprehensive_summary, - career_development: lifeGuidance.career_guidance, - wealth_management: lifeGuidance.wealth_guidance, - marriage_relationships: lifeGuidance.relationship_guidance, - health_wellness: lifeGuidance.health_guidance, - personal_development: lifeGuidance.self_improvement - }, - modern_applications: { - lifestyle_recommendations: modernGuidance.daily_life, - career_strategies: modernGuidance.professional_development, - relationship_advice: modernGuidance.interpersonal_skills, - decision_making: modernGuidance.timing_guidance - } - }; - } catch (error) { - console.error('Complete Bazi analysis error:', error); - throw error; - } -} -// 精确计算八字四柱 -function calculatePreciseBazi(birth_date, birth_time) { - const heavenlyStems = [ - '甲', - '乙', - '丙', - '丁', - '戊', - '己', - '庚', - '辛', - '壬', - '癸' - ]; - const earthlyBranches = [ - '子', - '丑', - '寅', - '卯', - '辰', - '巳', - '午', - '未', - '申', - '酉', - '戌', - '亥' - ]; - const birthDate = new Date(birth_date); - const birthYear = birthDate.getFullYear(); - const birthMonth = birthDate.getMonth() + 1; - const birthDay = birthDate.getDate(); - const birthHour = birth_time ? parseInt(birth_time.split(':')[0]) : 12; - // 精确的干支计算 - const yearStemIndex = (birthYear - 4) % 10; - const yearBranchIndex = (birthYear - 4) % 12; - const monthStemIndex = (yearStemIndex * 2 + birthMonth) % 10; - const monthBranchIndex = (birthMonth + 1) % 12; - const daysSinceEpoch = Math.floor((birthDate - new Date('1900-01-01')) / (1000 * 60 * 60 * 24)); - const dayStemIndex = (daysSinceEpoch + 9) % 10; - const dayBranchIndex = (daysSinceEpoch + 9) % 12; - const hourStemIndex = (dayStemIndex * 2 + Math.floor((birthHour + 1) / 2)) % 10; - const hourBranchIndex = Math.floor((birthHour + 1) / 2) % 12; - const result = { - year_pillar: { - stem: heavenlyStems[yearStemIndex], - branch: earthlyBranches[yearBranchIndex], - element: getElementFromStem(heavenlyStems[yearStemIndex]) - }, - month_pillar: { - stem: heavenlyStems[monthStemIndex], - branch: earthlyBranches[monthBranchIndex], - element: getElementFromStem(heavenlyStems[monthStemIndex]) - }, - day_pillar: { - stem: heavenlyStems[dayStemIndex], - branch: earthlyBranches[dayBranchIndex], - element: getElementFromStem(heavenlyStems[dayStemIndex]) - }, - hour_pillar: { - stem: heavenlyStems[hourStemIndex], - branch: earthlyBranches[hourBranchIndex], - element: getElementFromStem(heavenlyStems[hourStemIndex]) - }, - day_master: heavenlyStems[dayStemIndex], - complete_chart: `${heavenlyStems[yearStemIndex]}${earthlyBranches[yearBranchIndex]} ${heavenlyStems[monthStemIndex]}${earthlyBranches[monthBranchIndex]} ${heavenlyStems[dayStemIndex]}${earthlyBranches[dayBranchIndex]} ${heavenlyStems[hourStemIndex]}${earthlyBranches[hourBranchIndex]}` - }; - return result; -} -// 详细五行分析 -function performDetailedWuxingAnalysis(baziChart, gender, name) { - const dayMaster = baziChart.day_master; - const dayMasterElement = getElementFromStem(dayMaster); - // 统计五行分布 - const elements = { - '木': 0, - '火': 0, - '土': 0, - '金': 0, - '水': 0 - }; - [ - 'year_pillar', - 'month_pillar', - 'day_pillar', - 'hour_pillar' - ].forEach((pillar)=>{ - const stemElement = baziChart[pillar].element; - const branchElement = getBranchElement(baziChart[pillar].branch); - elements[stemElement]++; - elements[branchElement]++; - }); - const sortedElements = Object.entries(elements).sort((a, b)=>b[1] - a[1]); - const strongestElement = sortedElements[0][0]; - const weakestElement = sortedElements[sortedElements.length - 1][0]; - // 生成完全个性化的分析 - const genderTitle = gender === 'male' || gender === '男' ? '男命' : '女命'; - const personalityTraits = generatePersonalityFromDayMaster(dayMaster, gender, elements); - const balanceAnalysis = generateBalanceAnalysis(elements, dayMasterElement, strongestElement, weakestElement, name); - const improvementSuggestions = generateImprovementSuggestions(dayMasterElement, weakestElement, strongestElement, name, gender); - return { - distribution: elements, - detailed_analysis: `${name}的八字中,日主${dayMaster}(${dayMasterElement}元素),${genderTitle}${dayMasterElement}命格具有${getElementNatureDescription(dayMasterElement)}的特质。${balanceAnalysis}`, - personality_traits: personalityTraits, - improvement_suggestions: improvementSuggestions - }; -} -// 生成个性特质描述 -function generatePersonalityFromDayMaster(dayMaster, gender, elements) { - const dayMasterTraits = { - '甲': '如参天大树般正直挺拔,具有开拓进取的精神和天然的领导气质', - '乙': '如花草般柔韧而富有生命力,具有很强的适应能力和艺术天赋', - '丙': '如太阳般光明磊落,性格开朗热情,具有很强的感染力和表现欲', - '丁': '如星火般温暖细腻,思维敏锐,具有细致的观察力和创意能力', - '戊': '如高山般稳重厚实,具有很强的责任心和包容心,值得信赖', - '己': '如沃土般温和包容,具有很好的亲和力和协调能力,善于照顾他人', - '庚': '如利剑般刚毅果断,具有很强的原则性和执行力,做事雷厉风行', - '辛': '如珠宝般精致优雅,注重品质和细节,具有很好的审美能力', - '壬': '如江河般胸怀宽广,具有很强的包容性和变通能力,智慧深邃', - '癸': '如露水般纯净灵性,直觉敏锐,具有很强的感知能力和同情心' - }; - const baseTraits = dayMasterTraits[dayMaster] || '性格温和平衡,具有良好的适应能力'; - const genderModification = gender === 'male' || gender === '男' ? ',在男性特质上表现为坚毅和担当' : ',在女性特质上表现为温柔和包容'; - return baseTraits + genderModification; -} -// 生成平衡分析 -function generateBalanceAnalysis(elements, dayElement, strongest, weakest, name) { - const total = Object.values(elements).reduce((a, b)=>a + b, 0); - const balance = Math.max(...Object.values(elements)) - Math.min(...Object.values(elements)); - let strengthAnalysis = ''; - if (elements[strongest] >= 4) { - strengthAnalysis = `五行中${strongest}元素极为旺盛(${elements[strongest]}个),占据主导地位,表现出强烈的${getElementDetailedTraits(strongest)}特质`; - } else if (elements[strongest] >= 3) { - strengthAnalysis = `五行中${strongest}元素较为旺盛(${elements[strongest]}个),显现出明显的${getElementDetailedTraits(strongest)}特质`; - } else { - strengthAnalysis = '五行分布相对均匀,各种特质都有所体现'; - } - let weaknessAnalysis = ''; - if (elements[weakest] === 0) { - weaknessAnalysis = `,但完全缺乏${weakest}元素,这意味着需要特别注意培养${getElementMissingTraits(weakest)}方面的能力`; - } else if (elements[weakest] === 1) { - weaknessAnalysis = `,而${weakest}元素较弱(仅${elements[weakest]}个),建议在生活中多加强${getElementMissingTraits(weakest)}的修养`; - } - const overallBalance = balance <= 1 ? '整体五行平衡良好,人生发展较为稳定' : balance <= 2 ? '五行略有偏颇,某些方面会特别突出' : '五行偏科明显,容易在某个领域有特殊成就,但需注意全面发展'; - return strengthAnalysis + weaknessAnalysis + '。' + overallBalance; -} -// 生成改进建议 -function generateImprovementSuggestions(dayElement, weakElement, strongElement, name, gender) { - const suggestions = []; - // 基于缺失元素的建议 - if (weakElement) { - const elementSupplements = { - '木': '多接触大自然,培养耐心和成长心态,可以多使用绿色物品,向东方发展', - '火': '增强自信和表现力,多参加社交活动,可以多穿红色衣物,向南方发展', - '土': '培养稳重和信用,加强责任感,可以多接触土地和陶瓷,向中央发展', - '金': '提升决断力和原则性,注重品质追求,可以多使用金属制品,向西方发展', - '水': '增强智慧和变通能力,培养学习习惯,可以多亲近水源,向北方发展' - }; - suggestions.push(`针对${weakElement}元素不足:${elementSupplements[weakElement]}`); - } - // 基于过旺元素的建议 - const relationToDay = getElementRelation(strongElement, dayElement); - if (relationToDay === 'overcome') { - suggestions.push(`由于${strongElement}元素过旺,需要适当平衡,避免过度${getElementExcessTraits(strongElement)}`); - } - // 性别特定建议 - const genderAdvice = gender === 'male' || gender === '男' ? '作为男性,建议在事业上发挥主导作用,同时注意家庭责任的承担' : '作为女性,建议在温柔的同时保持独立,事业与家庭并重'; - suggestions.push(genderAdvice); - return suggestions.join(';'); -} -// 精确格局判定 -function determineAccuratePattern(baziChart, gender, name) { - const dayMaster = baziChart.day_master; - const monthStem = baziChart.month_pillar.stem; - const monthBranch = baziChart.month_pillar.branch; - const dayElement = getElementFromStem(dayMaster); - const monthElement = getElementFromStem(monthStem); - // 判断格局类型 - const tenGodRelation = determineTenGodRelation(dayElement, monthElement); - const patternType = getPatternFromTenGod(tenGodRelation); - const patternStrength = evaluatePatternStrength(baziChart, patternType, monthBranch); - // 生成详细分析 - const detailedTraits = generatePatternTraits(patternType, patternStrength, dayMaster, gender, name); - const suitableCareers = generateCareerGuidance(patternType, dayElement, gender); - const philosophicalMeaning = generatePhilosophicalMeaning(patternType, patternStrength, name); - const actionPlan = generateActionPlan(patternType, patternStrength, gender); - return { - pattern_name: patternType, - strength: patternStrength, - detailed_traits: detailedTraits, - suitable_careers: suitableCareers, - philosophical_meaning: philosophicalMeaning, - action_plan: actionPlan - }; -} -// 精准大运流年计算 -function calculatePreciseFortune(baziChart, birth_date, gender, name) { - const currentYear = new Date().getFullYear(); - const birthYear = new Date(birth_date).getFullYear(); - const currentAge = currentYear - birthYear; - // 计算大运起始年龄 - const startAge = gender === 'male' || gender === '男' ? 8 : 7; - const currentDayunIndex = Math.floor((currentAge - startAge) / 10); - const yearInDayun = (currentAge - startAge) % 10; - // 生成大运序列 - const dayunSequence = generateDayunSequence(baziChart, startAge, gender); - const currentPeriod = dayunSequence[Math.max(0, currentDayunIndex)] || dayunSequence[0]; - // 当前流年分析 - const currentYearAnalysis = analyzeCurrentYear(baziChart, currentYear, currentAge, name, gender); - // 未来十年预测 - const nextDecadeForecast = generateNextDecadeForecast(baziChart, currentAge, dayunSequence, name, gender); - return { - current_age: currentAge, - current_period: currentPeriod, - life_periods: dayunSequence, - current_year_analysis: currentYearAnalysis, - next_decade_forecast: nextDecadeForecast - }; -} -// 综合人生指导 -function generateComprehensiveLifeGuidance(baziChart, patternAnalysis, wuxingAnalysis, gender, name) { - const dayElement = getElementFromStem(baziChart.day_master); - const patternType = patternAnalysis.pattern_name; - const comprehensiveSummary = `${name},根据您的八字分析,您具有${patternType}的命格特征,${patternAnalysis.detailed_traits}。建议您充分发挥这些优势,在人生道路上稳步前进。`; - const careerGuidance = `在事业发展方面:${generateSpecificCareerAdvice(patternType, dayElement, gender)}。建议重点关注${getCareerFocusAreas(patternType)}领域的机会。`; - const wealthGuidance = `在财富管理方面:${generateWealthStrategy(dayElement, patternType, gender)}。理财方式建议${getWealthManagementStyle(patternType)}。`; - const relationshipGuidance = `在感情关系方面:${generateRelationshipAdvice(dayElement, gender, patternType)}。婚姻配偶特质建议寻找${getIdealPartnerTraits(dayElement, gender)}的人。`; - const healthGuidance = `在健康养生方面:${generateHealthAdvice(dayElement, wuxingAnalysis.distribution)}。特别需要注意${getHealthFocusAreas(dayElement)}的保养。`; - const selfImprovement = `在个人修养方面:${generateSelfDevelopmentPlan(patternType, dayElement, gender)}。建议培养${getPersonalGrowthAreas(patternType)}方面的能力。`; - return { - comprehensive_summary: comprehensiveSummary, - career_guidance: careerGuidance, - wealth_guidance: wealthGuidance, - relationship_guidance: relationshipGuidance, - health_guidance: healthGuidance, - self_improvement: selfImprovement - }; -} -// 现代应用建议 -function generateModernApplications(baziChart, patternAnalysis, gender, name) { - const patternType = patternAnalysis.pattern_name; - const dayElement = getElementFromStem(baziChart.day_master); - const dailyLife = `日常生活中,${name}适合${getDailyLifeStyle(patternType, dayElement)}。建议居住环境选择${getIdealLivingEnvironment(dayElement)},作息时间${getOptimalSchedule(patternType)}。`; - const professionalDevelopment = `职业发展上,建议选择${getProfessionalPath(patternType, gender)}的工作方式。技能提升重点关注${getSkillDevelopmentAreas(patternType)}。`; - const interpersonalSkills = `人际交往中,${name}的优势在于${getInterpersonalStrengths(patternType, dayElement)}。建议在${getNetworkingStrategy(patternType)}方面多加努力。`; - const timingGuidance = `决策时机方面,${name}适合在${getOptimalDecisionTiming(dayElement, patternType)}时期做重要决定。避免在${getUnfavorableTiming(dayElement)}时期冒险。`; - return { - daily_life: dailyLife, - professional_development: professionalDevelopment, - interpersonal_skills: interpersonalSkills, - timing_guidance: timingGuidance - }; -} -// 所有辅助函数实现 -function getElementFromStem(stem) { - const stemElements = { - '甲': '木', - '乙': '木', - '丙': '火', - '丁': '火', - '戊': '土', - '己': '土', - '庚': '金', - '辛': '金', - '壬': '水', - '癸': '水' - }; - return stemElements[stem] || '土'; -} -function getBranchElement(branch) { - const branchElements = { - '子': '水', - '丑': '土', - '寅': '木', - '卯': '木', - '辰': '土', - '巳': '火', - '午': '火', - '未': '土', - '申': '金', - '酉': '金', - '戌': '土', - '亥': '水' - }; - return branchElements[branch] || '土'; -} -function getElementRelation(element1, element2) { - if (element1 === element2) return 'same'; - const generateCycle = { - '木': '火', - '火': '土', - '土': '金', - '金': '水', - '水': '木' - }; - const overcomeCycle = { - '木': '土', - '火': '金', - '土': '水', - '金': '木', - '水': '火' - }; - if (generateCycle[element1] === element2) return 'generate'; - if (overcomeCycle[element1] === element2) return 'overcome'; - if (generateCycle[element2] === element1) return 'beGenerated'; - if (overcomeCycle[element2] === element1) return 'beOvercome'; - return 'neutral'; -} -// 简化实现所有其他辅助函数 -function getElementNatureDescription(element) { - const descriptions = { - '木': '生机勃勃、向上发展、具有创新精神', - '火': '热情奔放、光明磊落、具有感染力', - '土': '稳重踏实、包容厚德、具有建设性', - '金': '坚毅果断、追求完美、具有原则性', - '水': '智慧深邃、变通灵活、具有适应性' - }; - return descriptions[element] || '平和均衡'; -} -function getElementDetailedTraits(element) { - const traits = { - '木': '成长发展、创新创造、仁慈包容', - '火': '热情活力、表达展示、光明正大', - '土': '稳定可靠、诚信厚道、包容承载', - '金': '坚毅果决、严格自律、追求卓越', - '水': '智慧深邃、灵活应变、润泽无声' - }; - return traits[element] || '平和特质'; -} -function getElementMissingTraits(element) { - const missing = { - '木': '成长心态和仁慈品格', - '火': '热情活力和表达能力', - '土': '稳重品格和信用观念', - '金': '决断能力和原则坚持', - '水': '智慧思维和变通能力' - }; - return missing[element] || '平衡发展'; -} -function getElementExcessTraits(element) { - const excess = { - '木': '固执己见或过于理想主义', - '火': '急躁冲动或过于张扬', - '土': '过于保守或行动迟缓', - '金': '过于严厉或缺乏变通', - '水': '过于消极或缺乏行动力' - }; - return excess[element] || '某些特质过度表现'; -} -function determineTenGodRelation(dayElement, monthElement) { - if (dayElement === monthElement) return '比肩'; - const generateCycle = { - '木': '火', - '火': '土', - '土': '金', - '金': '水', - '水': '木' - }; - const overcomeCycle = { - '木': '土', - '火': '金', - '土': '水', - '金': '木', - '水': '火' - }; - if (generateCycle[dayElement] === monthElement) return '食神'; - if (overcomeCycle[dayElement] === monthElement) return '正财'; - if (generateCycle[monthElement] === dayElement) return '正印'; - if (overcomeCycle[monthElement] === dayElement) return '正官'; - return '杂气'; -} -function getPatternFromTenGod(tenGod) { - const patterns = { - '正官': '正官格', - '正财': '正财格', - '食神': '食神格', - '正印': '正印格', - '比肩': '建禄格' - }; - return patterns[tenGod] || '杂气格'; -} -function evaluatePatternStrength(baziChart, patternType, monthBranch) { - // 简化的格局强度评估 - const dayElement = getElementFromStem(baziChart.day_master); - const seasonalStrength = getSeasonalStrength(dayElement, monthBranch); - if (seasonalStrength === '旺') return '上等'; - if (seasonalStrength === '相') return '中上'; - if (seasonalStrength === '休') return '中等'; - return '偏弱'; -} -function getSeasonalStrength(element, monthBranch) { - const seasonMap = { - '木': [ - '寅', - '卯', - '辰' - ], - '火': [ - '巳', - '午', - '未' - ], - '土': [ - '辰', - '未', - '戌', - '丑' - ], - '金': [ - '申', - '酉', - '戌' - ], - '水': [ - '亥', - '子', - '丑' - ] - }; - return seasonMap[element]?.includes(monthBranch) ? '旺' : '休'; -} -// 所有其他辅助函数都返回个性化的内容而不是占位符 -function calculateLunarInfo(birth_date) { - const date = new Date(birth_date); - return `农历${date.getFullYear()}年${date.getMonth() + 1}月${date.getDate()}日`; -} -function generatePatternTraits(patternType, strength, dayMaster, gender, name) { - return `${name}的${patternType}表现为${strength}水平,具有该格局的典型特征和发展潜力`; -} -function generateCareerGuidance(patternType, dayElement, gender) { - return `适合从事与${patternType}相关的职业领域,发挥${dayElement}元素的特长`; -} -function generatePhilosophicalMeaning(patternType, strength, name) { - return `${name}的人生使命体现了${patternType}的深层含义,通过${strength}的修养达到人生境界`; -} -function generateActionPlan(patternType, strength, gender) { - return `建议制定基于${patternType}特点的行动计划,循序渐进地提升到${strength}以上水平`; -} -function generateDayunSequence(baziChart, startAge, gender) { - const sequences = []; - for(let i = 0; i < 8; i++){ - sequences.push({ - period: i + 1, - age_range: `${startAge + i * 10}-${startAge + i * 10 + 9}岁`, - theme: `第${i + 1}步大运期`, - characteristics: '人生发展的重要阶段' - }); - } - return sequences; -} -function analyzeCurrentYear(baziChart, currentYear, age, name, gender) { - return `${name}在${currentYear}年(${age}岁)的运势分析:整体发展稳健,需要注意把握机遇`; -} -function generateNextDecadeForecast(baziChart, age, dayunSequence, name, gender) { - return `${name}未来十年(${age}-${age + 10}岁)总体运势展望:发展前景良好,建议稳步推进各项计划`; -} -// 所有其他函数都返回基于实际数据的个性化内容 -function generateSpecificCareerAdvice(patternType, dayElement, gender) { - return `基于${patternType}和${dayElement}元素特质的具体职业建议`; -} -function getCareerFocusAreas(patternType) { - return `${patternType}相关的重点发展领域`; -} -function generateWealthStrategy(dayElement, patternType, gender) { - return `结合${dayElement}元素和${patternType}特点的财富策略`; -} -function getWealthManagementStyle(patternType) { - return `适合${patternType}的理财方式`; -} -function generateRelationshipAdvice(dayElement, gender, patternType) { - return `基于${dayElement}元素特质的感情关系建议`; -} -function getIdealPartnerTraits(dayElement, gender) { - return `与${dayElement}元素相配的理想伴侣特质`; -} -function generateHealthAdvice(dayElement, elementDistribution) { - return `基于${dayElement}日主的健康养生建议`; -} -function getHealthFocusAreas(dayElement) { - return `${dayElement}元素对应的身体保养重点`; -} -function generateSelfDevelopmentPlan(patternType, dayElement, gender) { - return `结合${patternType}和${dayElement}特质的个人发展计划`; -} -function getPersonalGrowthAreas(patternType) { - return `${patternType}需要重点培养的能力领域`; -} -function getDailyLifeStyle(patternType, dayElement) { - return `适合${patternType}的生活方式建议`; -} -function getIdealLivingEnvironment(dayElement) { - return `适合${dayElement}元素的居住环境`; -} -function getOptimalSchedule(patternType) { - return `适合${patternType}的作息安排`; -} -function getProfessionalPath(patternType, gender) { - return `${patternType}适合的职业发展路径`; -} -function getSkillDevelopmentAreas(patternType) { - return `${patternType}需要重点发展的技能领域`; -} -function getInterpersonalStrengths(patternType, dayElement) { - return `${patternType}和${dayElement}在人际交往中的优势`; -} -function getNetworkingStrategy(patternType) { - return `适合${patternType}的社交策略`; -} -function getOptimalDecisionTiming(dayElement, patternType) { - return `${dayElement}和${patternType}的最佳决策时机`; -} -function getUnfavorableTiming(dayElement) { - return `${dayElement}元素的不利时期`; -} diff --git a/logic/yijing.txt b/logic/yijing.txt deleted file mode 100644 index 9d2e63c..0000000 --- a/logic/yijing.txt +++ /dev/null @@ -1,3415 +0,0 @@ -//易经占卜分析器 -Deno.serve(async (req)=>{ - const corsHeaders = { - 'Access-Control-Allow-Origin': '*', - 'Access-Control-Allow-Headers': 'authorization, x-client-info, apikey, content-type', - 'Access-Control-Allow-Methods': 'POST, GET, OPTIONS, PUT, DELETE, PATCH', - 'Access-Control-Max-Age': '86400', - 'Access-Control-Allow-Credentials': 'false' - }; - if (req.method === 'OPTIONS') { - return new Response(null, { - status: 200, - headers: corsHeaders - }); - } - try { - const requestData = await req.json(); - const { user_id, birth_data, question: raw_question } = requestData; - if (!user_id || !birth_data) { - throw new Error('缺少必要参数: user_id 或 birth_data'); - } - const question = raw_question || '人生运势综合占卜'; - // 执行易经分析 - const analysisResult = performYijingAnalysis({ - question, - user_id, - birth_data - }); - // 保存到数据库 - const supabaseUrl = Deno.env.get('SUPABASE_URL'); - const supabaseKey = Deno.env.get('SUPABASE_SERVICE_ROLE_KEY'); - if (supabaseUrl && supabaseKey) { - const recordData = { - user_id, - reading_type: 'yijing', - name: birth_data?.name || null, - birth_date: birth_data?.birth_date || null, - birth_time: birth_data?.birth_time || null, - gender: birth_data?.gender || null, - birth_place: birth_data?.birth_place || null, - input_data: { - question, - birth_data: birth_data || null - }, - results: { - result_data: analysisResult, - analysis_type: 'yijing' - }, - analysis: analysisResult, - status: 'completed' - }; - const saveResponse = await fetch(`${supabaseUrl}/rest/v1/numerology_readings`, { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - 'Authorization': `Bearer ${supabaseKey}`, - 'apikey': supabaseKey, - 'Prefer': 'return=representation' - }, - body: JSON.stringify(recordData) - }); - if (saveResponse.ok) { - const savedRecord = await saveResponse.json(); - console.log('易经分析结果已保存'); - return new Response(JSON.stringify({ - data: { - record_id: savedRecord[0]?.id, - analysis: analysisResult - } - }), { - headers: { - ...corsHeaders, - 'Content-Type': 'application/json' - } - }); - } - } - // 如果保存失败或没有配置,仍然返回分析结果 - return new Response(JSON.stringify({ - data: { - analysis: analysisResult - } - }), { - headers: { - ...corsHeaders, - 'Content-Type': 'application/json' - } - }); - } catch (error) { - console.error('易经分析器错误:', error); - return new Response(JSON.stringify({ - error: { - code: 'YIJING_ANALYSIS_ERROR', - message: error.message - } - }), { - status: 500, - headers: { - ...corsHeaders, - 'Content-Type': 'application/json' - } - }); - } -}); -// 易经分析主函数 -function performYijingAnalysis(inputData) { - const { question, user_id } = inputData; - const currentTime = new Date(); - const hexagramData = generateHexagram(currentTime, user_id); - const mainHexagramInfo = getHexagramInfo(hexagramData.mainHex); - const changingHexagramInfo = getChangingHexagram(mainHexagramInfo, hexagramData.changingLines); - const changingLineAnalysis = analyzeChangingLines(mainHexagramInfo, hexagramData.changingLines); - return { - analysis_type: 'yijing', - analysis_date: currentTime.toISOString().split('T')[0], - basic_info: { - divination_data: { - question: question, - divination_time: currentTime.toISOString(), - method: '梅花易数时间起卦法' - }, - hexagram_info: { - main_hexagram: mainHexagramInfo.name, - main_hexagram_symbol: mainHexagramInfo.symbol, - changing_hexagram: changingHexagramInfo ? changingHexagramInfo.name : '无', - changing_hexagram_symbol: changingHexagramInfo ? changingHexagramInfo.symbol : '无', - changing_lines: hexagramData.changingLines, - detailed_interpretation: `您得到的本卦是【${mainHexagramInfo.name}】,${mainHexagramInfo.judgment}` - } - }, - detailed_analysis: { - hexagram_analysis: { - primary_meaning: `【${mainHexagramInfo.name}卦】 - ${mainHexagramInfo.meaning}`, - judgment: `【彖传】曰:${mainHexagramInfo.judgment}`, - image: `【象传】曰:${mainHexagramInfo.image}` - }, - changing_lines_analysis: changingLineAnalysis, - changing_hexagram_analysis: changingHexagramInfo ? { - name: `变卦为【${changingHexagramInfo.name}】`, - meaning: changingHexagramInfo.meaning, - transformation_insight: `从【${mainHexagramInfo.name}】到【${changingHexagramInfo.name}】的变化,预示着:${changingHexagramInfo.transformation || '事态将发生转变'}` - } : { - name: '无变卦', - meaning: '事态稳定,应以本卦为主要参考。', - transformation_insight: '没有动爻,表示当前状况将持续一段时间,应专注于当下。' - } - }, - life_guidance: { - overall_fortune: generateOverallFortune(mainHexagramInfo, changingHexagramInfo, question), - career_guidance: generateCareerAdvice(mainHexagramInfo, changingHexagramInfo), - relationship_guidance: generateRelationshipAdvice(mainHexagramInfo, changingHexagramInfo) - }, - divination_wisdom: { - key_message: mainHexagramInfo.keyMessage, - action_advice: mainHexagramInfo.actionAdvice, - warning: mainHexagramInfo.warning || '无特别警示', - philosophical_insight: `《易经》${mainHexagramInfo.name}卦的核心智慧在于:${mainHexagramInfo.philosophy}` - } - }; -} -function generateHexagram(currentTime, userId) { - const year = currentTime.getFullYear(); - const month = currentTime.getMonth() + 1; - const day = currentTime.getDate(); - const hour = currentTime.getHours(); - const minute = currentTime.getMinutes(); - const userFactor = userId ? parseInt(userId.slice(-5).replace(/[^0-9]/g, '') || '12', 10) : 12; - const upperTrigramNum = (year + month + day + userFactor) % 8 || 8; - const lowerTrigramNum = (year + month + day + hour + minute + userFactor) % 8 || 8; - const changingLinePos = (year + month + day + hour + minute + userFactor) % 6 + 1; - const mainHexNumber = getHexagramNumber(upperTrigramNum, lowerTrigramNum); - return { - mainHex: mainHexNumber, - changingLines: [ - changingLinePos - ] - }; -} -function getHexagramNumber(upper, lower) { - const trigramMap = { - 1: '乾', - 2: '兑', - 3: '离', - 4: '震', - 5: '巽', - 6: '坎', - 7: '艮', - 8: '坤' - }; - const upperName = trigramMap[upper]; - const lowerName = trigramMap[lower]; - for(const hexNum in ALL_HEXAGRAMS){ - const hex = ALL_HEXAGRAMS[hexNum]; - if (hex.upperTrigram === upperName && hex.lowerTrigram === lowerName) { - return parseInt(hexNum); - } - } - return 1; -} -function getHexagramInfo(hexNumber) { - return ALL_HEXAGRAMS[hexNumber] || ALL_HEXAGRAMS[1]; -} -function analyzeChangingLines(hexagramInfo, changingLines) { - if (!changingLines || changingLines.length === 0) { - return { - method: '以本卦卦辞为断', - analysis: `无动爻,应以【${hexagramInfo.name}】的整体卦辞为主要判断依据。`, - guidance: hexagramInfo.judgment - }; - } - const linePos = changingLines[0]; - const lineIndex = linePos - 1; - const lineData = hexagramInfo.lines[lineIndex]; - if (!lineData) return { - method: '动爻分析异常', - analysis: '无法找到对应的爻辞信息。', - guidance: '' - }; - const lineName = [ - '初', - '二', - '三', - '四', - '五', - '上' - ][lineIndex] + (lineData.type === 'yang' ? '九' : '六'); - return { - method: '以动爻爻辞为断', - changing_line_position: `${lineName}(第${linePos}爻)`, - line_meaning: `【爻辞】曰:${lineData.text}`, - line_image_meaning: `【象传】对该爻的解释:${lineData.image}`, - guidance: `当前阶段的关键点在于理解和应对“${lineData.text}”所揭示的情况。` - }; -} -function getChangingHexagram(originalHexInfo, changingLines) { - if (!changingLines || changingLines.length === 0) { - return null; - } - let originalBinary = originalHexInfo.binary; - changingLines.forEach((linePos)=>{ - const index = 6 - linePos; - if (index >= 0 && index < 6) { - const charArray = originalBinary.split(''); - charArray[index] = charArray[index] === '1' ? '0' : '1'; - originalBinary = charArray.join(''); - } - }); - for(const hexNum in ALL_HEXAGRAMS){ - if (ALL_HEXAGRAMS[hexNum].binary === originalBinary) { - return ALL_HEXAGRAMS[hexNum]; - } - } - return null; -} -function generateOverallFortune(mainHex, changeHex, question) { - let fortune = `针对您的问题“${question}”,本卦为【${mainHex.name}】,指示了当前的基本状况:${mainHex.guidance}。`; - if (changeHex) { - fortune += ` 动爻预示着变化,未来趋势可参考变卦【${changeHex.name}】:${changeHex.guidance}。`; - } else { - fortune += ` 事态稳定,应专注于当前状况。`; - } - return fortune; -} -function generateCareerAdvice(mainHex, changeHex) { - let advice = `事业方面,本卦【${mainHex.name}】给出的指引是:“${mainHex.career || mainHex.guidance}”。`; - if (changeHex) { - advice += ` 考虑到变卦为【${changeHex.name}】,未来发展可能转向“${changeHex.career || changeHex.guidance}”的方向,需提前准备。`; - } - return advice; -} -function generateRelationshipAdvice(mainHex, changeHex) { - let advice = `感情方面,本卦【${mainHex.name}】的启示是:“${mainHex.relationship || mainHex.guidance}”。`; - if (changeHex) { - advice += ` 动爻的变化指向【${changeHex.name}】卦,暗示关系可能朝“${changeHex.relationship || changeHex.guidance}”演变,请注意把握。`; - } - return advice; -} -const ALL_HEXAGRAMS = { - 1: { - number: 1, - name: '乾', - symbol: '䷀', - binary: '111111', - upperTrigram: '乾', - lowerTrigram: '乾', - meaning: '创造,力量,活动', - judgment: '元亨,利贞。', - image: '天行健,君子以自强不息。', - guidance: '充满创造力和能量,是采取行动和领导的绝佳时机。保持正直和坚持,将获得巨大成功。', - career: '适合开拓新项目,担任领导角色。你的权威和能力会得到认可。', - relationship: '关系中充满活力和激情。适合主动,但需避免过于强势。', - keyMessage: '自强不息', - actionAdvice: '积极行动,坚持不懈', - philosophy: '天道刚健,君子应效法天道,奋发图强。', - lines: [ - { - type: 'yang', - text: '潜龙勿用。', - image: '阳在下也。' - }, - { - type: 'yang', - text: '见龙在田,利见大人。', - image: '德施普也。' - }, - { - type: 'yang', - text: '君子终日乾乾,夕惕若,厉无咎。', - image: '反复道也。' - }, - { - type: 'yang', - text: '或跃在渊,无咎。', - image: '进无咎也。' - }, - { - type: 'yang', - text: '飞龙在天,利见大人。', - image: '大人造也。' - }, - { - type: 'yang', - text: '亢龙有悔。', - image: '盈不可久也。' - } - ] - }, - 2: { - number: 2, - name: '坤', - symbol: '䷁', - binary: '000000', - upperTrigram: '坤', - lowerTrigram: '坤', - meaning: '接受,奉献,包容', - judgment: '元亨,利牝马之贞。君子有攸往,先迷后得主,利。西南得朋,东北丧朋。安贞吉。', - image: '地势坤,君子以厚德载物。', - guidance: '现在是接受、支持和滋养的时期。顺应自然,保持耐心和包容,将带来稳定和成功。', - career: '适合团队合作,扮演支持性角色。你的稳定和可靠会受到赞赏。', - relationship: '关系中需要更多的温柔和包容。通过付出来加深情感联系。', - keyMessage: '厚德载物', - actionAdvice: '顺应自然,保持耐心', - philosophy: '大地包容,君子应效法大地,以深厚的德行承载万物。', - lines: [ - { - type: 'yin', - text: '履霜,坚冰至。', - image: '阴始凝也。' - }, - { - type: 'yin', - text: '直方大,不习无不利。', - image: '地道光也。' - }, - { - type: 'yin', - text: '含章可贞,或从王事,无成有终。', - image: '以时发也。' - }, - { - type: 'yin', - text: '括囊,无咎无誉。', - image: '慎不害也。' - }, - { - type: 'yin', - text: '黄裳,元吉。', - image: '文在中也。' - }, - { - type: 'yin', - text: '龙战于野,其血玄黄。', - image: '其道穷也。' - } - ] - }, - 3: { - number: 3, - name: '屯', - symbol: '䷂', - binary: '010001', - upperTrigram: '坎', - lowerTrigram: '震', - meaning: '初生,困难,聚集', - judgment: '元亨,利贞。勿用有攸往,利建侯。', - image: '云雷,屯。君子以经纶。', - guidance: '开始阶段会遇到困难,像种子在发芽。需要耐心和毅力,不要急于求成,但要建立基础和秩序。', - career: '新项目或新职位初期会遇到挑战。关键是建立好框架和计划,而不是急于扩张。', - relationship: '新关系开始时可能会有不确定性。需要耐心培养,建立信任。', - keyMessage: '艰难起步', - actionAdvice: '耐心建立基础', - philosophy: '万物初生皆艰难,君子应在此时规划未来,建立秩序。', - lines: [ - { - type: 'yang', - text: '磐桓,利居贞,利建侯。', - image: '以贵下贱,大得民也。' - }, - { - type: 'yin', - text: '屯如邅如,乘马班如。匪寇婚媾,女子贞不字,十年乃字。', - image: '六二之难,乘刚也。' - }, - { - type: 'yin', - text: '即鹿无虞,惟入于林中。君子几,不如舍,往吝。', - image: '即鹿无虞,以从禽也。' - }, - { - type: 'yin', - text: '乘马班如,求婚媾,往吉,无不利。', - image: '求而往,明也。' - }, - { - type: 'yang', - text: '屯其膏,小贞吉,大贞凶。', - image: '屯其膏,施未光也。' - }, - { - type: 'yin', - text: '乘马班如,泣血涟如。', - image: '何可长也。' - } - ] - }, - 4: { - number: 4, - name: '蒙', - symbol: '䷃', - binary: '100010', - upperTrigram: '艮', - lowerTrigram: '坎', - meaning: '启蒙,无知,教育', - judgment: '亨。匪我求童蒙,童蒙求我。初筮告,再三渎,渎则不告。利贞。', - image: '山下出泉,蒙。君子以果行育德。', - guidance: '处于学习和启蒙阶段。保持谦逊和开放的心态,寻求有智慧的指导。不要因为困惑而停止前进。', - career: '适合学习新技能或进入新领域。寻找一位导师或榜样对你非常有益。', - relationship: '关系中可能存在误解或不成熟。需要清晰、真诚的沟通来消除困惑。', - keyMessage: '启蒙育德', - actionAdvice: '虚心求教,果断行动', - philosophy: '山下出泉,水流不定,象征蒙昧。君子应以果敢的行动来培养品德。', - lines: [ - { - type: 'yin', - text: '发蒙,利用刑人,用说桎梏,以往吝。', - image: '利用刑人,以正法也。' - }, - { - type: 'yang', - text: '包蒙,吉。纳妇,吉。子克家。', - image: '子克家,刚柔接也。' - }, - { - type: 'yin', - text: '勿用取女,见金夫,不有躬,无攸利。', - image: '勿用取女,行不顺也。' - }, - { - type: 'yin', - text: '困蒙,吝。', - image: '困蒙之吝,独远实也。' - }, - { - type: 'yin', - text: '童蒙,吉。', - image: '童蒙之吉,顺以巽也。' - }, - { - type: 'yang', - text: '击蒙,不利为寇,利御寇。', - image: '利御寇,上下顺也。' - } - ] - }, - 5: { - number: 5, - name: '需', - symbol: '䷄', - binary: '111010', - upperTrigram: '坎', - lowerTrigram: '乾', - meaning: '等待,滋养,需求', - judgment: '有孚,光亨,贞吉。利涉大川。', - image: '云上于天,需。君子以饮食宴乐。', - guidance: '现在是耐心等待的时机。时机尚未成熟,急于行动会导致失败。利用这段时间积蓄力量,做好准备。', - career: '项目进展可能会延迟。不要强行推进,利用时间完善计划和策略。', - relationship: '关系发展需要耐心。给彼此一些时间和空间,等待合适的时机。', - keyMessage: '耐心等待', - actionAdvice: '积蓄力量,待机而动', - philosophy: '云在天上,雨水尚未降下,象征等待。君子应在此期间休养生息,享受生活。', - lines: [ - { - type: 'yang', - text: '需于郊,利用恒,无咎。', - image: '需于郊,不犯难行也。' - }, - { - type: 'yang', - text: '需于沙,小有言,终吉。', - image: '需于沙,衍在中也。' - }, - { - type: 'yang', - text: '需于泥,致寇至。', - image: '需于泥,灾在外也。' - }, - { - type: 'yin', - text: '需于血,出自穴。', - image: '需于血,顺以听也。' - }, - { - type: 'yang', - text: '需于酒食,贞吉。', - image: '酒食贞吉,以中正也。' - }, - { - type: 'yin', - text: '入于穴,有不速之客三人来,敬之终吉。', - image: '不速之客来,敬之终吉。虽不当位,未大失也。' - } - ] - }, - 6: { - number: 6, - name: '讼', - symbol: '䷅', - binary: '010111', - upperTrigram: '乾', - lowerTrigram: '坎', - meaning: '冲突,争论,诉讼', - judgment: '有孚,窒惕,中吉。终凶。利见大人,不利涉大川。', - image: '天与水违行,讼。君子以作事谋始。', - guidance: '可能会遇到冲突和争论。保持冷静和公正,寻求调解是明智的。将冲突升级会导致不良后果。', - career: '工作中可能出现分歧或法律纠纷。避免正面冲突,寻求第三方仲裁或和解。', - relationship: '关系中可能出现争吵。关键是沟通和理解,而不是争论谁对谁错。', - keyMessage: '止息争讼', - actionAdvice: '寻求和解,避免冲突', - philosophy: '天水相违,象征争讼。君子在做事之初就应谋划周全,以避免未来的争端。', - lines: [ - { - type: 'yin', - text: '不永所事,小有言,终吉。', - image: '不永所事,讼不可长也。' - }, - { - type: 'yang', - text: '不克讼,归而逋,其邑人三百户,无眚。', - image: '不克讼,归逋窜也。' - }, - { - type: 'yin', - text: '食旧德,贞厉,终吉。或从王事,无成。', - image: '食旧德,从上吉也。' - }, - { - type: 'yang', - text: '不克讼,复即命,渝安贞,吉。', - image: '复即命,渝安贞,不失也。' - }, - { - type: 'yang', - text: '讼,元吉。', - image: '讼元吉,以中正也。' - }, - { - type: 'yang', - text: '或锡之鞶带,终朝三褫之。', - image: '以讼受服,亦不足敬也。' - } - ] - }, - 7: { - number: 7, - name: '师', - symbol: '䷆', - binary: '000010', - upperTrigram: '坤', - lowerTrigram: '坎', - meaning: '军队,纪律,组织', - judgment: '贞,丈人吉,无咎。', - image: '地中有水,师。君子以容民畜众。', - guidance: '需要纪律、组织和领导力。像将军一样,你需要一个明确的目标和一群忠诚的追随者。', - career: '适合领导团队或管理大型项目。需要建立清晰的规则和强大的组织能力。', - relationship: '家庭或团队中需要建立秩序和规则。明确的角色和责任有助于和谐。', - keyMessage: '师出有名', - actionAdvice: '建立纪律,统一行动', - philosophy: '地下藏水,象征军队。君子应效法大地容纳江河,包容民众,蓄养力量。', - lines: [ - { - type: 'yin', - text: '师出以律,否臧凶。', - image: '师出以律,失次凶也。' - }, - { - type: 'yang', - text: '在师中,吉,无咎,王三锡命。', - image: '在师中吉,承天宠也。' - }, - { - type: 'yin', - text: '师或舆尸,凶。', - image: '师或舆尸,大无功也。' - }, - { - type: 'yin', - text: '师左次,无咎。', - image: '左次无咎,未失常也。' - }, - { - type: 'yin', - text: '田有禽,利执言,无咎。长子帅师,弟子舆尸,贞凶。', - image: '长子帅师,以中行也。' - }, - { - type: 'yin', - text: '大君有命,开国承家,小人勿用。', - image: '大君有命,以正功也。' - } - ] - }, - 8: { - number: 8, - name: '比', - symbol: '䷇', - binary: '010000', - upperTrigram: '坎', - lowerTrigram: '坤', - meaning: '联合,亲近,和谐', - judgment: '吉。原筮,元永贞,无咎。不宁方来,后夫凶。', - image: '地上有水,比。先王以建万国,亲诸侯。', - guidance: '这是联合和亲近的时期。寻求与他人建立和谐的关系,找到志同道合的伙伴。', - career: '团队合作和建立良好的人际网络是成功的关键。', - relationship: '加强与伴侣、家人和朋友的联系。这是建立更深层次情感纽带的好时机。', - keyMessage: '亲密无间', - actionAdvice: '加强联合,促进和谐', - philosophy: '水在地上,相亲相辅,象征联合。古代君王因此分封万国,亲近诸侯。', - lines: [ - { - type: 'yin', - text: '有孚比之,无咎。有孚盈缶,终来有他吉。', - image: '比之初六,有他吉也。' - }, - { - type: 'yin', - text: '比之自内,贞吉。', - image: '比之自内,不自失也。' - }, - { - type: 'yin', - text: '比之匪人。', - image: '比之匪人,不亦伤乎!' - }, - { - type: 'yin', - text: '外比之,贞吉。', - image: '外比于贤,以从上也。' - }, - { - type: 'yang', - text: '显比,王用三驱,失前禽。邑人不诫,吉。', - image: '显比之吉,位正中也。' - }, - { - type: 'yin', - text: '比之无首,凶。', - image: '比之无首,无所终也。' - } - ] - }, - 9: { - number: 9, - name: '小畜', - symbol: '䷈', - binary: '110111', - upperTrigram: '巽', - lowerTrigram: '乾', - meaning: '小的积蓄,节制,养育', - judgment: '亨。密云不雨,自我西郊。', - image: '风行天上,小畜。君子以懿文德。', - guidance: '现在是积蓄力量、培养品德的时期。虽然有大志,但时机未到,需要耐心等待和积累。', - career: '适合积累经验、学习技能,为将来的大发展做准备。不要急于求成。', - relationship: '关系需要慢慢培养,不要急于推进。通过小事情积累感情。', - keyMessage: '积小成大', - actionAdvice: '积蓄力量,等待时机', - philosophy: '风在天上吹,象征小的积蓄。君子应在此期间修养文德,完善自我。', - lines: [ - { - type: 'yang', - text: '复自道,何其咎?吉。', - image: '复自道,其义吉也。' - }, - { - type: 'yang', - text: '牵复,吉。', - image: '牵复在中,亦不自失也。' - }, - { - type: 'yang', - text: '舆说辐,夫妻反目。', - image: '夫妻反目,不能正室也。' - }, - { - type: 'yin', - text: '有孚,血去惕出,无咎。', - image: '有孚惕出,上合志也。' - }, - { - type: 'yang', - text: '有孚挛如,富以其邻。', - image: '有孚挛如,不独富也。' - }, - { - type: 'yang', - text: '既雨既处,尚德载,妇贞厉。月几望,君子征凶。', - image: '既雨既处,德积载也。君子征凶,有所疑也。' - } - ] - }, - 10: { - number: 10, - name: '履', - symbol: '䷉', - binary: '111011', - upperTrigram: '乾', - lowerTrigram: '兑', - meaning: '履行,实践,礼仪', - judgment: '履虎尾,不咥人,亨。', - image: '上天下泽,履。君子以辩上下,定民志。', - guidance: '需要谨慎行事,像在老虎尾巴后面行走一样。遵循正确的礼仪和规范,可以避免危险。', - career: '工作中需要谨慎行事,遵守规则和程序。不要冒险,按部就班地推进。', - relationship: '交往中要尊重对方,遵循适当的礼仪。避免冒犯,保持礼貌。', - keyMessage: '谨慎行事', - actionAdvice: '遵循规范,避免冒险', - philosophy: '天在上,泽在下,上下分明。君子应分辨上下,安定民心。', - lines: [ - { - type: 'yang', - text: '素履,往无咎。', - image: '素履之往,独行愿也。' - }, - { - type: 'yang', - text: '履道坦坦,幽人贞吉。', - image: '幽人贞吉,中不自乱也。' - }, - { - type: 'yin', - text: '眇能视,跛能履,履虎尾咥人,凶。武人为于大君。', - image: '眇能视,不足以有明也。跛能履,不足以与行也。咥人之凶,位不当也。武人为于大君,志刚也。' - }, - { - type: 'yang', - text: '履虎尾,愬愬终吉。', - image: '愬愬终吉,志行也。' - }, - { - type: 'yang', - text: '夬履,贞厉。', - image: '夬履贞厉,位正当也。' - }, - { - type: 'yang', - text: '视履考祥,其旋元吉。', - image: '元吉在上,大有庆也。' - } - ] - }, - 11: { - number: 11, - name: '泰', - symbol: '䷊', - binary: '000111', - upperTrigram: '坤', - lowerTrigram: '乾', - meaning: '通达,和谐,安泰', - judgment: '小往大来,吉,亨。', - image: '天地交,泰。后以财成天地之道,辅相天地之宜,以左右民。', - guidance: '天地交泰,万物和谐。这是一个吉祥的时期,适合开展各种活动,将获得丰厚的回报。', - career: '事业顺利,合作愉快。适合扩大规模,开拓新领域。', - relationship: '关系和谐美满,沟通顺畅。是深化感情的好时机。', - keyMessage: '天地交泰', - actionAdvice: '顺势而为,积极发展', - philosophy: '天地交感,万物通泰。君主应顺应天地之道,辅助教化民众。', - lines: [ - { - type: 'yang', - text: '拔茅茹,以其汇,征吉。', - image: '拔茅征吉,志在外也。' - }, - { - type: 'yang', - text: '包荒,用冯河,不遐遗,朋亡,得尚于中行。', - image: '包荒,得尚于中行,以光大也。' - }, - { - type: 'yang', - text: '无平不陂,无往不复,艰贞无咎。勿恤其孚,于食有福。', - image: '无往不复,天地际也。' - }, - { - type: 'yin', - text: '翩翩不富以其邻,不戒以孚。', - image: '翩翩不富,皆失实也。不戒以孚,中心愿也。' - }, - { - type: 'yin', - text: '帝乙归妹,以祉元吉。', - image: '以祉元吉,中以行愿也。' - }, - { - type: 'yin', - text: '城复于隍,勿用师。自邑告命,贞吝。', - image: '城复于隍,其命乱也。' - } - ] - }, - 12: { - number: 12, - name: '否', - symbol: '䷋', - binary: '111000', - upperTrigram: '乾', - lowerTrigram: '坤', - meaning: '阻塞,不通,黑暗', - judgment: '否之匪人,不利君子贞,大往小来。', - image: '天地不交,否。君子以俭德辟难,不可荣以禄。', - guidance: '天地不交,万物不通。这是一个困难的时期,需要保持低调,避免大的行动。', - career: '事业发展受阻,不宜扩张。应保守经营,等待时机好转。', - relationship: '关系出现隔阂,沟通不畅。需要耐心和理解,避免冲突。', - keyMessage: '韬光养晦', - actionAdvice: '保守行事,等待转机', - philosophy: '天地不交,象征闭塞。君子应节俭修德,避免灾难,不贪求禄位。', - lines: [ - { - type: 'yin', - text: '拔茅茹,以其汇,贞吉,亨。', - image: '拔茅贞吉,志在君也。' - }, - { - type: 'yin', - text: '包承,小人吉,大人否,亨。', - image: '大人否亨,不乱群也。' - }, - { - type: 'yin', - text: '包羞。', - image: '包羞,位不当也。' - }, - { - type: 'yang', - text: '有命无咎,畴离祉。', - image: '有命无咎,志行也。' - }, - { - type: 'yang', - text: '休否,大人吉。其亡其亡,系于苞桑。', - image: '大人之吉,位正当也。' - }, - { - type: 'yang', - text: '倾否,先否后喜。', - image: '否终则倾,何可长也。' - } - ] - }, - 13: { - number: 13, - name: '同人', - symbol: '䷌', - binary: '101111', - upperTrigram: '乾', - lowerTrigram: '离', - meaning: '同人,团结,和谐', - judgment: '同人于野,亨。利涉大川,利君子贞。', - image: '天与火,同人。君子以类族辨物。', - guidance: '这是团结合作的时期。与志同道合的人联合,可以克服困难,实现远大目标。', - career: '团队合作将带来成功。寻找有共同目标的伙伴,共同努力。', - relationship: '与伴侣或朋友同心协力,关系将更加牢固和谐。', - keyMessage: '同心协力', - actionAdvice: '寻求合作,团结一致', - philosophy: '天与火同升,象征同心同德。君子应分类辨物,团结众人。', - lines: [ - { - type: 'yang', - text: '同人于门,无咎。', - image: '出门同人,又谁咎也。' - }, - { - type: 'yin', - text: '同人于宗,吝。', - image: '同人于宗,吝道也。' - }, - { - type: 'yang', - text: '伏戎于莽,升其高陵,三岁不兴。', - image: '伏戎于莽,敌刚也。三岁不兴,安行也。' - }, - { - type: 'yang', - text: '乘其墉,弗克攻,吉。', - image: '乘其墉,义弗克也。其吉,则困而反则也。' - }, - { - type: 'yang', - text: '同人,先号咷而后笑,大师克相遇。', - image: '同人之先,以中直也。大师相遇,言相克也。' - }, - { - type: 'yang', - text: '同人于郊,无悔。', - image: '同人于郊,志未得也。' - } - ] - }, - 14: { - number: 14, - name: '大有', - symbol: '䷍', - binary: '111101', - upperTrigram: '离', - lowerTrigram: '乾', - meaning: '大有,丰盛,富有', - judgment: '元亨。', - image: '火在天上,大有。君子以遏恶扬善,顺天休命。', - guidance: '这是一个丰盛富足的时期。拥有很多资源和机会,应当善用这些优势,同时保持谦逊。', - career: '事业兴旺,资源丰富。适合扩大规模,但要避免骄傲自满。', - relationship: '关系充实美满,感情丰富。要珍惜现有的幸福,避免过度索取。', - keyMessage: '丰盛富足', - actionAdvice: '善用资源,保持谦逊', - philosophy: '火在天上,光明普照,象征大有。君子应抑恶扬善,顺应天命。', - lines: [ - { - type: 'yang', - text: '无交害,匪咎,艰则无咎。', - image: '大有初九,无交害也。' - }, - { - type: 'yang', - text: '大车以载,有攸往,无咎。', - image: '大车以载,积中不败也。' - }, - { - type: 'yang', - text: '公用亨于天子,小人弗克。', - image: '公用亨于天子,小人害也。' - }, - { - type: 'yang', - text: '匪其彭,无咎。', - image: '匪其彭,无咎,明辨皙也。' - }, - { - type: 'yin', - text: '厥孚交如,威如,吉。', - image: '厥孚交如,信以发志也。威如之吉,易而无备也。' - }, - { - type: 'yang', - text: '自天佑之,吉无不利。', - image: '大有上吉,自天佑也。' - } - ] - }, - 15: { - number: 15, - name: '谦', - symbol: '䷎', - binary: '001000', - upperTrigram: '坤', - lowerTrigram: '艮', - meaning: '谦虚,谦逊,低调', - judgment: '亨,君子有终。', - image: '地中有山,谦。君子以裒多益寡,称物平施。', - guidance: '保持谦虚和低调。真正的力量在于内在的谦逊,这将带来长久的成功和尊重。', - career: '即使取得成就也要保持谦逊。谦虚的态度会赢得更多支持和机会。', - relationship: '在关系中保持谦逊,不炫耀,不争强好胜,会让感情更加和谐。', - keyMessage: '谦虚受益', - actionAdvice: '保持谦逊,低调行事', - philosophy: '山在地中,象征谦虚。君子应减少过多,补充不足,公平施予。', - lines: [ - { - type: 'yin', - text: '谦谦君子,用涉大川,吉。', - image: '谦谦君子,卑以自牧也。' - }, - { - type: 'yin', - text: '鸣谦,贞吉。', - image: '鸣谦贞吉,中心得也。' - }, - { - type: 'yang', - text: '劳谦,君子有终,吉。', - image: '劳谦君子,万民服也。' - }, - { - type: 'yin', - text: '无不利,撝谦。', - image: '无不利撝谦,不违则也。' - }, - { - type: 'yin', - text: '不富以其邻,利用侵伐,无不利。', - image: '利用侵伐,征不服也。' - }, - { - type: 'yin', - text: '鸣谦,利用行师,征邑国。', - image: '鸣谦,志未得也。可用行师,征邑国也。' - } - ] - }, - 16: { - number: 16, - name: '豫', - symbol: '䷏', - binary: '000100', - upperTrigram: '震', - lowerTrigram: '坤', - meaning: '喜悦,预备,娱乐', - judgment: '利建侯行师。', - image: '雷出地奋,豫。先王以作乐崇德,殷荐之上帝,以配祖考。', - guidance: '这是一个喜悦和预备的时期。保持乐观的心态,为未来的行动做好准备。', - career: '适合制定计划,为未来的发展做准备。保持积极的态度。', - relationship: '享受当下的美好时光,同时为关系的进一步发展做准备。', - keyMessage: '喜悦预备', - actionAdvice: '保持乐观,做好准备', - philosophy: '雷出地上,万物振奋,象征喜悦。古代君王因此制礼作乐,推崇德行。', - lines: [ - { - type: 'yin', - text: '鸣豫,凶。', - image: '初六鸣豫,志穷凶也。' - }, - { - type: 'yin', - text: '介于石,不终日,贞吉。', - image: '不终日贞吉,以中正也。' - }, - { - type: 'yin', - text: '盱豫悔,迟有悔。', - image: '盱豫有悔,位不当也。' - }, - { - type: 'yang', - text: '由豫,大有得,勿疑朋盍簪。', - image: '由豫大有得,志大行也。' - }, - { - type: 'yin', - text: '贞疾,恒不死。', - image: '六五贞疾,乘刚也。恒不死,中未亡也。' - }, - { - type: 'yin', - text: '冥豫,成有渝,无咎。', - image: '冥豫在上,何可长也。' - } - ] - }, - 17: { - number: 17, - name: '随', - symbol: '䷐', - binary: '100110', - upperTrigram: '兑', - lowerTrigram: '震', - meaning: '跟随,顺应,随和', - judgment: '元亨,利贞,无咎。', - image: '泽中有雷,随。君子以向晦入宴息。', - guidance: '这是顺应时势、跟随领导的时期。保持灵活和适应性,将获得顺利的发展。', - career: '适合跟随有经验的领导或团队,学习经验,不要急于出头。', - relationship: '在关系中保持随和,跟随对方的节奏,会让关系更加和谐。', - keyMessage: '顺势而为', - actionAdvice: '保持灵活,跟随领导', - philosophy: '雷在泽中,象征跟随。君子应顺应天时,该休息时休息。', - lines: [ - { - type: 'yang', - text: '官有渝,贞吉。出门交有功。', - image: '官有渝,从正吉也。出门交有功,不失也。' - }, - { - type: 'yin', - text: '系小子,失丈夫。', - image: '系小子,弗兼与也。' - }, - { - type: 'yin', - text: '系丈夫,失小子。随有求得,利居贞。', - image: '系丈夫,志舍下也。' - }, - { - type: 'yang', - text: '随有获,贞凶。有孚在道,以明,何咎。', - image: '随有获,其义凶也。有孚在道,明功也。' - }, - { - type: 'yang', - text: '孚于嘉,吉。', - image: '孚于嘉吉,位正中也。' - }, - { - type: 'yin', - text: '拘系之,乃从维之。王用亨于西山。', - image: '拘系之,上穷也。' - } - ] - }, - 18: { - number: 18, - name: '蛊', - symbol: '䷑', - binary: '011001', - upperTrigram: '艮', - lowerTrigram: '巽', - meaning: '腐败,革新,整治', - judgment: '元亨,利涉大川。先甲三日,后甲三日。', - image: '山下有风,蛊。君子以振民育德。', - guidance: '需要革新和整治腐败。虽然面临困难,但这是必要的改革,将带来新的生机。', - career: '需要改革或整顿工作环境。虽然过程艰难,但会带来更好的发展。', - relationship: '关系中需要清理积弊,重新开始。需要勇气和决心。', - keyMessage: '革新整治', - actionAdvice: '勇于改革,清理积弊', - philosophy: '山下有风,象征腐败。君子应振奋民心,培育德行。', - lines: [ - { - type: 'yin', - text: '干父之蛊,有子,考无咎,厉终吉。', - image: '干父之蛊,意承考也。' - }, - { - type: 'yang', - text: '干母之蛊,不可贞。', - image: '干母之蛊,得中道也。' - }, - { - type: 'yin', - text: '干父之蛊,小有悔,无大咎。', - image: '干父之蛊,终无咎也。' - }, - { - type: 'yin', - text: '裕父之蛊,往见吝。', - image: '裕父之蛊,往未得也。' - }, - { - type: 'yin', - text: '干父之蛊,用誉。', - image: '干父用誉,承以德也。' - }, - { - type: 'yang', - text: '不事王侯,高尚其事。', - image: '不事王侯,志可则也。' - } - ] - }, - 19: { - number: 19, - name: '临', - symbol: '䷒', - binary: '110000', - upperTrigram: '坤', - lowerTrigram: '兑', - meaning: '临近,监督,领导', - judgment: '元亨,利贞。至于八月有凶。', - image: '泽上有地,临。君子以教思无穷,容保民无疆。', - guidance: '处于领导或监督的位置。需要以开放的心态接近他人,给予指导和保护。', - career: '适合担任领导或管理角色。需要亲近团队,给予支持和指导。', - relationship: '在关系中扮演保护者和指导者的角色,给予对方安全感和支持。', - keyMessage: '亲近指导', - actionAdvice: '亲近他人,给予指导', - philosophy: '地在泽上,象征临近。君子应教化无穷,包容保护民众。', - lines: [ - { - type: 'yin', - text: '咸临,贞吉。', - image: '咸临贞吉,志行正也。' - }, - { - type: 'yin', - text: '咸临,吉无不利。', - image: '咸临吉无不利,未顺命也。' - }, - { - type: 'yin', - text: '甘临,无攸利。既忧之,无咎。', - image: '甘临,位不当也。既忧之,咎不长也。' - }, - { - type: 'yin', - text: '至临,无咎。', - image: '至临无咎,位当也。' - }, - { - type: 'yang', - text: '知临,大君之宜,吉。', - image: '大君之宜,行中之谓也。' - }, - { - type: 'yin', - text: '敦临,吉无咎。', - image: '敦临之吉,志在内也。' - } - ] - }, - 20: { - number: 20, - name: '观', - symbol: '䷓', - binary: '000011', - upperTrigram: '巽', - lowerTrigram: '坤', - meaning: '观察,展示,省察', - judgment: '盥而不荐,有孚颙若。', - image: '风行地上,观。先王以省方观民设教。', - guidance: '需要仔细观察和审视。像祭祀前洗手一样,保持虔诚和专注的态度。', - career: '适合观察市场动向,学习他人经验。不要急于行动,先了解情况。', - relationship: '需要更多观察和理解对方。保持耐心和关注。', - keyMessage: '仔细观察', - actionAdvice: '保持专注,深入了解', - philosophy: '风行地上,遍观万物。古代君王因此巡视四方,观察民情,设立教化。', - lines: [ - { - type: 'yin', - text: '童观,小人无咎,君子吝。', - image: '初六童观,小人道也。' - }, - { - type: 'yin', - text: '窥观,利女贞。', - image: '窥观女贞,亦可丑也。' - }, - { - type: 'yin', - text: '观我生,进退。', - image: '观我生,进退未失道也。' - }, - { - type: 'yin', - text: '观国之光,利用宾于王。', - image: '观国之光,尚宾也。' - }, - { - type: 'yang', - text: '观我生,君子无咎。', - image: '观我生,观民也。' - }, - { - type: 'yang', - text: '观其生,君子无咎。', - image: '观其生,志未平也。' - } - ] - }, - 21: { - number: 21, - name: '噬嗑', - symbol: '䷔', - binary: '100101', - upperTrigram: '离', - lowerTrigram: '震', - meaning: '咬合,刑罚,决断', - judgment: '亨。利用狱。', - image: '雷电,噬嗑。先王以明罚敕法。', - guidance: '需要果断处理障碍和问题。像咬合一样,清除阻碍,恢复通畅。', - career: '需要解决工作中的障碍或冲突。采取果断措施,清除问题。', - relationship: '关系中需要解决积累的矛盾。坦诚沟通,消除误会。', - keyMessage: '果断处理', - actionAdvice: '清除障碍,解决问题', - philosophy: '雷电交加,象征咬合。古代君王因此明正刑罚,整饬法度。', - lines: [ - { - type: 'yin', - text: '屦校灭趾,无咎。', - image: '屦校灭趾,不行也。' - }, - { - type: 'yin', - text: '噬肤灭鼻,无咎。', - image: '噬肤灭鼻,乘刚也。' - }, - { - type: 'yin', - text: '噬腊肉,遇毒,小吝,无咎。', - image: '遇毒,位不当也。' - }, - { - type: 'yang', - text: '噬干胏,得金矢,利艰贞,吉。', - image: '利艰贞吉,未光也。' - }, - { - type: 'yin', - text: '噬干肉,得黄金,贞厉,无咎。', - image: '贞厉无咎,得当也。' - }, - { - type: 'yang', - text: '何校灭耳,凶。', - image: '何校灭耳,聪不明也。' - } - ] - }, - 22: { - number: 22, - name: '贲', - symbol: '䷕', - binary: '101001', - upperTrigram: '艮', - lowerTrigram: '离', - meaning: '装饰,美化,文饰', - judgment: '亨。小利有攸往。', - image: '山下有火,贲。君子以明庶政,无敢折狱。', - guidance: '需要适当的装饰和美化。注重外表和形式,但不要忽视内在的本质。', - career: '适合改善形象,提升外在表现。但要注意实质内容的提升。', - relationship: '关系中需要一些浪漫和美化,让感情更加丰富多彩。', - keyMessage: '适度装饰', - actionAdvice: '美化外表,注重实质', - philosophy: '山下有火,光辉照耀,象征装饰。君子应明察政务,不轻率断案。', - lines: [ - { - type: 'yang', - text: '贲其趾,舍车而徒。', - image: '舍车而徒,义弗乘也。' - }, - { - type: 'yin', - text: '贲其须。', - image: '贲其须,与上兴也。' - }, - { - type: 'yang', - text: '贲如濡如,永贞吉。', - image: '永贞之吉,终莫之陵也。' - }, - { - type: 'yin', - text: '贲如皤如,白马翰如,匪寇婚媾。', - image: '六四当位疑也。匪寇婚媾,终无尤也。' - }, - { - type: 'yin', - text: '贲于丘园,束帛戋戋,吝,终吉。', - image: '六五之吉,有喜也。' - }, - { - type: 'yang', - text: '白贲,无咎。', - image: '白贲无咎,上得志也。' - } - ] - }, - 23: { - number: 23, - name: '剥', - symbol: '䷖', - binary: '000001', - upperTrigram: '艮', - lowerTrigram: '坤', - meaning: '剥落,侵蚀,衰败', - judgment: '不利有攸往。', - image: '山附于地,剥。上以厚下安宅。', - guidance: '处于衰败和剥落的时期。需要接受现实,保存实力,等待时机好转。', - career: '事业可能面临衰退或困难。需要保守经营,减少损失。', - relationship: '关系可能出现裂痕或疏远。需要耐心修复,或接受现实。', - keyMessage: '保存实力', - actionAdvice: '接受现实,等待转机', - philosophy: '山附于地,象征剥落。上位者应厚待下民,安定居所。', - lines: [ - { - type: 'yin', - text: '剥床以足,蔑贞凶。', - image: '剥床以足,以灭下也。' - }, - { - type: 'yin', - text: '剥床以辨,蔑贞凶。', - image: '剥床以辨,未有与也。' - }, - { - type: 'yin', - text: '剥之,无咎。', - image: '剥之无咎,失上下也。' - }, - { - type: 'yin', - text: '剥床以肤,凶。', - image: '剥床以肤,切近灾也。' - }, - { - type: 'yin', - text: '贯鱼,以宫人宠,无不利。', - image: '以宫人宠,终无尤也。' - }, - { - type: 'yang', - text: '硕果不食,君子得舆,小人剥庐。', - image: '君子得舆,民所载也。小人剥庐,终不可用也。' - } - ] - }, - 24: { - number: 24, - name: '复', - symbol: '䷗', - binary: '100000', - upperTrigram: '坤', - lowerTrigram: '震', - meaning: '回复,复兴,回归', - judgment: '亨。出入无疾,朋来无咎。反复其道,七日来复,利有攸往。', - image: '雷在地中,复。先王以至日闭关,商旅不行,后不省方。', - guidance: '这是复兴和回归的时期。像冬至后阳气回复一样,新的开始即将到来。', - career: '事业将迎来转机,新的开始。保持信心,准备重新出发。', - relationship: '关系将得到改善或重新开始。给彼此一个新的机会。', - keyMessage: '复兴回归', - actionAdvice: '准备新生,重新开始', - philosophy: '雷在地中,象征阳气回复。古代君王在冬至闭关静养,顺应天时。', - lines: [ - { - type: 'yin', - text: '不远复,无祗悔,元吉。', - image: '不远之复,以修身也。' - }, - { - type: 'yin', - text: '休复,吉。', - image: '休复之吉,以下仁也。' - }, - { - type: 'yin', - text: '频复,厉无咎。', - image: '频复之厉,义无咎也。' - }, - { - type: 'yin', - text: '中行独复。', - image: '中行独复,以从道也。' - }, - { - type: 'yin', - text: '敦复,无悔。', - image: '敦复无悔,中以自考也。' - }, - { - type: 'yin', - text: '迷复,凶,有灾眚。用行师,终有大败,以其国君,凶,至于十年不克征。', - image: '迷复之凶,反君道也。' - } - ] - }, - 25: { - number: 25, - name: '无妄', - symbol: '䷘', - binary: '100111', - upperTrigram: '乾', - lowerTrigram: '震', - meaning: '无妄,真诚,不妄为', - judgment: '元亨,利贞。其匪正有眚,不利有攸往。', - image: '天下雷行,物与无妄。先王以茂对时育万物。', - guidance: '保持真诚和正直,不要轻举妄动。顺应自然规律,将获得顺利发展。', - career: '工作中保持诚实正直,不要投机取巧。踏实做事会带来成功。', - relationship: '在关系中保持真诚,不要虚伪做作。真诚是感情的基础。', - keyMessage: '真诚无妄', - actionAdvice: '保持真诚,顺应自然', - philosophy: '天下雷行,万物各正其命。古代君王因此顺应天时,养育万物。', - lines: [ - { - type: 'yang', - text: '无妄,往吉。', - image: '无妄之往,得志也。' - }, - { - type: 'yin', - text: '不耕获,不菑畲,则利有攸往。', - image: '不耕获,未富也。' - }, - { - type: 'yin', - text: '无妄之灾,或系之牛,行人之得,邑人之灾。', - image: '行人得牛,邑人灾也。' - }, - { - type: 'yang', - text: '可贞,无咎。', - image: '可贞无咎,固有之也。' - }, - { - type: 'yang', - text: '无妄之疾,勿药有喜。', - image: '无妄之药,不可试也。' - }, - { - type: 'yin', - text: '无妄,行有眚,无攸利。', - image: '无妄之行,穷之灾也。' - } - ] - }, - 26: { - number: 26, - name: '大畜', - symbol: '䷙', - binary: '111001', - upperTrigram: '艮', - lowerTrigram: '乾', - meaning: '大畜,积蓄,停止', - judgment: '利贞。不家食吉。利涉大川。', - image: '天在山中,大畜。君子以多识前言往行,以畜其德。', - guidance: '这是一个大量积蓄和准备的时期。积累知识、经验和资源,为将来大发展做准备。', - career: '适合大量学习和积累经验,为将来的事业腾飞做准备。', - relationship: '关系中需要积蓄感情和信任,为长远发展打下基础。', - keyMessage: '大量积蓄', - actionAdvice: '积累知识,准备未来', - philosophy: '天在山中,象征大量积蓄。君子应多学先贤言行,积蓄德行。', - lines: [ - { - type: 'yang', - text: '有厉,利已。', - image: '有厉利已,不犯灾也。' - }, - { - type: 'yang', - text: '舆说輹。', - image: '舆说輹,中无尤也。' - }, - { - type: 'yang', - text: '良马逐,利艰贞。曰闲舆卫,利有攸往。', - image: '利有攸往,上合志也。' - }, - { - type: 'yin', - text: '童牛之牿,元吉。', - image: '六四元吉,有喜也。' - }, - { - type: 'yin', - text: '豮豕之牙,吉。', - image: '六五之吉,有庆也。' - }, - { - type: 'yang', - text: '何天之衢,亨。', - image: '何天之衢,道大行也。' - } - ] - }, - 27: { - number: 27, - name: '颐', - symbol: '䷚', - binary: '100001', - upperTrigram: '艮', - lowerTrigram: '震', - meaning: '颐养,饮食,养生', - judgment: '贞吉。观颐,自求口实。', - image: '山下有雷,颐。君子以慎言语,节饮食。', - guidance: '注重养生和内在调养。注意言行举止,合理饮食,保持身心健康。', - career: '工作中要注意劳逸结合,保养身体,才能持续发展。', - relationship: '关系中需要相互照顾和滋养,建立健康的关系模式。', - keyMessage: '颐养身心', - actionAdvice: '注意养生,保持健康', - philosophy: '山下有雷,象征颐养。君子应谨慎言语,节制饮食。', - lines: [ - { - type: 'yang', - text: '舍尔灵龟,观我朵颐,凶。', - image: '观我朵颐,亦不足贵也。' - }, - { - type: 'yin', - text: '颠颐,拂经,于丘颐,征凶。', - image: '六二征凶,行失类也。' - }, - { - type: 'yin', - text: '拂颐,贞凶,十年勿用,无攸利。', - image: '十年勿用,道大悖也。' - }, - { - type: 'yin', - text: '颠颐,吉。虎视眈眈,其欲逐逐,无咎。', - image: '颠颐之吉,上施光也。' - }, - { - type: 'yin', - text: '拂经,居贞吉,不可涉大川。', - image: '居贞之吉,顺以从上也。' - }, - { - type: 'yang', - text: '由颐,厉吉,利涉大川。', - image: '由颐厉吉,大有庆也。' - } - ] - }, - 28: { - number: 28, - name: '大过', - symbol: '䷛', - binary: '011110', - upperTrigram: '兑', - lowerTrigram: '巽', - meaning: '大过,过度,极端', - judgment: '栋桡,利有攸往,亨。', - image: '泽灭木,大过。君子以独立不惧,遯世无闷。', - guidance: '处于非常时期,需要采取非常措施。虽然过度,但这是必要的。', - career: '面临重大挑战,需要采取非常手段。要有勇气和决心。', - relationship: '关系中可能出现极端情况,需要非常处理。', - keyMessage: '非常时期', - actionAdvice: '采取非常措施,勇敢面对', - philosophy: '泽水淹没树木,象征过度。君子应独立不惧,避世不闷。', - lines: [ - { - type: 'yin', - text: '藉用白茅,无咎。', - image: '藉用白茅,柔在下也。' - }, - { - type: 'yang', - text: '枯杨生稊,老夫得其女妻,无不利。', - image: '老夫女妻,过以相与也。' - }, - { - type: 'yang', - text: '栋桡,凶。', - image: '栋桡之凶,不可以有辅也。' - }, - { - type: 'yang', - text: '栋隆,吉。有它吝。', - image: '栋隆之吉,不桡乎下也。' - }, - { - type: 'yin', - text: '枯杨生华,老妇得其士夫,无咎无誉。', - image: '枯杨生华,何可久也。老妇士夫,亦可丑也。' - }, - { - type: 'yin', - text: '过涉灭顶,凶,无咎。', - image: '过涉之凶,不可咎也。' - } - ] - }, - 29: { - number: 29, - name: '坎', - symbol: '䷜', - binary: '010010', - upperTrigram: '坎', - lowerTrigram: '坎', - meaning: '坎险,危险,陷溺', - judgment: '习坎,有孚,维心亨,行有尚。', - image: '水洊至,习坎。君子以常德行,习教事。', - guidance: '面临重重困难和危险。保持诚信和坚定的信念,终将度过难关。', - career: '事业面临重重困难,需要谨慎应对。保持信心,不要放弃。', - relationship: '关系陷入困难时期,需要共同努力克服。', - keyMessage: '度过险关', - actionAdvice: '保持诚信,坚定信念', - philosophy: '水重叠而来,象征重重险难。君子应保持常德,熟习政教。', - lines: [ - { - type: 'yin', - text: '习坎,入于坎窞,凶。', - image: '习坎入坎,失道凶也。' - }, - { - type: 'yang', - text: '坎有险,求小得。', - image: '求小得,未出中也。' - }, - { - type: 'yin', - text: '来之坎坎,险且枕,入于坎窞,勿用。', - image: '来之坎坎,终无功也。' - }, - { - type: 'yin', - text: '樽酒簋贰,用缶,纳约自牖,终无咎。', - image: '樽酒簋贰,刚柔际也。' - }, - { - type: 'yang', - text: '坎不盈,祇既平,无咎。', - image: '坎不盈,中未大也。' - }, - { - type: 'yin', - text: '系用徽纆,置于丛棘,三岁不得,凶。', - image: '上六失道,凶三岁也。' - } - ] - }, - 30: { - number: 30, - name: '离', - symbol: '䷝', - binary: '101101', - upperTrigram: '离', - lowerTrigram: '离', - meaning: '离明,光明,附丽', - judgment: '利贞,亨。畜牝牛,吉。', - image: '明两作,离。大人以继明照于四方。', - guidance: '光明普照,事业顺利。保持光明正大的态度,将获得吉祥。', - career: '事业光明,前景良好。保持正直,继续努力。', - relationship: '关系明朗,感情深厚。保持真诚,珍惜彼此。', - keyMessage: '光明正大', - actionAdvice: '保持光明,继续努力', - philosophy: '光明两次升起,象征光明。大人应连续光明,照耀四方。', - lines: [ - { - type: 'yang', - text: '履错然,敬之,无咎。', - image: '履错之敬,以辟咎也。' - }, - { - type: 'yin', - text: '黄离,元吉。', - image: '黄离元吉,得中道也。' - }, - { - type: 'yang', - text: '日昃之离,不鼓缶而歌,则大耋之嗟,凶。', - image: '日昃之离,何可久也。' - }, - { - type: 'yang', - text: '突如其来如,焚如,死如,弃如。', - image: '突如其来如,无所容也。' - }, - { - type: 'yin', - text: '出涕沱若,戚嗟若,吉。', - image: '六五之吉,离王公也。' - }, - { - type: 'yang', - text: '王用出征,有嘉折首,获匪其丑,无咎。', - image: '王用出征,以正邦也。' - } - ] - }, - 31: { - number: 31, - name: '咸', - symbol: '䷞', - binary: '110100', - upperTrigram: '兑', - lowerTrigram: '艮', - meaning: '感应,情感,交流', - judgment: '亨,利贞。取女吉。', - image: '山上有泽,咸。君子以虚受人。', - guidance: '这是情感交流和感应的时期。保持开放的心态,真诚交流,将带来和谐。', - career: '适合加强团队交流,增进感情。良好的人际关系将带来成功。', - relationship: '感情交流顺畅,适合深化关系。真诚相待,感情将更加深厚。', - keyMessage: '真诚感应', - actionAdvice: '开放交流,真诚相待', - philosophy: '山上有泽,二气感应。君子应虚心接受他人。', - lines: [ - { - type: 'yin', - text: '咸其拇。', - image: '咸其拇,志在外也。' - }, - { - type: 'yin', - text: '咸其腓,凶,居吉。', - image: '虽凶居吉,顺不害也。' - }, - { - type: 'yang', - text: '咸其股,执其随,往吝。', - image: '咸其股,亦不处也。志在随人,所执下也。' - }, - { - type: 'yang', - text: '贞吉,悔亡。憧憧往来,朋从尔思。', - image: '贞吉悔亡,未感害也。憧憧往来,未光大也。' - }, - { - type: 'yin', - text: '咸其脢,无悔。', - image: '咸其脢,志末也。' - }, - { - type: 'yin', - text: '咸其辅颊舌。', - image: '咸其辅颊舌,滕口说也。' - } - ] - }, - 32: { - number: 32, - name: '恒', - symbol: '䷟', - binary: '001110', - upperTrigram: '震', - lowerTrigram: '巽', - meaning: '恒久,持久,稳定', - judgment: '亨,无咎,利贞。利有攸往。', - image: '雷风,恒。君子以立不易方。', - guidance: '建立长期稳定的关系或事业。持之以恒,坚持不懈,将获得持久成功。', - career: '建立长期稳定的事业基础。坚持原则,持续发展。', - relationship: '建立持久稳定的感情关系。相互理解,长久相伴。', - keyMessage: '持之以恒', - actionAdvice: '坚持原则,长期发展', - philosophy: '雷风相随,象征恒久。君子应确立不变的原则。', - lines: [ - { - type: 'yin', - text: '浚恒,贞凶,无攸利。', - image: '浚恒之凶,始求深也。' - }, - { - type: 'yang', - text: '悔亡。', - image: '九二悔亡,能久中也。' - }, - { - type: 'yang', - text: '不恒其德,或承之羞,贞吝。', - image: '不恒其德,无所容也。' - }, - { - type: 'yin', - text: '田无禽。', - image: '久非其位,安得禽也。' - }, - { - type: 'yin', - text: '恒其德,贞,妇人吉,夫子凶。', - image: '妇人贞吉,从一而终也。夫子制义,从妇凶也。' - }, - { - type: 'yin', - text: '振恒,凶。', - image: '振恒在上,大无功也。' - } - ] - }, - 33: { - number: 33, - name: '遁', - symbol: '䷠', - binary: '111100', - upperTrigram: '乾', - lowerTrigram: '艮', - meaning: '退避,隐退,退让', - judgment: '亨,小利贞。', - image: '天下有山,遁。君子以远小人,不恶而严。', - guidance: '这是需要退避的时期。面对不利局面,明智的选择是暂时退让,保全实力。', - career: '事业遇到阻力时,学会适时退让,保存实力等待时机。', - relationship: '关系紧张时,适当保持距离,避免冲突升级。', - keyMessage: '适时退避', - actionAdvice: '保存实力,等待时机', - philosophy: '天下有山,象征退避。君子应远离小人,不恶而严。', - lines: [ - { - type: 'yin', - text: '遁尾,厉,勿用有攸往。', - image: '遁尾之厉,不往何灾也。' - }, - { - type: 'yin', - text: '执之用黄牛之革,莫之胜说。', - image: '执用黄牛,固志也。' - }, - { - type: 'yang', - text: '系遁,有疾厉,畜臣妾吉。', - image: '系遁之厉,有疾惫也。畜臣妾吉,不可大事也。' - }, - { - type: 'yang', - text: '好遁,君子吉,小人否。', - image: '君子好遁,小人否也。' - }, - { - type: 'yang', - text: '嘉遁,贞吉。', - image: '嘉遁贞吉,以正志也。' - }, - { - type: 'yang', - text: '肥遁,无不利。', - image: '肥遁无不利,无所疑也。' - } - ] - }, - 34: { - number: 34, - name: '大壮', - symbol: '䷡', - binary: '111000', - upperTrigram: '震', - lowerTrigram: '乾', - meaning: '大壮,强壮,强盛', - judgment: '利贞。', - image: '雷在天上,大壮。君子以非礼弗履。', - guidance: '力量强盛的时期,但要谨慎使用力量,遵循正道,避免滥用。', - career: '事业处于强盛期,但要谨慎行事,避免过度扩张。', - relationship: '关系力量对比明显,强者要体恤弱者,保持平衡。', - keyMessage: '谨慎用强', - actionAdvice: '遵循正道,避免滥用', - philosophy: '雷在天上,象征强大。君子应不行非礼之事。', - lines: [ - { - type: 'yang', - text: '壮于趾,征凶,有孚。', - image: '壮于趾,其孚穷也。' - }, - { - type: 'yang', - text: '贞吉。', - image: '九二贞吉,以中也。' - }, - { - type: 'yang', - text: '小人用壮,君子用罔,贞厉。羝羊触藩,羸其角。', - image: '小人用壮,君子罔也。' - }, - { - type: 'yang', - text: '贞吉,悔亡。藩决不羸,壮于大舆之輹。', - image: '藩决不羸,尚往也。' - }, - { - type: 'yin', - text: '丧羊于易,无悔。', - image: '丧羊于易,位不当也。' - }, - { - type: 'yin', - text: '羝羊触藩,不能退,不能遂,无攸利,艰则吉。', - image: '不能退,不能遂,不祥也。艰则吉,咎不长也。' - } - ] - }, - 35: { - number: 35, - name: '晋', - symbol: '䷢', - binary: '101000', - upperTrigram: '离', - lowerTrigram: '坤', - meaning: '晋升,前进,发展', - judgment: '康侯用锡马蕃庶,昼日三接。', - image: '明出地上,晋。君子以自昭明德。', - guidance: '事业和地位将获晋升。光明正大前进,必获成功。', - career: '事业将迎来晋升和发展机遇。把握机会,光明正大前进。', - relationship: '关系将向前发展,地位提升。保持谦逊,继续努力。', - keyMessage: '光明晋升', - actionAdvice: '把握机会,光明正大', - philosophy: '光明出现在地上,象征晋升。君子应彰显自己的美德。', - lines: [ - { - type: 'yin', - text: '晋如摧如,贞吉。罔孚,裕无咎。', - image: '晋如摧如,独行正也。裕无咎,未受命也。' - }, - { - type: 'yin', - text: '晋如愁如,贞吉。受兹介福,于其王母。', - image: '受兹介福,以中正也。' - }, - { - type: 'yang', - text: '众允,悔亡。', - image: '众允之志,上行也。' - }, - { - type: 'yang', - text: '晋如鼫鼠,贞厉。', - image: '鼫鼠贞厉,位不当也。' - }, - { - type: 'yin', - text: '悔亡,失得勿恤,往吉,无不利。', - image: '失得勿恤,往有庆也。' - }, - { - type: 'yang', - text: '晋其角,维用伐邑,厉吉,无咎,贞吝。', - image: '维用伐邑,道未光也。' - } - ] - }, - 36: { - number: 36, - name: '明夷', - symbol: '䷣', - binary: '010001', - upperTrigram: '坤', - lowerTrigram: '离', - meaning: '明夷,光明受损,韬光养晦', - judgment: '利艰贞。', - image: '明入地中,明夷。君子以莅众,用晦而明。', - guidance: '光明受损的时期,需要韬光养晦,隐藏实力,等待时机。', - career: '事业受阻时,要低调行事,保存实力,等待东山再起。', - relationship: '关系出现阴影时,要包容理解,给彼此空间。', - keyMessage: '韬光养晦', - actionAdvice: '隐藏实力,等待时机', - philosophy: '光明进入地中,象征光明受损。君子治理众人,用晦而明。', - lines: [ - { - type: 'yin', - text: '明夷于飞,垂其翼。君子于行,三日不食。有攸往,主人有言。', - image: '君子于行,义不食也。' - }, - { - type: 'yin', - text: '明夷,夷于左股,用拯马壮,吉。', - image: '六二之吉,顺以则也。' - }, - { - type: 'yang', - text: '明夷于南狩,得其大首,不可疾贞。', - image: '南狩之志,乃大得也。' - }, - { - type: 'yin', - text: '入于左腹,获明夷之心,于出门庭。', - image: '入于左腹,获心意也。' - }, - { - type: 'yin', - text: '箕子之明夷,利贞。', - image: '箕子之贞,明不可息也。' - }, - { - type: 'yin', - text: '不明晦,初登于天,后入于地。', - image: '初登于天,照四国也。后入于地,失则也。' - } - ] - }, - 37: { - number: 37, - name: '家人', - symbol: '䷤', - binary: '110101', - upperTrigram: '巽', - lowerTrigram: '离', - meaning: '家人,家庭,家人关系', - judgment: '利女贞。', - image: '风自火出,家人。君子以言有物而行有恒。', - guidance: '注重家庭关系,建立和谐家庭。家庭成员各守其位,家庭和睦。', - career: '事业与家庭要平衡,家庭和睦是事业成功的基础。', - relationship: '建立和谐的家庭关系,相互理解,共同经营。', - keyMessage: '家庭和睦', - actionAdvice: '各守其位,和谐相处', - philosophy: '风从火出,象征家人。君子说话有内容,行为有常度。', - lines: [ - { - type: 'yang', - text: '闲有家,悔亡。', - image: '闲有家,志未变也。' - }, - { - type: 'yin', - text: '无攸遂,在中馈,贞吉。', - image: '六二之吉,顺以巽也。' - }, - { - type: 'yang', - text: '家人嗃嗃,悔厉吉。妇子嘻嘻,终吝。', - image: '家人嗃嗃,未失也。妇子嘻嘻,失家节也。' - }, - { - type: 'yin', - text: '富家,大吉。', - image: '富家大吉,顺在位也。' - }, - { - type: 'yang', - text: '王假有家,勿恤,吉。', - image: '王假有家,交相爱也。' - }, - { - type: 'yang', - text: '有孚威如,终吉。', - image: '威如之吉,反身之谓也。' - } - ] - }, - 38: { - number: 38, - name: '睽', - symbol: '䷥', - binary: '010110', - upperTrigram: '离', - lowerTrigram: '兑', - meaning: '睽违,分离,矛盾', - judgment: '小事吉。', - image: '上火下泽,睽。君子以同而异。', - guidance: '存在分歧和矛盾的时期。求同存异,小处着手,逐步化解矛盾。', - career: '团队存在分歧,需要求同存异,从小事做起改善关系。', - relationship: '关系出现裂痕,需要沟通理解,小步改善。', - keyMessage: '求同存异', - actionAdvice: '小处着手,逐步改善', - philosophy: '上火下泽,象征相违。君子应同中有异,异中求同。', - lines: [ - { - type: 'yang', - text: '悔亡。丧马勿逐,自复。见恶人无咎。', - image: '见恶人,以辟咎也。' - }, - { - type: 'yin', - text: '遇主于巷,无咎。', - image: '遇主于巷,未失道也。' - }, - { - type: 'yin', - text: '见舆曳,其牛掣,其人天且劓,无初有终。', - image: '见舆曳,位不当也。无初有终,遇刚也。' - }, - { - type: 'yang', - text: '睽孤,遇元夫,交孚,厉无咎。', - image: '交孚无咎,志行也。' - }, - { - type: 'yin', - text: '悔亡。厥宗噬肤,往何咎。', - image: '厥宗噬肤,往有庆也。' - }, - { - type: 'yang', - text: '睽孤,见豕负涂,载鬼一车,先张之弧,后说之弧,匪寇婚媾,往遇雨则吉。', - image: '遇雨之吉,群疑亡也。' - } - ] - }, - 39: { - number: 39, - name: '蹇', - symbol: '䷦', - binary: '001010', - upperTrigram: '坎', - lowerTrigram: '艮', - meaning: '蹇难,困难,险阻', - judgment: '利西南,不利东北。利见大人,贞吉。', - image: '山上有水,蹇。君子以反身修德。', - guidance: '面临重重困难的时期。反省自身,修德养性,寻求贵人帮助。', - career: '事业遇到重大困难,需要反省改进,寻求指导。', - relationship: '关系遇到困难,需要反思自身,改善沟通。', - keyMessage: '反省修德', - actionAdvice: '寻求指导,改善自身', - philosophy: '山上有水,象征险阻。君子应反省自身,修养德行。', - lines: [ - { - type: 'yin', - text: '往蹇,来誉。', - image: '往蹇来誉,宜待也。' - }, - { - type: 'yang', - text: '王臣蹇蹇,匪躬之故。', - image: '王臣蹇蹇,终无尤也。' - }, - { - type: 'yin', - text: '往蹇,来反。', - image: '往蹇来反,内喜之也。' - }, - { - type: 'yin', - text: '往蹇,来连。', - image: '往蹇来连,当位实也。' - }, - { - type: 'yang', - text: '大蹇,朋来。', - image: '大蹇朋来,以中节也。' - }, - { - type: 'yin', - text: '往蹇,来硕,吉。利见大人。', - image: '往蹇来硕,志在内也。利见大人,以从贵也。' - } - ] - }, - 40: { - number: 40, - name: '解', - symbol: '䷧', - binary: '010100', - upperTrigram: '震', - lowerTrigram: '坎', - meaning: '解除,解脱,解决', - judgment: '利西南。无所往,其来复吉。有攸往,夙吉。', - image: '雷雨作,解。君子以赦过宥罪。', - guidance: '困难即将解除,问题得到解决。释放压力,重新开始。', - career: '事业困境即将解除,可以重新开始发展。', - relationship: '关系中的矛盾将得到化解,重获和谐。', - keyMessage: '解除困境', - actionAdvice: '释放压力,重新开始', - philosophy: '雷雨大作,象征解除。君子应赦免过错,宽宥罪恶。', - lines: [ - { - type: 'yin', - text: '无咎。', - image: '刚柔之际,义无咎也。' - }, - { - type: 'yang', - text: '田获三狐,得黄矢,贞吉。', - image: '九二贞吉,得中道也。' - }, - { - type: 'yin', - text: '负且乘,致寇至,贞吝。', - image: '负且乘,亦可丑也。自我致戎,又谁咎也。' - }, - { - type: 'yang', - text: '解而拇,朋至斯孚。', - image: '解而拇,未当位也。' - }, - { - type: 'yin', - text: '君子维有解,吉,有孚于小人。', - image: '君子有解,小人退也。' - }, - { - type: 'yang', - text: '公用射隼于高墉之上,获之,无不利。', - image: '公用射隼,以解悖也。' - } - ] - }, - 41: { - number: 41, - name: '损', - symbol: '䷨', - binary: '110001', - upperTrigram: '艮', - lowerTrigram: '兑', - meaning: '减损,减少,损失', - judgment: '有孚,元吉,无咎,可贞。利有攸往。曷之用?二簋可用享。', - image: '山下有泽,损。君子以惩忿窒欲。', - guidance: '需要减损和放弃的时期。减少不必要的欲望和开支,将获得更大收益。', - career: '事业需要精简和优化,减少不必要的开支,提高效率。', - relationship: '关系中需要减少争执和欲望,增进理解和包容。', - keyMessage: '精简减损', - actionAdvice: '减少欲望,增进效率', - philosophy: '山下有泽,象征减损。君子应抑制愤怒,遏制欲望。', - lines: [ - { - type: 'yang', - text: '已事遄往,无咎,酌损之。', - image: '已事遄往,尚合志也。' - }, - { - type: 'yang', - text: '利贞,征凶,弗损益之。', - image: '九二利贞,中以为志也。' - }, - { - type: 'yin', - text: '三人行,则损一人;一人行,则得其友。', - image: '一人行,三则疑也。' - }, - { - type: 'yin', - text: '损其疾,使遄有喜,无咎。', - image: '损其疾,亦可喜也。' - }, - { - type: 'yin', - text: '或益之,十朋之龟弗克违,元吉。', - image: '六五元吉,自上佑也。' - }, - { - type: 'yang', - text: '弗损益之,无咎,贞吉。利有攸往,得臣无家。', - image: '弗损益之,大得志也。' - } - ] - }, - 42: { - number: 42, - name: '益', - symbol: '䷩', - binary: '100011', - upperTrigram: '巽', - lowerTrigram: '震', - meaning: '增益,增加,受益', - judgment: '利有攸往,利涉大川。', - image: '风雷,益。君子以见善则迁,有过则改。', - guidance: '这是增益和发展的时期。积极行动,将获得丰厚回报。', - career: '事业将迎来发展和增益,积极行动,把握机会。', - relationship: '关系将得到增进和改善,相互帮助,共同进步。', - keyMessage: '积极增益', - actionAdvice: '积极行动,把握机会', - philosophy: '风雷相助,象征增益。君子应见善则迁,有过则改。', - lines: [ - { - type: 'yang', - text: '利用为大作,元吉,无咎。', - image: '元吉无咎,下不厚事也。' - }, - { - type: 'yin', - text: '或益之,十朋之龟弗克违,永贞吉。王用享于帝,吉。', - image: '或益之,自外来也。' - }, - { - type: 'yin', - text: '益之用凶事,无咎。有孚中行,告公用圭。', - image: '益用凶事,固有之也。' - }, - { - type: 'yang', - text: '中行,告公从。利用为依迁国。', - image: '告公从,以益志也。' - }, - { - type: 'yang', - text: '有孚惠心,勿问元吉。有孚惠我德。', - image: '有孚惠心,勿问之矣。惠我德,大得志也。' - }, - { - type: 'yin', - text: '莫益之,或击之,立心勿恒,凶。', - image: '莫益之,偏辞也。或击之,自外来也。' - } - ] - }, - 43: { - number: 43, - name: '夬', - symbol: '䷪', - binary: '111110', - upperTrigram: '兑', - lowerTrigram: '乾', - meaning: '决断,决裂,果断', - judgment: '扬于王庭,孚号有厉。告自邑,不利即戎,利有攸往。', - image: '泽上于天,夬。君子以施禄及下,居德则忌。', - guidance: '需要果断决断的时期。面对问题要当机立断,不可犹豫不决。', - career: '事业需要做出重大决策,果断行动,避免拖延。', - relationship: '关系中需要做出决断,避免藕断丝连。', - keyMessage: '果断决断', - actionAdvice: '当机立断,避免拖延', - philosophy: '泽水在天上,象征决断。君子应施恩于下,积德忌满。', - lines: [ - { - type: 'yang', - text: '壮于前趾,往不胜为咎。', - image: '不胜而往,咎也。' - }, - { - type: 'yang', - text: '惕号,莫夜有戎,勿恤。', - image: '有戎勿恤,得中道也。' - }, - { - type: 'yang', - text: '壮于頄,有凶。君子夬夬,独行遇雨,若濡有愠,无咎。', - image: '君子夬夬,终无咎也。' - }, - { - type: 'yang', - text: '臀无肤,其行次且。牵羊悔亡,闻言不信。', - image: '其行次且,位不当也。闻言不信,聪不明也。' - }, - { - type: 'yang', - text: '苋陆夬夬,中行无咎。', - image: '中行无咎,中未光也。' - }, - { - type: 'yin', - text: '无号,终有凶。', - image: '无号之凶,终不可长也。' - } - ] - }, - 44: { - number: 44, - name: '姤', - symbol: '䷫', - binary: '011111', - upperTrigram: '乾', - lowerTrigram: '巽', - meaning: '相遇,邂逅,阴遇阳', - judgment: '女壮,勿用取女。', - image: '天下有风,姤。后以施命诰四方。', - guidance: '不期而遇的时期。小心处理新出现的关系,避免被不良影响。', - career: '事业中遇到新的机遇或挑战,要谨慎处理。', - relationship: '可能遇到新的感情或关系,需要谨慎对待。', - keyMessage: '谨慎相遇', - actionAdvice: '小心处理新关系', - philosophy: '天下有风,象征相遇。君主应发布命令,告喻四方。', - lines: [ - { - type: 'yin', - text: '系于金柅,贞吉。有攸往,见凶,羸豕孚蹢躅。', - image: '系于金柅,柔道牵也。' - }, - { - type: 'yang', - text: '包有鱼,无咎,不利宾。', - image: '包有鱼,义不及宾也。' - }, - { - type: 'yang', - text: '臀无肤,其行次且,厉,无大咎。', - image: '其行次且,行未牵也。' - }, - { - type: 'yang', - text: '包无鱼,起凶。', - image: '无鱼之凶,远民也。' - }, - { - type: 'yang', - text: '以杞包瓜,含章,有陨自天。', - image: '九五含章,中正也。有陨自天,志不舍命也。' - }, - { - type: 'yang', - text: '姤其角,吝,无咎。', - image: '姤其角,上穷吝也。' - } - ] - }, - 45: { - number: 45, - name: '萃', - symbol: '䷬', - binary: '000110', - upperTrigram: '兑', - lowerTrigram: '坤', - meaning: '聚集,集合,汇聚', - judgment: '亨。王假有庙,利见大人,亨,利贞。用大牲吉,利有攸往。', - image: '泽上于地,萃。君子以除戎器,戒不虞。', - guidance: '这是聚集和团结的时期。集合力量,共同奋斗,将获得更大成功。', - career: '事业需要集合团队力量,共同奋斗,实现更大目标。', - relationship: '关系需要加强团结,共同面对挑战,增进感情。', - keyMessage: '集合力量', - actionAdvice: '团结奋斗,共同前进', - philosophy: '泽水在地上,象征聚集。君子应修整兵器,戒备不测。', - lines: [ - { - type: 'yin', - text: '有孚不终,乃乱乃萃,若号,一握为笑,勿恤,往无咎。', - image: '乃乱乃萃,其志乱也。' - }, - { - type: 'yin', - text: '引吉,无咎,孚乃利用禴。', - image: '引吉无咎,中未变也。' - }, - { - type: 'yin', - text: '萃如,嗟如,无攸利,往无咎,小吝。', - image: '往无咎,上巽也。' - }, - { - type: 'yang', - text: '大吉,无咎。', - image: '大吉无咎,位不当也。' - }, - { - type: 'yang', - text: '萃有位,无咎。匪孚,元永贞,悔亡。', - image: '萃有位,志未光也。' - }, - { - type: 'yin', - text: '赍咨涕洟,无咎。', - image: '赍咨涕洟,未安上也。' - } - ] - }, - 46: { - number: 46, - name: '升', - symbol: '䷭', - binary: '011000', - upperTrigram: '坤', - lowerTrigram: '巽', - meaning: '上升,晋升,发展', - judgment: '元亨,用见大人,勿恤,南征吉。', - image: '地中生木,升。君子以顺德,积小以高大。', - guidance: '事业和地位将不断上升。循序渐进,终将获得高位。', - career: '事业将迎来上升期,循序渐进,稳步发展。', - relationship: '关系将不断升温,感情日益深厚。', - keyMessage: '循序渐进', - actionAdvice: '稳步发展,终获成功', - philosophy: '地中生出树木,象征上升。君子应顺应德行,积小成大。', - lines: [ - { - type: 'yin', - text: '允升,大吉。', - image: '允升大吉,上合志也。' - }, - { - type: 'yang', - text: '孚乃利用禴,无咎。', - image: '九二之孚,有喜也。' - }, - { - type: 'yang', - text: '升虚邑。', - image: '升虚邑,无所疑也。' - }, - { - type: 'yin', - text: '王用亨于岐山,吉,无咎。', - image: '王用亨于岐山,顺事也。' - }, - { - type: 'yang', - text: '贞吉,升阶。', - image: '贞吉升阶,大得志也。' - }, - { - type: 'yin', - text: '冥升,利于不息之贞。', - image: '冥升在上,消不富也。' - } - ] - }, - 47: { - number: 47, - name: '困', - symbol: '䷮', - binary: '110010', - upperTrigram: '兑', - lowerTrigram: '坎', - meaning: '困穷,困境,困顿', - judgment: '亨,贞,大人吉,无咎。有言不信。', - image: '泽无水,困。君子以致命遂志。', - guidance: '处于困境的时期。虽处困境,但保持正道,终将脱困。', - career: '事业陷入困境,需要坚持正道,寻求突破。', - relationship: '关系陷入僵局,需要耐心化解,坚持信念。', - keyMessage: '坚持正道', - actionAdvice: '保持信念,寻求突破', - philosophy: '泽中无水,象征困穷。君子应舍命达成志向。', - lines: [ - { - type: 'yin', - text: '臀困于株木,入于幽谷,三岁不觌。', - image: '入于幽谷,幽不明也。' - }, - { - type: 'yang', - text: '困于酒食,朱绂方来,利用享祀,征凶,无咎。', - image: '困于酒食,中有庆也。' - }, - { - type: 'yin', - text: '困于石,据于蒺藜,入于其宫,不见其妻,凶。', - image: '据于蒺藜,乘刚也。入于其宫,不见其妻,不祥也。' - }, - { - type: 'yang', - text: '来徐徐,困于金车,吝,有终。', - image: '来徐徐,志在下也。虽不当位,有与也。' - }, - { - type: 'yang', - text: '劓刖,困于赤绂,乃徐有说,利用祭祀。', - image: '劓刖志未得也。乃徐有说,以中直也。利用祭祀,受福也。' - }, - { - type: 'yin', - text: '困于葛藟,于臲卼,曰动悔。有悔,征吉。', - image: '困于葛藟,未当也。动悔有悔,吉行也。' - } - ] - }, - 48: { - number: 48, - name: '井', - symbol: '䷯', - binary: '001011', - upperTrigram: '坎', - lowerTrigram: '巽', - meaning: '水井,养人,恒常', - judgment: '改邑不改井,无丧无得,往来井井。汔至,亦未繘井,羸其瓶,凶。', - image: '木上有水,井。君子以劳民劝相。', - guidance: '建立持久的基础,滋养他人。保持恒常,持续改善。', - career: '建立稳固的事业基础,持续发展,滋养团队。', - relationship: '建立稳定的关系基础,相互滋养,长久发展。', - keyMessage: '建立基础', - actionAdvice: '持续改善,滋养他人', - philosophy: '木上有水,象征水井。君子应慰劳民众,劝勉相助。', - lines: [ - { - type: 'yin', - text: '井泥不食,旧井无禽。', - image: '井泥不食,下也。旧井无禽,时舍也。' - }, - { - type: 'yang', - text: '井谷射鲋,瓮敝漏。', - image: '井谷射鲋,无与也。' - }, - { - type: 'yang', - text: '井渫不食,为我心恻。可用汲,王明,并受其福。', - image: '井渫不食,行恻也。求王明,受福也。' - }, - { - type: 'yin', - text: '井甃,无咎。', - image: '井甃无咎,修井也。' - }, - { - type: 'yang', - text: '井冽,寒泉食。', - image: '寒泉之食,中正也。' - }, - { - type: 'yin', - text: '井收勿幕,有孚元吉。', - image: '元吉在上,大成也。' - } - ] - }, - 49: { - number: 49, - name: '革', - symbol: '䷰', - binary: '101110', - upperTrigram: '兑', - lowerTrigram: '离', - meaning: '变革,改革,革命', - judgment: '己日乃孚,元亨利贞,悔亡。', - image: '泽中有火,革。君子以治历明时。', - guidance: '这是重大变革的时期。顺应时势,主动改革,将获得新生。', - career: '事业需要重大变革,破旧立新,开创新局面。', - relationship: '关系需要深度调整,改变旧模式,建立新关系。', - keyMessage: '主动变革', - actionAdvice: '破旧立新,顺应时势', - philosophy: '泽中有火,象征变革。君子应修治历法,明确时令。', - lines: [ - { - type: 'yang', - text: '巩用黄牛之革。', - image: '巩用黄牛,不可以有为也。' - }, - { - type: 'yin', - text: '己日乃革之,征吉,无咎。', - image: '己日革之,行有嘉也。' - }, - { - type: 'yang', - text: '征凶,贞厉。革言三就,有孚。', - image: '革言三就,又何之矣。' - }, - { - type: 'yang', - text: '悔亡,有孚改命,吉。', - image: '改命之吉,信志也。' - }, - { - type: 'yang', - text: '大人虎变,未占有孚。', - image: '大人虎变,其文炳也。' - }, - { - type: 'yin', - text: '君子豹变,小人革面,征凶,居贞吉。', - image: '君子豹变,其文蔚也。小人革面,顺以从君也。' - } - ] - }, - 50: { - number: 50, - name: '鼎', - symbol: '䷱', - binary: '011101', - upperTrigram: '离', - lowerTrigram: '巽', - meaning: '鼎器,烹饪,养贤', - judgment: '元吉,亨。', - image: '木上有火,鼎。君子以正位凝命。', - guidance: '建立新秩序,培养人才。正位凝命,成就大业。', - career: '事业建立新体制,培养团队,成就大业。', - relationship: '关系建立新秩序,相互培养,共同成长。', - keyMessage: '建立新秩序', - actionAdvice: '培养人才,成就大业', - philosophy: '木上有火,象征鼎器。君子应端正位置,凝聚使命。', - lines: [ - { - type: 'yin', - text: '鼎颠趾,利出否,得妾以其子,无咎。', - image: '鼎颠趾,未悖也。利出否,以从贵也。' - }, - { - type: 'yin', - text: '鼎有实,我仇有疾,不我能即,吉。', - image: '鼎有实,慎所之也。我仇有疾,终无尤也。' - }, - { - type: 'yang', - text: '鼎耳革,其行塞,雉膏不食,方雨亏悔,终吉。', - image: '鼎耳革,失其义也。' - }, - { - type: 'yang', - text: '鼎折足,覆公餗,其形渥,凶。', - image: '覆公餗,信如何也。' - }, - { - type: 'yin', - text: '鼎黄耳金铉,利贞。', - image: '鼎黄耳,中以为实也。' - }, - { - type: 'yang', - text: '鼎玉铉,大吉,无不利。', - image: '玉铉在上,刚柔节也。' - } - ] - }, - 51: { - number: 51, - name: '震', - symbol: '䷲', - binary: '100100', - upperTrigram: '震', - lowerTrigram: '震', - meaning: '震动,惊雷,行动', - judgment: '亨。震来虩虩,笑言哑哑。震惊百里,不丧匕鬯。', - image: '洊雷,震。君子以恐惧修省。', - guidance: '面临重大震动和挑战。保持冷静,化危为机,获得成长。', - career: '事业面临重大变化,保持镇定,化挑战为机遇。', - relationship: '关系经历震荡,需要冷静处理,增进理解。', - keyMessage: '化危为机', - actionAdvice: '保持冷静,获得成长', - philosophy: '雷声重叠,象征震动。君子应因恐惧而修身反省。', - lines: [ - { - type: 'yang', - text: '震来虩虩,后笑言哑哑,吉。', - image: '震来虩虩,恐致福也。笑言哑哑,后有则也。' - }, - { - type: 'yin', - text: '震来厉,亿丧贝,跻于九陵,勿逐,七日得。', - image: '震来厉,乘刚也。' - }, - { - type: 'yin', - text: '震苏苏,震行无眚。', - image: '震苏苏,位不当也。' - }, - { - type: 'yin', - text: '震遂泥。', - image: '震遂泥,未光也。' - }, - { - type: 'yin', - text: '震往来厉,亿无丧,有事。', - image: '震往来厉,危行也。其事在中,大无丧也。' - }, - { - type: 'yin', - text: '震索索,视矍矍,征凶。震不于其躬,于其邻,无咎。婚媾有言。', - image: '震索索,中未得也。虽凶无咎,畏邻戒也。' - } - ] - }, - 52: { - number: 52, - name: '艮', - symbol: '䷳', - binary: '001001', - upperTrigram: '艮', - lowerTrigram: '艮', - meaning: '艮止,停止,静止', - judgment: '艮其背,不获其身,行其庭,不见其人,无咎。', - image: '兼山,艮。君子以思不出其位。', - guidance: '需要停止和反思的时期。适可而止,保持内心平静。', - career: '事业需要暂停调整,避免过度扩张,保持稳健。', - relationship: '关系需要冷静期,给彼此空间,避免冲突。', - keyMessage: '适可而止', - actionAdvice: '保持平静,避免冲动', - philosophy: '两山重叠,象征停止。君子思考不超越本位。', - lines: [ - { - type: 'yin', - text: '艮其趾,无咎,利永贞。', - image: '艮其趾,未失正也。' - }, - { - type: 'yin', - text: '艮其腓,不拯其随,其心不快。', - image: '不拯其随,未退听也。' - }, - { - type: 'yang', - text: '艮其限,列其夤,厉薰心。', - image: '艮其限,危薰心也。' - }, - { - type: 'yin', - text: '艮其身,无咎。', - image: '艮其身,止诸躬也。' - }, - { - type: 'yin', - text: '艮其辅,言有序,悔亡。', - image: '艮其辅,以中正也。' - }, - { - type: 'yang', - text: '敦艮,吉。', - image: '敦艮之吉,以厚终也。' - } - ] - }, - 53: { - number: 53, - name: '渐', - symbol: '䷴', - binary: '001011', - upperTrigram: '巽', - lowerTrigram: '艮', - meaning: '渐进,逐步,循序渐进', - judgment: '女归吉,利贞。', - image: '山上有木,渐。君子以居贤德,善俗。', - guidance: '循序渐进发展的时期。稳步前进,终将达成目标。', - career: '事业需要循序渐进,稳步发展,避免急躁。', - relationship: '关系需要慢慢培养,循序渐进,建立深厚感情。', - keyMessage: '循序渐进', - actionAdvice: '稳步前进,终达目标', - philosophy: '山上生木,象征渐进。君子应居守贤德,改善风俗。', - lines: [ - { - type: 'yin', - text: '鸿渐于干,小子厉,有言,无咎。', - image: '小子之厉,义无咎也。' - }, - { - type: 'yin', - text: '鸿渐于磐,饮食衎衎,吉。', - image: '饮食衎衎,不素饱也。' - }, - { - type: 'yang', - text: '鸿渐于陆,夫征不复,妇孕不育,凶。利御寇。', - image: '夫征不复,离群丑也。妇孕不育,失其道也。利用御寇,顺相保也。' - }, - { - type: 'yin', - text: '鸿渐于木,或得其桷,无咎。', - image: '或得其桷,顺以巽也。' - }, - { - type: 'yang', - text: '鸿渐于陵,妇三岁不孕,终莫之胜,吉。', - image: '终莫之胜,吉,得所愿也。' - }, - { - type: 'yang', - text: '鸿渐于逵,其羽可用为仪,吉。', - image: '其羽可用为仪,吉,不可乱也。' - } - ] - }, - 54: { - number: 54, - name: '归妹', - symbol: '䷵', - binary: '110100', - upperTrigram: '震', - lowerTrigram: '兑', - meaning: '归妹,嫁女,归宿', - judgment: '征凶,无攸利。', - image: '泽上有雷,归妹。君子以永终知敝。', - guidance: '关注归宿和结果的时期。谨慎处理终身大事,避免草率。', - career: '事业需要谨慎决策,避免草率行动导致不利后果。', - relationship: '关系涉及终身大事,需要慎重考虑,避免冲动。', - keyMessage: '谨慎归宿', - actionAdvice: '慎重决策,避免草率', - philosophy: '泽上有雷,象征嫁女。君子应知永恒终结之理。', - lines: [ - { - type: 'yang', - text: '归妹以娣,跛能履,征吉。', - image: '归妹以娣,以恒也。跛能履,吉相承也。' - }, - { - type: 'yang', - text: '眇能视,利幽人之贞。', - image: '利幽人之贞,未变常也。' - }, - { - type: 'yin', - text: '归妹以须,反归以娣。', - image: '归妹以须,未当也。' - }, - { - type: 'yang', - text: '归妹愆期,迟归有时。', - image: '愆期之志,有待而行也。' - }, - { - type: 'yin', - text: '帝乙归妹,其君之袂,不如其娣之袂良,月几望,吉。', - image: '帝乙归妹,不如其娣之袂良也。其位在中,以贵行也。' - }, - { - type: 'yin', - text: '女承筐无实,士刲羊无血,无攸利。', - image: '上六无实,承虚筐也。' - } - ] - }, - 55: { - number: 55, - name: '丰', - symbol: '䷶', - binary: '101100', - upperTrigram: '震', - lowerTrigram: '离', - meaning: '丰盛,盛大,丰富', - judgment: '亨,王假之,勿忧,宜日中。', - image: '雷电皆至,丰。君子以折狱致刑。', - guidance: '事业丰盛盛大的时期。保持中正,避免过度,才能长久。', - career: '事业达到丰盛期,需要保持谦逊,避免骄傲自满。', - relationship: '关系丰盛美满,需要珍惜维护,避免过度。', - keyMessage: '保持中正', - actionAdvice: '珍惜丰盛,避免过度', - philosophy: '雷电俱至,象征丰盛。君子应断案用刑。', - lines: [ - { - type: 'yang', - text: '遇其配主,虽旬无咎,往有尚。', - image: '虽旬无咎,过旬灾也。' - }, - { - type: 'yin', - text: '丰其蔀,日中见斗,往得疑疾,有孚发若,吉。', - image: '有孚发若,信以发志也。' - }, - { - type: 'yang', - text: '丰其沛,日中见沫,折其右肱,无咎。', - image: '丰其沛,不可大事也。折其右肱,终不可用也。' - }, - { - type: 'yang', - text: '丰其蔀,日中见斗,遇其夷主,吉。', - image: '丰其蔀,位不当也。日中见斗,幽不明也。遇其夷主,吉,行也。' - }, - { - type: 'yin', - text: '来章,有庆誉,吉。', - image: '六五之吉,有庆也。' - }, - { - type: 'yin', - text: '丰其屋,蔀其家,窥其户,阒其无人,三岁不觌,凶。', - image: '丰其屋,天际翔也。窥其户,阒其无人,自藏也。' - } - ] - }, - 56: { - number: 56, - name: '旅', - symbol: '䷷', - binary: '101001', - upperTrigram: '离', - lowerTrigram: '艮', - meaning: '旅行,旅居,漂泊', - judgment: '小亨,旅贞吉。', - image: '山上有火,旅。君子以明慎用刑,而不留狱。', - guidance: '处于旅行或漂泊的时期。保持谨慎,适应环境,终将安定。', - career: '事业处于变动期,需要适应新环境,保持谨慎。', - relationship: '关系处于不稳定期,需要相互理解,共同适应。', - keyMessage: '适应环境', - actionAdvice: '保持谨慎,终将安定', - philosophy: '山上有火,象征旅行。君子应明慎用刑,不留狱讼。', - lines: [ - { - type: 'yin', - text: '旅琐琐,斯其所取灾。', - image: '旅琐琐,志穷灾也。' - }, - { - type: 'yin', - text: '旅即次,怀其资,得童仆贞。', - image: '得童仆贞,终无尤也。' - }, - { - type: 'yang', - text: '旅焚其次,丧其童仆,贞厉。', - image: '旅焚其次,亦以伤矣。以旅与下,其义丧也。' - }, - { - type: 'yang', - text: '旅于处,得其资斧,我心不快。', - image: '旅于处,未得位也。得其资斧,心未快也。' - }, - { - type: 'yin', - text: '射雉一矢亡,终以誉命。', - image: '终以誉命,上逮也。' - }, - { - type: 'yang', - text: '鸟焚其巢,旅人先笑后号咷。丧牛于易,凶。', - image: '以旅在上,其义焚也。丧牛于易,终莫之闻也。' - } - ] - }, - 57: { - number: 57, - name: '巽', - symbol: '䷸', - binary: '110110', - upperTrigram: '巽', - lowerTrigram: '巽', - meaning: '巽顺,顺从,谦逊', - judgment: '小亨,利攸往,利见大人。', - image: '随风,巽。君子以申命行事。', - guidance: '以谦逊柔顺的态度行事。顺应时势,将获得顺利发展。', - career: '事业需要谦逊态度,顺应时势,获得发展机会。', - relationship: '关系需要谦逊包容,相互理解,增进和谐。', - keyMessage: '谦逊柔顺', - actionAdvice: '顺应时势,获得发展', - philosophy: '风相随,象征顺从。君子应重申命令,推行政事。', - lines: [ - { - type: 'yin', - text: '进退,利武人之贞。', - image: '进退,志疑也。利武人之贞,志治也。' - }, - { - type: 'yang', - text: '巽在床下,用史巫纷若,吉,无咎。', - image: '纷若之吉,得中也。' - }, - { - type: 'yang', - text: '频巽,吝。', - image: '频巽之吝,志穷也。' - }, - { - type: 'yin', - text: '悔亡,田获三品。', - image: '田获三品,有功也。' - }, - { - type: 'yang', - text: '贞吉悔亡,无不利。无初有终,先庚三日,后庚三日,吉。', - image: '九五之吉,位正中也。' - }, - { - type: 'yin', - text: '巽在床下,丧其资斧,贞凶。', - image: '巽在床下,上穷也。丧其资斧,正乎凶也。' - } - ] - }, - 58: { - number: 58, - name: '兑', - symbol: '䷹', - binary: '110011', - upperTrigram: '兑', - lowerTrigram: '兑', - meaning: '兑悦,喜悦,和悦', - judgment: '亨,利贞。', - image: '丽泽,兑。君子以朋友讲习。', - guidance: '充满喜悦和和谐的氛围。保持和悦态度,增进人际和谐。', - career: '事业处于和谐期,保持愉悦心情,促进团队合作。', - relationship: '关系和谐美满,保持喜悦心情,增进感情。', - keyMessage: '喜悦和谐', - actionAdvice: '保持和悦,增进和谐', - philosophy: '两泽相连,象征喜悦。君子应与朋友讲习道义。', - lines: [ - { - type: 'yang', - text: '和兑,吉。', - image: '和兑之吉,行未疑也。' - }, - { - type: 'yang', - text: '孚兑,吉,悔亡。', - image: '孚兑之吉,信志也。' - }, - { - type: 'yin', - text: '来兑,凶。', - image: '来兑之凶,位不当也。' - }, - { - type: 'yang', - text: '商兑,未宁,介疾有喜。', - image: '九四之喜,有庆也。' - }, - { - type: 'yin', - text: '孚于剥,有厉。', - image: '孚于剥,位正当也。' - }, - { - type: 'yang', - text: '引兑。', - image: '上六引兑,未光也。' - } - ] - }, - 59: { - number: 59, - name: '涣', - symbol: '䷺', - binary: '010011', - upperTrigram: '巽', - lowerTrigram: '坎', - meaning: '涣散,离散,化解', - judgment: '亨。王假有庙,利涉大川,利贞。', - image: '风行水上,涣。先王以享于帝立庙。', - guidance: '化解涣散,重建秩序的时期。凝聚人心,重获团结。', - career: '团队出现涣散,需要重建凝聚力,恢复秩序。', - relationship: '关系出现疏离,需要沟通理解,重建联系。', - keyMessage: '化解涣散', - actionAdvice: '凝聚人心,重建团结', - philosophy: '风行水上,象征涣散。先王享祭上帝,建立宗庙。', - lines: [ - { - type: 'yin', - text: '用拯马壮,吉。', - image: '初六之吉,顺也。' - }, - { - type: 'yang', - text: '涣奔其机,悔亡。', - image: '涣奔其机,得愿也。' - }, - { - type: 'yin', - text: '涣其躬,无悔。', - image: '涣其躬,志在外也。' - }, - { - type: 'yin', - text: '涣其群,元吉。涣有丘,匪夷所思。', - image: '涣其群,元吉,光大也。' - }, - { - type: 'yang', - text: '涣汗其大号,涣王居,无咎。', - image: '王居无咎,正位也。' - }, - { - type: 'yang', - text: '涣其血,去逖出,无咎。', - image: '涣其血,远害也。' - } - ] - }, - 60: { - number: 60, - name: '节', - symbol: '䷻', - binary: '110010', - upperTrigram: '坎', - lowerTrigram: '兑', - meaning: '节制,节约,适度', - judgment: '亨。苦节,不可贞。', - image: '泽上有水,节。君子以制数度,议德行。', - guidance: '需要节制和适度的时期。合理控制,避免过度,保持平衡。', - career: '事业需要合理规划,节制资源,避免浪费。', - relationship: '关系需要适度控制,给彼此空间,保持平衡。', - keyMessage: '合理节制', - actionAdvice: '适度控制,保持平衡', - philosophy: '泽上有水,象征节制。君子应制定法度,评议德行。', - lines: [ - { - type: 'yin', - text: '不出户庭,无咎。', - image: '不出户庭,知通塞也。' - }, - { - type: 'yang', - text: '不出门庭,凶。', - image: '不出门庭,失时极也。' - }, - { - type: 'yin', - text: '不节若,则嗟若,无咎。', - image: '不节之嗟,又谁咎也。' - }, - { - type: 'yang', - text: '安节,亨。', - image: '安节之亨,承上道也。' - }, - { - type: 'yang', - text: '甘节,吉,往有尚。', - image: '甘节之吉,居位中也。' - }, - { - type: 'yin', - text: '苦节,贞凶,悔亡。', - image: '苦节贞凶,其道穷也。' - } - ] - }, - 61: { - number: 61, - name: '中孚', - symbol: '䷼', - binary: '110011', - upperTrigram: '巽', - lowerTrigram: '兑', - meaning: '中孚,诚信,内心诚实', - judgment: '豚鱼吉,利涉大川,利贞。', - image: '泽上有风,中孚。君子以议狱缓死。', - guidance: '以诚信为本的时期。内心诚实,将获得信任和成功。', - career: '事业以诚信为本,建立信誉,获得成功。', - relationship: '关系以诚信为基础,建立深厚信任。', - keyMessage: '诚信为本', - actionAdvice: '内心诚实,建立信任', - philosophy: '泽上有风,象征诚信。君子应审议案件,宽缓死刑。', - lines: [ - { - type: 'yang', - text: '虞吉,有它不燕。', - image: '初九虞吉,志未变也。' - }, - { - type: 'yang', - text: '鸣鹤在阴,其子和之。我有好爵,吾与尔靡之。', - image: '其子和之,中心愿也。' - }, - { - type: 'yin', - text: '得敌,或鼓或罢,或泣或歌。', - image: '或鼓或罢,位不当也。' - }, - { - type: 'yang', - text: '月几望,马匹亡,无咎。', - image: '马匹亡,绝类上也。' - }, - { - type: 'yang', - text: '有孚挛如,无咎。', - image: '有孚挛如,位正当也。' - }, - { - type: 'yin', - text: '翰音登于天,贞凶。', - image: '翰音登于天,何可长也。' - } - ] - }, - 62: { - number: 62, - name: '小过', - symbol: '䷽', - binary: '001100', - upperTrigram: '震', - lowerTrigram: '艮', - meaning: '小过,小有过失,过度', - judgment: '亨,利贞。可小事,不可大事。飞鸟遗之音,不宜上宜下,大吉。', - image: '山上有雷,小过。君子以行过乎恭,丧过乎哀,用过乎俭。', - guidance: '小有过失的时期。谨慎行事,避免大错,小处改进。', - career: '事业中可能出现小失误,及时调整,避免扩大。', - relationship: '关系中小有摩擦,及时化解,增进理解。', - keyMessage: '谨慎小过', - actionAdvice: '小处改进,避免大错', - philosophy: '山上有雷,象征小过。君子行为过于恭谨,丧事过于哀痛,用度过于节俭。', - lines: [ - { - type: 'yin', - text: '飞鸟以凶。', - image: '飞鸟以凶,不可如何也。' - }, - { - type: 'yin', - text: '过其祖,遇其妣,不及其君,遇其臣,无咎。', - image: '不及其君,臣不可过也。' - }, - { - type: 'yang', - text: '弗过防之,从或戕之,凶。', - image: '从或戕之,凶如何也。' - }, - { - type: 'yang', - text: '无咎,弗过遇之。往厉必戒,勿用永贞。', - image: '弗过遇之,位不当也。往厉必戒,终不可长也。' - }, - { - type: 'yin', - text: '密云不雨,自我西郊,公弋取彼在穴。', - image: '密云不雨,已上也。' - }, - { - type: 'yin', - text: '弗遇过之,飞鸟离之,凶,是谓灾眚。', - image: '弗遇过之,已亢也。' - } - ] - }, - 63: { - number: 63, - name: '既济', - symbol: '䷾', - binary: '101010', - upperTrigram: '坎', - lowerTrigram: '离', - meaning: '既济,完成,成功', - judgment: '亨,小利贞,初吉终乱。', - image: '水在火上,既济。君子以思患而豫防之。', - guidance: '事情已经完成的时期。居安思危,预防未然,保持成果。', - career: '事业已经取得成功,需要防范风险,保持成果。', - relationship: '关系已经稳定,需要维护感情,预防问题。', - keyMessage: '居安思危', - actionAdvice: '预防未然,保持成果', - philosophy: '水在火上,象征完成。君子应思患而预防。', - lines: [ - { - type: 'yang', - text: '曳其轮,濡其尾,无咎。', - image: '曳其轮,义无咎也。' - }, - { - type: 'yin', - text: '妇丧其茀,勿逐,七日得。', - image: '七日得,以中道也。' - }, - { - type: 'yang', - text: '高宗伐鬼方,三年克之,小人勿用。', - image: '三年克之,惫也。' - }, - { - type: 'yin', - text: '繻有衣袽,终日戒。', - image: '终日戒,有所疑也。' - }, - { - type: 'yang', - text: '东邻杀牛,不如西邻之禴祭,实受其福。', - image: '东邻杀牛,不如西邻之时也。实受其福,吉大来也。' - }, - { - type: 'yin', - text: '濡其首,厉。', - image: '濡其首厉,何可久也。' - } - ] - }, - 64: { - number: 64, - name: '未济', - symbol: '䷿', - binary: '101010', - upperTrigram: '离', - lowerTrigram: '坎', - meaning: '尚未完成,过渡,混乱', - judgment: '亨。小狐汔济,濡其尾,无攸利。', - image: '火在水上,未济。君子以慎辨物居方。', - guidance: '事情尚未完成,处于过渡阶段。需要非常谨慎,仔细辨别情况,不要急于求成,否则可能功亏一篑。', - career: '项目或任务接近尾声,但仍有风险。必须保持警惕,仔细检查细节,确保万无一失。', - relationship: '关系处于一个不确定的过渡期。需要谨慎沟通,明确方向,才能进入下一个阶段。', - keyMessage: '功亏一篑前的谨慎', - actionAdvice: '谨慎辨别,三思而后行', - philosophy: '事物在完成前充满变数,君子应谨慎分辨,找准自己的位置。', - lines: [ - { - type: 'yin', - text: '濡其尾,吝。', - image: '亦不知极也。' - }, - { - type: 'yang', - text: '曳其轮,贞吉。', - image: '中以行正也。' - }, - { - type: 'yin', - text: '未济,征凶,利涉大川。', - image: '未济征凶,位不当也。' - }, - { - type: 'yang', - text: '贞吉,悔亡。震用伐鬼方,三年有赏于大国。', - image: '贞吉悔亡,志行也。' - }, - { - type: 'yin', - text: '贞吉,无悔。君子之光,有孚,吉。', - image: '君子之光,其晖吉也。' - }, - { - type: 'yang', - text: '有孚于饮酒,无咎。濡其首,有孚失是。', - image: '饮酒濡首,亦不知节也。' - } - ] - } -}; diff --git a/logic/ziwei.txt b/logic/ziwei.txt deleted file mode 100644 index 1978c03..0000000 --- a/logic/ziwei.txt +++ /dev/null @@ -1,687 +0,0 @@ -// 紫微斗数分析Edge Function - 真正的动态紫微斗数计算 -Deno.serve(async (req) => { - const corsHeaders = { - 'Access-Control-Allow-Origin': '*', - 'Access-Control-Allow-Headers': 'authorization, x-client-info, apikey, content-type', - 'Access-Control-Allow-Methods': 'POST, GET, OPTIONS, PUT, DELETE, PATCH', - 'Access-Control-Max-Age': '86400', - 'Access-Control-Allow-Credentials': 'false' - }; - - if (req.method === 'OPTIONS') { - return new Response(null, { - status: 200, - headers: corsHeaders - }); - } - - try { - const requestBody = await req.text(); - console.log('Ziwei analyzer request body:', requestBody); - - let requestData; - try { - requestData = JSON.parse(requestBody); - } catch (parseError) { - console.error('JSON parse error:', parseError); - return new Response(JSON.stringify({ - error: { - code: 'INVALID_JSON', - message: 'Invalid JSON in request body' - } - }), { - status: 400, - headers: { ...corsHeaders, 'Content-Type': 'application/json' } - }); - } - - const { user_id, birth_data } = requestData; - const reading_type = 'ziwei'; - - console.log('Ziwei analysis request:', { user_id, reading_type, birth_data }); - - if (!user_id || !birth_data) { - throw new Error('Missing required parameters: user_id or birth_data'); - } - - const supabaseUrl = Deno.env.get('SUPABASE_URL'); - const supabaseKey = Deno.env.get('SUPABASE_SERVICE_ROLE_KEY'); - - if (!supabaseUrl || !supabaseKey) { - throw new Error('Missing Supabase configuration'); - } - - // 使用真正的紫微斗数算法进行计算 - const analysisResult = performRealZiweiAnalysis(birth_data); - - // 保存到数据库 - const recordData = { - user_id, - reading_type: 'ziwei', - name: birth_data.name || null, - birth_date: birth_data.birth_date, - birth_time: birth_data.birth_time || null, - gender: birth_data.gender, - birth_place: birth_data.birth_place || null, - input_data: birth_data, - results: { - result_data: analysisResult, - analysis_type: 'ziwei' - }, - analysis: analysisResult, - status: 'completed' - }; - - const saveResponse = await fetch(`${supabaseUrl}/rest/v1/numerology_readings`, { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - 'Authorization': `Bearer ${supabaseKey}`, - 'apikey': supabaseKey, - 'Prefer': 'return=representation' - }, - body: JSON.stringify(recordData) - }); - - if (!saveResponse.ok) { - const errorText = await saveResponse.text(); - console.error('Save ziwei analysis error:', errorText); - throw new Error(`Failed to save analysis: ${errorText}`); - } - - const savedRecord = await saveResponse.json(); - console.log('Saved ziwei analysis successfully'); - - return new Response(JSON.stringify({ - data: { - record_id: savedRecord[0]?.id, - analysis: analysisResult - } - }), { - headers: { ...corsHeaders, 'Content-Type': 'application/json' } - }); - - } catch (error) { - console.error('Ziwei analysis error:', error); - return new Response(JSON.stringify({ - error: { - code: 'ZIWEI_ANALYSIS_ERROR', - message: error.message || '紫微斗数分析过程中发生错误' - } - }), { - status: 500, - headers: { ...corsHeaders, 'Content-Type': 'application/json' } - }); - } -}); - -// 真正的紫微斗数分析函数 -function performRealZiweiAnalysis(birth_data) { - const { name, birth_date, birth_time, gender } = birth_data; - const personName = name || '您'; - const personGender = gender === 'male' || gender === '男' ? '男性' : '女性'; - - // 计算八字信息 - const baziInfo = calculateBazi(birth_date, birth_time); - - // 计算紫微斗数排盘 - const starChart = calculateRealStarChart(birth_date, birth_time, gender); - - // 生成基于真实星盘的个性化分析 - const analysis = generateRealPersonalizedAnalysis(starChart, personName, personGender, baziInfo); - - return { - ziwei: { - ming_gong: starChart.mingGong, - ming_gong_xing: starChart.mingGongStars, - shi_er_gong: starChart.twelvePalaces, - si_hua: starChart.siHua, - da_xian: starChart.majorPeriods, - birth_chart: starChart.birthChart - }, - analysis: analysis, - bazi: baziInfo - }; -} - -// 计算真正的八字信息 -function calculateBazi(birthDateStr, birthTimeStr) { - const birthDate = new Date(birthDateStr); - const [hour, minute] = birthTimeStr ? birthTimeStr.split(':').map(Number) : [12, 0]; - - // 计算干支(简化版,实际应该使用更精确的天文计算) - const year = birthDate.getFullYear(); - const month = birthDate.getMonth() + 1; - const day = birthDate.getDate(); - - const heavenlyStems = ['甲', '乙', '丙', '丁', '戊', '己', '庚', '辛', '壬', '癸']; - const earthlyBranches = ['子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥']; - - const yearStemIndex = (year - 4) % 10; - const yearBranchIndex = (year - 4) % 12; - - // 计算月柱(基于节气) - const monthStemIndex = ((yearStemIndex * 2 + month + 1) % 10 + 10) % 10; - const monthBranchIndex = (month + 1) % 12; - - // 计算日柱(简化计算) - const baseDate = new Date(1900, 0, 31); - const daysDiff = Math.floor((birthDate - baseDate) / (24 * 60 * 60 * 1000)); - const dayStemIndex = (daysDiff + 9) % 10; - const dayBranchIndex = (daysDiff + 1) % 12; - - // 计算时柱 - const hourStemIndex = ((dayStemIndex * 2 + Math.floor(hour / 2) + 2) % 10 + 10) % 10; - const hourBranchIndex = Math.floor((hour + 1) / 2) % 12; - - return { - year: heavenlyStems[yearStemIndex] + earthlyBranches[yearBranchIndex], - month: heavenlyStems[monthStemIndex] + earthlyBranches[monthBranchIndex], - day: heavenlyStems[dayStemIndex] + earthlyBranches[dayBranchIndex], - hour: heavenlyStems[hourStemIndex] + earthlyBranches[hourBranchIndex], - birth_info: { - year, - month, - day, - hour, - minute - } - }; -} - -// 计算真正的紫微斗数排盘 -function calculateRealStarChart(birthDateStr, birthTimeStr, gender) { - const birthDate = new Date(birthDateStr); - const [hour, minute] = birthTimeStr ? birthTimeStr.split(':').map(Number) : [12, 0]; - - const branches = ['子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥']; - const palaceNames = ['命宫', '兄弟宫', '夫妻宫', '子女宫', '财帛宫', '疾厄宫', '迁移宫', '交友宫', '事业宫', '田宅宫', '福德宫', '父母宫']; - - // 根据出生时间计算命宫位置(真正的紫微斗数算法) - const birthHour = hour + minute / 60; - const birthMonth = birthDate.getMonth() + 1; - const birthDay = birthDate.getDate(); - - // 计算命宫索引(基于出生月日和时辰的复杂计算) - let mingGongIndex = calculateMingGongPosition(birthMonth, birthDay, birthHour, gender); - - // 生成星曜分布 - const mainStars = distributeMainStars(mingGongIndex, birthDate, birthHour); - - // 生成十二宫位 - const twelvePalaces = generateTwelvePalaces(mingGongIndex, mainStars, birthDate, gender); - - // 计算四化 - const siHua = calculateRealSiHua(birthDate); - - // 计算大限 - const majorPeriods = calculateRealMajorPeriods(birthDate, gender); - - return { - mingGong: branches[mingGongIndex], - mingGongStars: mainStars.mingGongStars, - twelvePalaces: twelvePalaces, - siHua: siHua, - majorPeriods: majorPeriods, - birthChart: { - mingGongPosition: branches[mingGongIndex], - mainStars: mainStars.mingGongStars || [], - chartType: determineChartType(mainStars), - luckyStars: mainStars.luckyStars || [], - unluckyStars: mainStars.unluckyStars || [] - } - }; -} - -// 计算命宫位置(真正的紫微斗数算法) -function calculateMingGongPosition(month, day, hour, gender) { - // 基于传统紫微斗数算法的命宫计算 - const monthOffset = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1]; - const hourBranches = [11, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]; - - let baseIndex = monthOffset[month - 1] - 1; - let hourOffset = hourBranches[Math.floor(hour)]; - - if (gender === 'male' || gender === '男') { - return (baseIndex + hourOffset) % 12; - } else { - return (baseIndex - hourOffset + 12) % 12; - } -} - -// 分配主星(动态生成) -function distributeMainStars(mingGongIndex, birthDate, birthHour) { - const stars = [ - '紫微', '天机', '太阳', '武曲', '天同', '廉贞', '天府', '太阴', '贪狼', '巨门', - '天相', '天梁', '七杀', '破军', '文昌', '文曲', '左辅', '右弼', '天魁', '天钺', - '擎羊', '陀罗', '火星', '铃星', '地空', '地劫', '禄存', '天马' - ]; - - // 根据出生时间生成星曜分布 - const seed = birthDate.getFullYear() * 10000 + (birthDate.getMonth() + 1) * 100 + birthDate.getDate(); - const hourSeed = Math.floor(birthHour * 60); - - // 动态生成星曜组合 - const mingGongStars = generateStarCombination(seed + hourSeed, 2); - const luckyStars = generateStarCombination(seed + hourSeed + 100, 3); - const unluckyStars = generateStarCombination(seed + hourSeed + 200, 2); - - return { - mingGongStars, - luckyStars, - unluckyStars - }; -} - -// 生成星曜组合 -function generateStarCombination(seed, count) { - const stars = [ - '紫微', '天机', '太阳', '武曲', '天同', '廉贞', '天府', '太阴', '贪狼', '巨门', - '天相', '天梁', '七杀', '破军', '文昌', '文曲', '左辅', '右弼', '天魁', '天钺' - ]; - - // 使用伪随机算法确保同一出生时间得到相同结果 - const random = seededRandom(seed); - const result = []; - const used = new Set(); - - while (result.length < count && used.size < stars.length) { - const index = Math.floor(random() * stars.length); - if (!used.has(index)) { - used.add(index); - result.push(stars[index]); - } - } - - return result; -} - -// 生成十二宫位(动态生成) -function generateTwelvePalaces(mingGongIndex, mainStars, birthDate, gender) { - const branches = ['子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥']; - const palaceNames = ['命宫', '兄弟宫', '夫妻宫', '子女宫', '财帛宫', '疾厄宫', '迁移宫', '交友宫', '事业宫', '田宅宫', '福德宫', '父母宫']; - - const twelvePalaces = {}; - - // 根据命宫位置和出生信息生成各宫位 - for (let i = 0; i < 12; i++) { - const palaceIndex = (mingGongIndex + i) % 12; - const palaceName = palaceNames[i]; - - // 动态生成宫位解读 - const interpretation = generatePalaceInterpretation(palaceName, branches[palaceIndex], mainStars, birthDate, gender); - - // 使用确定性的随机数生成器 - const palaceSeed = birthDate.getTime() + i * 1000; - const palaceRandom = seededRandom(palaceSeed); - const starCount = Math.floor(palaceRandom() * 2) + 1; - - twelvePalaces[palaceName] = { - branch: branches[palaceIndex], - main_stars: generateStarCombination(palaceSeed, starCount), - strength: calculatePalaceStrength(palaceIndex, birthDate), - interpretation: interpretation - }; - } - - return twelvePalaces; -} - -// 生成宫位解读(动态) -function generatePalaceInterpretation(palaceName, branch, mainStars, birthDate, gender) { - const baseInterpretations = { - '命宫': ['命主性格坚毅,具有领导才能', '命主温和善良,人际关系良好', '命主聪明机智,善于把握机会'], - '兄弟宫': ['兄弟姐妹关系和睦,互相扶持', '手足情深,家庭氛围温馨', '兄弟缘分深厚,共同成长'], - '夫妻宫': ['婚姻美满,夫妻恩爱', '感情稳定,相互理解', '姻缘天定,幸福美满'], - '子女宫': ['子女聪明伶俐,孝顺懂事', '子女缘分深厚,家庭幸福', '子女成才,光耀门楣'], - '财帛宫': ['财运亨通,收入稳定', '理财有道,财富积累', '财源广进,富贵吉祥'], - '疾厄宫': ['身体健康,少病少灾', '注重养生,延年益寿', '预防为主,健康长存'], - '迁移宫': ['适合外出发展,机遇多多', '远行有利,事业发展', '他乡遇贵人,前程似锦'], - '交友宫': ['人缘良好,贵人相助', '朋友遍天下,事业有助', '人脉广泛,事业有成'], - '事业宫': ['事业顺利,步步高升', '职场得意,功成名就', '事业有成,名利双收'], - '田宅宫': ['家宅平安,置业顺利', '房产投资,收益丰厚', '家业兴旺,安居乐业'], - '福德宫': ['精神愉悦,生活幸福', '内心平静,知足常乐', '福报深厚,吉祥如意'], - '父母宫': ['父母慈爱,家庭和睦', '长辈缘佳,得父母庇佑', '孝顺父母,福泽绵长'] - }; - - // 根据出生时间和宫位动态选择解读 - const seed = birthDate.getTime() + palaceName.charCodeAt(0); - const random = seededRandom(seed); - const interpretations = baseInterpretations[palaceName] || ['运势平稳,发展良好']; - - return interpretations[Math.floor(random() * interpretations.length)]; -} - -// 计算宫位强弱 -function calculatePalaceStrength(palaceIndex, birthDate) { - const seed = birthDate.getTime() + palaceIndex; - const random = seededRandom(seed); - const strengths = ['旺', '庙', '平', '陷', '弱']; - return strengths[Math.floor(random() * strengths.length)]; -} - -// 计算真正的四化 -function calculateRealSiHua(birthDate) { - const stems = ['甲', '乙', '丙', '丁', '戊', '己', '庚', '辛', '壬', '癸']; - const year = birthDate.getFullYear(); - const yearStemIndex = (year - 4) % 10; - const yearStem = stems[yearStemIndex]; - - const siHuaMap = { - '甲': { lu: '廉贞', quan: '破军', ke: '武曲', ji: '太阳' }, - '乙': { lu: '天机', quan: '天梁', ke: '紫微', ji: '太阴' }, - '丙': { lu: '天同', quan: '天相', ke: '文昌', ji: '廉贞' }, - '丁': { lu: '太阴', quan: '天同', ke: '天机', ji: '巨门' }, - '戊': { lu: '贪狼', quan: '太阴', ke: '右弼', ji: '天机' }, - '己': { lu: '武曲', quan: '贪狼', ke: '天梁', ji: '文曲' }, - '庚': { lu: '太阳', quan: '武曲', ke: '太阴', ji: '天同' }, - '辛': { lu: '巨门', quan: '太阳', ke: '天梁', ji: '文曲' }, - '壬': { lu: '天梁', quan: '紫微', ke: '左辅', ji: '武曲' }, - '癸': { lu: '破军', quan: '巨门', ke: '太阳', ji: '贪狼' } - }; - - const siHua = siHuaMap[yearStem] || siHuaMap['甲']; - - return { - hua_lu: { star: siHua.lu, meaning: '财禄亨通,运势顺遂' }, - hua_quan: { star: siHua.quan, meaning: '权力地位,事业有成' }, - hua_ke: { star: siHua.ke, meaning: '贵人相助,学业有成' }, - hua_ji: { star: siHua.ji, meaning: '需要谨慎,防范风险' } - }; -} - -// 计算真正的大限 -function calculateRealMajorPeriods(birthDate, gender) { - const currentYear = new Date().getFullYear(); - const birthYear = birthDate.getFullYear(); - const age = currentYear - birthYear; - - // 大限起始年龄 - const startAge = gender === 'male' || gender === '男' ? 2 : 5; - const currentPeriod = Math.floor((age - startAge) / 10) + 1; - - const palaceOrder = ['命宫', '兄弟宫', '夫妻宫', '子女宫', '财帛宫', '疾厄宫', '迁移宫', '交友宫', '事业宫', '田宅宫', '福德宫', '父母宫']; - - const periods = []; - for (let i = 0; i < 12; i++) { - const periodNum = i + 1; - const ageStart = startAge + (i * 10); - const ageEnd = ageStart + 9; - - periods.push({ - period: periodNum, - palace: palaceOrder[i], - age_range: `${ageStart}-${ageEnd}岁`, - theme: generatePeriodTheme(palaceOrder[i], periodNum) - }); - } - - return { - current: periods.find(p => age >= parseInt(p.age_range.split('-')[0]) && age <= parseInt(p.age_range.split('-')[1])) || periods[0], - all_periods: periods - }; -} - -// 生成大限主题 -function generatePeriodTheme(palace, periodNum) { - const themes = { - '命宫': ['自我发展期', '个性塑造期', '人生奠基期'], - '兄弟宫': ['人际关系期', '手足情深期', '社交拓展期'], - '夫妻宫': ['感情发展期', '婚姻建立期', '伴侣磨合期'], - '子女宫': ['家庭建设期', '子女缘分期', '责任承担期'], - '财帛宫': ['财富积累期', '理财学习期', '经济基础期'], - '疾厄宫': ['健康管理期', '疾病预防期', '身心调养期'], - '迁移宫': ['外出发展期', '环境适应期', '机遇把握期'], - '交友宫': ['人脉拓展期', '贵人相助期', '合作共赢期'], - '事业宫': ['事业奋斗期', '职场晋升期', '成就达成期'], - '田宅宫': ['置业安家期', '房产投资期', '家业兴旺期'], - '福德宫': ['精神修养期', '内心平静期', '福报积累期'], - '父母宫': ['孝道践行期', '长辈缘佳期', '家庭和睦期'] - }; - - const palaceThemes = themes[palace] || ['发展期']; - return palaceThemes[Math.min(periodNum - 1, palaceThemes.length - 1)]; -} - -// 生成真正的个性化分析 -function generateRealPersonalizedAnalysis(starChart, personName, personGender, baziInfo) { - const primaryStar = starChart.mingGongStars[0] || '天机'; - - return { - character: generateRealCharacterAnalysis(primaryStar, starChart, personName, personGender), - career: generateRealCareerAnalysis(primaryStar, starChart, personName), - wealth: generateRealWealthAnalysis(primaryStar, starChart, personName), - health: generateRealHealthAnalysis(starChart, personName), - relationships: generateRealRelationshipAnalysis(starChart, personName, personGender), - fortune_timing: generateRealTimingAnalysis(starChart, personName, baziInfo), - life_guidance: generateRealLifeGuidance(primaryStar, starChart, personName) - }; -} - -// 生成真正的性格分析 -function generateRealCharacterAnalysis(primaryStar, starChart, personName, personGender) { - const starCharacteristics = { - '紫微': { - traits: ['领导才能', '责任感强', '高贵典雅', '有威严'], - description: `${personName}具有天生的领导气质,做事有主见,能够承担责任。` - }, - '天机': { - traits: ['聪明机智', '善于谋划', '足智多谋', '反应敏捷'], - description: `${personName}思维敏捷,善于分析和解决问题,具有很强的适应能力。` - }, - '太阳': { - traits: ['光明磊落', '热情开朗', '正义感强', '乐于助人'], - description: `${personName}性格开朗,为人正直,具有很强的正义感和责任心。` - }, - '武曲': { - traits: ['刚毅果断', '执行力强', '理财能力', '务实稳重'], - description: `${personName}做事果断,具有很强的执行力和理财能力。` - }, - '天同': { - traits: ['温和善良', '知足常乐', '人缘好', '享受生活'], - description: `${personName}性格温和,人缘好,懂得享受生活的乐趣。` - }, - '廉贞': { - traits: ['感情丰富', '追求完美', '有艺术天赋', '敏感细腻'], - description: `${personName}感情丰富,追求完美,具有很强的艺术感知能力。` - }, - '天府': { - traits: ['稳重踏实', '理财高手', '注重安全', '保守谨慎'], - description: `${personName}做事稳重,具有很强的理财能力和风险意识。` - }, - '太阴': { - traits: ['温柔体贴', '善解人意', '直觉敏锐', '富有同情心'], - description: `${personName}温柔体贴,具有很强的直觉力和同情心。` - }, - '贪狼': { - traits: ['多才多艺', '善于交际', '追求享受', '适应力强'], - description: `${personName}多才多艺,善于交际,适应能力强。` - }, - '巨门': { - traits: ['口才出众', '善于辩论', '洞察力强', '有研究精神'], - description: `${personName}口才出众,具有很强的洞察力和研究精神。` - } - }; - - const starInfo = starCharacteristics[primaryStar] || starCharacteristics['天机']; - - return { - overview: starInfo.description, - personality_traits: starInfo.traits.join('、'), - core_strengths: `${personName}的核心优势在于${starInfo.traits[0]}和${starInfo.traits[1]}。`, - development_advice: `建议${personName}发挥${starInfo.traits[0]}的优势,同时培养${starInfo.traits[2]}的特质。` - }; -} - -// 生成真正的事业分析 -function generateRealCareerAnalysis(primaryStar, starChart, personName) { - const careerMapping = { - '紫微': { - industries: ['政府管理', '企业高管', '教育行政', '组织领导'], - advice: '适合从事管理领导工作,能够发挥组织才能' - }, - '天机': { - industries: ['科技研发', '策划咨询', '教育培训', '金融分析'], - advice: '适合从事需要智慧和策划的工作' - }, - '太阳': { - industries: ['公共服务', '教育培训', '文化传媒', '医疗保健'], - advice: '适合从事服务大众的职业' - }, - '武曲': { - industries: ['金融投资', '企业管理', '军警法务', '工程技术'], - advice: '适合从事需要决断力的职业' - }, - '天同': { - industries: ['服务行业', '教育培训', '文化艺术', '社会福利'], - advice: '适合从事服务性行业' - }, - '廉贞': { - industries: ['艺术创作', '设计创意', '娱乐传媒', '时尚美容'], - advice: '适合从事艺术创意类工作' - }, - '天府': { - industries: ['金融理财', '房地产', '企业管理', '投资顾问'], - advice: '适合从事财务管理和投资类工作' - }, - '太阴': { - industries: ['文化艺术', '设计创意', '教育培训', '咨询服务'], - advice: '适合从事需要细心和创意的工作' - }, - '贪狼': { - industries: ['销售营销', '娱乐传媒', '旅游酒店', '餐饮美食'], - advice: '适合从事需要人际交往的工作' - }, - '巨门': { - industries: ['教育培训', '研究分析', '法律法务', '咨询顾问'], - advice: '适合从事需要研究和分析的工作' - } - }; - - const careerInfo = careerMapping[primaryStar] || careerMapping['天机']; - - return { - suitable_industries: careerInfo.industries, - career_advice: `${personName}${careerInfo.advice}。`, - development_path: `建议从基层做起,逐步积累经验,向${careerInfo.industries[0]}方向发展。`, - success_factors: `${personName}的成功关键在于发挥${primaryStar}星的特质,建立专业优势。` - }; -} - -// 生成真正的财运分析 -function generateRealWealthAnalysis(primaryStar, starChart, personName) { - const wealthPatterns = { - '紫微': '领导管理型财富,通过职位提升获得财富', - '天机': '智慧策划型财富,通过专业能力获得收益', - '太阳': '服务大众型财富,通过帮助他人获得回报', - '武曲': '实干执行型财富,通过努力工作积累财富', - '天同': '享受生活型财富,通过平衡工作获得稳定收入', - '廉贞': '艺术创意型财富,通过创意才华获得收益', - '天府': '理财投资型财富,通过稳健投资积累财富', - '太阴': '细心经营型财富,通过精心理财获得收益', - '贪狼': '多元发展型财富,通过多种渠道获得收入', - '巨门': '专业研究型财富,通过专业知识获得收益' - }; - - const pattern = wealthPatterns[primaryStar] || '稳健积累型财富'; - - return { - wealth_pattern: `${personName}的财运属于${pattern}。`, - earning_style: '收入来源多元化,善于把握财富机会', - investment_advice: '建议采用稳健投资策略,分散风险', - financial_planning: `${personName}应该制定长期财务规划,注重财富积累和保值。` - }; -} - -// 生成真正的健康分析 -function generateRealHealthAnalysis(starChart, personName) { - const healthFocus = { - '命宫': '整体健康状况', - '疾厄宫': '疾病预防和保健', - '福德宫': '心理健康和精神状态', - '迁移宫': '出行安全和环境适应' - }; - - const currentFocus = Object.keys(healthFocus)[Math.floor(Math.random() * 4)]; - - return { - constitution: `${personName}的体质整体良好,需要注意${healthFocus[currentFocus]}。`, - health_focus: `建议重点关注${healthFocus[currentFocus]},定期体检。`, - wellness_advice: `${personName}应该保持规律作息,适度运动,注重心理健康。`, - prevention_tips: '预防胜于治疗,建立健康的生活方式' - }; -} - -// 生成真正的情感分析 -function generateRealRelationshipAnalysis(starChart, personName, personGender) { - const spouseText = personGender === '男性' ? '太太' : '先生'; - const focusPalace = Math.random() > 0.5 ? '夫妻宫' : '福德宫'; - - return { - marriage_fortune: `${personName}的婚姻运势整体向好,${focusPalace}显示感情发展顺利。`, - spouse_characteristics: `${personName}的${spouseText}通常性格温和,与${personName}互补。`, - relationship_advice: `建议${personName}在感情中保持真诚沟通,用心经营婚姻关系。`, - family_harmony: `${personName}的家庭生活温馨和睦,能够营造幸福的家庭氛围。` - }; -} - -// 生成真正的时机分析 -function generateRealTimingAnalysis(starChart, personName, baziInfo) { - const currentYear = new Date().getFullYear(); - const currentAge = currentYear - baziInfo.birth_info.year; - - return { - current_period: { - age_range: `${currentAge}岁`, - theme: '个人发展关键期', - interpretation: `${personName}目前处于人生的重要发展阶段,建议把握机会。`, - opportunities: ['事业发展', '学习提升', '人际拓展'], - challenges: ['需要耐心', '避免急躁', '持续学习'] - }, - yearly_forecast: { - current_year: currentYear, - forecast: `${personName}在${currentYear}年整体运势向好,建议积极行动。`, - focus_areas: ['事业发展', '财富管理', '人际关系'] - } - }; -} - -// 生成真正的人生指导 -function generateRealLifeGuidance(primaryStar, starChart, personName) { - const guidanceMessages = { - '紫微': `${personName}应该发挥领导才能,以责任和服务为本。`, - '天机': `${personName}应该运用智慧,善于谋划和决策。`, - '太阳': `${personName}应该保持光明磊落,用热情服务他人。`, - '武曲': `${personName}应该保持果断执行,通过努力获得成功。`, - '天同': `${personName}应该享受生活,保持知足常乐的心态。`, - '廉贞': `${personName}应该追求美好,发挥艺术和创意才能。`, - '天府': `${personName}应该稳健理财,通过智慧积累财富。`, - '太阴': `${personName}应该发挥细腻特质,用温柔影响他人。`, - '贪狼': `${personName}应该多元发展,善于把握各种机会。`, - '巨门': `${personName}应该深入研究,发挥专业分析能力。` - }; - - return { - life_philosophy: guidanceMessages[primaryStar] || `${personName}应该保持真实自我,不断学习和成长。`, - practical_advice: '建议在生活中保持积极乐观,持续学习和提升自己', - spiritual_guidance: '保持内心平静,用善良和智慧面对人生挑战', - overall_guidance: `${personName}的人生之路应该结合${primaryStar}星的特质,创造属于自己的精彩人生。` - }; -} - -// 确定命盘类型 -function determineChartType(mainStars) { - if (mainStars.mingGongStars.includes('紫微')) return '紫微斗数命盘'; - if (mainStars.mingGongStars.includes('天府')) return '天府朝垣格'; - if (mainStars.mingGongStars.includes('太阳')) return '日照雷门格'; - return '标准命盘'; -} - -// 伪随机数生成器(确保同一输入得到相同结果) -function seededRandom(seed) { - let x = Math.sin(seed) * 10000; - return function() { - x = Math.sin(x) * 10000; - return x - Math.floor(x); - }; -} diff --git a/package.json b/package.json index 95ec73c..084e95a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,8 @@ { - "name": "react_repo", + "name": "shenjige-numerology", "private": true, - "version": "0.0.0", + "version": "3.0.0", + "description": "神机阁 - AI驱动的中华传统命理分析平台,提供八字、紫微斗数、易经占卜等专业分析服务", "type": "module", "packageManager": "pnpm@9.0.0", "scripts": { diff --git a/server/database/schema.sql b/server/database/schema.sql index b65b003..3a6009f 100644 --- a/server/database/schema.sql +++ b/server/database/schema.sql @@ -1,4 +1,4 @@ --- 三算命本地化数据库Schema +-- 神机阁本地化数据库Schema -- SQLite数据库结构定义 -- 用户表 diff --git a/server/services/ziweiAnalyzer.cjs b/server/services/ziweiAnalyzer.cjs index 32bd43f..7a347c8 100644 --- a/server/services/ziweiAnalyzer.cjs +++ b/server/services/ziweiAnalyzer.cjs @@ -930,18 +930,18 @@ class ZiweiAnalyzer { // 获取宫位对性格的影响 getPositionPersonalityInfluence(position) { const positionInfluences = { - '子': '您天生具有智慧和灵活性,思维敏捷,适应能力强。', - '丑': '您性格稳重踏实,做事有条不紊,具有很强的耐心和毅力。', - '寅': '您充满活力和创造力,勇于开拓,具有领导潜质。', - '卯': '您温和善良,具有艺术天赋,人际关系和谐。', - '辰': '您聪明好学,具有很强的分析能力和判断力。', - '巳': '您热情奔放,具有很强的表现力和感染力。', - '午': '您光明磊落,具有正义感,喜欢帮助他人。', - '未': '您细腻敏感,具有很强的直觉力和同情心。', - '申': '您机智灵活,具有很强的变通能力和商业头脑。', - '酉': '您追求完美,注重细节,具有很强的审美能力。', - '戌': '您忠诚可靠,具有很强的责任感和正义感。', - '亥': '您包容性强,具有很强的想象力和创造力。' + '子': '您天生具有智慧和灵活性,思维敏捷,适应能力强。子宫属水,代表智慧和流动性,使您在处理复杂问题时能够灵活变通,善于从多个角度思考问题。', + '丑': '您性格稳重踏实,做事有条不紊,具有很强的耐心和毅力。丑宫属土,代表稳定和积累,使您在面对困难时能够坚持不懈,通过持续努力获得成功。', + '寅': '您充满活力和创造力,勇于开拓,具有领导潜质。寅宫属木,代表生长和创新,使您具有强烈的进取心和开拓精神,善于在新领域中发挥才华。', + '卯': '您温和善良,具有艺术天赋,人际关系和谐。卯宫属木,代表温和和美感,使您在人际交往中表现出色,具有很强的亲和力和艺术鉴赏能力。', + '辰': '您聪明好学,具有很强的分析能力和判断力。辰宫属土,代表智慧和储藏,使您善于学习和积累知识,在专业领域能够达到很高的水平。', + '巳': '您热情奔放,具有很强的表现力和感染力。巳宫属火,代表热情和表达,使您在社交场合中能够吸引他人注意,具有很强的影响力和说服力。', + '午': '您光明磊落,具有正义感,喜欢帮助他人。午宫属火,代表光明和正义,使您在道德品格上表现突出,容易获得他人的信任和尊重。', + '未': '您细腻敏感,具有很强的直觉力和同情心。未宫属土,代表细腻和包容,使您在情感方面非常敏锐,善于理解和关怀他人的需求。', + '申': '您机智灵活,具有很强的变通能力和商业头脑。申宫属金,代表变化和机智,使您在商业活动中表现出色,善于把握机会和创造价值。', + '酉': '您追求完美,注重细节,具有很强的审美能力。酉宫属金,代表精致和完美,使您在工作和生活中都追求高标准,具有很强的品质意识。', + '戌': '您忠诚可靠,具有很强的责任感和正义感。戌宫属土,代表忠诚和守护,使您在团队中成为可靠的支柱,能够承担重要的责任和使命。', + '亥': '您包容性强,具有很强的想象力和创造力。亥宫属水,代表包容和智慧,使您在思维上非常开阔,能够接纳不同的观点和创新的想法。' }; return positionInfluences[position] || '您具有独特的性格特质。'; @@ -992,10 +992,10 @@ class ZiweiAnalyzer { } return `融合了${mainStars.join('、')}的特质,形成了独特而复合的性格特征`; - } - - // 深度性格特质分析 - analyzeDeepPersonalityTraits(mainStars, luckyStars, unluckyStars, personName, personGender) { + } + + // 深度性格特质分析 + analyzeDeepPersonalityTraits(mainStars, luckyStars, unluckyStars, personName, personGender) { let traits = []; // 基于主星的核心特质 @@ -1091,14 +1091,22 @@ class ZiweiAnalyzer { generateCareerAnalysis(personName, careerPalace, mingGong, majorPeriods) { const careerStars = careerPalace.main_stars; const mingGongStars = mingGong.main_stars; + const careerLucky = careerPalace.lucky_stars; + const careerUnlucky = careerPalace.unlucky_stars; + const careerPosition = careerPalace.position; return { - career_potential: this.analyzeCareerPotential(careerStars, mingGongStars), - suitable_industries: this.analyzeSuitableIndustries(careerStars, mingGongStars), - leadership_style: this.analyzeLeadershipStyle(mingGongStars), - career_development: this.analyzeCareerDevelopment(careerStars, careerPalace.strength), - peak_career_periods: this.analyzeCareerPeakPeriods(majorPeriods), - career_advice: this.generateCareerAdvice(careerStars, mingGongStars, personName) + career_overview: this.generatePersonalizedCareerOverview(personName, careerStars, mingGongStars, careerPosition), + career_potential: this.analyzeDeepCareerPotential(careerStars, mingGongStars, careerLucky, personName), + suitable_industries: this.analyzePersonalizedIndustries(careerStars, mingGongStars, personName), + leadership_style: this.analyzePersonalizedLeadershipStyle(mingGongStars, careerStars, personName), + career_development: this.analyzePersonalizedCareerDevelopment(careerStars, careerPalace.strength, personName), + peak_career_periods: this.analyzeDetailedCareerPeakPeriods(majorPeriods, careerStars, personName), + career_challenges: this.analyzeCareerChallenges(careerUnlucky, careerStars, personName), + success_strategies: this.generateCareerSuccessStrategies(careerStars, mingGongStars, personName), + networking_guidance: this.generateNetworkingGuidance(careerStars, careerLucky, personName), + career_transformation: this.analyzeCareerTransformation(careerStars, majorPeriods, personName), + modern_career_advice: this.generateModernCareerAdvice(careerStars, mingGongStars, personName) }; } @@ -1107,14 +1115,22 @@ class ZiweiAnalyzer { const wealthStars = wealthPalace.main_stars; const wealthLucky = wealthPalace.lucky_stars; const wealthUnlucky = wealthPalace.unlucky_stars; + const wealthPosition = wealthPalace.position; + const mingGongStars = mingGong.main_stars; return { - wealth_potential: this.analyzeWealthPotential(wealthStars, wealthLucky, wealthUnlucky), - earning_style: this.analyzeEarningStyle(wealthStars, mainStar), - investment_tendency: this.analyzeInvestmentTendency(wealthStars, mingGong.main_stars), - financial_management: this.analyzeFinancialManagement(wealthStars, wealthPalace.strength), - wealth_timing: this.analyzeWealthTiming(wealthStars), - financial_advice: this.generateFinancialAdvice(wealthStars, personName) + wealth_overview: this.generatePersonalizedWealthOverview(personName, wealthStars, mainStar, wealthPosition), + wealth_potential: this.analyzeDeepWealthPotential(wealthStars, wealthLucky, wealthUnlucky, personName), + earning_style: this.analyzePersonalizedEarningStyle(wealthStars, mainStar, personName), + investment_tendency: this.analyzePersonalizedInvestmentTendency(wealthStars, mingGongStars, personName), + financial_management: this.analyzePersonalizedFinancialManagement(wealthStars, wealthPalace.strength, personName), + wealth_timing: this.analyzeDetailedWealthTiming(wealthStars, wealthLucky, personName), + wealth_obstacles: this.analyzeWealthObstacles(wealthUnlucky, wealthStars, personName), + wealth_opportunities: this.analyzeWealthOpportunities(wealthStars, wealthLucky, personName), + passive_income: this.analyzePassiveIncomeOpportunities(wealthStars, mingGongStars, personName), + financial_planning: this.generateFinancialPlanningAdvice(wealthStars, mainStar, personName), + modern_wealth_strategies: this.generateModernWealthStrategies(wealthStars, mingGongStars, personName), + risk_management: this.analyzeFinancialRiskManagement(wealthStars, wealthUnlucky, personName) }; } @@ -1123,14 +1139,23 @@ class ZiweiAnalyzer { const marriageStars = marriagePalace.main_stars; const marriageLucky = marriagePalace.lucky_stars; const marriageUnlucky = marriagePalace.unlucky_stars; + const marriagePosition = marriagePalace.position; + const mingGongStars = mingGong.main_stars; return { - marriage_fortune: this.analyzeMarriageFortune(marriageStars, marriageLucky, marriageUnlucky), - spouse_characteristics: this.analyzeSpouseCharacteristics(marriageStars, personGender), - relationship_pattern: this.analyzeRelationshipPattern(marriageStars, mingGong.main_stars), - marriage_timing: this.analyzeMarriageTiming(marriageStars, marriagePalace.strength), - relationship_challenges: this.analyzeRelationshipChallenges(marriageUnlucky), - relationship_advice: this.generateRelationshipAdvice(marriageStars, personName, personGender) + relationship_overview: this.generatePersonalizedRelationshipOverview(personName, marriageStars, personGender, marriagePosition), + marriage_fortune: this.analyzeDeepMarriageFortune(marriageStars, marriageLucky, marriageUnlucky, personName), + spouse_characteristics: this.analyzeDetailedSpouseCharacteristics(marriageStars, personGender, personName), + relationship_pattern: this.analyzePersonalizedRelationshipPattern(marriageStars, mingGongStars, personName), + love_style: this.analyzeLoveStyle(marriageStars, mingGongStars, personGender, personName), + marriage_timing: this.analyzeDetailedMarriageTiming(marriageStars, marriagePalace.strength, personName), + relationship_challenges: this.analyzeDeepRelationshipChallenges(marriageUnlucky, marriageStars, personName), + compatibility_analysis: this.analyzeCompatibilityFactors(marriageStars, mingGongStars, personName), + relationship_growth: this.analyzeRelationshipGrowth(marriageStars, marriageLucky, personName), + communication_style: this.analyzeCommunicationStyle(marriageStars, mingGongStars, personName), + intimacy_patterns: this.analyzeIntimacyPatterns(marriageStars, personGender, personName), + relationship_advice: this.generateComprehensiveRelationshipAdvice(marriageStars, personName, personGender), + modern_dating_guidance: this.generateModernDatingGuidance(marriageStars, mingGongStars, personName, personGender) }; } @@ -1269,18 +1294,28 @@ class ZiweiAnalyzer { generateLifeGuidance(personName, mainStar, twelvePalaces, siHua) { const mingGong = twelvePalaces['命宫']; const fuDe = twelvePalaces['福德宫']; + const qianYi = twelvePalaces['迁移宫']; + const tianzhai = twelvePalaces['田宅宫']; // 格局判定 const patternAnalysis = this.analyzeZiweiPatterns(twelvePalaces, siHua); return { - life_purpose: this.analyzeLifePurpose(mainStar, mingGong, siHua), - core_values: this.analyzeCoreValues(mingGong, fuDe), - development_direction: this.analyzeDevelopmentDirection(mainStar, twelvePalaces), - spiritual_growth: this.analyzeSpiritualGrowth(fuDe, siHua), - life_lessons: this.analyzeLifeLessons(mingGong, twelvePalaces), - overall_guidance: this.generateOverallGuidance(mainStar, personName), - pattern_analysis: patternAnalysis + life_overview: this.generatePersonalizedLifeOverview(personName, mainStar, mingGong, patternAnalysis), + life_purpose: this.analyzeDeepLifePurpose(mainStar, mingGong, siHua, personName), + core_values: this.analyzePersonalizedCoreValues(mingGong, fuDe, personName), + development_direction: this.analyzeComprehensiveDevelopmentDirection(mainStar, twelvePalaces, personName), + spiritual_growth: this.analyzePersonalizedSpiritualGrowth(fuDe, siHua, personName), + life_lessons: this.analyzeDeepLifeLessons(mingGong, twelvePalaces, personName), + life_phases: this.analyzeLifePhases(twelvePalaces, siHua, personName), + destiny_fulfillment: this.analyzeDestinyFulfillment(mainStar, patternAnalysis, personName), + karmic_patterns: this.analyzeKarmicPatterns(mingGong, qianYi, personName), + life_balance: this.analyzeLifeBalance(twelvePalaces, personName), + legacy_building: this.analyzeLegacyBuilding(mingGong, tianzhai, personName), + wisdom_cultivation: this.analyzeWisdomCultivation(fuDe, siHua, personName), + overall_guidance: this.generateComprehensiveOverallGuidance(mainStar, personName, patternAnalysis), + pattern_analysis: patternAnalysis, + modern_life_integration: this.generateModernLifeIntegration(twelvePalaces, personName) }; } @@ -2243,6 +2278,1121 @@ class ZiweiAnalyzer { return lifePatterns[mainStar] || `${personName},拥有独特的人生格局和发展道路`; } + + // ==================== 个性化事业分析方法 ==================== + + // 生成个性化事业概述 + generatePersonalizedCareerOverview(personName, careerStars, mingGongStars, careerPosition) { + const mainCareerStar = careerStars[0] || '天机'; + const mainMingStar = mingGongStars[0] || '天机'; + const positionInfluence = this.getCareerPositionInfluence(careerPosition); + + return `${personName},您的事业宫位于${careerPosition},主星为${careerStars.join('、') || '无主星'}。${positionInfluence}结合您命宫的${mainMingStar}星特质,您在事业发展上${this.getCareerStarCombinationAnalysis(mainCareerStar, mainMingStar, personName)}。您的职业天赋${this.getCareerTalentDescription(mainCareerStar, personName)},适合在${this.getCareerFieldSuggestion(mainCareerStar, mainMingStar)}领域发展。`; + } + + // 获取事业宫位影响 + getCareerPositionInfluence(position) { + const influences = { + '子': '您的事业发展具有很强的灵活性和适应性,善于在变化中寻找机会。', + '丑': '您在事业上稳扎稳打,注重积累和长远发展,具有很强的耐力。', + '寅': '您的事业充满活力和创新精神,勇于开拓新的领域和机会。', + '卯': '您在事业上具有很强的创造力和表现力,适合需要创意的工作。', + '辰': '您的事业发展具有很强的组织能力和领导潜质,适合管理岗位。', + '巳': '您在事业上聪明机智,善于策划和分析,适合智力密集型工作。', + '午': '您的事业充满热情和活力,具有很强的表现欲和领导魅力。', + '未': '您在事业上注重和谐与合作,善于协调人际关系。', + '申': '您的事业发展具有很强的执行力和实践能力,注重实际效果。', + '酉': '您在事业上追求完美和精确,适合需要细致和专业的工作。', + '戌': '您的事业发展稳重可靠,具有很强的责任感和使命感。', + '亥': '您在事业上具有很强的直觉力和洞察力,善于把握机会。' + }; + + return influences[position] || '您在事业发展上具有独特的优势和特点。'; + } + + // 获取事业星曜组合分析 + getCareerStarCombinationAnalysis(careerStar, mingStar, personName) { + const combinations = { + '紫微': { + '紫微': `${personName},具有天生的领导才能,适合在高层管理或政府部门发挥才华`, + '天机': `${personName},结合了领导力和智慧,适合在策略规划或咨询行业发展`, + '太阳': `${personName},具有强大的影响力和感召力,适合在公共事业或教育领域发光发热`, + '武曲': `${personName},兼具领导力和执行力,适合在金融或实业领域取得成功`, + '天同': `${personName},能够在和谐的环境中发挥领导作用,适合服务性行业的管理工作` + }, + '天机': { + '紫微': `${personName},智慧与权威并重,适合在智库或高端咨询领域发展`, + '天机': `${personName},具有超强的分析和策划能力,适合在研究或策略规划领域发展`, + '太阳': `${personName},智慧与正义并重,适合在法律或教育领域发挥专长`, + '武曲': `${personName},理性分析与实际执行并重,适合在金融分析或项目管理领域`, + '天同': `${personName},智慧与和谐并重,适合在人力资源或心理咨询领域发展` + }, + '太阳': { + '紫微': `${personName},光明与权威并重,适合在政府部门或大型企业的领导岗位`, + '天机': `${personName},正义与智慧并重,适合在法律或新闻媒体领域发展`, + '太阳': `${personName},具有强大的正能量和影响力,适合在教育或公益事业领域`, + '武曲': `${personName},正直与执行力并重,适合在执法或军事领域发展`, + '天同': `${personName},温暖与和谐并重,适合在社会服务或医疗健康领域` + } + }; + + return combinations[careerStar]?.[mingStar] || `${personName},具有独特的事业发展潜力和优势`; + } + + // 获取事业天赋描述 + getCareerTalentDescription(careerStar, personName) { + const talents = { + '紫微': `${personName},体现在组织领导和统筹规划方面,能够在复杂的环境中保持清晰的方向感`, + '天机': `${personName},体现在分析思考和策略规划方面,善于发现问题的本质和解决方案`, + '太阳': `${personName},体现在沟通表达和团队激励方面,能够用正能量影响和带动他人`, + '武曲': `${personName},体现在执行实施和目标达成方面,具有很强的行动力和结果导向`, + '天同': `${personName},体现在协调合作和服务他人方面,能够营造和谐的工作氛围`, + '廉贞': `${personName},体现在创意设计和美学鉴赏方面,具有很强的艺术天赋和审美能力`, + '天府': `${personName},体现在资源整合和财务管理方面,善于积累和配置各种资源`, + '太阴': `${personName},体现在细致观察和深度分析方面,具有很强的洞察力和直觉`, + '贪狼': `${personName},体现在多元发展和适应变化方面,能够在不同领域都有所建树`, + '巨门': `${personName},体现在专业研究和深度分析方面,善于在专业领域建立权威`, + '天相': `${personName},体现在辅助支持和协调配合方面,是团队中不可或缺的重要角色`, + '天梁': `${personName},体现在指导培养和传承经验方面,具有很强的导师潜质`, + '七杀': `${personName},体现在开拓创新和突破困难方面,勇于挑战和改变现状`, + '破军': `${personName},体现在变革创新和重构优化方面,善于在变化中创造新的价值` + }; + + return talents[careerStar] || `${personName},具有独特的职业天赋和发展潜力`; + } + + // 获取事业领域建议 + getCareerFieldSuggestion(careerStar, mingStar) { + const fields = { + '紫微': '政府管理、企业高管、组织领导、公共管理', + '天机': '战略咨询、研究分析、智库顾问、策略规划', + '太阳': '教育培训、新闻媒体、公共关系、社会服务', + '武曲': '金融投资、项目管理、执行实施、目标达成', + '天同': '人力资源、客户服务、协调合作、团队建设', + '廉贞': '创意设计、艺术文化、美学相关、品牌营销', + '天府': '财务管理、资源配置、资产管理、投资理财', + '太阴': '心理咨询、深度研究、数据分析、洞察服务', + '贪狼': '多元发展、跨界合作、创新业务、适应性强的行业', + '巨门': '专业研究、技术开发、学术研究、专业咨询', + '天相': '辅助支持、协调服务、行政管理、后勤保障', + '天梁': '教育指导、经验传承、培训发展、导师角色', + '七杀': '创业开拓、市场拓展、销售业务、挑战性工作', + '破军': '变革创新、重构优化、新兴行业、转型升级' + }; + + return fields[careerStar] || '适合您个人特质的多元化发展领域'; + } + + // 分析深度事业潜力 + analyzeDeepCareerPotential(careerStars, mingGongStars, careerLucky, personName) { + const potentials = []; + + // 基于事业宫主星的潜力 + careerStars.forEach(star => { + const starPotential = this.getCareerStarPotential(star, personName); + if (starPotential) potentials.push(starPotential); + }); + + // 基于命宫主星的事业影响 + mingGongStars.forEach(star => { + const mingInfluence = this.getMingGongCareerInfluence(star, personName); + if (mingInfluence) potentials.push(mingInfluence); + }); + + // 基于吉星的事业加持 + if (careerLucky.length > 0) { + const luckyBonus = this.getCareerLuckyStarsBonus(careerLucky, personName); + if (luckyBonus) potentials.push(luckyBonus); + } + + return potentials.join(';') || `${personName},您具有独特的事业发展潜力`; + } + + // 获取事业宫主星潜力 + getCareerStarPotential(star, personName) { + const potentials = { + '紫微': `${personName},您有成为行业领袖的潜力,天生具备统领全局的能力,适合在大型组织中担任核心领导角色`, + '天机': `${personName},您有成为智慧顾问的潜力,善于洞察趋势和分析问题,适合在咨询和策略规划领域发挥专长`, + '太阳': `${personName},您有成为公众人物的潜力,具有很强的影响力和感召力,适合在需要公众曝光的领域发展`, + '武曲': `${personName},您有成为实业家的潜力,具有很强的执行力和目标达成能力,适合在金融和实业领域创造价值`, + '天同': `${personName},您有成为服务专家的潜力,善于营造和谐环境和服务他人,适合在服务性行业中发挥价值`, + '廉贞': `${personName},您有成为创意大师的潜力,具有很强的艺术天赋和审美能力,适合在创意和设计领域发光发热`, + '天府': `${personName},您有成为财富管理专家的潜力,善于积累和管理资源,适合在财务和投资领域取得成功`, + '太阴': `${personName},您有成为深度分析师的潜力,具有很强的洞察力和直觉,适合在研究和分析领域建立权威`, + '贪狼': `${personName},您有成为多元发展者的潜力,适应能力强且兴趣广泛,适合在多个领域同时发展`, + '巨门': `${personName},您有成为专业权威的潜力,善于深入研究和专业分析,适合在专业技术领域建立地位`, + '天相': `${personName},您有成为协调专家的潜力,善于辅助他人和协调关系,适合在支持性和协调性工作中发挥价值`, + '天梁': `${personName},您有成为导师和指导者的潜力,具有很强的经验传承能力,适合在教育和培训领域发展`, + '七杀': `${personName},您有成为开拓先锋的潜力,勇于挑战和突破,适合在需要开拓和创新的领域发挥才能`, + '破军': `${personName},您有成为变革推动者的潜力,善于在变化中创造价值,适合在转型和创新领域发挥作用` + }; + + return potentials[star]; + } + + // 获取命宫对事业的影响 + getMingGongCareerInfluence(star, personName) { + const influences = { + '紫微': `${personName},您的紫微命格为事业发展提供了天然的权威感和领导魅力,容易获得他人的认可和支持`, + '天机': `${personName},您的天机命格为事业发展提供了敏锐的洞察力和分析能力,善于把握机会和趋势`, + '太阳': `${personName},您的太阳命格为事业发展提供了正面的影响力和感召力,容易成为团队的核心和榜样`, + '武曲': `${personName},您的武曲命格为事业发展提供了坚强的意志力和执行力,能够克服困难达成目标`, + '天同': `${personName},您的天同命格为事业发展提供了和谐的人际关系和合作精神,容易获得团队支持`, + '廉贞': `${personName},您的廉贞命格为事业发展提供了丰富的创意和美学素养,适合在创意领域发挥才华`, + '天府': `${personName},您的天府命格为事业发展提供了稳健的管理能力和资源整合能力,善于积累和发展`, + '太阴': `${personName},您的太阴命格为事业发展提供了细腻的观察力和深度思考能力,善于发现细节和本质`, + '贪狼': `${personName},您的贪狼命格为事业发展提供了多元的兴趣和强大的适应能力,能够在变化中成长`, + '巨门': `${personName},您的巨门命格为事业发展提供了深度的专业能力和分析思维,善于在专业领域建立权威`, + '天相': `${personName},您的天相命格为事业发展提供了优秀的协调能力和服务精神,善于辅助他人成功`, + '天梁': `${personName},您的天梁命格为事业发展提供了丰富的经验和指导能力,适合在教育和培养他人方面发挥价值`, + '七杀': `${personName},您的七杀命格为事业发展提供了强大的开拓精神和挑战勇气,善于在困难中寻找突破`, + '破军': `${personName},您的破军命格为事业发展提供了创新的思维和变革的勇气,善于在变化中创造新的机会` + }; + + return influences[star]; + } + + // 获取事业吉星加持 + getCareerLuckyStarsBonus(luckyStars, personName) { + const bonuses = []; + + luckyStars.forEach(star => { + const starBonus = { + '文昌': `${personName},文昌星在事业宫的加持使您在文化、教育、写作等领域有特殊天赋,表达能力强,容易获得学术或文化方面的成就`, + '文曲': `${personName},文曲星在事业宫的影响让您在沟通、艺术、创意等方面有独特优势,口才出众,适合需要表达和创意的工作`, + '左辅': `${personName},左辅星在事业宫的帮助使您容易得到贵人相助和团队支持,在协作性工作中能发挥重要作用`, + '右弼': `${personName},右弼星在事业宫的支持让您具有很强的协调管理能力,善于处理复杂的人际关系和工作事务`, + '天魁': `${personName},天魁星在事业宫的庇佑使您容易遇到年长的贵人和导师,在关键时刻得到重要的指导和支持`, + '天钺': `${personName},天钺星在事业宫的照耀让您具有很强的直觉判断力,能够在事业发展中把握关键机会和时机` + }; + + if (starBonus[star]) { + bonuses.push(starBonus[star]); + } + }); + + return bonuses.join(';'); + } + + // 分析个性化适合行业 + analyzePersonalizedIndustries(careerStars, mingGongStars, personName) { + const industries = []; + + // 基于事业宫主星的行业建议 + careerStars.forEach(star => { + const starIndustries = this.getStarSuitableIndustries(star, personName); + if (starIndustries) industries.push(starIndustries); + }); + + // 基于命宫主星的行业影响 + mingGongStars.forEach(star => { + const mingIndustries = this.getMingGongIndustryInfluence(star, personName); + if (mingIndustries) industries.push(mingIndustries); + }); + + return industries.join(';') || `${personName},您适合多元化的行业发展`; + } + + // 获取主星适合的行业 + getStarSuitableIndustries(star, personName) { + const industries = { + '紫微': `${personName},紫微星特质使您适合政府管理、大型企业高管、公共事业管理、组织领导等需要权威和统筹能力的行业`, + '天机': `${personName},天机星特质使您适合战略咨询、市场研究、数据分析、智库顾问、策略规划等需要智慧和分析能力的行业`, + '太阳': `${personName},太阳星特质使您适合教育培训、新闻媒体、公共关系、演艺娱乐、社会服务等需要影响力和表达能力的行业`, + '武曲': `${personName},武曲星特质使您适合金融投资、项目管理、工程建设、制造业、执行实施等需要执行力和目标导向的行业`, + '天同': `${personName},天同星特质使您适合人力资源、客户服务、社会工作、医疗健康、协调合作等需要和谐与服务精神的行业`, + '廉贞': `${personName},廉贞星特质使您适合创意设计、艺术文化、时尚美容、品牌营销、美学相关等需要创意和审美能力的行业`, + '天府': `${personName},天府星特质使您适合财务管理、银行保险、资产管理、投资理财、资源配置等需要管理和积累能力的行业`, + '太阴': `${personName},太阴星特质使您适合心理咨询、深度研究、数据分析、市场洞察、精细服务等需要洞察力和细致观察的行业`, + '贪狼': `${personName},贪狼星特质使您适合销售营销、跨界合作、创新业务、娱乐产业、多元发展等需要适应性和多元能力的行业`, + '巨门': `${personName},巨门星特质使您适合专业研究、技术开发、学术研究、法律服务、专业咨询等需要专业深度和分析能力的行业`, + '天相': `${personName},天相星特质使您适合行政管理、协调服务、后勤保障、辅助支持、团队协作等需要协调和服务能力的行业`, + '天梁': `${personName},天梁星特质使您适合教育指导、培训发展、经验传承、咨询顾问、导师角色等需要指导和传承能力的行业`, + '七杀': `${personName},七杀星特质使您适合创业开拓、市场拓展、销售业务、竞争性行业、挑战性工作等需要开拓精神和挑战勇气的行业`, + '破军': `${personName},破军星特质使您适合变革创新、重构优化、新兴行业、转型升级、创新科技等需要变革思维和创新能力的行业` + }; + + return industries[star]; + } + + // 获取命宫对行业选择的影响 + getMingGongIndustryInfluence(star, personName) { + const influences = { + '紫微': `${personName},您的紫微命格增强了在权威性和领导性行业中的发展优势,容易在大型组织中获得认可`, + '天机': `${personName},您的天机命格增强了在智力密集型和策略性行业中的发展优势,善于把握行业趋势和机会`, + '太阳': `${personName},您的太阳命格增强了在公众性和影响力行业中的发展优势,容易在需要曝光度的行业中成功`, + '武曲': `${personName},您的武曲命格增强了在实业和金融行业中的发展优势,具有很强的目标达成和执行能力`, + '天同': `${personName},您的天同命格增强了在服务性和协调性行业中的发展优势,能够在和谐的环境中发挥最大价值`, + '廉贞': `${personName},您的廉贞命格增强了在创意和美学行业中的发展优势,具有独特的艺术天赋和审美能力`, + '天府': `${personName},您的天府命格增强了在管理和财务行业中的发展优势,善于资源整合和长期规划`, + '太阴': `${personName},您的太阴命格增强了在研究和分析行业中的发展优势,具有深度思考和洞察的能力`, + '贪狼': `${personName},您的贪狼命格增强了在多元和创新行业中的发展优势,能够在变化中找到新的机会`, + '巨门': `${personName},您的巨门命格增强了在专业和技术行业中的发展优势,善于在专业领域建立权威地位`, + '天相': `${personName},您的天相命格增强了在协调和支持行业中的发展优势,是团队中不可或缺的重要角色`, + '天梁': `${personName},您的天梁命格增强了在教育和指导行业中的发展优势,具有很强的经验传承和培养能力`, + '七杀': `${personName},您的七杀命格增强了在开拓和竞争行业中的发展优势,勇于在困难中寻找突破机会`, + '破军': `${personName},您的破军命格增强了在变革和创新行业中的发展优势,善于在变化中创造新的价值` + }; + + return influences[star]; + } + + // 分析个性化领导风格 + analyzePersonalizedLeadershipStyle(mingGongStars, careerStars, personName) { + const styles = []; + + // 基于命宫主星的领导风格 + mingGongStars.forEach(star => { + const mingStyle = this.getMingGongLeadershipStyle(star, personName); + if (mingStyle) styles.push(mingStyle); + }); + + // 基于事业宫主星的领导特质 + careerStars.forEach(star => { + const careerStyle = this.getCareerStarLeadershipStyle(star, personName); + if (careerStyle) styles.push(careerStyle); + }); + + return styles.join(';') || `${personName},您具有独特的领导风格和管理特质`; + } + + // 获取命宫主星的领导风格 + getMingGongLeadershipStyle(star, personName) { + const styles = { + '紫微': `${personName},您的紫微命格赋予您天生的权威感和统领能力,领导风格威严而有魅力,善于制定宏观战略和长远规划`, + '天机': `${personName},您的天机命格使您成为智慧型领导者,善于分析和策划,领导风格灵活机智,能够在复杂情况下找到最佳解决方案`, + '太阳': `${personName},您的太阳命格让您成为光明正大的领导者,领导风格开放透明,善于激励团队,能够用正能量影响和带动他人`, + '武曲': `${personName},您的武曲命格造就了您执行力强的领导风格,注重结果导向,善于制定明确目标并推动团队达成`, + '天同': `${personName},您的天同命格使您成为和谐型领导者,领导风格温和包容,善于营造良好的团队氛围和人际关系`, + '廉贞': `${personName},您的廉贞命格赋予您创新型的领导风格,富有创意和美感,善于激发团队的创造力和艺术潜能`, + '天府': `${personName},您的天府命格让您成为稳健型领导者,领导风格务实可靠,善于资源整合和团队建设`, + '太阴': `${personName},您的太阴命格使您成为细致入微的领导者,领导风格深思熟虑,善于观察和洞察团队成员的需求`, + '贪狼': `${personName},您的贪狼命格造就了您适应性强的领导风格,能够在不同环境中调整管理方式,善于激发团队活力`, + '巨门': `${personName},您的巨门命格使您成为专业型领导者,领导风格严谨专业,善于在专业领域建立权威和标准`, + '天相': `${personName},您的天相命格赋予您协调型的领导风格,善于平衡各方利益,是团队中的重要协调者和支持者`, + '天梁': `${personName},您的天梁命格让您成为导师型领导者,领导风格富有经验和智慧,善于指导和培养团队成员`, + '七杀': `${personName},您的七杀命格造就了您开拓型的领导风格,勇于挑战和突破,善于带领团队在困难中寻找机会`, + '破军': `${personName},您的破军命格使您成为变革型领导者,领导风格创新进取,善于在变化中带领团队创造新的价值` + }; + + return styles[star]; + } + + // 获取事业宫主星的领导特质 + getCareerStarLeadershipStyle(star, personName) { + const styles = { + '紫微': `${personName},事业宫紫微星增强了您的组织统筹能力,在工作中展现出卓越的领导魅力和决策能力`, + '天机': `${personName},事业宫天机星增强了您的策略思维能力,在工作中善于制定智慧的计划和灵活的应对策略`, + '太阳': `${personName},事业宫太阳星增强了您的影响力和感召力,在工作中能够成为团队的精神领袖和榜样`, + '武曲': `${personName},事业宫武曲星增强了您的执行力和目标达成能力,在工作中展现出强大的行动力和结果导向`, + '天同': `${personName},事业宫天同星增强了您的协调合作能力,在工作中善于营造和谐的团队氛围`, + '廉贞': `${personName},事业宫廉贞星增强了您的创意领导能力,在工作中能够激发团队的创新思维和美学追求`, + '天府': `${personName},事业宫天府星增强了您的管理统筹能力,在工作中善于整合资源和建立稳固的团队基础`, + '太阴': `${personName},事业宫太阴星增强了您的洞察分析能力,在工作中善于发现问题的本质和团队的潜在需求`, + '贪狼': `${personName},事业宫贪狼星增强了您的多元领导能力,在工作中能够适应不同的团队和环境需求`, + '巨门': `${personName},事业宫巨门星增强了您的专业权威能力,在工作中能够在专业领域建立领导地位`, + '天相': `${personName},事业宫天相星增强了您的辅助协调能力,在工作中是团队中不可或缺的重要支持者`, + '天梁': `${personName},事业宫天梁星增强了您的指导培养能力,在工作中善于传承经验和培养下属`, + '七杀': `${personName},事业宫七杀星增强了您的开拓进取能力,在工作中勇于承担挑战和开创新的局面`, + '破军': `${personName},事业宫破军星增强了您的变革创新能力,在工作中善于推动变革和创造新的工作模式` + }; + + return styles[star]; + } + + // 分析个性化事业发展 + analyzePersonalizedCareerDevelopment(careerStars, careerStrength, personName) { + const developments = []; + + // 基于事业宫主星的发展路径 + careerStars.forEach(star => { + const starDevelopment = this.getStarCareerDevelopment(star, personName); + if (starDevelopment) developments.push(starDevelopment); + }); + + // 基于事业宫强度的发展建议 + const strengthAdvice = this.getCareerStrengthAdvice(careerStrength, personName); + if (strengthAdvice) developments.push(strengthAdvice); + + return developments.join(';') || `${personName},您的事业发展具有独特的路径和机会`; + } + + // 获取主星的事业发展路径 + getStarCareerDevelopment(star, personName) { + const developments = { + '紫微': `${personName},您的事业发展适合从基层管理开始,逐步向高层领导发展,最终成为行业或组织的核心决策者`, + '天机': `${personName},您的事业发展适合从专业分析师开始,逐步向战略顾问发展,最终成为智慧型的行业专家`, + '太阳': `${personName},您的事业发展适合从公众服务开始,逐步扩大影响力,最终成为具有社会影响力的公众人物`, + '武曲': `${personName},您的事业发展适合从执行岗位开始,逐步向项目管理发展,最终成为实业领域的成功企业家`, + '天同': `${personName},您的事业发展适合从服务岗位开始,逐步向团队协调发展,最终成为和谐型的管理专家`, + '廉贞': `${personName},您的事业发展适合从创意工作开始,逐步向艺术管理发展,最终成为创意产业的领军人物`, + '天府': `${personName},您的事业发展适合从财务管理开始,逐步向资源整合发展,最终成为财富管理的专业人士`, + '太阴': `${personName},您的事业发展适合从研究分析开始,逐步向深度咨询发展,最终成为洞察力强的行业智者`, + '贪狼': `${personName},您的事业发展适合从多元尝试开始,逐步找到最适合的领域,最终成为跨界发展的成功人士`, + '巨门': `${personName},您的事业发展适合从专业技术开始,逐步向专业权威发展,最终成为行业内的技术专家`, + '天相': `${personName},您的事业发展适合从辅助工作开始,逐步向协调管理发展,最终成为团队中的重要支柱`, + '天梁': `${personName},您的事业发展适合从经验积累开始,逐步向指导培训发展,最终成为行业内的导师级人物`, + '七杀': `${personName},您的事业发展适合从挑战性工作开始,逐步向开拓创新发展,最终成为行业的开拓先锋`, + '破军': `${personName},您的事业发展适合从变革项目开始,逐步向创新领导发展,最终成为行业变革的推动者` + }; + + return developments[star]; + } + + // 获取事业宫强度建议 + getCareerStrengthAdvice(strength, personName) { + if (strength === 'strong') { + return `${personName},您的事业宫力量强劲,事业发展顺利,建议积极进取,把握机会快速发展`; + } else if (strength === 'medium') { + return `${personName},您的事业宫力量适中,事业发展稳定,建议稳扎稳打,注重积累和提升`; + } else { + return `${personName},您的事业宫需要加强,建议通过学习提升和人脉建设来增强事业发展动力`; + } + } + + // 分析详细的事业高峰期 + analyzeDetailedCareerPeakPeriods(majorPeriods, careerStars, personName) { + const periods = []; + + if (majorPeriods && majorPeriods.all_periods) { + majorPeriods.all_periods.forEach((period, index) => { + const periodAnalysis = this.getCareerPeriodAnalysis(period, careerStars, personName, index); + if (periodAnalysis) periods.push(periodAnalysis); + }); + } + + return periods.join(';') || `${personName},您的事业发展将在不同阶段展现不同的特色和机会`; + } + + // 获取事业时期分析 + getCareerPeriodAnalysis(period, careerStars, personName, index) { + const ageRange = `${10 + index * 10}-${19 + index * 10}岁`; + const mainCareerStar = careerStars[0] || '天机'; + + const periodAdvice = { + 0: `${personName},在${ageRange}期间,这是您事业的起步阶段,建议专注于基础技能的学习和积累`, + 1: `${personName},在${ageRange}期间,这是您事业的成长阶段,${mainCareerStar}星的特质将开始显现,建议积极拓展专业领域`, + 2: `${personName},在${ageRange}期间,这是您事业的发展阶段,建议把握机会,在专业领域建立自己的地位`, + 3: `${personName},在${ageRange}期间,这是您事业的成熟阶段,建议发挥领导才能,承担更大的责任`, + 4: `${personName},在${ageRange}期间,这是您事业的巅峰阶段,建议充分发挥${mainCareerStar}星的优势,实现事业目标`, + 5: `${personName},在${ageRange}期间,这是您事业的传承阶段,建议将经验和智慧传授给后辈,建立持久的影响力` + }; + + return periodAdvice[index] || `${personName},在${ageRange}期间,您的事业发展将有独特的机会和挑战`; + } + + // 分析事业挑战 + analyzeCareerChallenges(careerUnlucky, careerStars, personName) { + const challenges = []; + + careerUnlucky.forEach(star => { + const starChallenges = { + '擎羊': '容易在工作中遇到竞争激烈的环境,需要学会处理人际冲突', + '陀罗': '工作进展可能较为缓慢,需要耐心和坚持', + '火星': '工作中容易急躁,需要控制情绪,避免冲动决策', + '铃星': '可能面临工作压力和焦虑,需要学会放松和调节', + '地空': '理想与现实可能存在差距,需要脚踏实地', + '地劫': '可能遇到意外的工作变动,需要保持灵活应变' + }; + + if (starChallenges[star]) { + challenges.push(starChallenges[star]); + } + }); + + return challenges.length > 0 ? challenges.join(';') : `${personName},您的事业发展相对顺利,主要挑战来自于如何更好地发挥自身优势`; + } + + // 生成事业成功策略 + generateCareerSuccessStrategies(careerStars, mingGongStars, personName) { + const strategies = []; + + careerStars.forEach(star => { + const starStrategies = { + '紫微': `${personName},紫微星事业成功策略:1) 培养领导魅力,提升个人影响力;2) 主动承担重要项目和责任;3) 建立权威专业形象;4) 发展战略思维,从全局角度思考问题;5) 建立高层次的人脉网络;6) 注重个人品牌建设。`, + '天机': `${personName},天机星事业成功策略:1) 持续学习新知识和技能;2) 发挥分析和策划优势;3) 把握行业发展趋势和机会;4) 培养创新思维和解决问题的能力;5) 建立智囊团队,集思广益;6) 注重信息收集和分析。`, + '太阳': `${personName},太阳星事业成功策略:1) 建立正面积极的职业形象;2) 主动帮助同事和下属成长;3) 发挥影响力和感召力;4) 参与公益活动,提升社会声誉;5) 在团队中发挥核心作用;6) 注重道德品格和职业操守。`, + '武曲': `${personName},武曲星事业成功策略:1) 注重实际成果和业绩表现;2) 持续提升专业技能和执行力;3) 设定明确的目标并坚持执行;4) 培养财务管理和成本控制能力;5) 在实业领域深耕发展;6) 建立可量化的成功指标。`, + '天同': `${personName},天同星事业成功策略:1) 营造和谐的工作氛围;2) 发挥团队协调和沟通能力;3) 建立良好的人际关系网络;4) 在服务性行业发挥优势;5) 注重工作与生活的平衡;6) 培养包容和理解的领导风格。`, + '廉贞': `${personName},廉贞星事业成功策略:1) 发挥创意和艺术天赋;2) 注重工作的美感和品质;3) 在创意产业中寻找机会;4) 培养审美能力和设计思维;5) 建立个人风格和特色;6) 平衡理性分析与感性创作。`, + '天府': `${personName},天府星事业成功策略:1) 采用稳健的发展策略;2) 注重资源积累和管理;3) 建立可靠的业务基础;4) 发挥财务管理和投资能力;5) 在传统行业中寻找机会;6) 培养长期规划和风险控制能力。`, + '太阴': `${personName},太阴星事业成功策略:1) 发挥细致入微的观察力;2) 在幕后支持和辅助角色中发光;3) 培养深度分析和研究能力;4) 注重细节和质量控制;5) 建立专业的技术能力;6) 在需要耐心和细心的领域发展。`, + '贪狼': `${personName},贪狼星事业成功策略:1) 保持多元化发展思路;2) 善于学习和适应新环境;3) 抓住各种发展机会;4) 培养销售和市场开拓能力;5) 建立广泛的社交网络;6) 保持对新趋势的敏感度。`, + '巨门': `${personName},巨门星事业成功策略:1) 深入专业领域,建立权威地位;2) 发挥分析和研究优势;3) 培养专业咨询和指导能力;4) 注重知识积累和经验总结;5) 在需要专业判断的领域发展;6) 建立专业声誉和口碑。`, + '天相': `${personName},天相星事业成功策略:1) 发挥协调和服务能力;2) 在团队中扮演重要支撑角色;3) 培养忠诚可靠的职业品格;4) 建立信任和合作关系;5) 在需要协调配合的岗位发光;6) 注重职业道德和责任感。`, + '天梁': `${personName},天梁星事业成功策略:1) 发挥指导和教育作用;2) 承担社会责任和使命;3) 建立正面的影响力;4) 培养长者风范和智慧;5) 在教育培训领域发展;6) 注重品德修养和人格魅力。`, + '七杀': `${personName},七杀星事业成功策略:1) 勇于接受挑战和开拓新领域;2) 在竞争激烈的环境中脱颖而出;3) 培养果断的决策能力;4) 敢于承担风险和责任;5) 在需要突破的项目中发挥作用;6) 建立强大的执行力和行动力。`, + '破军': `${personName},破军星事业成功策略:1) 勇于创新和推动变革;2) 在变化中寻找新机会;3) 培养颠覆性思维;4) 敢于打破传统模式;5) 在新兴行业中寻找发展空间;6) 保持对变化的适应能力。` + }; + + if (starStrategies[star]) { + strategies.push(starStrategies[star]); + } + }); + + // 通用事业成功建议 + const generalAdvice = `\n\n通用事业发展建议:\n1. 制定明确的职业规划和发展目标\n2. 持续学习和提升专业技能\n3. 建立良好的人际关系和职业网络\n4. 保持积极主动的工作态度\n5. 注重个人品牌和职业形象建设\n6. 寻找导师和榜样,学习成功经验\n7. 勇于接受挑战和承担责任\n8. 保持工作与生活的平衡`; + + return (strategies.length > 0 ? strategies.join('\n\n') : `${personName},根据您的星曜特质,建议发挥自身优势,持续学习和成长`) + generalAdvice; + } + + // 生成人脉指导 + generateNetworkingGuidance(careerStars, careerLucky, personName) { + const guidance = []; + + careerLucky.forEach(star => { + const starGuidance = { + '文昌': '多参与文化活动,与文人雅士建立联系', + '文曲': '发挥口才优势,通过交流建立人脉', + '左辅': '善于辅助他人,建立互助关系', + '右弼': '发挥协调能力,成为团队的纽带', + '天魁': '寻求贵人相助,建立高层次的人脉关系', + '天钺': '通过正当途径获得支持,建立可靠的合作关系' + }; + + if (starGuidance[star]) { + guidance.push(starGuidance[star]); + } + }); + + return guidance.length > 0 ? guidance.join(';') : `${personName},建议主动参与行业活动,真诚待人,建立长期的合作关系`; + } + + // 分析事业转型 + analyzeCareerTransformation(careerStars, majorPeriods, personName) { + const transformations = []; + + careerStars.forEach(star => { + const starTransformation = { + '紫微': '适合从执行者转向管理者,承担更大的责任', + '天机': '适合从单一专业转向综合规划,发挥策略优势', + '太阳': '适合从幕后转向台前,发挥影响力', + '武曲': '适合从技术转向管理,注重成果导向', + '天同': '适合从竞争转向合作,发挥协调优势', + '廉贞': '适合从传统转向创新,发挥艺术才能', + '天府': '适合从冒险转向稳健,注重长期发展', + '太阴': '适合从主导转向辅助,发挥支持作用', + '贪狼': '适合多元化发展,不断学习新技能', + '巨门': '适合深度专业化,建立专业权威', + '天相': '适合从个人转向团队,发挥协调能力', + '天梁': '适合从执行转向指导,承担教育责任', + '七杀': '适合从稳定转向开拓,寻求新的挑战', + '破军': '适合从传统转向创新,推动行业变革' + }; + + if (starTransformation[star]) { + transformations.push(starTransformation[star]); + } + }); + + return transformations.length > 0 ? transformations.join(';') : `${personName},您的事业转型应该根据个人兴趣和市场需求来规划`; + } + + // 生成现代事业建议 + generateModernCareerAdvice(careerStars, mingGongStars, personName) { + const advice = []; + + careerStars.forEach(star => { + const modernAdvice = { + '紫微': `${personName},紫微星现代事业发展建议:1) 适合创业或担任CEO、总裁等高级管理职位;2) 可考虑数字化转型、企业咨询、投资管理等领域;3) 发展个人IP和影响力,成为行业意见领袖;4) 关注ESG投资、可持续发展等前沿领域;5) 利用社交媒体建立个人品牌;6) 考虑跨界合作和资源整合。`, + '天机': `${personName},天机星现代事业发展建议:1) 适合从事大数据分析、人工智能、战略咨询等工作;2) 可发展为数据科学家、产品经理、商业分析师;3) 关注新兴技术趋势,如区块链、物联网等;4) 培养跨学科知识,成为复合型人才;5) 参与创新项目和研发工作;6) 建立技术专家的个人品牌。`, + '太阳': `${personName},太阳星现代事业发展建议:1) 适合从事新媒体运营、内容创作、公共关系等工作;2) 可发展为KOL、教育培训师、企业文化官;3) 利用短视频、直播等平台扩大影响力;4) 关注社会责任和公益事业;5) 发展个人教育品牌和课程;6) 在ESG和可持续发展领域发挥作用。`, + '武曲': `${personName},武曲星现代事业发展建议:1) 适合从事金融科技、项目管理、供应链管理等工作;2) 可发展为产品经理、运营总监、风控专家;3) 关注数字货币、区块链金融等新兴领域;4) 培养数据分析和风险管理能力;5) 在制造业数字化转型中发挥作用;6) 发展量化投资和智能理财技能。`, + '天同': `${personName},天同星现代事业发展建议:1) 适合从事用户体验设计、客户成功管理、团队协作工具开发等工作;2) 可发展为UX设计师、社区运营、企业文化建设者;3) 关注远程办公和协作工具的发展;4) 培养跨文化沟通和团队管理能力;5) 在健康科技和心理健康领域发展;6) 发展情商和软技能培训业务。`, + '廉贞': `${personName},廉贞星现代事业发展建议:1) 适合从事UI/UX设计、创意策划、时尚科技等工作;2) 可发展为创意总监、品牌设计师、数字艺术家;3) 关注AR/VR、数字艺术、NFT等新兴创意领域;4) 培养跨媒体创作和数字化设计能力;5) 在美妆科技、时尚电商等领域发展;6) 建立个人创意品牌和作品集。`, + '天府': `${personName},天府星现代事业发展建议:1) 适合从事财务科技、资产管理、企业服务等工作;2) 可发展为财务总监、投资顾问、企业服务专家;3) 关注智能财务、自动化会计等技术应用;4) 培养数字化财务管理和投资分析能力;5) 在保险科技、财富管理等领域发展;6) 发展稳健投资和风险管理专长。`, + '太阴': `${personName},太阴星现代事业发展建议:1) 适合从事数据分析、用户研究、质量管理等工作;2) 可发展为数据分析师、用户体验研究员、质量工程师;3) 关注机器学习、深度学习等技术应用;4) 培养精细化运营和数据挖掘能力;5) 在医疗科技、教育科技等需要细致分析的领域发展;6) 发展专业研究和咨询能力。`, + '贪狼': `${personName},贪狼星现代事业发展建议:1) 适合从事电商运营、社交媒体营销、跨境贸易等工作;2) 可发展为增长黑客、社交电商专家、国际业务拓展;3) 关注直播带货、社群营销等新兴商业模式;4) 培养多平台运营和国际化视野;5) 在新零售、共享经济等领域发展;6) 发展个人IP和多元化收入来源。`, + '巨门': `${personName},巨门星现代事业发展建议:1) 适合从事法律科技、医疗信息化、专业咨询等工作;2) 可发展为合规专家、医疗数据分析师、行业研究员;3) 关注人工智能在专业服务中的应用;4) 培养深度专业知识和跨领域整合能力;5) 在监管科技、精准医疗等领域发展;6) 建立专业权威和知识付费品牌。`, + '天相': `${personName},天相星现代事业发展建议:1) 适合从事客户成功管理、供应链协调、平台运营等工作;2) 可发展为客户成功经理、供应链专家、平台生态建设者;3) 关注B2B服务、企业协作平台等领域;4) 培养跨部门协调和生态建设能力;5) 在SaaS服务、企业数字化等领域发展;6) 发展服务设计和流程优化专长。`, + '天梁': `${personName},天梁星现代事业发展建议:1) 适合从事在线教育、知识付费、企业培训等工作;2) 可发展为在线教育专家、企业教练、知识博主;3) 关注AI教育、个性化学习等技术应用;4) 培养内容创作和教学设计能力;5) 在职业教育、终身学习等领域发展;6) 建立教育品牌和课程体系。`, + '七杀': `${personName},七杀星现代事业发展建议:1) 适合从事创业投资、业务拓展、竞争分析等工作;2) 可发展为创业者、投资经理、市场开拓专家;3) 关注新兴市场、颠覆性创新等机会;4) 培养敏锐的市场嗅觉和快速决策能力;5) 在共享经济、新能源等竞争激烈领域发展;6) 发展风险投资和创业孵化能力。`, + '破军': `${personName},破军星现代事业发展建议:1) 适合从事产品创新、技术研发、商业模式设计等工作;2) 可发展为产品创新专家、技术架构师、商业模式设计师;3) 关注前沿科技、颠覆性技术等领域;4) 培养创新思维和快速迭代能力;5) 在人工智能、生物科技等前沿领域发展;6) 发展技术创新和商业变革能力。` + }; + + if (modernAdvice[star]) { + advice.push(modernAdvice[star]); + } + }); + + // 通用现代职业发展建议 + const generalModernAdvice = `\n\n现代职业发展通用建议:\n1. 培养数字化技能和数据思维\n2. 保持终身学习的心态,关注新技术趋势\n3. 建立个人品牌和专业影响力\n4. 发展跨界合作和资源整合能力\n5. 关注可持续发展和社会责任\n6. 培养远程协作和数字化沟通能力\n7. 建立多元化收入来源和被动收入\n8. 保持创新思维和适应变化的能力`; + + return (advice.length > 0 ? advice.join('\n\n') : `${personName},建议根据个人兴趣和市场趋势选择适合的现代职业发展方向`) + generalModernAdvice; + } + + // ==================== 财富分析相关方法 ==================== + + // 生成个性化财富概述 + generatePersonalizedWealthOverview(personName, wealthStars, mainStar, wealthPosition) { + const starCombination = wealthStars.join('、') || '无主星'; + const positionInfluence = this.getWealthPositionInfluence(wealthPosition); + + return `${personName},您的财帛宫位于${wealthPosition},主星为${starCombination}。${positionInfluence}这样的星曜配置使您在财富积累方面${this.getWealthStarCombinationAnalysis(wealthStars, personName)}。您的财富格局${this.getWealthPatternDescription(mainStar, personName)}。`; + } + + // 获取财帛宫位置影响 + getWealthPositionInfluence(position) { + const positionInfluences = { + '子': '您在财富管理上思维敏捷,善于抓住投资机会。', + '丑': '您在财富积累上稳重踏实,注重长期投资。', + '寅': '您在财富创造上充满活力,敢于冒险投资。', + '卯': '您在财富管理上温和稳健,偏好安全投资。', + '辰': '您在财富规划上聪明理性,善于分析投资。', + '巳': '您在财富追求上热情积极,喜欢多元投资。', + '午': '您在财富观念上光明正大,注重正当收入。', + '未': '您在财富管理上细致谨慎,重视风险控制。', + '申': '您在财富创造上灵活变通,善于把握商机。', + '酉': '您在财富积累上精明能干,注重效率收益。', + '戌': '您在财富观念上忠诚可靠,偏好稳定投资。', + '亥': '您在财富管理上包容宽厚,注重长远规划。' + }; + + return positionInfluences[position] || '您在财富方面有独特的天赋和潜力。'; + } + + // 获取财富星曜组合分析 + getWealthStarCombinationAnalysis(wealthStars, personName) { + if (wealthStars.length === 0) { + return '虽然财帛宫无主星,但这意味着您的财富来源多样化,不受单一模式限制'; + } + + const starAnalysis = { + '紫微': '具有贵族式的财富观念,适合从事高端行业或管理职位获得财富', + '天机': '善于运用智慧理财,适合通过策划、咨询等智力型工作获得财富', + '太阳': '财富来源光明正大,适合通过正当渠道和帮助他人获得财富', + '武曲': '具有很强的赚钱能力,适合通过实业、技术等实际工作获得财富', + '天同': '财富观念平和,适合通过稳定工作和合作获得财富', + '廉贞': '对财富有独特品味,适合通过艺术、美容等相关行业获得财富', + '天府': '善于积累财富,适合通过储蓄、投资等方式稳健增值', + '太阴': '理财细致入微,适合通过精打细算和长期投资获得财富', + '贪狼': '财富来源多元化,适合通过多种渠道和投资方式获得财富', + '巨门': '善于发现财富机会,适合通过专业技能和深度研究获得财富', + '天相': '财富管理忠诚可靠,适合通过服务他人和协调工作获得财富', + '天梁': '财富观念正直,适合通过教育、指导等正面工作获得财富', + '七杀': '敢于冒险投资,适合通过开拓性工作和竞争获得财富', + '破军': '善于创新理财,适合通过变革和新兴行业获得财富' + }; + + return starAnalysis[wealthStars[0]] || '具有独特的财富获得方式和理财风格'; + } + + // 获取财富格局描述 + getWealthPatternDescription(mainStar, personName) { + const patterns = { + '紫微': `${personName},注定要通过领导和管理获得丰厚财富`, + '天机': `${personName},智慧是您最大的财富,善用策略必能致富`, + '太阳': `${personName},光明正大的财富之路,帮助他人也能成就自己`, + '武曲': `${personName},实干致富,通过努力工作必能获得丰厚回报`, + '天同': `${personName},平稳致富,财富增长虽缓但持续稳定`, + '廉贞': `${personName},品味致富,通过美感和创意获得财富`, + '天府': `${personName},积累致富,善于储蓄和投资的理财高手`, + '太阴': `${personName},细水长流,通过精细管理获得稳定财富`, + '贪狼': `${personName},多元致富,财富来源广泛且机会众多`, + '巨门': `${personName},专业致富,通过深度专业技能获得高收入`, + '天相': `${personName},服务致富,通过帮助他人获得相应回报`, + '天梁': `${personName},正道致富,财富来源正当且受人尊敬`, + '七杀': `${personName},拼搏致富,敢于冒险必能获得丰厚回报`, + '破军': `${personName},创新致富,通过变革和创新开辟财富新路` + }; + + return patterns[mainStar] || `${personName},拥有独特的财富发展格局`; + } + + // 分析深度财富潜力 + analyzeDeepWealthPotential(wealthStars, wealthLucky, wealthUnlucky, personName) { + const potentials = []; + + wealthStars.forEach(star => { + const starPotential = { + '紫微': '具有成为富豪的潜质,适合从事高端行业或创业', + '天机': '智慧理财潜力巨大,适合投资咨询或策略规划', + '太阳': '正面财富影响力强,适合公开透明的财富积累', + '武曲': '实业致富潜力强,适合技术创新或制造业', + '天同': '稳健理财潜力好,适合长期投资或合作经营', + '廉贞': '艺术财富潜力大,适合创意产业或美容行业', + '天府': '财富积累潜力强,适合金融投资或资产管理', + '太阴': '精细理财潜力好,适合财务管理或精算工作', + '贪狼': '多元财富潜力大,适合多种投资或跨界经营', + '巨门': '专业财富潜力强,适合技术专利或专业服务', + '天相': '协调财富潜力好,适合中介服务或团队合作', + '天梁': '教育财富潜力大,适合知识付费或培训行业', + '七杀': '冒险财富潜力强,适合高风险高回报投资', + '破军': '创新财富潜力大,适合新兴行业或技术革新' + }; + + if (starPotential[star]) { + potentials.push(starPotential[star]); + } + }); + + return potentials.length > 0 ? potentials.join(';') : `${personName},您有独特的财富发展潜力`; + } + + // 分析个性化赚钱风格 + analyzePersonalizedEarningStyle(wealthStars, mainStar, personName) { + const styles = []; + + wealthStars.forEach(star => { + const earningStyle = { + '紫微': '喜欢通过领导和管理获得收入,注重身份地位', + '天机': '善于通过智慧和策略获得收入,重视效率', + '太阳': '倾向于通过正当渠道获得收入,重视声誉', + '武曲': '注重通过实际工作获得收入,重视成果', + '天同': '偏好通过稳定工作获得收入,重视和谐', + '廉贞': '喜欢通过创意工作获得收入,重视美感', + '天府': '善于通过积累获得收入,重视安全', + '太阴': '倾向于通过细致工作获得收入,重视稳定', + '贪狼': '喜欢通过多元化获得收入,重视机会', + '巨门': '善于通过专业技能获得收入,重视深度', + '天相': '倾向于通过服务获得收入,重视关系', + '天梁': '喜欢通过指导获得收入,重视正义', + '七杀': '敢于通过冒险获得收入,重视挑战', + '破军': '善于通过创新获得收入,重视变化' + }; + + if (earningStyle[star]) { + styles.push(earningStyle[star]); + } + }); + + return styles.length > 0 ? styles.join(';') : `${personName},您有独特的赚钱风格`; + } + + // 分析个性化投资倾向 + analyzePersonalizedInvestmentTendency(wealthStars, mingGongStars, personName) { + const tendencies = []; + + wealthStars.forEach(star => { + const investmentTendency = { + '紫微': '偏好高端投资项目,注重投资的社会地位', + '天机': '善于分析投资机会,偏好智能化投资', + '太阳': '偏好透明度高的投资,注重投资的社会价值', + '武曲': '偏好实业投资,注重投资的实际回报', + '天同': '偏好稳健投资,注重投资的安全性', + '廉贞': '偏好艺术品投资,注重投资的美学价值', + '天府': '偏好保守投资,注重资产的保值增值', + '太阴': '偏好长期投资,注重投资的持续性', + '贪狼': '偏好多元化投资,注重投资的灵活性', + '巨门': '偏好专业领域投资,注重投资的专业性', + '天相': '偏好合作投资,注重投资的协调性', + '天梁': '偏好道德投资,注重投资的正当性', + '七杀': '敢于高风险投资,注重投资的挑战性', + '破军': '偏好创新投资,注重投资的前瞻性' + }; + + if (investmentTendency[star]) { + tendencies.push(investmentTendency[star]); + } + }); + + return tendencies.length > 0 ? tendencies.join(';') : `${personName},您有独特的投资倾向`; + } + + // 分析个性化财务管理 + analyzePersonalizedFinancialManagement(wealthStars, wealthStrength, personName) { + const management = []; + + wealthStars.forEach(star => { + const financialManagement = { + '紫微': '财务管理注重权威性,喜欢制定宏观财务规划', + '天机': '财务管理注重策略性,善于运用各种理财工具', + '太阳': '财务管理注重透明性,偏好公开透明的理财方式', + '武曲': '财务管理注重实效性,重视投资回报率', + '天同': '财务管理注重和谐性,偏好平衡的资产配置', + '廉贞': '财务管理注重美感性,偏好有品味的投资', + '天府': '财务管理注重安全性,善于风险控制', + '太阴': '财务管理注重细致性,善于精打细算', + '贪狼': '财务管理注重多样性,喜欢多元化投资', + '巨门': '财务管理注重专业性,深入研究投资项目', + '天相': '财务管理注重协调性,善于平衡各方利益', + '天梁': '财务管理注重原则性,坚持正当理财', + '七杀': '财务管理注重进取性,敢于承担投资风险', + '破军': '财务管理注重创新性,喜欢尝试新的理财方式' + }; + + if (financialManagement[star]) { + management.push(financialManagement[star]); + } + }); + + return management.length > 0 ? management.join(';') : `${personName},您有独特的财务管理风格`; + } + + // 分析详细财富时机 + analyzeDetailedWealthTiming(wealthStars, wealthLucky, personName) { + return `${personName},根据您的财帛宫星曜配置,建议在事业稳定后开始大规模投资,把握市场机会的同时注重风险控制。`; + } + + // 分析财富障碍 + analyzeWealthObstacles(wealthUnlucky, wealthStars, personName) { + const obstacles = []; + + wealthUnlucky.forEach(star => { + const starObstacles = { + '擎羊': '容易因为急躁而做出错误的投资决策', + '陀罗': '财富积累速度可能较慢,需要耐心等待', + '火星': '投资时容易冲动,需要控制情绪', + '铃星': '可能面临财务压力,需要合理规划', + '地空': '理想与现实存在差距,需要脚踏实地', + '地劫': '可能遇到意外的财务损失,需要预防风险' + }; + + if (starObstacles[star]) { + obstacles.push(starObstacles[star]); + } + }); + + return obstacles.length > 0 ? obstacles.join(';') : `${personName},您的财富发展相对顺利,主要注意合理规划即可`; + } + + // 分析财富机会 + analyzeWealthOpportunities(wealthStars, wealthLucky, personName) { + const opportunities = []; + + wealthLucky.forEach(star => { + const starOpportunities = { + '文昌': '通过文化、教育相关投资获得收益', + '文曲': '通过口才、交流相关工作获得财富', + '左辅': '通过辅助他人获得相应回报', + '右弼': '通过团队合作获得共同收益', + '天魁': '获得贵人在财务方面的帮助', + '天钺': '通过正当渠道获得财务支持' + }; + + if (starOpportunities[star]) { + opportunities.push(starOpportunities[star]); + } + }); + + return opportunities.length > 0 ? opportunities.join(';') : `${personName},建议主动寻找合适的投资机会,发挥自身优势`; + } + + // 分析被动收入机会 + analyzePassiveIncomeOpportunities(wealthStars, mingGongStars, personName) { + return `${personName},根据您的星曜特质,建议考虑通过投资理财、知识产权、租赁收入等方式建立被动收入来源。`; + } + + // 生成理财规划建议 + generateFinancialPlanningAdvice(wealthStars, mainStar, personName) { + const planningAdvice = []; + + // 根据主星特质给出具体理财建议 + const starAdvice = { + '紫微': `${personName},建议采用贵族式理财策略:1) 投资高端理财产品和蓝筹股;2) 建立多元化投资组合,包括股票、债券、房地产;3) 寻求专业理财顾问的建议;4) 注重长期价值投资,避免短期投机。`, + '天机': `${personName},建议采用智慧型理财策略:1) 深入研究投资标的,做好功课再投资;2) 关注科技股和成长型企业;3) 利用量化分析工具辅助决策;4) 定期调整投资组合,灵活应对市场变化。`, + '太阳': `${personName},建议采用阳光透明理财策略:1) 选择知名度高、透明度好的投资产品;2) 投资ESG概念股票和绿色债券;3) 参与公开透明的投资平台;4) 避免复杂的金融衍生品,坚持简单明了的投资方式。`, + '武曲': `${personName},建议采用实战型理财策略:1) 重点投资实业股票和REITs;2) 建立应急基金,确保财务安全;3) 采用定投策略,持续积累财富;4) 关注投资回报率,追求实际收益。`, + '天同': `${personName},建议采用和谐稳健理财策略:1) 选择风险适中的平衡型基金;2) 分散投资,不把鸡蛋放在一个篮子里;3) 与家人共同制定理财计划;4) 注重投资的稳定性和可持续性。`, + '廉贞': `${personName},建议采用品味型理财策略:1) 投资艺术品、收藏品等另类资产;2) 关注奢侈品牌和时尚产业股票;3) 选择有美学价值的投资标的;4) 平衡理性投资与感性偏好。`, + '天府': `${personName},建议采用稳健积累理财策略:1) 优先建立充足的储蓄基金;2) 投资稳定分红的蓝筹股;3) 考虑购买保险和年金产品;4) 制定长期财富积累计划,注重复利效应。`, + '太阴': `${personName},建议采用细致入微理财策略:1) 详细记录每笔收支,做好财务规划;2) 选择稳健的债券和货币基金;3) 关注细分行业的投资机会;4) 定期评估和调整投资组合。`, + '贪狼': `${personName},建议采用多元化理财策略:1) 投资多个不同行业和地区;2) 尝试新兴投资工具,如数字货币、P2P等;3) 保持一定比例的高风险高收益投资;4) 灵活调整投资策略,把握市场机会。`, + '巨门': `${personName},建议采用专业深度理财策略:1) 专注于自己熟悉的行业进行投资;2) 深入研究投资标的的基本面;3) 寻求专业的投资建议和分析报告;4) 建立自己的投资评估体系。`, + '天相': `${personName},建议采用协调平衡理财策略:1) 在风险和收益之间寻找平衡点;2) 选择信誉良好的金融机构;3) 与专业理财师合作制定投资计划;4) 注重投资的社会责任和道德标准。`, + '天梁': `${personName},建议采用稳重长远理财策略:1) 制定长期投资计划,坚持价值投资;2) 选择有社会价值的投资标的;3) 建立教育基金和养老基金;4) 传承财富管理经验给下一代。`, + '七杀': `${personName},建议采用进取型理财策略:1) 适当配置高风险高收益的投资产品;2) 关注新兴市场和成长股;3) 敢于在市场低迷时逆向投资;4) 设定明确的投资目标和止损点。`, + '破军': `${personName},建议采用创新突破理财策略:1) 关注颠覆性技术和新兴产业;2) 投资创新型企业和独角兽公司;3) 尝试新的投资模式和工具;4) 保持对市场变化的敏感度,及时调整策略。` + }; + + // 通用理财建议 + const generalAdvice = `\n\n通用理财原则:\n1. 建立紧急备用金(3-6个月生活费)\n2. 根据年龄调整风险偏好(100-年龄=股票配置比例)\n3. 定期定额投资,利用时间复利效应\n4. 分散投资风险,不要过度集中\n5. 持续学习理财知识,提升财商\n6. 定期检视投资组合,适时调整\n7. 控制投资成本,选择低费率产品\n8. 保持理性,避免情绪化投资决策`; + + return (starAdvice[mainStar] || `${personName},建议制定适合自己的理财规划,合理配置资产,在保证安全的前提下追求稳健增长。`) + generalAdvice; + } + + // 生成现代财富策略 + generateModernWealthStrategies(wealthStars, mingGongStars, personName) { + return `${personName},在数字化时代,建议关注科技投资、数字资产、在线教育等新兴领域的投资机会。`; + } + + // 分析财务风险管理 + analyzeFinancialRiskManagement(wealthStars, wealthUnlucky, personName) { + return `${personName},建议建立应急基金,分散投资风险,定期评估投资组合,确保财务安全。`; + } + + // ==================== 关系分析相关方法 ==================== + + // 生成个性化关系概述 + generatePersonalizedRelationshipOverview(personName, marriageStars, personGender, marriagePosition) { + const starCombination = marriageStars.join('、') || '无主星'; + const positionInfluence = this.getMarriagePositionInfluence(marriagePosition); + const genderModifier = personGender === '男性' ? '在感情中展现男性的责任感和保护欲' : '在感情中体现女性的温柔和包容'; + + return `${personName},您的夫妻宫位于${marriagePosition},主星为${starCombination}。${positionInfluence}这样的星曜配置使您在感情关系中${this.getMarriageStarCombinationAnalysis(marriageStars, personName)},${genderModifier}。您的感情格局${this.getMarriagePatternDescription(marriageStars[0] || '天机', personName)}。`; + } + + // 获取夫妻宫位置影响 + getMarriagePositionInfluence(position) { + const positionInfluences = { + '子': '您在感情中思维敏捷,善于沟通交流。', + '丑': '您在感情中稳重踏实,注重长期关系。', + '寅': '您在感情中充满活力,热情主动。', + '卯': '您在感情中温和体贴,重视和谐。', + '辰': '您在感情中理性分析,善于解决问题。', + '巳': '您在感情中热情如火,表达直接。', + '午': '您在感情中光明磊落,真诚待人。', + '未': '您在感情中细致入微,关怀备至。', + '申': '您在感情中灵活变通,善于调节。', + '酉': '您在感情中精明能干,注重实际。', + '戌': '您在感情中忠诚可靠,重视承诺。', + '亥': '您在感情中包容宽厚,善解人意。' + }; + + return positionInfluences[position] || '您在感情方面有独特的魅力和特质。'; + } + + // 获取婚姻星曜组合分析 + getMarriageStarCombinationAnalysis(marriageStars, personName) { + if (marriageStars.length === 0) { + return '虽然夫妻宫无主星,但这意味着您的感情模式灵活多变,不受固定模式限制'; + } + + const starAnalysis = { + '紫微': '具有贵族式的感情观念,期望在感情中占主导地位', + '天机': '在感情中善于思考和规划,重视精神层面的交流', + '太阳': '在感情中光明正大,喜欢公开表达爱意', + '武曲': '在感情中注重实际,重视物质基础和安全感', + '天同': '在感情中追求和谐快乐,重视精神契合', + '廉贞': '在感情中富有激情,重视美感和浪漫', + '天府': '在感情中稳重可靠,善于经营长期关系', + '太阴': '在感情中细腻敏感,善于体察对方需求', + '贪狼': '在感情中多姿多彩,喜欢新鲜感和变化', + '巨门': '在感情中善于沟通,但有时过于挑剔', + '天相': '在感情中忠诚可靠,善于协调和包容', + '天梁': '在感情中成熟稳重,喜欢指导和保护对方', + '七杀': '在感情中勇敢直接,敢于追求和表达', + '破军': '在感情中喜欢变化,不满足于平淡的关系' + }; + + return starAnalysis[marriageStars[0]] || '具有独特的感情表达方式和相处模式'; + } + + // 获取婚姻格局描述 + getMarriagePatternDescription(mainStar, personName) { + const patterns = { + '紫微': `${personName},注定要在感情中扮演重要角色,建立高品质的关系`, + '天机': `${personName},智慧是您感情的基础,善于经营精神层面的爱情`, + '太阳': `${personName},光明正大的感情观,真诚待人必能获得真爱`, + '武曲': `${personName},实际的感情观,通过行动表达爱意`, + '天同': `${personName},和谐的感情观,追求心灵的契合与平静`, + '廉贞': `${personName},浪漫的感情观,重视美感和激情`, + '天府': `${personName},稳定的感情观,善于建立长久的关系`, + '太阴': `${personName},细腻的感情观,重视内心的交流与理解`, + '贪狼': `${personName},多元的感情观,感情生活丰富多彩`, + '巨门': `${personName},深度的感情观,重视沟通和理解`, + '天相': `${personName},忠诚的感情观,重视承诺和责任`, + '天梁': `${personName},成熟的感情观,善于指导和保护`, + '七杀': `${personName},勇敢的感情观,敢于追求真爱`, + '破军': `${personName},创新的感情观,不断寻求感情的突破` + }; + + return patterns[mainStar] || `${personName},拥有独特的感情发展格局`; + } + + // 分析深度婚姻运势 + analyzeDeepMarriageFortune(marriageStars, marriageLucky, marriageUnlucky, personName) { + return `${personName},根据您的夫妻宫星曜配置,您的婚姻运势整体良好,建议在合适的时机主动寻找真爱。`; + } + + // 分析详细配偶特征 + analyzeDetailedSpouseCharacteristics(marriageStars, personGender, personName) { + const characteristics = []; + + marriageStars.forEach(star => { + const spouseTraits = { + '紫微': '配偶具有领导气质,有贵族风范,注重身份地位', + '天机': '配偶聪明机智,善于思考,具有策划能力', + '太阳': '配偶热情开朗,正直善良,具有正义感', + '武曲': '配偶意志坚强,实干能力强,注重物质基础', + '天同': '配偶性格温和,人缘好,具有亲和力', + '廉贞': '配偶感情丰富,有艺术天分,注重美感', + '天府': '配偶稳重可靠,善于理财,注重安全感', + '太阴': '配偶细腻敏感,善于照顾人,具有母性/父性光辉', + '贪狼': '配偶多才多艺,善于交际,具有魅力', + '巨门': '配偶口才好,分析能力强,有时比较挑剔', + '天相': '配偶忠诚可靠,协调能力强,善于辅助', + '天梁': '配偶成熟稳重,有长者风范,具有责任感', + '七杀': '配偶个性强烈,勇于开拓,不怕困难', + '破军': '配偶喜欢变化,勇于创新,不满足现状' + }; + + if (spouseTraits[star]) { + characteristics.push(spouseTraits[star]); + } + }); + + return characteristics.length > 0 ? characteristics.join(';') : `${personName},您的配偶将具有独特的个性特征`; + } + + // 分析个性化关系模式 + analyzePersonalizedRelationshipPattern(marriageStars, mingGongStars, personName) { + return `${personName},根据您的星曜特质,您在感情中倾向于建立稳定而深入的关系,重视精神层面的交流。`; + } + + // 分析恋爱风格 + analyzeLoveStyle(marriageStars, mingGongStars, personGender, personName) { + return `${personName},您的恋爱风格${personGender === '男性' ? '主动而直接,喜欢表达关怀' : '温柔而体贴,善于营造浪漫氛围'}。`; + } + + // 分析详细婚姻时机 + analyzeDetailedMarriageTiming(marriageStars, marriageStrength, personName) { + return `${personName},根据您的夫妻宫强度,建议在25-30岁之间考虑婚姻,此时感情运势较为稳定。`; + } + + // 分析深度关系挑战 + analyzeDeepRelationshipChallenges(marriageUnlucky, marriageStars, personName) { + const challenges = []; + + marriageUnlucky.forEach(star => { + const relationshipChallenges = { + '擎羊': '感情中容易出现争执,需要学会控制脾气', + '陀罗': '感情发展可能较慢,需要耐心等待', + '火星': '感情中容易冲动,需要理性处理问题', + '铃星': '可能面临感情压力,需要学会释放情绪', + '地空': '理想与现实存在差距,需要务实对待感情', + '地劫': '可能遇到感情变故,需要保持坚强' + }; + + if (relationshipChallenges[star]) { + challenges.push(relationshipChallenges[star]); + } + }); + + return challenges.length > 0 ? challenges.join(';') : `${personName},您的感情发展相对顺利,主要注意沟通交流即可`; + } + + // 分析兼容性因素 + analyzeCompatibilityFactors(marriageStars, mingGongStars, personName) { + return `${personName},建议寻找性格互补、价值观相近的伴侣,这样的组合最有利于长期关系的发展。`; + } + + // 分析关系成长 + analyzeRelationshipGrowth(marriageStars, marriageLucky, personName) { + return `${personName},您的感情关系具有良好的成长潜力,通过相互理解和支持,关系会越来越深厚。`; + } + + // 分析沟通风格 + analyzeCommunicationStyle(marriageStars, mingGongStars, personName) { + return `${personName},您在感情沟通中倾向于直接而真诚的表达方式,建议多倾听对方的想法。`; + } + + // 分析亲密模式 + analyzeIntimacyPatterns(marriageStars, personGender, personName) { + return `${personName},您在亲密关系中${personGender === '男性' ? '注重行动表达,善于通过实际行为表达爱意' : '注重情感交流,善于营造温馨的氛围'}。`; + } + + // 生成综合关系建议 + generateComprehensiveRelationshipAdvice(marriageStars, personName, personGender) { + return `${personName},建议在感情中保持真诚和耐心,通过良好的沟通建立深厚的感情基础。`; + } + + // 生成现代约会指导 + generateModernDatingGuidance(marriageStars, mingGongStars, personName, personGender) { + return `${personName},在现代约会中,建议保持自然和真实,通过共同兴趣和价值观建立联系。`; + } + + // ==================== 人生指导相关方法 ==================== + + // 生成个性化人生概述 + generatePersonalizedLifeOverview(personName, mainStar, mingGong, patternAnalysis) { + const mainStars = mingGong.main_stars; + const starCombination = mainStars.join('、') || '无主星'; + + return `${personName},您的人生以${starCombination}为主导,${this.getLifeOverviewDescription(mainStar, personName)}。您的人生格局${this.getLifePatternOverview(patternAnalysis, personName)},注定要在人生的道路上发挥独特的作用和价值。`; + } + + // 获取人生概述描述 + getLifeOverviewDescription(mainStar, personName) { + const descriptions = { + '紫微': `${personName},您天生具有领导者的气质,注定要在人生中承担重要责任`, + '天机': `${personName},您拥有智慧和策略思维,善于规划和指导人生方向`, + '太阳': `${personName},您具有光明正大的品格,人生使命是照亮和帮助他人`, + '武曲': `${personName},您拥有坚强的意志力,通过实干和努力创造人生价值`, + '天同': `${personName},您追求和谐快乐的人生,重视精神层面的满足`, + '廉贞': `${personName},您具有丰富的情感和艺术天赋,人生充满美感和创意`, + '天府': `${personName},您善于积累和管理,人生注重稳健发展和长远规划`, + '太阴': `${personName},您细腻敏感,善于照顾他人,人生价值在于默默奉献`, + '贪狼': `${personName},您多才多艺,人生充满各种可能性和机遇`, + '巨门': `${personName},您善于分析和研究,人生注重专业发展和深度探索`, + '天相': `${personName},您忠诚可靠,人生价值在于服务他人和协调关系`, + '天梁': `${personName},您正直善良,人生使命是指导他人和维护正义`, + '七杀': `${personName},您勇于开拓,人生充满挑战和突破的机会`, + '破军': `${personName},您勇于创新,人生注定要在变革中寻找新的道路` + }; + + return descriptions[mainStar] || `${personName},您拥有独特的人生使命和发展道路`; + } + + // 获取人生格局概述 + getLifePatternOverview(patternAnalysis, personName) { + return '展现出独特而有意义的发展轨迹'; + } + + // 分析深度人生目的 + analyzeDeepLifePurpose(mainStar, mingGong, siHua, personName) { + return `${personName},您的人生目的是通过发挥${mainStar}星的特质,在人生的舞台上实现自我价值,同时为社会做出贡献。`; + } + + // 分析个性化核心价值观 + analyzePersonalizedCoreValues(mingGong, fuDe, personName) { + return `${personName},您的核心价值观注重诚信、责任和成长,这些价值观将指导您做出正确的人生选择。`; + } + + // 分析综合发展方向 + analyzeComprehensiveDevelopmentDirection(mainStar, twelvePalaces, personName) { + return `${personName},建议您在个人成长、事业发展和人际关系三个方面均衡发展,发挥自身优势的同时补强不足。`; + } + + // 分析个性化精神成长 + analyzePersonalizedSpiritualGrowth(fuDe, siHua, personName) { + return `${personName},您的精神成长路径注重内在修养和智慧积累,通过不断学习和反思提升人生境界。`; + } + + // 分析深度人生课题 + analyzeDeepLifeLessons(mingGong, twelvePalaces, personName) { + return `${personName},您的人生课题包括学会平衡、培养耐心、发展同理心,这些课题将帮助您成为更完整的人。`; + } + + // 分析人生阶段 + analyzeLifePhases(twelvePalaces, siHua, personName) { + return `${personName},您的人生可以分为学习成长期、事业建立期、成熟稳定期和智慧传承期,每个阶段都有不同的重点和挑战。`; + } + + // 分析命运实现 + analyzeDestinyFulfillment(mainStar, patternAnalysis, personName) { + return `${personName},通过发挥自身优势、把握机遇、克服挑战,您能够实现自己的人生理想和命运安排。`; + } + + // 分析业力模式 + analyzeKarmicPatterns(mingGong, qianYi, personName) { + return `${personName},您的业力模式显示需要在人际关系和个人成长方面多加努力,通过善行积德改善命运。`; + } + + // 分析人生平衡 + analyzeLifeBalance(twelvePalaces, personName) { + return `${personName},建议您在工作与生活、理想与现实、个人与他人之间寻找平衡点,这样才能获得真正的幸福。`; + } + + // 分析遗产建设 + analyzeLegacyBuilding(mingGong, tianzhai, personName) { + return `${personName},您的遗产不仅包括物质财富,更重要的是精神财富和对后代的正面影响。`; + } + + // 分析智慧培养 + analyzeWisdomCultivation(fuDe, siHua, personName) { + return `${personName},通过读书学习、人生体验、反思总结,您能够不断积累智慧,成为有深度的人。`; + } + + // 生成综合整体指导 + generateComprehensiveOverallGuidance(mainStar, personName, patternAnalysis) { + return `${personName},人生是一场修行,建议您保持积极乐观的心态,勇敢面对挑战,珍惜每一个成长的机会。`; + } + + // 生成现代生活整合 + generateModernLifeIntegration(twelvePalaces, personName) { + return `${personName},在现代社会中,建议您将传统智慧与现代生活相结合,既要保持文化根基,也要适应时代发展。`; + } } module.exports = ZiweiAnalyzer; \ No newline at end of file diff --git a/src/components/CompleteZiweiAnalysis.tsx b/src/components/CompleteZiweiAnalysis.tsx index d2f2b4c..2cdff32 100644 --- a/src/components/CompleteZiweiAnalysis.tsx +++ b/src/components/CompleteZiweiAnalysis.tsx @@ -458,6 +458,40 @@ const CompleteZiweiAnalysis: React.FC = ({ birthDate )} + {/* 强度解释 */} + {palace.strength && ( +
+
+ + 强度解释 +
+
+
+ 当前强度: + + {palace.strength} + +
+

+ {(() => { + const strengthExplanations = { + '旺': '星曜力量最强,正面特质充分发挥,该宫位代表的人生领域发展顺利,容易获得成功和满足。建议积极把握机会,发挥优势。', + '得地': '星曜力量较强,能够较好地发挥正面影响,在该领域有良好的发展基础。建议稳步前进,持续努力。', + '平': '星曜力量中等,需要通过努力来激发潜能,在该领域的发展需要更多的主观能动性。建议保持积极态度,寻找突破点。', + '不得地': '星曜力量较弱,正面特质难以充分发挥,在该领域可能遇到较多困难和阻力。建议通过学习和努力来弥补不足,寻求他人帮助。', + '陷': '星曜力量最弱,该宫位代表的人生领域面临较大挑战,需要格外用心经营。建议保持耐心,通过持续努力和正确方法来改善。' + }; + return strengthExplanations[palace.strength] || '该宫位的星曜配置具有独特的影响模式,需要结合具体情况来分析。'; + })() + } +

+
+
+ )} + {/* 宫位解读 */} {palace.interpretation && (
@@ -625,7 +659,34 @@ const CompleteZiweiAnalysis: React.FC = ({ birthDate
{analysisData.basic_info?.ming_gong_position?.branch}
-

{analysisData.basic_info?.ming_gong_position?.description}

+

{analysisData.basic_info?.ming_gong_position?.description}

+ {/* 详细的命宫位置解释 */} + {analysisData.detailed_analysis?.personality_analysis?.overview && ( +
+
+ + 命宫位置详解 +
+
+ {/* 提取命宫位置相关的详细解释 */} + {(() => { + const overview = analysisData.detailed_analysis.personality_analysis.overview; + // 查找包含五行属性和宫位解释的部分 + const positionMatch = overview.match(/([子丑寅卯辰巳午未申酉戌亥])宫属[金木水火土].*?。/g); + if (positionMatch) { + return positionMatch.join(' '); + } + // 如果没有找到特定格式,显示包含宫位信息的句子 + const sentences = overview.split('。'); + const relevantSentences = sentences.filter(sentence => + sentence.includes('宫') && (sentence.includes('属') || sentence.includes('代表') || sentence.includes('使您')) + ); + return relevantSentences.length > 0 ? relevantSentences.join('。') + '。' : '命宫位置影响着您的基本性格特质和人生发展方向。'; + })() + } +
+
+ )}
@@ -817,6 +878,36 @@ const CompleteZiweiAnalysis: React.FC = ({ birthDate 十二宫位详解

紫微斗数将人生分为十二个宫位,每个宫位代表不同的人生领域

+ + {/* 星曜强度等级说明 */} +
+

星曜强度等级说明

+
+
+
+
最强
+
+
+
得地
+
较强
+
+
+
+
中等
+
+
+
不得地
+
较弱
+
+
+
+
最弱
+
+
+

+ 星曜强度反映了该宫位星曜力量的强弱,影响相关人生领域的发展顺逆程度 +

+
@@ -1219,8 +1310,12 @@ const CompleteZiweiAnalysis: React.FC = ({ birthDate

{analysisData.detailed_analysis.career_analysis.leadership_style}

-

发展建议

-

{analysisData.detailed_analysis.career_analysis.career_advice}

+

成功策略

+
{analysisData.detailed_analysis.career_analysis.success_strategies}
+
+
+

现代事业建议

+
{analysisData.detailed_analysis.career_analysis.modern_career_advice}
@@ -1249,8 +1344,8 @@ const CompleteZiweiAnalysis: React.FC = ({ birthDate

{analysisData.detailed_analysis.wealth_analysis.investment_tendency}

-

理财建议

-

{analysisData.detailed_analysis.wealth_analysis.financial_advice}

+

理财规划建议

+
{analysisData.detailed_analysis.wealth_analysis.financial_planning}