# campus-uniapp **Repository Path**: Endurancer_Program/campus-uniapp ## Basic Information - **Project Name**: campus-uniapp - **Description**: 校园跑腿小程序 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-10-02 - **Last Updated**: 2025-04-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 一、项目概述 1. **项目名称**:校园跑腿小程序 2. **项目类型**:基于Springboot + Vue + Uniapp的校园跑腿小程序(前后端分离) 3. **目标用户**: - **管理员**:负责平台整体运营和管理的人员。 - **骑手**:接单并提供跑腿服务的人员。 - **用户**:使用平台下单和服务的普通用户。 4. **功能模块**: - 用户注册/登录 - 管理员后台管理(包括订单管理、联系人管理等) - 骑手接单与订单查看 - 用户下单及订单管理 - 公告信息发布与管理 - 个人中心管理(包括个人信息、密码修改) --- ### 二、环境搭建 #### 1. 开发工具 - **后端** - **IntelliJ IDEA** 或其他支持Java开发的IDE(如Eclipse):用于编写和调试后端代码。 - **前端** - **Visual Studio Code (VS Code)**:轻量级且功能强大的文本编辑器,适合前端开发,提供了丰富的插件支持。 - **数据库设计与管理** - **Navicat Premium**:可视化工具,用于设计和管理MySQL数据库,简化数据库操作。 #### 2. 开发环境 - **JDK** - **版本要求**:1.8 - **安装说明**:确保正确安装并配置JAVA_HOME环境变量,以便命令行和其他工具能够识别JDK。 - **Node.js** - **版本要求**:16.0+ - **安装说明**:通过官方提供的安装包进行安装,并确保npm(Node.js的包管理工具)也一并安装,方便后续安装前端依赖。 - **Maven** - **版本要求**:3.8+ - **安装说明**:Maven是Java项目的构建工具,负责管理项目依赖和执行构建生命周期任务。确保MAVEN_HOME环境变量已设置,并将`bin`目录添加到系统路径中。 #### 3. 数据库环境 - **MySQL** - **版本要求**:5.7或8.0 - **安装说明**:根据操作系统选择合适的MySQL安装包,并完成安装。配置数据库连接参数,确保应用程序可以正常访问数据库。 #### 4. 第三方中间件及工具 - **Redis**:用于缓存数据,如验证码、用户会话信息、评论信息等。 - **Nginx**:作为反向代理服务器,分发请求至不同的后端服务;同时也可以用于负载均衡和静态资源的托管。 - **Git**:版本控制系统,用于代码管理和协作开发。 --- ### 三、项目结构 #### 1. 后端项目结构 - `src/main/java`:存放Java源代码,细分为以下子包: - `controller`:包含所有RESTful API控制器类,负责处理HTTP请求。 - `service`:实现业务逻辑的服务层接口和实现类。 - `mapper`:定义与数据库交互的持久层接口(MyBatis Mapper)。 - `entity`:存放实体类,对应数据库中的表结构。 - `dto`:数据传输对象,用于封装API请求和响应的数据。 - `vo`:视图对象,专门用于前端展示的数据模型。 - `exception`:自定义异常类及其处理器。 - `utils`:工具类,提供通用的功能方法,如日期格式化、字符串处理等。 - `src/main/resources`:存放非Java资源文件,包括但不限于: - `application.properties` 或 `application.yml`:Spring Boot应用配置文件。 - `mapper.xml`:MyBatis SQL映射文件。 - 其他静态资源或模板文件(如邮件模板)。 - `src/test/java`:存放单元测试和集成测试代码,确保各个组件的功能正确性。 #### 2. 前端项目结构 - `src/assets`:存放静态资源,如图片、图标、样式文件(CSS/SCSS)等。 - `src/components`:存放可复用的Vue组件,这些组件可以在不同的页面中使用,提高代码的复用性和开发效率。 - `src/router`:存放路由配置文件,定义了应用的所有路由规则以及它们对应的组件。 - `src/store`:存放Vuex状态管理的相关文件,包括状态、突变、动作等,以集中管理和共享全局状态。 - `src/views`:存放页面级组件,每个页面通常对应一个独立的Vue组件,包含了页面特有的逻辑和布局。 - `src/api`:存放与后端交互的API请求相关代码,通过Axios库发送HTTP请求并与后端通信。 - `src/utils`:存放前端工具类代码,提供辅助函数或常量定义,帮助简化开发过程。 - `src/App.vue`:应用的根组件,是整个应用的入口点,包含了主模板和全局配置。 - `src/main.js`:应用的入口文件,负责初始化Vue实例并挂载到DOM元素上,同时引入全局插件和其他必要的设置。 #### 3. 小程序端项目结构(Uni-app) - `pages`:存放不同页面的代码,如首页、下单页、订单页等。 - `components`:存放可复用的小程序组件。 - `static`:存放静态资源,如图片、图标等。 - `uni_modules`:存放第三方插件或模块。 - `App.vue`:小程序的根组件,是整个应用的入口点。 - `main.js`:应用的入口文件,负责初始化Vue实例并挂载到小程序环境中。 --- ### 四、项目创新 #### 1. **uniapp小程序 + web多端设计 多角色设计** - **创新描述**:通过uni-app框架实现一次开发,多端运行(微信小程序、H5网页),满足不同场景下的使用需求。 - **技术实现**: - 使用uni-app的条件编译特性,针对不同平台定制化代码。 - 设计多角色权限控制,确保不同角色(管理员、骑手、用户)拥有相应权限。 #### 2. **设计定时任务自动取消过期订单** - **创新描述**:为了提高平台效率,避免无效订单占用资源,设计定时任务自动取消过期未支付或未确认收货的订单。 - **技术实现**: - 利用Spring Task或Quartz实现定时调度,定期检查订单状态。 - 对于超过设定时间未支付或未确认收货的订单,自动更新订单状态为“已取消”。 #### 3. **使用Redis缓存评论信息** - **创新描述**:利用Redis缓存评论信息,减少数据库查询压力,提升页面加载速度。 - **技术实现**: - 设置合理的缓存策略,对于频繁访问的评论数据进行缓存。 - 结合Redis的TTL(Time To Live)机制,确保缓存数据的时效性。 --- ### 五、功能模块实现 #### 管理员功能 1. **登录、个人信息、修改密码** - 实现管理员登录、个人信息查看和修改密码功能。 2. **订单管理** - 查看、审核和管理所有用户的订单信息。 3. **联系人管理** - 添加、编辑和删除联系人信息。 4. **认证信息管理** - 审核骑手提交的认证信息。 5. **收支信息管理** - 记录和管理平台的收入和支出情况。 6. **评价管理** - 查看和管理用户对订单的评价。 7. **公告管理** - 发布和管理系统公告,及时传达重要信息给用户。 8. **管理员管理** - 查看和管理其他管理员的信息,分配不同级别的权限。 9. **用户管理** - 查看和管理所有用户的信息,保障平台的安全运行。 10. **个人中心** - 提供管理员个人中心页面,方便管理员进行自我管理。 #### 骑手功能 1. **注册、登录** - 实现骑手注册、登录功能。 2. **接单(需提交认证骑手)** - 接受来自用户的订单,但需要先通过平台认证。 3. **查看骑手订单** - 查看自己接受的订单详情。 #### 用户功能 1. **注册、登录** - 实现用户注册、登录功能。 2. **首页** - 查看公告、分类下单。 3. **下单页** - 设置取货地址、收货地址、设置订单信息、提交订单。 4. **订单页** - 查看订单、取消订单、确认收货、评价订单、删除订单。 5. **我的** - 包含头像、姓名、骑手信息(如果适用)、我的地址管理、收支明细查看、我的评价管理、我的钱包、充值、个人信息管理、平台介绍、用户协议、退出登录等功能。 --- ![输入图片说明](imgs/66c8a5195b3fc55ff7a004417f7f1d8.jpg) ![输入图片说明](imgs/67f35ae1d2615cedcf385ef35b5e4d8.jpg) ![输入图片说明](imgs/8f1f8339c98c3ac75606aa2f4dd642b.jpg) ![输入图片说明](imgs/99e5743a83ed78603fa4dfd9b47e41f.jpg) ![输入图片说明](imgs/d18881508039da7edaa3971cb66626e.jpg) ![输入图片说明](imgs/e34e6a12a713690f6e1b7a2baa0d2ca.jpg)