是一套同城上门维修业务系统,采用前后端分离架构,服务端、管理端、用户端全套代码开源。
服务端基于 Spring Boot 2.6.11(Java 8)构建,负责接口、数据库,以及支付、短信、地图等外部能力。启动后控制台会打印「上门维修项目启动成功」。 管理端基于 Vue 3 开发,供运营人员在电脑浏览器中使用。 用户端基于 uni-app 开发,覆盖手机网页和微信小程序。用户可以预约手机、平板、电脑维修,也可以发起旧机回收;商户在同一个应用里处理订单和门店。
2. 移动端界面预览
3. 开源说明
本项目采用 Apache 2.0 许可协议,源码供学习、技术研究、商业使用、二次开发与参考使用。
开源为生态,服务才是根基; 欢迎各位开发者一同交流。
4. 快速开始
建议顺序:先服务端,再管理端,最后用户端。 管理端和用户端都要等服务端已经启动,才能登录和加载数据。
4.1 服务端
安装 JDK 8、Maven、MySQL 8、Redis。新建数据库 smwx,导入 shangmenweixiu_server/db/smwx.sql,再启动服务端。默认环境是 prod,数据库写在 application-prod.yml,本机 127.0.0.1:3306/smwx,账号 root,密码 123456。你的 MySQL 密码不同时,只改这一处。Redis 要先在本机 6379 端口运行。
服务端口 9166,上下文路径 /sqx_fast。接口文档:http://127.0.0.1:9166/sqx_fast/doc.html。
详细步骤见 服务端运行教程。
4.2 管理端
安装 Node.js 18 或更高版本,在 shangmenweixiu_admin 里执行安装并启动。开发站点默认端口 5173。
详细步骤见 管理端运行教程。
4.3 用户端
用 HBuilderX 打开 shangmenweixiu_uniapp,运行到浏览器。H5 开发端口是 5052。
详细步骤见 用户端运行教程。
管理端账号以导入后的数据库为准。地图、短信、微信、支付宝等密钥需要自行申请,再填进管理端「系统配置」。申请入口写在 用户端功能说明 末尾。
5. 文档
| 想做的事 | 打开哪一份 |
|---|---|
| 把服务端跑起来 | 服务端运行教程 |
| 看服务端能做什么 | 服务端功能说明 |
| 把管理端跑起来 | 管理端运行教程 |
| 看管理端能做什么 | 管理端功能说明 |
| 把用户端跑起来 | 用户端运行教程 |
| 看用户端能做什么 | 用户端功能说明 |
6. 目录结构
仓库根目录只放三端代码、说明和协议。编译出来的 target、dist、unpackage、node_modules 是运行时生成的,不需要改。
6.1 仓库根目录
| 路径 | 是什么 |
|---|---|
shangmenweixiu_server |
服务端。接口、数据库脚本、支付和短信等能力都在这里 |
shangmenweixiu_admin |
管理端。运营人员在电脑浏览器里打开的后台 |
shangmenweixiu_uniapp |
用户端。用户和商户用的手机应用,也能在电脑浏览器里看 |
docs |
三端的功能说明和运行教程 |
scripts |
本机导入配置、核对数据用的脚本 |
LICENSE |
Apache License 2.0 全文 |
6.2 服务端 shangmenweixiu_server
| 路径 | 是什么 |
|---|---|
sqx-application |
启动入口。主程序在 SqxApplication.java,数据库和 Redis 配置在 src/main/resources |
sqx-modules/sqx-app |
上门维修业务代码。维修、回收、订单、门店、商户、钱包、积分、邀请都在这里 |
sqx-modules/sqx-system |
管理员、角色、菜单、字典、系统配置 |
sqx-modules/sqx-generator |
按数据表生成代码的工具,日常运行用不到 |
sqx-common/sqx-common-web |
网页请求、统一异常提示 |
sqx-common/sqx-common-mybatis |
访问 MySQL |
sqx-common/sqx-common-redis |
访问 Redis,记住登录和验证码 |
sqx-common/sqx-common-shiro |
管理端登录和权限 |
sqx-common/sqx-common-pay |
微信支付、支付宝 |
sqx-common/sqx-common-sms |
短信宝、阿里云短信、腾讯云短信 |
sqx-common/sqx-common-mail |
发邮件 |
sqx-common/sqx-common-file |
上传图片。可以存本机硬盘,也可以存阿里云 |
sqx-common/sqx-common-doc |
接口文档页面 |
sqx-common/sqx-common-websocket |
在线客服的实时消息 |
sqx-common/sqx-common-core |
三端都会用到的公共工具 |
db/smwx.sql |
要导入的完整数据库,库名是 smwx |
docs |
服务端侧的方案和脚本说明 |
6.3 管理端 shangmenweixiu_admin
| 路径 | 是什么 |
|---|---|
src/views/business |
业务页面。设备型号、故障服务、维修订单、回收订单、商户入驻、门店、优惠券、提现、首页装修、在线客服都在这里 |
src/views/system |
系统页面。管理员、角色、菜单、权限、字典、操作日志、系统配置 |
src/views/user |
用户列表、注销审核 |
src/views/LoginView.vue |
登录页,含验证码 |
src/views/DashboardView.vue |
登录后的数据统计 |
src/api |
每个页面调用服务端的接口 |
src/router |
页面地址和菜单对应关系 |
src/stores |
登录状态、主题、字典等临时数据 |
src/layouts |
左侧菜单和顶部栏 |
src/components |
上传图片、富文本、分页等共用组件 |
src/styles |
全局样式 |
.env.development |
开发时服务端地址 |
.env.production |
打包后服务端地址 |
6.4 用户端 shangmenweixiu_uniapp
| 路径 | 是什么 |
|---|---|
pages |
底部三个主入口:首页、订单、我的,以及登录、注册、忘记密码 |
pagesRepair |
维修流程。搜索、服务列表、选择机型、选择故障、故障详情、评价、确认订单 |
pagesOrder |
订单详情、上门服务记录、订单操作 |
pagesStore |
门店详情、门店导航、门店评价 |
pagesRecycle |
旧机回收。回收门店、估价、下单、订单和评价 |
pagesProfile |
钱包、积分、地址、邀请、团队、商户入驻和商户中心、客服、帮助 |
pagesMsg |
消息中心和系统通知 |
pagesChat |
在线客服会话 |
common |
接口地址、登录、地图、上传图片、支付等公共逻辑 |
components |
页面里重复使用的组件 |
static |
图标、机型图、默认图片 |
pages.json |
有哪些页面、底部导航怎么排 |
manifest.json |
应用名称、微信小程序 AppId、地图密钥、H5 端口 |
界面组件使用 uView Plus。执行安装后,scripts/sync-uview-uni-modules.cjs 会把组件同步到 uni_modules。
7. 核心特性与技术栈
7.1 核心特性
· 一个用户端同时服务用户和维修商户
· 手机、平板、电脑按机型和故障预约上门
· 支付订金锁定预约,检测后再结算余款
· 旧机回收估价与回收订单
· 门店导航、优惠券、积分、余额 / 微信 / 支付宝付款
· 钱包、邀请分销、在线客服
· 商户入驻、服务发布、接单和商户钱包
· 后台统计、审核、上下架和权限配置
· 服务端统一处理登录、订单和支付结果
每项怎么用,见 用户端功能说明、管理端功能说明、服务端功能说明。
版本以仓库里的配置文件为准。没写死版本号的,按运行教程安装对应大版本即可。
7.2 服务端
| 类别 | 技术 | 版本 | 用来做什么 |
|---|---|---|---|
| 语言 | Java | 1.8 | 整个服务端。不能换成 11 或 17 |
| 框架 | Spring Boot | 2.6.11 | 提供网页接口,端口 9166,路径 /sqx_fast |
| 构建 | Maven | 3.6 及以上 | 下载依赖、编译、启动 |
| 数据库 | MySQL | 8.0 及以上 | 业务数据。库名 smwx,脚本是 db/smwx.sql |
| 数据库访问 | MyBatis-Plus | 3.5.3.2 | 读写表 |
| 连接池 | Druid | 1.2.19 | 管理数据库连接 |
| 缓存 | Redis、Redisson | Redis 5.0 及以上,Redisson 3.18.0 | 启动时就会连接本机 Redis。地址 127.0.0.1,端口 6379,库序号 5 |
| 管理端登录 | Apache Shiro | 1.4.0 | 后台账号、角色、菜单权限 |
| 用户端登录 | JWT(jjwt) | 0.9.1 | 用户和商户登录后的凭证 |
| 接口文档 | Knife4j | 4.4.0 | 浏览器打开 doc.html 查看接口 |
| JSON | Fastjson2 | 2.0.41 | 接口数据格式 |
| 工具库 | Hutool | 5.8.16 | 日期、字符串等常用处理 |
| 登录验证码 | Kaptcha | 0.0.9 | 管理端登录页上的图片验证码 |
| 对象存储 | 阿里云 OSS SDK | 3.4.0 | 可选。不填密钥时图片可以存在本机硬盘 |
| 支付 | 微信支付 SDK、支付宝 SDK | 随支付模块 | 下单、退款。密钥要自己申请 |
7.3 管理端
| 类别 | 技术 | 版本 | 用来做什么 |
|---|---|---|---|
| 运行环境 | Node.js | 18 及以上 | 安装依赖、启动开发网站 |
| 页面框架 | Vue | 3.5 | 后台每一个页面 |
| 构建 | Vite | 5.4 | 开发时热更新,默认端口 5173 |
| 界面组件 | Element Plus | 2.11 | 表格、表单、弹窗、菜单 |
| 页面跳转 | Vue Router | 4.5 | 登录页、统计页和各业务页的地址 |
| 状态 | Pinia | 3.0 | 记住是否已登录、当前主题 |
| 请求 | Axios | 1.9 | 把操作发给服务端 |
| 图表 | ECharts | 6.1 | 数据统计页上的图 |
| 样式 | Sass | 1.89 | 后台样式 |
7.4 用户端
| 类别 | 技术 | 版本 | 用来做什么 |
|---|---|---|---|
| 框架 | uni-app | 用 HBuilderX 打开 | 同一套页面可运行到浏览器、微信小程序 |
| 开发工具 | HBuilderX | 正式版 | 编译并运行到 Chrome 或微信开发者工具 |
| 界面组件 | uView Plus | 3.8 | 按钮、输入框、轮播、弹窗。不负责付款和地图 |
| 省市区 | element-china-area-data | 6.1 | 上门地址里选择省、市、区 |
| 浏览器预览 | H5 | 默认端口 5052 |
电脑上看用户端 |
| 微信小程序 | 微信开发者工具 | 可选 | 要自己的小程序 AppId 才能真机预览 |







已经更新下载链接
不需要
开发语言是.NET C#,数据库 Mysql、 Mssgl、 Oracle、 SQLite、 PostgreSQL等均可
客服一直在!
没有客服!