【开源】基于JAVA+Vue+SpringBoot的智慧家政系统

在这里插入图片描述


目录

  • 一、摘要
    • 1.1 项目介绍
    • 1.2 项目录屏
  • 二、功能模块
  • 三、系统展示
  • 四、核心代码
    • 4.1 查询家政服务
    • 4.2 新增单条服务订单
    • 4.3 新增留言反馈
    • 4.4 小程序登录
    • 4.5 小程序数据展示
  • 五、免责说明


一、摘要

1.1 项目介绍

基于微信小程序+JAVA+Vue+SpringBoot+MySQL的智慧家政系统,包含了地址管理模、订单管理、家政分类管理、家政服务管理、用户反馈管理模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,基于微信小程序的智慧家政系统基于角色的访问控制,给家政管理员、家政工作人员、消费者使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

1.2 项目录屏


二、功能模块

该系统基于微信开发者工具进行开发,最终成果以微信小程序的方式进行呈现。系统大致分为两大模块,即前台用户系统与后台管理系统,主要内容如下。

  1. 注册登录:此系统采用微信授权登录方式。
  2. 用户信息管理:用户能快速了解修改个人基本信息(如用户名、密码、头像等信息)。
  3. 地址管理:用户对自己的地址可以进行增删改查操作。
  4. 订单管理:对所有订单信息进行管理。
  5. 分类管理:通过分类管理功能对服务种类进行分类归纳,管理更方便快速。
  6. 服务人员管理:对于家政工作人员提供的服务进行增删改查操作。
  7. 提交订单功能:将心仪的服务添加至订单中。
  8. 支付管理:提交订单后立即跳转至支付界面,付款完成后在订单列表中出现已支付的订单。。
  9. 用户反馈:通过投资理财网站系统提供反馈功能,快速解决用户问题,提高用户体验,也为企业改进提供可行性参考依据。

在这里插入图片描述


三、系统展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


四、核心代码

4.1 查询家政服务

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询服务")
public Result<IPage<ServiceData>> getByPage(@ModelAttribute ServiceData serviceData ,@ModelAttribute PageVo page){
    QueryWrapper<ServiceData> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(serviceData.getTitle())) {
        qw.like("title",serviceData.getTitle());
    }
    if(!ZwzNullUtils.isNull(serviceData.getType())) {
        qw.eq("type",serviceData.getType());
    }
    IPage<ServiceData> data = iServiceDataService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<ServiceData>>().setData(data);
}

4.2 新增单条服务订单

@RequestMapping(value = "/addOne", method = RequestMethod.GET)
@ApiOperation(value = "新增单条服务订单")
public Result<ServiceOrder> addOne(@RequestParam String id){
    ServiceData s = iServiceDataService.getById(id);
    if(s == null) {
        return ResultUtil.error("服务不存在");
    }
    User currUser = securityUtil.getCurrUser();
    ServiceOrder order = new ServiceOrder();
    order.setServiceId(s.getId());
    order.setTitle(s.getTitle());
    order.setType(s.getType());
    order.setUserName(s.getUserName());
    order.setMobile(s.getMobile());
    order.setContent(s.getContent());
    order.setBuyId(currUser.getId());
    order.setBuyName(currUser.getNickname());
    order.setBuyTime(DateUtil.now());
    order.setStatus("未付款");
    iServiceOrderService.saveOrUpdate(order);
    return ResultUtil.success();
}

4.3 新增留言反馈

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增留言反馈")
public Result<Message> insert(Message message){
    User currUser = securityUtil.getCurrUser();
    message.setUserId(currUser.getId());
    message.setUserName(currUser.getNickname());
    message.setTime(DateUtil.now());
    message.setReplyContent("");
    message.setReplyId("");
    message.setReplyName("");
    message.setReplyTime("");
    iMessageService.saveOrUpdate(message);
    return new ResultUtil<Message>().setData(message);
}

4.4 小程序登录

<view wx:if="{{item.index==0}}">
        <!-- 账号 -->
        <view class="section">
          <input placeholder="手机号" bindblur="logincode" />
        </view>

        <!-- 密码 -->
        <view class="section">
          <input placeholder="登入密码" bindblur="loginpassword" password="true"  />
        </view>
        
        <view class="section"></view>
        <!-- 提交按钮 -->
        <view wx:if='{{islogin==""}}' class='btn_box' >
        
          <button type="primary" bindtap="loginTo"  >登录</button>
        </view>

        <!-- 退出按钮 -->
        <view wx:else class='btn_box'>
          <button type="primary" bindtap="returnmain" >退出</button>
        </view>

</view>

4.5 小程序数据展示

<view class="page__bd page" wx:for="{{fieldList}}" wx:key="index" wx:for-item="item">
    <view class="weui-cells weui-cells_after-title cells">
        <navigator class="weui-cell weui-cell_access" hover-class="weui-cell_active">
            <view class="weui-cell__hd">
                <image src="../../statis/img/logo01.png" style="margin-right: 5px;vertical-align: middle;width:40px; height: 40px;"></image>
            </view>
            <view class="weui-cell__bd pageRight">
                <text class="roomName">{{item.title}}</text>
            </view>
        </navigator>
        <navigator class="weui-cell weui-cell_access" hover-class="weui-cell_active">
            <view class="weui-cell__bd">
                <text class="cannot">服务类型:{{item.type}}</text>
            </view>
        </navigator>
        <navigator class="weui-cell weui-cell_access" hover-class="weui-cell_active">
            <view class="weui-cell__bd">
                <text class="cannot">家政人员:{{item.userName}}</text>
            </view>
        </navigator>
        <navigator class="weui-cell weui-cell_access" hover-class="weui-cell_active">
            <view class="weui-cell__bd">
                <text class="cannot">联系方式:{{item.mobile}}</text>
            </view>
        </navigator>
        <navigator class="weui-cell weui-cell_access" hover-class="weui-cell_active">
            <view class="weui-cell__bd">
                <text class="cannot">服务介绍:{{item.content}}</text>
            </view>
        </navigator>

        <navigator class="weui-cell weui-cell_access" hover-class="weui-cell_active">
            <view class="weui-cell__bd">
                <button type="primary" class='buttomm' bindtap="toMoreOnePage" data-id="{{item.id}}">下单</button>
            </view>
        </navigator>

        <navigator class="weui-cell weui-cell_access" hover-class="weui-cell_active">
            <view class="weui-cell__bd">
                <button></button>
            </view>
        </navigator>
    </view>
</view>

五、免责说明

  • 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
  • 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
  • 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
  4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/355033.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OpenCV-29 自适应阈值二值化

一、引入 在前面的部分我们使用的是全局阈值&#xff0c;整幅图像采用同一个数作为阈值。当时这种方法并不适应于所有情况。尤其是当同一幅图像上的不同部分具有不同的亮度时。这种情况下我们需要采用自适应阈值。此时的阈值时根据图像上的每一个小区域计算与其对应的阈值。因此…

Less-1(sqlmap自动注入攻击)--sqli

环境准备 打开火狐浏览器&#xff0c;进入sqli第一关的页面 工具准备 sqlmap 参数解释 -u URL 指定目标URL进行注入测试。--dataDATA指定POST请求的数据进行注入测试--cookieCOOKIE指定用于身份验证的cookie进行注入测试-p PARAMETER指定要测试的参数--levelLEVEL设置测试的深…

微信小程序开发 逐级选择地区

1.需求 微信小程序开发,逐级选择地区&#xff08;市、区县、街道、社区、网格&#xff09;&#xff0c;选择每一级然后展示下一级数据。 微信小程序逐级选择 2. 完整代码 2.1. 选择界面 2.1.1. selectArea.wxml <text bindtap"selectGrid">{{gridName}}</…

Java技术栈 —— Hadoop入门(二)

Java技术栈 —— Hadoop入门&#xff08;二&#xff09; 一、用MapReduce对统计单词个数1.1 项目流程1.2 可能遇到的问题1.3 代码勘误1.4 总结 一、用MapReduce对统计单词个数 1.1 项目流程 (1) 上传jar包。 (2) 上传words.txt文件。 (3) 用hadoop执行jar包的代码&#xff0c;…

go语言基础之泛型

1.泛型 泛型是一种独立于所使用的特定类型的编写代码的方法。使用泛型可以编写出适用于一组类型中的任何一种的函数和类型。 1.1 为什么需要泛型 func reverse(s []int) []int {l : len(s)r : make([]int, l)for i, e : range s {r[l-i-1] e}return r }fmt.Println(reverse…

ACL、VLAN、NAT笔记

一、ACL ---访问控制列表 1.ACL的作用 1&#xff0c;访问控制&#xff1a;在路由器流量流入或流出的接口上&#xff0c;匹配流量&#xff0c;然后 执行设定好的动作。 ---- permit 允许 , deny 拒绝 2&#xff0c;抓取感兴趣流&#xff1a;ACL可以和其他服务结合使用。ACL只…

Mac安装nvm,安装多个不同版本node,指定node版本

一.安装nvm brew install nvm二。配置文件 touch ~/.zshrc echo export NVM_DIR~/.nvm >> ~/.zshrc echo source $(brew --prefix nvm)/nvm.sh >> ~/.zshrc三.查看安装版本 nvm -vnvm常用命令如下&#xff1a;nvm ls &#xff1a;列出所有已安装的 node 版本nvm…

CMake 完整入门教程(五)

CMake 使用实例 13.1 例子一 一个经典的 C 程序&#xff0c;如何用 cmake 来进行构建程序呢&#xff1f; //main.c #include <stdio.h> int main() { printf("Hello World!/n"); return 0; } 编写一个 CMakeList.txt 文件 ( 可看做 cmake 的…

导航页配置服务Dashy本地部署并实现公网远程访问

文章目录 简介1. 安装Dashy2. 安装cpolar3.配置公网访问地址4. 固定域名访问 简介 Dashy 是一个开源的自托管的导航页配置服务&#xff0c;具有易于使用的可视化编辑器、状态检查、小工具和主题等功能。你可以将自己常用的一些网站聚合起来放在一起&#xff0c;形成自己的导航…

Unity 中介者模式 (实例详解)

文章目录 简介实例1&#xff1a;玩家与UI交互实例2&#xff1a;战斗模块中的攻击事件协调实例3&#xff1a;游戏场景中的事件广播实例4&#xff1a;模块间通信 - 地图导航与角色移动实例5&#xff1a;UI模块间同步 - 菜单切换与选项状态 简介 在Unity游戏开发中&#xff0c;中…

SpringBoot内置工具类

Collections java.util包下的Collections类&#xff0c;该类主要用于操作集合或者返回集合 一、排序 List<Integer> list new ArrayList<>();list.add(2);list.add(1);list.add(3);Collections.sort(list);//升序System.out.println(list);Collections.reverse(…

【机器学习】欠拟合与过拟合

过拟合&#xff1a;模型在训练数据上表现良好对不可见数据的泛化能力差。 欠拟合&#xff1a;模型在训练数据和不可见数据上泛化能力都很差。 欠拟合常见解决办法&#xff1a; &#xff08;1&#xff09;增加新特征&#xff0c;可以考虑加入特征组合、高次特征&#xff0c;以…

MySql45讲-08.事务到底是隔离的还是不隔离的?(结合MVCC视频)

命令的启动时机 begin/start transaction 命令并不是一个事务的起点&#xff0c;在执行到它们之后的第一个操作InnoDB表的语句&#xff0c;事务才真正启动。如果你想要马上启动一个事务&#xff0c;可以使用start transaction with consistent snapshot 这个命令。 事务的版本…

数据结构—基础知识(14):森林、树与二叉树的转换

数据结构—基础知识&#xff08;14&#xff09;&#xff1a;森林、树与二叉树的转换 将树转换为二叉树进行处理&#xff0c;利用二叉树的算法来实现对树的操作。由于树和二叉树都可以用二叉链表作存储结构&#xff0c;则以二叉链表作媒介可以导出树与二叉树之间的一个对应关系…

Nginx负载均衡下的webshell连接

一、上传AntSword-Labs-master搭建负载均衡实验环境 搭建好docker环境&#xff0c;并且配置好docker-compose 我的Redhat的docker版本&#xff1a; 查看当前环境下的文件是否正确&#xff1a; 接着执行docker compose up -d 拉取环境 访问成功页面&#xff1a; 进入docker容器…

RabbitMQ 死信交换机的详述➕应用

&#x1f973;&#x1f973;Welcome 的Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于RabbitMQ的相关操作吧 目录 &#x1f973;&#x1f973;Welcome 的Huihuis Code World ! !&#x1f973;&#x1f973; 一.什么是死信交换机 二. 死信队列…

C++1.0

思维导图 提示输入一个字符串&#xff0c;统计该字符中大写&#xff0c;小写字母个数&#xff0c;数字个数&#xff0c;空格个数以及特殊字符个数&#xff0c;要求使用C风格字符串完成 #include <iostream>using namespace std;int main() {cout << "请输入一…

路由懒加载(React和Vue)

1、为了提升性能&#xff0c;将懒加载的文件单独打包 在webpack.config.js配置打包成chunks // 打包到不同的chunks optimization: {// 将动态加载(懒加载)的文件(imort())单独打包splitChunks: {chunks: "all",},// 避免分割缓存失效runtimeChunk: {name: (entrypo…

数据结构(C语言版)代码实现(五)——双向循环链表的部分实现

目录 参考材料与格式 线性表的有关知识 头文件 库、宏定义、数据类型声明 线性表的双向链表存储结构 构造空链表 销毁链表 链表长度 按位查找 插入元素 删除元素 打印链表 完整头文件DuLinkList.h 测试函数&#xff08;主函数&#xff09; 测试结果 收获 参考材…

电磁兼容(EMC):产品如何做到可靠的防静电设计

工业产品所应用的电磁环境之恶劣。要想产品在如此恶劣的电磁环境下正常工作&#xff0c;需要具备强大的抗干扰能力方能胜任。其中以静电干扰最为常见且棘手。本文将手把手教你如何将工业产品做到可靠的防静电设计。 1 了解静电 你想要打倒对手&#xff0c;必须先深入地了解他…
最新文章