Files
fatemaster/README.md
jiangdong d81cf186b0 init
2025-10-03 11:24:11 +08:00

289 lines
6.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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. 安装前端依赖
```bash
# 用户端
cd frontend/fatemaster-web
npm install
# 管理后台
cd frontend/fatemaster-admin
npm install
```
### 2. 配置数据库
创建MySQL数据库
```sql
CREATE DATABASE fatemaster CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
修改 `backend/FateMaster.API/appsettings.json`
```json
{
"ConnectionStrings": {
"DefaultConnection": "Server=localhost;Port=3306;Database=fatemaster;User=root;Password=your_password;"
}
}
```
### 3. 运行数据库迁移
```bash
cd backend/FateMaster.API
dotnet ef migrations add InitialCreate
dotnet ef database update
```
### 4. 启动服务
```bash
# 启动后端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` 中配置支付信息:
```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用于解读算命结果
```json
{
"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配置示例
```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或联系开发团队。