一个使用 Node.js、开发 SQLite 和生产 MySQL 实现的网盘文件互助转存平台。用户使用“任务流量”发布转存求助,其他用户完成任务后获得可转让、可转换的“互助流量”。
当前状态:Vue + Vite 8 前台已接通 Fastify + Prisma REST API;生产构建会直接写入
backend/public,运行 Node.js 后端即可在同一端口访问前台和 API。开发使用 SQLite,生产支持 MySQL 8。
前台项目位于 frontend,现已使用真实 API,已经完成:
- 互助大厅、来源网盘分类、搜索、排序以及加载/空数据/错误状态;
- 任务详情、领取确认、敏感链接解锁、结果提交、放弃、审核、驳回和争议入口;
- 发布求助表单、多个可接受目标网盘和流量扣除预览;
- 我的领取、我的发布和任务状态筛选;
- 任务流量与互助流量双账户、每日签到、CDK、转让、转换及分账户流水;
- Linux DO 与邮箱验证码登录页面;
- 桌面端与移动端响应式导航、弹窗、通知和操作反馈。
- 与前台同服务直接访问的管理员工作台:运营总览、用户状态与流量调整、任务查看、争议处理、CDK 管理和审计记录。
前端独立开发(请求会代理到 127.0.0.1:3001):
cd frontend
pnpm install
pnpm dev构建并由后端统一运行:
cd backend
pnpm build
pnpm start访问 http://localhost:3001 即可打开前台,API 位于同源 /api/v1,接口文档位于 /docs。
管理后台与前台使用同一个服务,登录管理员账号后直接访问:
http://localhost:3001/admin
开发环境执行 pnpm db:seed 后会创建或更新唯一管理员 Maple2,其 Linux DO 用户 ID 为 440806。使用该 Linux DO 账号一键登录后即可进入后台。
生产环境在 backend/.env 中保留 ADMIN_LINUX_DO_ID=440806,再执行 pnpm db:seed:mysql。种子脚本会把该 Linux DO 身份设为唯一管理员,并把其他已有管理员降为普通用户。后台 API 还会再次核验这一 Linux DO 身份,普通用户调用时会得到 403。
服务端项目位于 backend,已实现认证、任务、领取、提交审核、流量结算、签到、CDK、通知与争议的第一版 REST API。运行方式和环境变量见 backend/README.md。