Files
dysync/docs/本地启动指南.md
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

4.4 KiB
Raw Permalink Blame History

dysync.net 本地启动指南

📋 前置要求

1. 安装 .NET 6.0 SDK

macOS 安装方式:

# 方式一:使用 Homebrew(推荐)
brew install --cask dotnet-sdk

# 方式二:手动下载安装
# 访问 https://dotnet.microsoft.com/download/dotnet/6.0
# 下载 macOS 版本的 .NET 6.0 SDK 并安装

验证安装:

dotnet --version
# 应该显示类似:6.0.xxx

2. 安装 Node.js(已安装 ✅)

您已安装 Node.js v24.1.0,满足要求。

推荐使用 pnpm(项目使用 pnpm-lock.yaml):

npm install -g pnpm

🚀 启动步骤

第一步:安装前端依赖

cd app
pnpm install
# 或者使用 yarn
# yarn install

第二步:启动后端服务

打开第一个终端窗口:

# 回到项目根目录
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/ 目录

第三步:启动前端开发服务器

打开第二个终端窗口:

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)

{
  "dbconn": "",           // SQLite 无需配置,自动创建
  "dbtype": "Sqlite"      // 数据库类型
}

前端配置 (app/.env.development)

VITE_API_URL=http://localhost:10101

🐛 常见问题排查

1. 后端启动失败

问题:端口被占用

# macOS 查看端口占用
lsof -i :10101

# 杀死占用进程
kill -9 <PID>

问题:数据库权限错误

# 确保 db 目录有写权限
chmod 755 db

2. 前端启动失败

问题:依赖安装失败

# 清除缓存重新安装
rm -rf node_modules pnpm-lock.yaml
pnpm install

问题:API 请求失败(404)

  • 检查后端是否已启动
  • 检查 .env.development 中的 VITE_API_URL 是否正确
  • 检查浏览器控制台是否有 CORS 错误

3. 数据库相关

数据库位置:

  • 开发环境:项目根目录/db/dy.sqlite
  • 数据库会在首次启动时自动创建

重置数据库:

# 删除数据库文件(会丢失所有数据)
rm -rf db/dy.sqlite

# 重新启动后端,会自动创建新数据库

🎯 开发模式说明

开发环境特性

  1. 热重载:前端代码修改后自动刷新
  2. Swagger 文档:http://localhost:10101/swagger
  3. 详细日志:所有日志输出到 logs/ 目录
  4. 数据库自动迁移:模型变更后自动更新表结构

生产环境构建

前端构建:

cd app
pnpm build
# 构建产物在 app/dist/ 目录

后端发布:

dotnet publish -c Release -o ./publish

📝 下一步操作

  1. ✅ 启动后端和前端服务
  2. 🔐 使用默认账号登录
  3. 🍪 在「抖音授权」页面配置 Cookie 和 sec_user_id
  4. ⚙️ 在「系统配置」页面设置同步参数
  5. 🎬 开始同步视频!

💡 提示

  • 开发时建议:保持两个终端窗口同时运行(后端 + 前端)
  • 调试技巧:查看 logs/ 目录下的日志文件排查问题
  • API 测试:使用 Swagger 文档测试接口功能