基于SpringBoot+Vue的家政平台

计算机毕设项目资讯获取:

大家点赞、收藏、关注、评论啦 、查看👇🏻👇🏻👇🏻获取项目下载链接,博主联系方式👇🏻👇🏻👇🏻

链接点击直达:下载链接


一、项目背景介绍:

根据⼏年前中国家政协会数据显⽰,中国家庭⽣活服务市场空间巨⼤,在开放⼆胎和⽼龄化加重的社会背景下,⽽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)成为领导者。
三、系统功能模块介绍:

功能模块图

四、数据库设计:

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. 资讯:对后台添加的一些家政类的资讯信息进行一个展示

    资讯

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

    个人中心

  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样式的掌握让我对网页的布局、样式调整、字体等让网页效果实现的更加精准。

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值