Files
dysync/docs/本地启动指南.md
T
yuming ad97fd3da5 整理仓库:扩展 gitignore、归档文档、清理冗余 Dockerfile
- .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>
2026-04-24 21:28:41 +08:00

225 lines
4.4 KiB
Markdown
Raw 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.
# 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 文档测试接口功能