基于SpringBoot+微信小程序的社区平台

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

🍅文末获取项目下载方式🍅


一、项目背景介绍:

我们基于Spring Boot和微信小程序的社区平台是一个在线社区,旨在为用户提供一个友好、安全、便捷的社区环境,让用户可以畅所欲言,建立有意义的连接。平台拥有强大的后端技术支持,并结合了微信小程序的特性,方便用户通过微信进行社区的访问和使用。我们致力于持续改进和优化,为用户提供更好的用户体验和服务质量。欢迎加入我们的社区平台,与其他用户一同探索更多有趣的社交互动!

二、项目技术简介:

  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)成为领导者。
  5. Mybatis-Plus:MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为 简化开发、提高效率而生。
  6. smart:微信小程序,小程序的一种,英文名Wechat Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。
    全面开放申请后,主体类型为企业、政府、媒体、其他组织或个人的开发者,均可申请注册小程序。微信小程序、微信订阅号、微信服务号、微信企业号是并行的体系。
    微信小程序是一种不用下载就能使用的应用,也是一项创新,经过将近两年的发展,已经构造了新的微信小程序开发环境和开发者生态。微信小程序也是这么多年来中国IT行业里一个真正能够影响到普通程序员的创新成果,已经有超过150万的开发者加入到了微信小程序的开发,与我们一起共同发力推动微信小程序的发展,微信小程序应用数量超过了一百万,覆盖200多个细分的行业,日活用户达到两个亿,微信小程序还在许多城市实现了支持地铁、公交服务。微信小程序发展带来更多的就业机会,2017年小程序带动就业104万人,社会效应不断提升。
  7. Html:HTML的全称为超文本标记语言,是一种标记语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。
    超文本是一种组织信息的方式,它通过超级链接方法将文本中的文字、图表与其他信息媒体相关联。这些相互关联的信息媒体可能在同一文本中,也可能是其他文件,或是地理位置相距遥远的某台计算机上的文件。这种组织信息方式将分布在不同位置的信息资源用随机方式进行连接,为人们查找,检索信息提供方便。

三、系统功能模块介绍:

功能模块图

四、数据库设计:

1:‘活动申请表’(ac_apply)

字段名类型默认值列注释
idbigintNULL活动申请编号
user_idbigintNULL申请用户编号
ac_idbigintNULL活动编号
statusintNULL状态[0:申请中,通过,拒绝]
casesvarcharNULL拒绝原因

2:‘活动列表’(activity)

字段名类型默认值列注释
idbigintNULL活动编号
ac_namevarcharNULL活动名称
ac_infovarcharNULL活动简介
ac_contenttextNULL活动内容
start_timedatetimeNULL开始时间
end_timedatetimeNULL结束时间
create_timedatetimeNULL创建时间
ac_locationvarcharNULL活动地点
ac_imgvarcharNULL背景图片

3:‘维修类型’(apply_type)

字段名类型默认值列注释
idbigintNULL维修类型编号
type_namevarcharNULL类型名称
create_timedatetimeNULL创建时间

4:‘申请表’(applys)

字段名类型默认值列注释
idbigintNULL申请编号
home_idbigintNULL房源编号
detail_imgvarcharNULL详情图片
user_idbigintNULL用户ID
infovarcharNULL详细信息
create_timedatetimeNULL创建时间
update_timedatetimeNULL完成时间
statusintNULL状态[0:审核中,待服务,服务完成,已取消]
remarkvarcharNULL取消备注
type_idbigintNULL

5:‘轮播图’(banner)

字段名类型默认值列注释
idbigintNULL轮播图编号
img_urlvarcharNULL图片地址
create_timedatetimeNULL创建时间

6:‘缴费详情’(cost_detail)

字段名类型默认值列注释
idbigintNULL记录详情编号
house_idbigintNULL房源编号
record_idbigintNULL记录编号
create_timedatetimeNULL创建时间
pricevarcharNULL缴费金额

7:‘缴费记录’(cost_records)

字段名类型默认值列注释
idbigintNULL记录编号
titlevarcharNULL缴费标题
type_idbigintNULL费用类型
pricevarcharNULL缴费金额
remarkvarcharNULL其他信息
create_timedatetimeNULL创建时间

8:‘费用类型’(cost_type)

字段名类型默认值列注释
idbigintNULL费用类型编号
type_namevarcharNULL类型名称
create_timedatetimeNULL创建时间

9:‘房源信息’(houses)

字段名类型默认值列注释
idbigintNULL房源编号
house_numvarcharNULL房号
remarkvarcharNULL备注
create_timedatetimeNULL创建时间

10:‘管理员列表’(manages)

字段名类型默认值列注释
idbigintNULL管理员编号
accountvarcharNULL账号
pwdvarcharNULL密码
imgvarcharNULL头像
namevarcharNULL名称
create_timedatetimeNULL创建时间

11:‘公告列表’(notice)

字段名类型默认值列注释
idbigintNULL公告编号
nt_titlevarcharNULL公告标题
nt_infovarcharNULL公告简介
nt_bannervarcharNULL公告图片
nt_contenttextNULL公告内容
nt_statusintNULL状态[0:可以,1:禁用]
create_timedatetimeNULL创建时间

12:‘出租房源’(onwer_house)

字段名类型默认值列注释
idbigintNULL房源编号
locationvarcharNULL房源地址
detailtextNULL详细信息
cover_imgvarcharNULL封面图片
detail_imgtextNULL详细图片
pricevarcharNULL租金
create_timedatetimeNULL创建时间
owner_idbigintNULL业主编号
statusintNULL状态[0:待出租,1:已出租,2:已下架]

13:‘意见表’(opinions)

字段名类型默认值列注释
idbigintNULL意见编号
user_idbigintNULL用户ID
infovarcharNULL详细信息
create_timedatetimeNULL创建时间

14:‘业主列表’(owners)

字段名类型默认值列注释
idbigintNULL用户编号
nicknamevarcharNULL真实姓名
header_imgvarcharNULL头像
id_cardvarcharNULL身份证号
telvarcharNULL联系方式
localtionvarcharNULL家庭住址
sexintNULL性别[0:男,1:女]
create_timedatetimeNULL创建时间
usernamevarcharNULL用户名
passwordvarcharNULL密码
home_idbigintNULL房源编号

15:‘车位详情’(stall)

字段名类型默认值列注释
idbigintNULL车位编号
stall_namevarcharNULL车位名称
pricevarcharNULL车位价格
stall_unitvarcharNULL价格单位
onwer_idbigintNULL业主编号
stall_imgvarcharNULL车位图片
statusintNULL车位状态[0:空闲,1:已出租,2:已下架]
create_timedatetimeNULL创建时间

五、功能模块:

  1. 业主管理:管理员可以管理社区的业主信息,包括添加、编辑和删除业主信息,以维护准确的业主数据。

    业主管理

  2. 活动列表管理:管理员可以管理社区的活动列表,包括添加、编辑和删除活动信息,确保活动信息的准确性和完整性。

    活动列表管理

  3. 活动申请审核:管理员可以审核居民提交的活动申请,确认申请的合法性和适宜性,确保社区活动的顺利进行。

    活动申请审核

  4. 维修类型管理:管理员可以管理社区的维修类型,包括添加、编辑和删除不同维修类型的信息,为居民提供准确的维修选择。

    维修类型管理

  5. 维修申请审核:管理员可以审核居民提交的维修申请,确认申请的紧急程度和有效性,及时安排维修工作。

    维修申请审核

  6. 缴费详情管理:管理员可以管理社区的缴费详情,包括记录居民的缴费信息、更新缴费状态和金额等。

    缴费详情管理

  7. 缴费记录管理:管理员可以查看和管理居民的缴费记录,包括缴费日期、缴费金额和缴费方式等,确保缴费记录的准确性和完整性。

    缴费记录管理

  8. 费用类型管理:管理员可以管理社区的费用类型,包括添加、编辑和删除不同费用类型的信息,方便居民了解和缴纳相关费用。

    费用类型管理

  9. 登录注册:用户可以注册新账号或使用已有账号进行登录,以访问个人化的服务和功能。

    登录注册

  10. 系统首页:在小程序的系统首页上展示轮播图、维修申请、房屋租赁、车位租赁、车位租赁、最新公告

    系统首页

  11. 维修申请:用户可以提交维修申请,描述需要维修的问题和相关信息,以便社区管理员进行处理和安排维修工作。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KjJm9DiS-1691734716920)(https://code-grade-server-prd.oss-cn-shenzhen.aliyuncs.com/2023-06-13/4dcdd3d5-060e-424f-8859-a1cd0595d992_19.png)]

  12. 车位租赁:用户可以查询和申请社区的车位租赁服务,选择适合自己的车位并进行租赁操作。

    车位租赁

  13. 房屋租赁:用户可以查询和申请社区的房屋租赁服务,浏览可租赁的房源信息并与房东进行租赁协商。

    房屋租赁

  14. 意见反馈:用户可以提交意见反馈,提出对社区平台或服务的建议、问题或投诉,以便管理员进行处理和改进。

    意见反馈

  15. 个人中心:
    个人信息管理
    用户可以管理个人的基本信息,包括修改个人资料、更新联系方式等。
    个人费用缴纳管理
    用户可以查看个人的费用缴纳情况,包括查看缴费明细、缴费状态等,方便进行费用管理和支付。
    个人维修记录管理
    用户可以查看个人的维修记录,包括已提交的维修申请、维修状态等,以便了解自己的维修情况。
    个人报名记录管理
    用户可以查看个人的活动报名记录,包括已报名的活动、报名状态等,方便管理自己的参与活动。
    个人车位租赁管理
    用户可以查看和管理个人的车位租赁信息,包括租赁状态、租赁期限等,方便管理自己的车位租赁情况。
    个人房源租赁管理
    用户可以查看和管理个人的房源租赁信息,包括已租赁的房屋、租赁合同等,方便管理自己的房源租赁情况。
    退出登录
    用户可以选择退出当前登录的账号,以确保账号的安全性和保护个人信息的隐私。

    个人中心

六、代码示例:

    /**
     * 生成验证码
     */
    @GetMapping("/captchaImage")
    public AjaxResult getCode(HttpServletResponse response) throws IOException
    {
        AjaxResult ajax = AjaxResult.success();
        boolean captchaEnabled = configService.selectCaptchaEnabled();
        ajax.put("captchaEnabled", captchaEnabled);
        if (!captchaEnabled)
        {
            return ajax;
        }

        // 保存验证码信息
        String uuid = IdUtils.simpleUUID();
        String verifyKey = CacheConstants.CAPTCHA_CODE_KEY + uuid;

        String capStr = null, code = null;
        BufferedImage image = null;

        // 生成验证码
        String captchaType = RuoYiConfig.getCaptchaType();
        if ("math".equals(captchaType))
        {
            String capText = captchaProducerMath.createText();
            capStr = capText.substring(0, capText.lastIndexOf("@"));
            code = capText.substring(capText.lastIndexOf("@") + 1);
            image = captchaProducerMath.createImage(capStr);
        }
        else if ("char".equals(captchaType))
        {
            capStr = code = captchaProducer.createText();
            image = captchaProducer.createImage(capStr);
        }

        redisCache.setCacheObject(verifyKey, code, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES);
        // 转换流信息写出
        FastByteArrayOutputStream os = new FastByteArrayOutputStream();
        try
        {
            ImageIO.write(image, "jpg", os);
        }
        catch (IOException e)
        {
            return AjaxResult.error(e.getMessage());
        }

        ajax.put("uuid", uuid);
        ajax.put("img", Base64.encode(os.toByteArray()));
        return ajax;
    }
    /**
     * 通用的本地文件上传
     *
     * @param multipartFile 文件对象
     * @return 文件访问链接URL
     */
    @PostMapping("/file")
    public SimpleResponse uploadImg(@RequestParam("file") MultipartFile file) {
        // 文件后缀
        String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".") + 1);
        File savePathFile = new File(newTomcatFolder);
        if (!savePathFile.exists()) {
            // 若不存在该目录,则创建目录
            savePathFile.mkdir();
        }
        // 通过UUID生成唯一文件名
        String filename = UUID.randomUUID() + "." + suffix;
        try {
            // 将文件保存指定目录
            file.transferTo(new File(newTomcatFolder + filename));
        } catch (Exception e) {
            e.printStackTrace();
            return SimpleResponse.error("保存文件异常");
        }
        // 返回访问链接
        return SimpleResponse.success(newTomcatHost + filename);
    }
    /**
     * 用户登录
     */
    @PostMapping("/login")
    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.put("type", adminDTOS.getStatus());
        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);
    }

七、项目总结:

本系统是基于SpringBoot和微信小程序的社区平台,分为管理端和小程序用户端。管理端功能包括业主管理、活动管理、维修缴费、社区管理等,涉及活动申请审核、维修类型管理、车位详情管理、房源信息管理等多个方面,确保社区运营的顺利进行。小程序用户端主要提供登录注册、系统首页、活动、公告、个人中心等功能,使居民能方便地提交维修申请、查询车位租赁、报名参加活动等。此外,系统还提供了意见反馈管理,方便居民与管理端沟通交流。整个平台致力于提供便捷的社区服务,增强居民与社区之间的互动。

八、源码获取:

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

链接点击直达:下载链接

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值