引言

随着居民生活水平提高,衣柜里积压的旧衣物越来越多。大量闲置纺织品若随意丢弃,不仅造成资源浪费,还会增加填埋与焚烧带来的环境压力。传统线下回收点信息分散、预约不便,居民参与积极性不高,平台方也难以统一管理回收进度与激励措施。

本课题设计并实现了一套基于小程序的二手旧衣物回收平台。系统面向社区居民与平台运营人员:用户通过移动端在线预约上门回收、上传衣物照片、积累碳积分并兑换实物商品;管理员在 Vue 管理后台维护活动内容、审核回收单、配置积分商城并查看统计报表。整套方案将环保宣传、预约回收与积分激励串联起来,为绿色低碳生活提供可落地的信息化支撑。

系统概述

本系统面向普通用户与系统管理员两类角色,采用「小程序 + Spring Boot 后端 + Vue 管理后台」三端协同架构。用户侧以授权登录为入口,通过底部 Tab 在首页、活动专栏、预约、积分商城与个人中心之间切换;管理侧通过浏览器登录后台,在左侧菜单进入用户、回收、商品、内容与反馈等模块。

主要业务链路为:用户在小程序提交旧衣回收预约并上传图片 → 管理员在后台查看预约单并安排上门回收 → 完成回收后系统记录回收金额并发放碳积分 → 用户使用碳积分在商城兑换商品并生成兑换订单 → 管理员维护活动资讯、环保知识与用户反馈,形成闭环运营。

技术架构

系统采用 Spring Boot 2.5.3 作为服务端框架,MyBatis 2.2.0 负责数据持久化,MySQL 存储业务数据;管理端基于 Vue 3.2.13、Element Plus 与 ECharts 5.2.2 构建后台界面;用户端为原生小程序,通过 wx.request 调用 REST 接口。整体分为表现层、业务层与数据层:表现层负责页面展示与表单交互;业务层完成权限校验、回收状态流转与积分扣减;数据层通过 Mapper XML 完成表操作。

层次 技术选型 说明
表现层 小程序 + Vue 3 用户预约与商城兑换,管理员内容与订单维护
业务层 Spring Boot 2.5.3 提供 REST 接口,处理回收、积分与订单逻辑
数据层 MySQL + MyBatis 持久化用户、回收单、商品与内容资讯

核心功能

授权登录与个人资料

居民打开小程序后进入授权登录页,确认获取公开昵称与头像即可完成注册登录。首次使用可在个人中心补充姓名、性别、手机号与联系地址,便于回收员上门联系。登录成功后系统建立用户档案,后续回收与兑换均关联同一账户。

小程序授权登录页,用户确认获取昵称与头像后进入平台

旧衣预约回收

用户在底部 Tab 进入「预约」页,填写物品名称、预估重量、具体描述、联系人、手机号码、上门地址与期望回收时间,并可拍照上传多张旧衣图片。点击提交后系统生成唯一回收单号,状态初始为待回收,等待管理员安排上门收取。

预约回收页填写物品名称、重量、联系方式与上门地址并上传照片

回收订单跟踪

在「我的回收订单」中,用户可按全部、待回收、已回收三个 Tab 查看历史记录。每条订单展示回收单号、重量、提交时间与当前状态;已完成的订单还会显示回收金额。用户可点击「查看」进入详情,核对物品描述与上传照片,也可删除无效预约。

我的回收订单列表,可按全部、待回收、已回收筛选并查看详情

回收审核与积分发放

管理员在 Web 后台「回收管理」模块查看用户提交的预约单,进入详情核对联系信息与图片。完成实际上门回收后,填写回收金额与奖励碳积分并确认,订单状态更新为已回收,同时累加用户账户余额与碳积分。用户在小程序「已回收」Tab 即可看到对应金额,实现线上线下业务对齐。

管理员完成上门回收后,用户在已回收 Tab 查看回收金额与状态

积分商城与兑换订单

管理员在「积分商品管理」中维护商品名称、封面图、所需碳积分、库存与富文本介绍。用户在「积分商城」浏览商品,选择心仪礼品并使用碳积分兑换,系统扣减积分并生成兑换订单。在「我的商品订单」中可按待使用、已使用查看兑换记录,每条记录展示商品名称、消耗积分与兑换时间。

积分商城兑换订单列表,展示待使用状态的碳积分兑换记录

个人中心与数据统计

个人中心集中展示账户余额、累积碳积分、回收订单数与商品订单数,并提供回收订单、商品订单、留言反馈、资料修改等快捷入口。管理后台首页通过 ECharts 呈现回收量、用户数等统计图表;「用户管理」支持按昵称、姓名、手机号检索,查看每位用户的余额与碳积分变动,便于运营分析。

个人中心展示账户余额、累积碳积分及回收与商品订单入口

管理后台用户管理,维护注册用户资料、账户余额与碳积分

内容运营与反馈处理

平台还包含轮播图、活动专栏、环保知识、环保问题等资讯模块,管理员通过富文本编辑器发布图文内容,小程序端供用户阅读学习。用户可在留言反馈页提交意见,管理员在反馈列表中查看内容并填写回复,形成双向沟通渠道。

管理后台反馈管理,管理员查看用户留言并回复处理结果

数据库设计

系统数据库以 useclothingrecycling 为核心库,主要业务表包括:

  • members:存储用户昵称、头像、联系方式、账户余额 mval、碳积分 msc 及注册时间
  • recycles:回收单主表,以 rno 为单号,记录物品名称、重量、地址、预约时间、状态 rstatus、回收金额 rmoney 与奖励积分 rpoint
  • photo:通过 rno 关联回收单的多张现场图片
  • productorders:积分商品及兑换订单,orders.ostatus 区分待使用、已使用
  • activityknowledgeenvironment:活动、知识宣传与环保问题内容
  • feedback:用户留言与管理员回复
  • banner:首页轮播图及排序
  • admin:后台管理员账号

回收单状态流转为待回收至已回收;兑换订单在待使用与已使用之间切换;用户状态字段标识账号是否正常可用。

界面与交互展示

下图汇总小程序与管理端的关键界面。从左至右、由上至下依次对应:授权登录 → 填写预约 → 跟踪回收 → 后台用户维护 → 查看已完成回收 → 个人中心 → 积分兑换订单 → 反馈回复,完整呈现居民端预约兑换与管理员端审核运营的操作路径。

部署与运行

运行环境建议 JDK 1.8、Maven 3.x、MySQL 5.7 或 8.0、Node.js 14 及以上,以及小程序官方开发者工具。部署时先在 MySQL 中创建 useclothingrecycling 库并执行 DB 目录下 SQL 脚本;修改 application.yml 中的数据库连接与文件上传目录后,在后端工程启动 Spring Boot 服务(端口 8088,上下文路径 /useclothingrecycling);在 useclothingrecycling-web 目录执行 npm install 与 npm run serve 启动管理端;最后用开发者工具打开小程序工程,将 config.js 中接口地址指向后端服务。生产环境请务必修改默认管理员与数据库口令,勿沿用演示环境弱口令。

总结

本课题将旧衣回收这一具体环保场景与小程序轻量入口、碳积分激励机制相结合,完成了从预约、审核、积分发放到商城兑换的完整业务闭环。实践过程中加深了对 Spring Boot 分层架构、MyBatis 映射、Vue 后台搭建以及小程序与后端 REST 联调的理解。后续可扩展在线支付、短信通知、地图选点上门、回收员移动端派单等功能,进一步提升平台的实用性与覆盖面。

本文为毕业设计学习交流,演示系统功能与技术实现思路,仅供学习参考。

更多推荐