2025-10-05 23:44:27 +08:00
2025-10-03 11:24:11 +08:00
2025-10-03 11:24:11 +08:00
2025-10-05 23:44:27 +08:00
2025-10-03 11:24:11 +08:00
2025-10-03 11:24:11 +08:00
2025-10-03 11:24:11 +08:00

FateMaster - 命运大师八字算命网站

一个功能完整的八字算命网站,支持多种卜卦方式、多语言、响应式设计。

技术栈

前端

  • Vue 3 + TypeScript + Vite
  • Ant Design Vue - UI组件库
  • Vue Router - 路由管理
  • Pinia - 状态管理
  • vue-i18n - 国际化
  • Axios - HTTP客户端

后端

  • ASP.NET Core 8 - Web API框架
  • Entity Framework Core - ORM
  • Pomelo.EntityFrameworkCore.MySql - MySQL数据库驱动

数据库

  • MySQL 8.0+

项目结构

fatemaster/
├── frontend/
│   ├── fatemaster-web/      # 用户端前端
│   └── fatemaster-admin/    # 管理后台前端
├── backend/
│   └── FateMaster.API/      # .NET后端API
└── docs/                    # 文档

功能特性

用户端功能

  • 批八字 - 详细的生辰八字分析
  • 事业运势 - 职业发展预测
  • 姻缘测算 - 婚姻关系分析
  • 塔罗占卜 - 互动式塔罗牌选择
  • 星座运势 - 12星座每日/每周/每月运势
  • 多语言支持 - 简体中文、繁体中文、英文、日语
  • 响应式设计 - 支持PC、平板、手机
  • 支付集成 - 支付宝、PayPal、Stripe

管理后台功能

  • 仪表盘 - 数据统计概览
  • 卜卦记录管理 - 查看和筛选所有记录
  • 价格配置 - 动态调整各服务价格
  • 统计分析 - 订单量、收入等数据分析

快速开始

环境要求

  • Node.js 18+
  • .NET 8 SDK
  • MySQL 8.0+

1. 安装前端依赖

# 用户端
cd frontend/fatemaster-web
npm install

# 管理后台
cd frontend/fatemaster-admin
npm install

2. 配置数据库

创建MySQL数据库

CREATE DATABASE fatemaster CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

修改 backend/FateMaster.API/appsettings.json

{
  "ConnectionStrings": {
    "DefaultConnection": "Server=localhost;Port=3306;Database=fatemaster;User=root;Password=your_password;"
  }
}

3. 运行数据库迁移

cd backend/FateMaster.API
dotnet ef migrations add InitialCreate
dotnet ef database update

4. 启动服务

# 启动后端API (端口5000)
cd backend/FateMaster.API
dotnet run

# 启动用户端 (端口3000)
cd frontend/fatemaster-web
npm run dev

# 启动管理后台 (端口3001)
cd frontend/fatemaster-admin
npm run dev

访问地址

配置说明

支付配置

appsettings.json 中配置支付信息:

{
  "PaymentSettings": {
    "Alipay": {
      "AppId": "your_app_id",
      "PrivateKey": "your_private_key",
      "PublicKey": "alipay_public_key"
    },
    "PayPal": {
      "ClientId": "your_client_id",
      "ClientSecret": "your_client_secret",
      "Mode": "sandbox"
    },
    "Stripe": {
      "SecretKey": "your_secret_key",
      "PublishableKey": "your_publishable_key"
    }
  }
}

AI配置

配置AI大模型API用于解读算命结果

{
  "AISettings": {
    "Provider": "OpenAI",
    "ApiKey": "your_api_key",
    "Model": "gpt-4",
    "BaseUrl": "https://api.openai.com/v1"
  }
}

数据库表结构

DivinationRecords - 卜卦记录表

  • Id - 主键
  • Type - 卜卦类型 (bazi, career, marriage, tarot, zodiac)
  • InputData - 用户输入数据(JSON)
  • TraditionalResult - 传统算法结果(JSON)
  • AIInterpretation - AI解读结果
  • PaymentStatus - 支付状态 (pending, paid, failed)
  • PaymentMethod - 支付方式
  • Amount - 金额
  • ClientIp - 客户端IP
  • Language - 语言
  • CreatedAt - 创建时间

PriceConfig - 价格配置表

  • Id - 主键
  • ServiceType - 服务类型
  • Price - 价格
  • Currency - 货币
  • IsEnabled - 是否启用

SystemConfig - 系统配置表

  • Id - 主键
  • ConfigKey - 配置键
  • ConfigValue - 配置值
  • Description - 描述

待实现功能

支付集成

需要实现以下支付服务类:

  • AlipayService - 支付宝支付
  • PayPalService - PayPal支付
  • StripeService - Stripe支付

参考位置:backend/FateMaster.API/Services/Payment/

AI集成

需要实现AI服务类

  • AIService - 调用大模型API解读算命结果

参考位置:backend/FateMaster.API/Services/AI/

算命算法

需要实现传统算法类:

  • BaZiService - 八字排盘算法
  • TarotService - 塔罗牌解读算法
  • ZodiacService - 星座运势算法

参考位置:backend/FateMaster.API/Services/Divination/

部署建议

生产环境配置

  1. 前端

    • 使用 npm run build 构建生产版本
    • 部署到 Nginx 或其他静态文件服务器
    • 配置反向代理到后端API
  2. 后端

    • 使用 dotnet publish -c Release 构建发布版本
    • 部署到 Linux 服务器
    • 使用 Nginx 作为反向代理
    • 配置 SSL 证书
  3. 数据库

    • 使用独立的MySQL服务器
    • 配置定期备份
    • 优化索引和查询性能

Nginx配置示例

# 用户端
server {
    listen 80;
    server_name your-domain.com;
    root /var/www/fatemaster-web/dist;

    location / {
        try_files $uri $uri/ /index.html;
    }

    location /api {
        proxy_pass http://localhost:5000;
    }
}

# 管理后台
server {
    listen 80;
    server_name admin.your-domain.com;
    root /var/www/fatemaster-admin/dist;

    location / {
        try_files $uri $uri/ /index.html;
    }

    location /api {
        proxy_pass http://localhost:5000;
    }
}

开发注意事项

  1. 环境变量

    • 敏感信息API密钥、数据库密码应使用环境变量
    • 不要将密钥提交到代码仓库
  2. CORS配置

    • 生产环境需要更新CORS白名单
    • 移除开发环境的localhost地址
  3. 日志记录

    • 配置适当的日志级别
    • 使用日志聚合工具如ELK
  4. 性能优化

    • 前端使用懒加载
    • 后端使用缓存Redis
    • 数据库查询优化

License

MIT License

联系方式

如有问题请提交Issue或联系开发团队。

Description
命运大师
Readme 2.1 MiB
Languages
Vue 48.7%
C# 31.7%
TypeScript 19.3%
HTML 0.2%
CSS 0.1%