ad97fd3da5
- .gitignore 新增忽略 .idea/、videos/、*.tar.gz、*.csproj.user、db 运行时文件 - 根目录 15 个中文运维 md 归档到 docs/ - 删除无部署脚本引用的 Dockerfile 与 Dockerfile-arm(保留 Dockerfile.prod) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
225 lines
4.4 KiB
Markdown
225 lines
4.4 KiB
Markdown
# dysync.net 本地启动指南
|
||
|
||
## 📋 前置要求
|
||
|
||
### 1. 安装 .NET 6.0 SDK
|
||
|
||
**macOS 安装方式:**
|
||
|
||
```bash
|
||
# 方式一:使用 Homebrew(推荐)
|
||
brew install --cask dotnet-sdk
|
||
|
||
# 方式二:手动下载安装
|
||
# 访问 https://dotnet.microsoft.com/download/dotnet/6.0
|
||
# 下载 macOS 版本的 .NET 6.0 SDK 并安装
|
||
```
|
||
|
||
**验证安装:**
|
||
```bash
|
||
dotnet --version
|
||
# 应该显示类似:6.0.xxx
|
||
```
|
||
|
||
### 2. 安装 Node.js(已安装 ✅)
|
||
|
||
您已安装 Node.js v24.1.0,满足要求。
|
||
|
||
**推荐使用 pnpm(项目使用 pnpm-lock.yaml):**
|
||
```bash
|
||
npm install -g pnpm
|
||
```
|
||
|
||
---
|
||
|
||
## 🚀 启动步骤
|
||
|
||
### 第一步:安装前端依赖
|
||
|
||
```bash
|
||
cd app
|
||
pnpm install
|
||
# 或者使用 yarn
|
||
# yarn install
|
||
```
|
||
|
||
### 第二步:启动后端服务
|
||
|
||
**打开第一个终端窗口:**
|
||
|
||
```bash
|
||
# 回到项目根目录
|
||
cd /Users/gaotu/WebstormProjects/dysync.net
|
||
|
||
# 还原 NuGet 包(首次运行)
|
||
dotnet restore
|
||
|
||
# 启动后端服务(开发模式)
|
||
dotnet run
|
||
|
||
# 或者指定端口(如果需要)
|
||
dotnet run --urls "http://localhost:10101"
|
||
```
|
||
|
||
**后端启动成功后:**
|
||
- ✅ 后端 API 运行在:`http://localhost:10101`
|
||
- ✅ Swagger 文档:`http://localhost:10101/swagger`
|
||
- ✅ 数据库会自动创建在:`db/dy.sqlite`
|
||
- ✅ 日志文件会生成在:`logs/` 目录
|
||
|
||
### 第三步:启动前端开发服务器
|
||
|
||
**打开第二个终端窗口:**
|
||
|
||
```bash
|
||
cd app
|
||
|
||
# 启动前端开发服务器
|
||
pnpm dev
|
||
# 或者
|
||
yarn dev
|
||
```
|
||
|
||
**前端启动成功后:**
|
||
- ✅ 前端运行在:`http://localhost:8001`
|
||
- ✅ 会自动代理 `/api` 请求到后端 `http://localhost:10101`
|
||
|
||
---
|
||
|
||
## 🔑 首次登录
|
||
|
||
1. 访问:`http://localhost:8001`
|
||
2. 默认账号:`douyin`
|
||
3. 默认密码:`douyin2025`
|
||
|
||
> ⚠️ **安全提示**:登录后请立即修改密码!
|
||
|
||
---
|
||
|
||
## 📁 目录结构说明
|
||
|
||
```
|
||
dysync.net/
|
||
├── db/ # SQLite 数据库目录(自动创建)
|
||
│ └── dy.sqlite # 数据库文件
|
||
├── logs/ # 日志文件目录(自动创建)
|
||
│ ├── log-debug-*.txt # 调试日志
|
||
│ └── log-error-*.txt # 错误日志
|
||
├── app/ # 前端项目
|
||
│ ├── dist/ # 前端构建产物(生产环境)
|
||
│ └── src/ # 前端源码
|
||
└── appsettings.json # 后端配置文件
|
||
```
|
||
|
||
---
|
||
|
||
## ⚙️ 配置说明
|
||
|
||
### 后端配置 (`appsettings.json`)
|
||
|
||
```json
|
||
{
|
||
"dbconn": "", // SQLite 无需配置,自动创建
|
||
"dbtype": "Sqlite" // 数据库类型
|
||
}
|
||
```
|
||
|
||
### 前端配置 (`app/.env.development`)
|
||
|
||
```env
|
||
VITE_API_URL=http://localhost:10101
|
||
```
|
||
|
||
---
|
||
|
||
## 🐛 常见问题排查
|
||
|
||
### 1. 后端启动失败
|
||
|
||
**问题:端口被占用**
|
||
```bash
|
||
# macOS 查看端口占用
|
||
lsof -i :10101
|
||
|
||
# 杀死占用进程
|
||
kill -9 <PID>
|
||
```
|
||
|
||
**问题:数据库权限错误**
|
||
```bash
|
||
# 确保 db 目录有写权限
|
||
chmod 755 db
|
||
```
|
||
|
||
### 2. 前端启动失败
|
||
|
||
**问题:依赖安装失败**
|
||
```bash
|
||
# 清除缓存重新安装
|
||
rm -rf node_modules pnpm-lock.yaml
|
||
pnpm install
|
||
```
|
||
|
||
**问题:API 请求失败(404)**
|
||
- 检查后端是否已启动
|
||
- 检查 `.env.development` 中的 `VITE_API_URL` 是否正确
|
||
- 检查浏览器控制台是否有 CORS 错误
|
||
|
||
### 3. 数据库相关
|
||
|
||
**数据库位置:**
|
||
- 开发环境:`项目根目录/db/dy.sqlite`
|
||
- 数据库会在首次启动时自动创建
|
||
|
||
**重置数据库:**
|
||
```bash
|
||
# 删除数据库文件(会丢失所有数据)
|
||
rm -rf db/dy.sqlite
|
||
|
||
# 重新启动后端,会自动创建新数据库
|
||
```
|
||
|
||
---
|
||
|
||
## 🎯 开发模式说明
|
||
|
||
### 开发环境特性
|
||
|
||
1. **热重载**:前端代码修改后自动刷新
|
||
2. **Swagger 文档**:`http://localhost:10101/swagger`
|
||
3. **详细日志**:所有日志输出到 `logs/` 目录
|
||
4. **数据库自动迁移**:模型变更后自动更新表结构
|
||
|
||
### 生产环境构建
|
||
|
||
**前端构建:**
|
||
```bash
|
||
cd app
|
||
pnpm build
|
||
# 构建产物在 app/dist/ 目录
|
||
```
|
||
|
||
**后端发布:**
|
||
```bash
|
||
dotnet publish -c Release -o ./publish
|
||
```
|
||
|
||
---
|
||
|
||
## 📝 下一步操作
|
||
|
||
1. ✅ 启动后端和前端服务
|
||
2. 🔐 使用默认账号登录
|
||
3. 🍪 在「抖音授权」页面配置 Cookie 和 sec_user_id
|
||
4. ⚙️ 在「系统配置」页面设置同步参数
|
||
5. 🎬 开始同步视频!
|
||
|
||
---
|
||
|
||
## 💡 提示
|
||
|
||
- **开发时建议**:保持两个终端窗口同时运行(后端 + 前端)
|
||
- **调试技巧**:查看 `logs/` 目录下的日志文件排查问题
|
||
- **API 测试**:使用 Swagger 文档测试接口功能
|
||
|