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
访问地址
- 用户端: http://localhost:3000
- 管理后台: http://localhost:3001
- API文档: http://localhost:5000/swagger
配置说明
支付配置
在 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/
部署建议
生产环境配置
-
前端
- 使用
npm run build构建生产版本 - 部署到 Nginx 或其他静态文件服务器
- 配置反向代理到后端API
- 使用
-
后端
- 使用
dotnet publish -c Release构建发布版本 - 部署到 Linux 服务器
- 使用 Nginx 作为反向代理
- 配置 SSL 证书
- 使用
-
数据库
- 使用独立的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;
}
}
开发注意事项
-
环境变量
- 敏感信息(API密钥、数据库密码)应使用环境变量
- 不要将密钥提交到代码仓库
-
CORS配置
- 生产环境需要更新CORS白名单
- 移除开发环境的localhost地址
-
日志记录
- 配置适当的日志级别
- 使用日志聚合工具(如ELK)
-
性能优化
- 前端使用懒加载
- 后端使用缓存(Redis)
- 数据库查询优化
License
MIT License
联系方式
如有问题,请提交Issue或联系开发团队。
Description
Languages
Vue
48.7%
C#
31.7%
TypeScript
19.3%
HTML
0.2%
CSS
0.1%