×

分享一款校园跑腿下单接单系统

独孤求败 独孤求败 发表于2026-09-30 14:41:33 浏览38 评论0

抢沙发发表评论

一、项目介绍

本项目是一套完整的校园跑腿下单接单系统,采用前后端分离架构,包含微信小程序端、管理后台和服务端三个部分。项目旨在为校园用户提供便捷的跑腿服务,支持多种服务类型,如跑腿代办、快递代取、软件安装等,同时为接单员提供灵活的兼职机会。

项目特点

  • ‎多端支持:基于 uni-app 开发,支持微信小程序、支付宝小程序、QQ小程序、H5等多平台发布
  • ‎完整业务闭环:用户下单 → 接单员接单 → 订单完成 → 费用结算 → 提现,完整的业务流程
  • ‎多学校管理:支持多学校运营,每个学校可独立配置服务、区域、价格等
  • ‎丰富的服务类型:跑腿、快递代取、软件安装等多种服务模式

图片

二、项目结构目录

JP9-校园跑腿下单接单系统/
├── server/                 # 后端服务项目(Midway 3.0)
│   ├── src/
│   │   ├── cert/           # 证书文件目录
│   │   ├── config/         # 配置文件
│   │   │   ├── config.default.ts    # 默认配置
│   │   │   └── config.env.ts.bak    # 环境配置模板
│   │   ├── controller/     # 控制器
│   │   │   ├── admin/      # 管理后台接口
│   │   │   │   ├── admin.controller.ts
│   │   │   │   ├── cash.controller.ts
│   │   │   │   ├── config.controller.ts
│   │   │   │   ├── file.controller.ts
│   │   │   │   ├── map.controller.ts
│   │   │   │   ├── richtext.controller.ts
│   │   │   │   ├── school.controller.ts
│   │   │   │   ├── schoolAnalysis.controller.ts
│   │   │   │   ├── schoolArea.controller.ts
│   │   │   │   ├── schoolOrder.controller.ts
│   │   │   │   ├── sts.controller.ts
│   │   │   │   ├── taker.controller.ts
│   │   │   │   ├── user.controller.ts
│   │   │   │   ├── wxAnalysis.controller.ts
│   │   │   │   ├── wxSubscribeMessage.controller.ts
│   │   │   │   └── wxapp.controller.ts
│   │   │   ├── api/        # 小程序端接口
│   │   │   │   ├── baseapp/
│   │   │   │   │   ├── address.controler.ts
│   │   │   │   │   ├── cash.controller.ts
│   │   │   │   │   ├── config.controller.ts
│   │   │   │   │   ├── order.controller.ts
│   │   │   │   │   ├── publish.controller.ts
│   │   │   │   │   ├── richtext.controller.ts
│   │   │   │   │   ├── school.controller.ts
│   │   │   │   │   ├── taker.controller.ts
│   │   │   │   │   └── takerAnalysis.controller.ts
│   │   │   │   ├── bank.controller.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── map.controller.ts
│   │   │   │   ├── server.controller.ts
│   │   │   │   ├── sms.controller.ts
│   │   │   │   ├── upload.controller.ts
│   │   │   │   ├── user.controller.ts
│   │   │   │   └── wxapp.controller.ts
│   │   │   └── base.controller.ts
│   │   ├── configuration.ts
│   │   └── constant.ts
│   ├── bootstrap.js
│   ├── ecosystem.config.js  # PM2 配置
│   ├── package.json
│   └── tsconfig.json
│
├── admin/                  # 管理后台项目(Nuxt 2.x)
│   ├── assets/             # 静态资源
│   │   ├── font/           # 字体图标
│   │   ├── images/         # 图片资源
│   │   ├── script/         # 脚本文件
│   │   └── style/          # 样式文件
│   ├── components/         # 组件
│   │   ├── base/           # 基础组件
│   │   ├── config/         # 配置组件
│   │   ├── material/       # 素材组件
│   │   ├── official/       # 官方布局组件
│   │   ├── order/          # 订单组件
│   │   ├── overview/       # 概览组件
│   │   ├── rider/          # 骑手组件
│   │   ├── school/         # 学校组件
│   │   ├── service/        # 服务组件
│   │   ├── taker/          # 接单员组件
│   │   └── user/           # 用户组件
│   ├── content/            # 内容文件
│   ├── layouts/            # 布局组件
│   ├── pages/              # 页面
│   │   ├── config/         # 配置页面
│   │   ├── material/       # 素材页面
│   │   ├── rider/          # 骑手页面
│   │   ├── school/         # 学校页面
│   │   ├── user/           # 用户页面
│   │   ├── index.vue
│   │   ├── init.vue
│   │   └── login.vue
│   ├── plugins/            # 插件
│   ├── store/              # Vuex 状态管理
│   ├── static/             # 静态文件
│   ├── nuxt.config.js
│   ├── package.json
│   └── tsconfig.json
│
├── miniprogram/            # 小程序项目(uni-app)
│   ├── public/
│   ├── src/
│   │   ├── assets/         # 静态资源
│   │   │   ├── font/       # 字体图标
│   │   │   ├── images/     # 图片资源
│   │   │   └── style/      # 样式文件
│   │   ├── components/     # 组件
│   │   │   ├── base/       # 基础组件
│   │   │   ├── location/   # 位置组件
│   │   │   ├── mine/       # 个人中心组件
│   │   │   ├── order/      # 订单组件
│   │   │   ├── publish/    # 发布组件
│   │   │   └── service/    # 服务组件
│   │   ├── mixins/         # 混入
│   │   ├── pages/          # 页面
│   │   │   ├── index/      # 首页
│   │   │   ├── login/      # 登录页
│   │   │   ├── mine/       # 个人中心
│   │   │   │   ├── address/    # 地址管理
│   │   │   │   └── taker/      # 接单员中心
│   │   │   ├── order/      # 订单页面
│   │   │   ├── publish/    # 发布页面
│   │   │   ├── service/    # 服务页面
│   │   │   │   ├── errands/    # 跑腿
│   │   │   │   ├── express/    # 快递代取
│   │   │   │   ├── play/       # 陪练陪玩
│   │   │   │   └── software/   # 软件安装
│   │   │   └── text/       # 文本详情
│   │   ├── static/         # 静态资源
│   │   ├── store/          # Vuex 状态管理
│   │   ├── utils/          # 工具函数
│   │   ├── App.vue
│   │   ├── main.ts
│   │   ├── manifest.json
│   │   ├── pages.json
│   │   └── uni.scss
│   ├── package.json
│   └── tsconfig.json
│
├── DEV.md                  # 开发文档
├── build.md                # 部署文档
├── README.md               # 项目说明
└── LICENSE                 # 许可证

三、项目主要技术框架

3.1 后端服务(server)

技术/框架
版本/说明
用途
Midway.js
3.x
Node.js 上层框架,基于 Egg/Koa
TypeScript
4.x
类型安全的 JavaScript 超集
TypeORM
0.2.x
ORM 框架,支持 MySQL
MySQL
5.7+
关系型数据库
Redis
2.x+
缓存和消息队列
Bull
3.x
基于 Redis 的消息队列
JWT
8.5.x
用户认证
PM2
-
进程管理和部署
Aliyun OSS
6.x
阿里云对象存储
支付宝 SDK
3.2.x
支付宝支付
ExcelJS
4.x
Excel 文件处理
Day.js
1.x
日期时间处理

3.2 管理后台(admin)

技术/框架
版本/说明
用途
Nuxt.js
2.15.x
Vue.js 服务端渲染框架
Vue.js
2.x
渐进式 JavaScript 框架
TypeScript
-
类型安全
Ant Design Vue
1.7.x
UI 组件库
Vuex
-
状态管理
Axios
-
HTTP 客户端
Froala Editor
4.0.x
富文本编辑器
Less
3.x
CSS 预处理器
ESLint + Prettier
-
代码规范和格式化
@antv/g2
4.1.x
数据可视化图表库

3.3 小程序端(miniprogram)

技术/框架
版本/说明
用途
uni-app
2.x
跨端开发框架
Vue.js
2.6.x
渐进式 JavaScript 框架
TypeScript
3.x
类型安全
Vuex
3.2.x
状态管理
SCSS
-
CSS 预处理器
Flyio
0.6.x
HTTP 请求库
Day.js
1.x
日期时间处理

四、项目主要功能

4.1 小程序端功能

4.1.1 用户端功能

  • ‎首页:服务分类展示、轮播图、热门服务推荐
  • ‎服务类型:
    • ‎跑腿服务:代买代办,支持物品重量计算、价格自动核算
    • ‎快递代取:快递代取服务,支持选择快递公司、重量计算
    • ‎软件安装:电脑软件安装、系统重装等服务
  • ‎订单管理:
    • 发布订单
    • 查看订单列表(全部、待接单、进行中、已完成、已取消)
    • 订单详情查看
    • 取消订单
  • ‎个人中心:
    • 个人信息管理
    • 地址管理(新增、编辑、删除、设为默认)
    • 我的订单
    • 申请成为接单员
    • 接单员中心(切换身份)

4.1.2 接单员端功能

  • ‎接单员注册:提交申请,审核通过后成为接单员
  • ‎接单员中心:
    • 接单/拒单操作
    • 订单状态管理
    • 收入统计
    • 余额管理
    • 提现功能
    • 提现记录
    • 收款方式管理(银行卡等)
    • 接单员状态管理

4.2 管理后台功能

  • ‎登录:账号密码登录、二维码登录
  • ‎首页概览:
    • 订单数据统计图表
    • 用户增长趋势
    • 接单员排名
    • 订单状态分布
  • ‎学校管理:
    • 学校列表
    • 学校详情
    • 学校编辑
    • 区域管理(学校内区域划分)
    • 楼栋管理
    • 轮播图管理
    • 服务管理(服务类型配置)
  • ‎订单管理:
    • 订单列表
    • 订单详情
    • 订单处理(取消、退款等)
    • 资金流水
  • ‎用户管理:
    • 用户列表
    • 用户编辑
    • 管理员管理
    • 小程序用户管理
  • ‎接单员管理:
    • 接单员列表
    • 接单员审核
    • 提现管理
  • ‎配置管理:
    • 基础配置
    • 支付配置
    • 地图配置
    • 订阅消息配置
    • 提现配置
    • 时间要求配置
    • 用户协议配置
    • 分享配置
  • ‎素材管理:
    • 图片素材
    • 富文本素材
  • ‎数据分析:
    • 学校数据分析
    • 微信数据分析

五、项目安装和部署

5.1 环境要求

5.1.1 本地开发环境

  • ‎Node.js:
    • 服务端和管理后台:v16.x 及以上
    • 小程序项目:v12.x(必须)
  • ‎MySQL:5.7 及以上
  • ‎Redis:2.x 及以上
  • ‎开发工具:
    • VS Code
    • 微信开发者工具
  • ‎推荐工具:
    • nvm(Node.js 版本管理)
    • yarn(包管理器)

5.2 本地开发

5.2.1 服务端开发

  1. ‎进入服务端目录
cd server
  1. ‎配置文件
    • 复制 ‎/server/src/config/config.env.ts.bak 为 ‎config.local.ts
    • 修改数据库配置、Redis 配置等
// 数据库配置
orm: {
  type: 'mysql',
  host: 'localhost',
  port: 3306,
  username: 'root',
  password: 'root',
  database: 'ddrunv2-free',
  synchronize: true,
  logging: false,
}
// Redis配置
redis: {
  client: {
    port: 6379,
    host: '127.0.0.1',
    password: '',
    db: 0,
  },
}
  1. ‎安装依赖
yarn
# 或
npm install
  1. ‎启动项目
yarn local
# 或
npm run local

启动成功后,服务运行在 http://127.0.0.1:8001

5.2.2 管理后台开发

  1. ‎进入管理后台目录
cd admin
  1. ‎安装依赖
yarn
# 或
npm install
  1. ‎启动项目
yarn local
# 或
npm run local

5.2.3 小程序开发

  1. ‎进入小程序目录
cd miniprogram
  1. ‎切换 Node.js 版本(必须使用 v12.x)
nvm use 12
  1. ‎安装依赖
yarn
# 或
npm install
  1. ‎启动项目(微信小程序)
yarn local-wx
# 或
npm run local-wx
  1. ‎使用微信开发者工具
    • 打开微信开发者工具
    • 导入项目,目录为 ‎miniprogram/dist/dev/mp-weixin

5.3 服务器部署

推荐使用宝塔面板进行服务器环境管理。

5.3.1 服务器环境准备

  • 安装宝塔面板
  • 安装 Nginx 1.18
  • 安装 MySQL 5.7 或 8.x
  • 安装 PM2 管理器(Node.js 版本 v14.18.0)
  • 安装 Redis

5.3.2 服务端部署

  1. ‎上传代码到服务器

  2. ‎配置文件

    • 复制 ‎/server/src/config/config.env.ts.bak 为 ‎config.prod.ts
    • 修改生产环境配置
  3. ‎安装依赖

cd server
yarn
  1. ‎构建项目
yarn build
  1. ‎使用 PM2 部署
# 安装 PM2(如未安装)
npm install -g pm2

# 启动项目
pm2 start ./ecosystem.config.js

# 查看运行状态
pm2 list

# 查看日志
pm2 logs

5.3.3 管理后台部署

  1. ‎安装依赖
cd admin
yarn
  1. ‎构建项目
yarn build

构建成功后会在 admin/ 目录下生成 dist 目录。

  1. ‎Nginx 配置
    • 将 ‎dist 目录配置为静态站点
    • 配置反向代理指向后端服务 API

5.3.4 小程序部署

  1. ‎修改 API 地址
    • 打开 ‎/miniprogram/src/utils/constrants.ts
    • 修改 API 地址为服务器域名
export const API = () => {
  return "http://your-domain.com/api/";
};
  1. ‎构建项目
cd miniprogram
yarn build-wx
  1. ‎上传代码
    • 打开微信开发者工具
    • 导入项目,目录为 ‎/miniprogram/dist/build/mp-weixin
    • 提交代码到微信公众平台
    • 在微信公众平台提交审核并发布

5.4 多平台支持

小程序基于 uni-app 开发,支持以下平台:

  • 微信小程序
  • 支付宝小程序
  • QQ 小程序
  • 字节跳动小程序
  • H5
  • App(Android/iOS)
  • 快应用
  • 360 小程序
  • 百度小程序
  • 京东小程序
  • 快手小程序
  • 飞书小程序
  • 小红书小程序

各平台构建命令可参考 miniprogram/package.json 中的 scripts 配置。

项目地址:

夸克:https://pan.quark.cn/s/f509d2554c68
百度:https://pan.baidu.com/s/15vxpx9Ra1WX3gsapfAWLRQ?pwd=8888

群贤毕至

访客