fbab5486创建于 3 天前历史提交

聚合赚 (Juhe ZQ)

一款基于 uni-app x 开发的聚合任务变现应用,包含完整的移动端 App 和管理后台(前后端分离)。

用户通过完成第三方平台提供的任务(试玩、体验、签到等)获得金币奖励,金币可兑换为现金并提现到支付宝、微信或银行卡。管理后台提供完整的运营数据看板、用户管理、提现审核、平台接入、系统配置等功能,支持多平台广告/任务渠道的统一接入和回调管理。

适用场景

  • 任务聚合类 App 开发参考
  • 积分/金币兑换系统
  • 用户邀请裂变系统
  • 管理后台前后端分离架构学习
  • uni-app x + Express 全栈项目实践

项目结构

├── juhe-admin/          # 管理后台(前后端分离)
│   ├── server/          # 后端 API 服务
│   └── web/             # 前端管理页面
└── juhe-app/            # 移动端 App (uni-app x)

技术栈

管理后台后端 (juhe-admin/server)

  • 框架: Express 4.x
  • ORM: Sequelize 6.x
  • 数据库: MySQL / SQLite(可切换)
  • 认证: JWT + bcryptjs
  • 其他: multer(文件上传)、morgan(日志)、cors(跨域)

管理后台前端 (juhe-admin/web)

  • 框架: Vue 3 + Composition API
  • 构建: Vite 5.x
  • UI 库: Element Plus
  • 状态管理: Pinia
  • 路由: Vue Router 4.x
  • 图表: ECharts

移动端 App (juhe-app)

  • 框架: uni-app x (uts)
  • 目标平台: Android / iOS / 鸿蒙

功能模块

App 端

  • 用户注册/登录
  • 任务聚合主页
  • 金币兑换现金
  • 提现(支付宝/微信/银行卡)
  • 签到奖励
  • 邀请好友收益
  • 收入明细

管理后台

  • 仪表盘数据概览
  • 用户管理
  • 平台管理(第三方任务平台)
  • 提现审核
  • 交易流水
  • 签到配置
  • 金币兑换管理
  • Banner / 首页入口管理
  • App 配置与版本管理
  • 邀请设置
  • 系统配置
  • 回调记录

快速开始

环境要求

  • Node.js 18+
  • MySQL 5.7+(或使用 SQLite 无需额外安装)

1. 后端服务

cd juhe-admin/server

# 安装依赖
npm install

# 配置环境变量(复制示例文件并修改)
cp .env.example .env

.env 配置说明:

# 数据库类型:mysql 或 sqlite
DB_TYPE=sqlite

# MySQL 配置(DB_TYPE=mysql 时需要)
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=your_password
DB_NAME=juhe_admin

# SQLite 配置(DB_TYPE=sqlite 时使用)
# DB_NAME=./data/juhe_admin.db

# JWT 密钥(生产环境请修改为随机字符串)
JWT_SECRET=your_jwt_secret_key

# 服务端口
PORT=3001

启动服务:

npm start
# 或开发模式
npm run dev

服务启动后会自动:

  • 创建/同步数据库表结构
  • 创建默认管理员账号

2. 管理后台前端

cd juhe-admin/web

# 安装依赖
npm install

# 启动开发服务器
npm run dev

访问 http://localhost:5174,使用默认账号登录:

  • 用户名: admin
  • 密码: admin123

3. 移动端 App

使用 HBuilderX 打开 juhe-app 目录,配置 API 地址后即可编译运行。

默认管理员

用户名 密码 角色
admin admin123 super(超级管理员)

⚠️ 生产环境请务必修改默认密码。

数据库切换

项目支持 MySQL 和 SQLite 双数据库模式,通过 .env 中的 DB_TYPE 切换:

  • DB_TYPE=sqlite — 使用 SQLite,适合开发和小规模部署
  • DB_TYPE=mysql — 使用 MySQL,适合生产环境

License

MIT