Ai_GirlFriend/快速启动指南.md

386 lines
7.4 KiB
Markdown
Raw Normal View History

2026-02-28 09:40:18 +08:00
# 🚀 快速启动指南
## ✅ 已完成的配置
### 1. 数据库配置 ✓
- **数据库名**: ai_friend
- **主机**: localhost:3306
- **用户名**: root
- **密码**: rootx77
- **数据表**: 已导入30+ 张表,包含 nf_user, nf_lovers, nf_chat_message 等)
### 2. 环境变量配置 ✓
已配置三个 .env 文件:
- ✓ 根目录 `.env`
-`lover/.env`
-`xunifriend_RaeeC/.env`
所有文件已统一使用本地数据库配置。
---
## 📋 启动前最后检查
### 1. 安装 PHP
- [ ] 下载 PHP 8.5.3 (VS17 x64 Non Thread Safe)
- [ ] 解压到目录(如 `D:\php-8.5.3\`
- [ ] 配置 php.ini启用扩展
- [ ] 修改 `启动项目.bat` 中的 PHP_PATH
### 2. 安装 Python 依赖
```cmd
pip install -r lover/requirements.txt
```
如果速度慢,使用国内镜像:
```cmd
pip install -r lover/requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
```
### 3. 安装 PHP 依赖
```cmd
cd xunifriend_RaeeC
composer install
```
如果速度慢,使用国内镜像:
```cmd
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
composer install
```
### 4. 验证数据库连接
```cmd
mysql -u root -prootx77 -e "USE ai_friend; SHOW TABLES;"
```
应该看到 30+ 张数据表。
---
## 🎯 启动项目
### 方式一:使用启动脚本(推荐)
1. **修改 PHP 路径**
打开 `启动项目.bat`,修改第 6 行:
```batch
set PHP_PATH=D:\php-8.5.3\php.exe
```
改为你的 PHP 实际路径
2. **双击运行**
```
启动项目.bat
```
3. **等待启动完成**
- 会自动打开两个命令行窗口
- PHP 服务器窗口
- Python 后端窗口
4. **访问服务**
- PHP 后台: http://127.0.0.1:30100
- Python API: http://127.0.0.1:30101
- API 文档: http://127.0.0.1:30101/docs
### 方式二:手动启动
#### 终端 1 - 启动 PHP 服务
```cmd
cd xunifriend_RaeeC\public
php -S 0.0.0.0:30100 router.php
```
#### 终端 2 - 启动 Python 服务
```cmd
python -m uvicorn lover.main:app --host 0.0.0.0 --port 30101 --reload
```
---
## 🧪 测试服务
### 1. 测试 PHP 后台
浏览器访问: http://127.0.0.1:30100
应该看到网站首页或登录页面。
### 2. 测试 Python API
浏览器访问: http://127.0.0.1:30101/docs
应该看到 FastAPI 自动生成的 API 文档页面。
### 3. 测试健康检查
浏览器访问: http://127.0.0.1:30101/health
应该返回:
```json
{
"code": 1,
"msg": "ok",
"data": {
"status": "ok"
}
}
```
### 4. 测试数据库连接
在 API 文档页面 (http://127.0.0.1:30101/docs)
- 找到任意 GET 接口
- 点击 "Try it out"
- 点击 "Execute"
- 如果返回数据(不是 500 错误),说明数据库连接成功
---
## 🔧 PHP 配置清单
### 必需的 PHP 扩展
编辑 `php.ini` 文件,确保以下扩展已启用(删除前面的分号):
```ini
extension=curl
extension=fileinfo
extension=gd
extension=mbstring
extension=mysqli
extension=openssl
extension=pdo_mysql
extension=zip
```
### 其他重要配置
```ini
; 时区设置
date.timezone = Asia/Shanghai
; 上传限制
upload_max_filesize = 100M
post_max_size = 100M
max_execution_time = 300
; 内存限制
memory_limit = 256M
```
---
## 📦 Python 依赖列表
项目需要以下 Python 包(已在 requirements.txt 中):
```
fastapi>=0.110 # Web 框架
uvicorn[standard]>=0.24 # ASGI 服务器
sqlalchemy>=2.0 # ORM
pymysql>=1.1 # MySQL 驱动
pydantic>=2.6 # 数据验证
pydantic-settings>=2.1 # 配置管理
python-dotenv>=1.0 # 环境变量
requests>=2.31 # HTTP 客户端
oss2>=2.18 # 阿里云 OSS
dashscope>=1.20 # 阿里云 AI
pyyaml>=6.0 # YAML 解析
imageio-ffmpeg>=0.4 # 视频处理
```
---
## ⚠️ 常见问题快速解决
### 问题 1: 端口被占用
```cmd
# 查看占用进程
netstat -ano | findstr :30100
netstat -ano | findstr :30101
# 终止进程
taskkill /F /PID 进程号
```
### 问题 2: 数据库连接失败
检查:
1. MySQL 服务是否启动
2. 用户名密码是否正确root / rootx77
3. 数据库名称是否正确ai_friend
```cmd
# 启动 MySQL 服务
net start MySQL80
# 测试连接
mysql -u root -prootx77
```
### 问题 3: Python 模块未找到
```cmd
# 重新安装依赖
pip install -r lover/requirements.txt --force-reinstall
```
### 问题 4: PHP 扩展缺失
```cmd
# 查看已加载的扩展
php -m
# 如果缺少扩展,编辑 php.ini 启用
```
### 问题 5: Composer 安装失败
```cmd
# 清理缓存
composer clear-cache
# 使用国内镜像
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
# 重新安装
cd xunifriend_RaeeC
composer install
```
---
## 🎨 管理后台登录
### 默认管理员账号
查看数据库获取管理员账号:
```sql
SELECT username, password FROM nf_admin LIMIT 1;
```
如果没有管理员账号,可以手动创建:
```sql
INSERT INTO nf_admin (username, password, nickname, email, status)
VALUES ('admin', MD5('admin123'), '管理员', 'admin@example.com', 'normal');
```
然后访问: http://127.0.0.1:30100/admin
---
## 📱 API 接口测试
### 使用 API 文档测试
1. 访问: http://127.0.0.1:30101/docs
2. 展开任意接口
3. 点击 "Try it out"
4. 填写参数
5. 点击 "Execute"
6. 查看响应结果
### 主要接口分类
- **/api/user** - 用户管理
- **/api/lover** - 虚拟恋人
- **/api/chat** - AI 对话
- **/api/voice_call** - 语音通话
- **/api/outfit** - 服装系统
- **/api/dance** - 舞蹈视频
- **/api/sing** - AI 唱歌
- **/api/dynamic** - 动态朋友圈
- **/api/friend** - 好友系统
---
## 🔐 开发模式说明
当前配置为开发模式:
```env
APP_ENV=development
DEBUG=True
```
开发模式特性:
- ✅ 详细的错误信息
- ✅ 自动跳过部分认证(方便测试)
- ✅ 热重载(代码修改自动生效)
- ✅ 可使用测试用户 ID
### 测试用户
在开发模式下,可以使用 Header 传递用户 ID
```
X-User-Id: 70
```
这样可以跳过 Token 验证,直接测试接口。
---
## 📊 数据库表说明
### 核心表
- `nf_user` - 用户基础信息
- `nf_lovers` - 虚拟恋人档案
- `nf_chat_session` - 聊天会话
- `nf_chat_message` - 聊天消息
- `nf_chat_fact` - 长期记忆
### 功能表
- `nf_outfit_items` - 服装商品
- `nf_voice_library` - 声音库
- `nf_song_library` - 歌曲库
- `nf_motion_templates` - 舞蹈模板
- `nf_generation_tasks` - AI 生成任务
### 社交表
- `nf_friend_relations` - 好友关系
- `nf_dynamics` - 动态内容
- `nf_dynamic_likes` - 点赞
- `nf_dynamic_comments` - 评论
---
## 🎯 下一步操作
启动成功后,建议按以下顺序测试:
1. **访问 API 文档**
http://127.0.0.1:30101/docs
2. **测试健康检查**
http://127.0.0.1:30101/health
3. **访问 PHP 后台**
http://127.0.0.1:30100/admin
4. **测试用户接口**
在 API 文档中测试 `/api/user` 相关接口
5. **测试 AI 功能**
测试聊天、图像生成等 AI 接口
---
## 📞 需要帮助?
如果遇到问题:
1. **查看日志**
- Python 日志:启动窗口的控制台输出
- PHP 日志:`xunifriend_RaeeC/runtime/log/`
2. **检查配置**
- 数据库连接是否正确
- PHP 扩展是否启用
- Python 依赖是否安装
3. **参考文档**
- `运行指南.md` - 详细安装教程
- `启动前检查清单.md` - 逐项检查清单
---
**准备好了吗?开始启动项目吧!** 🚀
```cmd
启动项目.bat
```