基于SpringBoot+Vue的家政平台

基于SpringBoot+Vue的家政平台

✌全网粉丝20W+,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌

文末获取项目下载方式


一、项目背景介绍:

根据⼏年前中国家政协会数据显⽰,中国家庭⽣活服务市场空间巨⼤,在开放⼆胎和⽼龄化加重的社会背景下,⽽80、90后⼈群逐渐成为消费主⼒⼈群,家政服务业在未来的5-10年内必然有更加快速的市场增长。综合⽹络资料粗略统计,传统市场份额约占整个市场的半数,但其每年却下降迅速。究其原因,是因为现代化的家政发展迅速,家政⾏业新模式将是未来的趋势。⾏业前景:随着经济的发展,和相关政策的推动,家政⾏业将会在未来⼏年发展迅速,新模式的家政⾏业讯头正猛

二、项目技术简介:

  1. JAVA:Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
  2. Vue:Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的JavaScript框架。它基于标准HTML、CSS和JavaScript构建,并提供了一套声明式的、组件化的编程模型,帮助开发者高效地开发用户界面。
    Vue是一个独立的社区驱动的项目,它是由尤雨溪在2014年作为其个人项目创建, 是一个成熟的、经历了无数实战考验的框架,它是目前生产环境中使用最广泛的JavaScript框架之一,可以轻松处理大多数web应用的场景,并且几乎不需要手动优化,并且Vue完全有能力处理大规模的应用。
  3. Element-UI:Element,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库。
  4. SpringBoot:Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

三、系统功能模块介绍:

基于SpringBoot+Vue的家政平台_第1张图片

四、数据库设计:

1:‘轮播图表’(banner)

字段名 类型 默认值 列注释
id bigint NULL 轮播图编号
banner_url varchar NULL 轮播图地址
create_time datetime NULL 创建时间
status int NULL 状态[0:启用,1:禁用]

2:‘收藏表’(collect)

字段名 类型 默认值 列注释
id bigint NULL 收藏编号
project_id bigint NULL 项目编号
user_id bigint NULL 用户编号
create_time datetime NULL 创建时间

3:‘管理员表’(manage)

字段名 类型 默认值 列注释
id bigint NULL 管理员编号
user_name varchar NULL 用户名
pass_word varchar NULL 密码
photo_img varchar NULL 图片
name varchar NULL 名称

4:‘公告信息表’(notice)

字段名 类型 默认值 列注释
id bigint NULL 公告编号
banner_img varchar NULL 公告图片
content text NULL 公告内容
info varchar NULL 公告简介
create_time datetime NULL 创建时间
title varchar NULL 公告标题

5:‘订单管理’(orders)

字段名 类型 默认值 列注释
id bigint NULL 订单编号
user_id bigint NULL 用户编号
project_id bigint NULL 项目编号
create_time datetime NULL 创建时间
money varchar NULL 金额
server_id varchar NULL 服务人员ID
status int NULL 订单状态[0:已支付,1:待服务,2:服务完成,3:已取消]
remark text NULL 备注

6:‘家政项目管理’(projects)

字段名 类型 默认值 列注释
id bigint NULL 项目编号
title varchar NULL 项目标题
info varchar NULL 简介
tel varchar NULL 联系方式
name varchar NULL 联系人名称
content text NULL 服务内容
banner_img varchar NULL 介绍图片
create_time datetime NULL 创建时间
type_id bigint NULL 所属分类
money varchar NULL 价格

7:‘家政人员信息表’(server_user)

字段名 类型 默认值 列注释
id bigint NULL 服务人员编号
server_name varchar NULL 服务人员姓名
server_tel varchar NULL 联系方式
server_age int NULL 年龄
sex int NULL 性别[0:男,1:女]
info varchar NULL 简介
id_card varchar NULL 身份证号
create_time datetime NULL 创建时间
header_img varchar NULL 照片

8:‘预约表’(subscribes)

字段名 类型 默认值 列注释
id bigint NULL 预约编号
project_id bigint NULL 项目编号
create_time datetime NULL 创建时间
subscribe_time datetime NULL 预约时间
user_id bigint NULL 用户编号
remark text NULL 备注
status int NULL 状态[0:审核中,1:审核通过,2:拒绝]
cause text NULL 拒绝原因

9:‘项目分类管理’(types)

字段名 类型 默认值 列注释
id bigint NULL 分类编号
type_name varchar NULL 分类名称
create_time datetime NULL 创建时间

10:‘用户信息表’(users)

字段名 类型 默认值 列注释
id bigint NULL 用户编号
username varchar NULL 用户名
password varchar NULL 密码
nick_name varchar NULL 用户姓名
tel varchar NULL 联系方式
age int NULL 年龄
sex int NULL 性别[0:男,1:女]
id_card varchar NULL 身份证号
create_time datetime NULL 创建时间
header_img varchar NULL 照片

五、功能模块:

  1. 首页:用户端首页会展示资讯信息轮播图以及不同的家政分类和不同的分类项目

  2. 资讯:对后台添加的一些家政类的资讯信息进行一个展示

    基于SpringBoot+Vue的家政平台_第2张图片

  3. 个人中心:用户登录注册之后可以查看自己的家政预约情况 家政收藏情况

    基于SpringBoot+Vue的家政平台_第3张图片

  4. 后台管理:后台管理主要是对用户端以及系统数据的一个综合性管理操作

    基于SpringBoot+Vue的家政平台_第4张图片

六、代码示例:

首页
init() {
      let bannerParam = {status: 0}
      getBannerList(bannerParam).then(res => {
        this.bannerList = res.data
      })
      let userRecommendParam = {}
      findUserRecommend(userRecommendParam).then(res => {
        this.projectList = res.data
      })
    },
资讯
  btnCLick (item) {
      this.listQueryParam.title = item
      this.listQueryParam.current = 1
      this.getNoticePage()
    },
    init () {
      this.getNoticePage()
    },
    getNoticePage () {
      getNoticeList(this.listQueryParam).then((res) => {
        this.total = res.data.total
        this.noticeList = res.data.records
      })
    }
个人中心
 menuClick(item, index) {
      console.log(index)
      this.currentMenuIndex = index
      this.currentMenuName = item.name
    },
    delMessage(row) {
      delMessageById(row.id).then(res => {
        this.getMessage({userId: this.userInfo.id})
        Message.success('删除成功')
      })
    },
    delSub(row) {
      delSubscribesById(row.id).then(res => {
        this.getSub({userId: this.userInfo.id})
        Message.success('删除成功')
      })
    },
    getMessage(param) {
      findListByUrl('collect', param).then(res => {
        console.log(res.data)
        this.messageData = res.data
      })
    },
    getOrder(param) {
      findListByUrl('orders', param).then(res => {
        console.log(res.data)
        this.orderData = res.data
      })
    },
    getSub(param) {
      findListByUrl('subscribes', param).then(res => {
        console.log(res.data)
        this.subscribesData = res.data
      })
    },
后台管理
@PostMapping
    public ReturnMsg manageLogin(@RequestBody Map<String, String> param) {
        if (StrUtil.isEmpty(param.get("username")) || StrUtil.isEmpty(param.get("password"))) {
            return ReturnMsg.error("用户名或密码错误!");
        }
        ManageDTO manageDTO = new ManageDTO();
        manageDTO.setUserName(param.get("username"));
        manageDTO.setPassWord(param.get("password"));
        QueryWrapper<ManageDTO> manageDTOQueryWrapper = new QueryWrapper<>(manageDTO);
        manageDTOQueryWrapper.last("limit 1");
        ManageDTO adminDTOS = manageService.getOne(manageDTOQueryWrapper);
        if (adminDTOS == null) return ReturnMsg.error("用户名或密码错误!");
        Map<String, Object> map = new HashMap<>();
        map.put("avatar", StrUtil.isNotBlank(adminDTOS.getPhotoImg()) ? adminDTOS.getPhotoImg() : "https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif");
        map.put("introduction", adminDTOS.getName() + ",你好!");
        map.put("name", adminDTOS.getName());
        map.put("roles", Arrays.asList("admin"));
        Map<String, String> returnMap = new HashMap<>();
        String uuid = UUID.randomUUID().toString();
        returnMap.put("token", uuid);
        userInfoMap.put(uuid, JSON.toJSONString(map));
        return ReturnMsg.ok(returnMap);
    }

七、项目总结:

经过近期对Java 面向对象程序设计、前端知识以及Java框架的掌握和学习,以及这段时间本教育教学系统的开发,让我更加了解到 Java 学习的重要性。在开发这个系统时,我不仅进行了多次的试验,而且也对系统的功能进行了测试。在论文的实现过程当中,我从Java的认识到熟练运用注入了非常多的努力,到后面可以进行相关技术的运用也感到非常的开心。在这过程当中,我发现Java其实有非常之多的功能可以进行探索。Java同时具有封装性、抽象性、多态性以及继承性。可以对代码进行重复使用以及扩充使用,大幅度提高开发软件时的整体速度和效率。我作为教育技术学的学生,学好Java语言不管对我以后的就业还是现在的知识面的扩增都有着很重要的意义。我学习程序设计的主要目的就是提高自己实际问题的程序解决方案的关键技能和技术, Java 面向对象程序设计是一科实践性相对来说非常比较强的语言了、Springboot、SpringMVC框架的MVC三层架构模式、和框架中遇到的设计模式将数据访问和逻辑操作都集中到组件里面去了 , 增强了系统的复用性和扩展性。使系统的扩展性大大增强。以及前端VUE 、element、jQuery样式的掌握让我对网页的布局、样式调整、字体等让网页效果实现的更加精准。

八、源码获取:

大家点赞、收藏、关注、评论啦 、查看获取联系方式

链接点击直达:下载链接

你可能感兴趣的:(优质毕业设计,spring,boot,vue.js,java)