原创

基于SpringBoot2+vue3的相亲网站

温馨提示:
本文最后更新于 2026年06月03日,已超过 7 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

1. 资源

需认真读完

2. 项目简介

相亲网站的综合性婚恋服务平台。其核心目标是连接有婚恋需求的用户与提供婚庆服务的商业机构。

系统主要包含三个核心业务模块:

  • 相亲信息管理:用户可以发布个人的相亲资料(包括基本信息、工作情况、家庭情况、择偶意向等),并在平台上浏览其他用户的相亲信息。
  • 婚礼公司服务:婚礼公司可以展示公司信息、规模、注册资金等,用户可以浏览并预约心仪的婚礼公司。
  • 结婚案例展示:婚礼公司可以发布成功的结婚案例,供用户参考和收藏。

此外,系统还提供了完整的用户认证、后台管理、数据统计等功能,旨在构建一个从婚恋交友到婚礼服务的完整生态闭环。

3. 技术栈

后端

  • 核心框架: Spring Boot 2.2.2.RELEASE
  • 数据库ORM: MyBatis Plus 2.3 (简化数据库操作)
  • 权限控制: Apache Shiro 1.3.2 (用于用户认证与授权)
  • 关系型数据库: MySQL 5.7.32
  • 其他工具:
    • fastjson: 处理JSON数据。
    • hutool: Java工具类库。
    • commons-lang3, commons-io: Apache 通用工具库。
    • poi: 操作Excel文件,用于数据批量导入导出。

前端

  • 后台管理系统:
    • 核心框架: Vue.js (通过vue.jselement.min.js引用,并使用.vue文件)
    • UI组件库: Element UI (提供丰富的后台管理组件)
    • HTTP请求: Axios (通过http.js文件配置)
    • 路由: Vue Router
  • 前台用户界面:
    • 核心库: LayUI (主要UI框架), Vue.js (辅助实现响应式), jQuery (DOM操作)
    • 样式: Bootstrap (部分页面), 自定义CSS
    • 图表: ECharts (用于数据可视化)

4. 详细介绍

4.1 功能模块

4.1.1 用户端模块

  1. 用户认证:

    • 登录/注册:用户可通过用户名和密码登录或注册新账号。
    • 个人中心:用户可以查看、修改自己的个人信息(如姓名、手机号、头像等)。
  2. 相亲模块:

    • 信息浏览:用户可以查看平台上所有发布的相亲信息,并可按姓名等条件进行搜索。
    • 信息发布:用户可以创建自己的相亲资料,详细填写个人介绍、工作情况、家庭情况和择偶意向。
    • 信息互动:用户可以对感兴趣的相亲信息进行留言和收藏。
  3. 婚礼公司模块:

    • 公司浏览:用户可以浏览所有婚礼公司,并按公司名称等进行搜索。
    • 公司详情:用户可以查看某家婚礼公司的详细信息(如公司规模、注册资金、介绍等)。
    • 公司预约:用户可以对心仪的婚礼公司发起预约,选择预约时间,并查看自己的预约记录。
    • 公司收藏:用户可以收藏感兴趣的婚礼公司,以便日后查看。
  4. 结婚案例模块:

    • 案例浏览:用户可以浏览所有结婚案例,了解婚礼公司的实际服务水平。
    • 案例收藏:用户可以收藏感兴趣的结婚案例。

4.1.2 后台管理模块

  1. 管理员管理 (users表, UsersController):

    • 管理员可以登录后台,对其他管理员账号进行增、删、改、查操作。
  2. 用户管理 (yonghu表, YonghuController):

    • 对注册用户进行管理,如查看、修改、删除用户信息,重置用户密码等。
  3. 婚礼公司管理 (hunligongsi表, HunligongsiController):

    • 对平台上展示的婚礼公司进行管理,包括新增、修改、删除、查询公司信息。
  4. 婚礼公司预约管理 (hunligongsi_order表, HunligongsiOrderController):

    • 查看所有用户发起的公司预约,并可进行删除等操作。
  5. 结婚案例管理 (jiehunanli表, JiehunanliController):

    • 对平台上展示的结婚案例进行管理,包括新增、修改、删除、查询案例信息。
  6. 相亲管理 (xiangqin表, XiangqinController):

    • 对所有用户发布的相亲信息进行管理,包括查看、修改、删除。
  7. 相亲留言管理 (xiangqin_liuyan表, XiangqinLiuyanController):

    • 管理员可以查看所有用户对相亲信息的留言,并可进行回复或删除。
  8. 轮播图管理 (config表, ConfigController):

    • 管理网站首页的轮播图图片。
  9. 字典表管理 (dictionary表, DictionaryController):

    • 管理系统中的下拉选项数据(如性别、收藏类型等),实现数据的动态配置。

5. 部分代码

5.1 后端核心控制器代码(HunligongsiController.java

该片段展示了婚礼公司模块的后端接口,包括分页查询、详情查询、新增、修改和删除功能。

package com.controller;

// ... [导入包]

@RestController
@Controller
@RequestMapping("/hunligongsi")
public class HunligongsiController {
    private static final Logger logger = LoggerFactory.getLogger(HunligongsiController.class);

    @Autowired
    private HunligongsiService hunligongsiService;

    /**
    * 后端列表
    */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){
        // ... [日志记录和权限判断]
        PageUtils page = hunligongsiService.queryPage(params);
        // ... [字典表数据转换]
        return R.ok().put("data", page);
    }

    /**
    * 后端详情
    */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id, HttpServletRequest request){
        // ... [日志记录]
        HunligongsiEntity hunligongsi = hunligongsiService.selectById(id);
        if(hunligongsi !=null){
            // ... [实体转视图对象]
            return R.ok().put("data", view);
        }else {
            return R.error(511,"查不到数据");
        }
    }

    /**
    * 后端保存
    */
    @RequestMapping("/save")
    public R save(@RequestBody HunligongsiEntity hunligongsi, HttpServletRequest request){
        // ... [日志记录和权限判断]
        Wrapper<HunligongsiEntity> queryWrapper = new EntityWrapper<HunligongsiEntity>()
            .eq("hunligongsi_name", hunligongsi.getHunligongsiName())
            // ... [其他重复性校验条件]
            ;
        // ... [检查数据是否重复,避免重复插入]
        if(hunligongsiEntity==null){
            hunligongsi.setCreateTime(new Date());
            hunligongsiService.insert(hunligongsi);
            return R.ok();
        }else {
            return R.error(511,"表中有相同数据");
        }
    }

    /**
    * 后端修改
    */
    @RequestMapping("/update")
    public R update(@RequestBody HunligongsiEntity hunligongsi, HttpServletRequest request){
        // ... [日志记录]
        // ... [检查并排除自身后的数据重复性校验]
        if(hunligongsiEntity==null){
            hunligongsiService.updateById(hunligongsi);
            return R.ok();
        }else {
            return R.error(511,"表中有相同数据");
        }
    }

    /**
    * 删除
    */
    @RequestMapping("/delete")
    public R delete(@RequestBody Integer[] ids){
        // ... [日志记录]
        hunligongsiService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    // ... [前端列表、详情、保存等其他方法]
}

5.2 数据库设计片段

该片段展示了婚礼公司预约表的结构,用于记录用户对婚礼公司的预约信息。

CREATE TABLE `hunligongsi_order` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `hunligongsi_order_uuid_number` varchar(200) DEFAULT NULL COMMENT '预约唯一编号 Search111 ',
  `hunligongsi_id` int(11) DEFAULT NULL COMMENT '婚礼公司',
  `yonghu_id` int(11) DEFAULT NULL COMMENT '用户',
  `yuyue_time` timestamp NULL DEFAULT NULL COMMENT '预约时间',
  `insert_time` timestamp NULL DEFAULT NULL COMMENT '添加时间',
  `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show3',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='婚礼公司预约';

6. 部分截图

img1
img2
img3
img4
img5
img6
img7
img8
img9
img10
img11
img12
img13
img14
img15
img16
img17
img18
img19
img20
img21
img22
img23
img24
img25
img26
img27
img28
img29
img30
img31
img32
img33
img34
img35
img36
img37

7. 项目总结

相亲网站是一个功能完备、结构清晰的相亲与婚庆服务综合平台。通过对项目代码的静态分析,可以得出以下总结:

  1. 架构清晰,分层合理:项目采用前后端分离的架构,后端使用Spring Boot + MyBatis Plus,职责明确,开发效率高。前端根据用户角色区分为基于Vue+Element UI的后台管理和基于LayUI+Vue的前台展示,逻辑分离。

  2. 业务逻辑完整:系统覆盖了从用户注册、信息浏览、互动(收藏、留言、预约)到后台管理的全流程。核心的“相亲”、“婚礼公司”、“结婚案例”三大模块相互关联,共同服务于平台的核心目标。

  3. 设计考虑周全

    • 权限控制:集成了Shiro框架,并自定义了AuthorizationInterceptor拦截器,通过Token进行身份验证,区分“管理员”和“用户”角色,保证了系统不同模块的访问安全。
    • 数据字典:设计了统一的dictionary表来管理如性别、类型等常用选项,提高了数据的可维护性和系统的灵活性。
    • 数据校验:在后端Controller中通过Wrapper查询避免了关键数据的重复提交(如婚礼公司名称),并在前端注册页面提供了手机号、身份证号格式的校验。
    • 扩展性:使用了CommonControllerCommonService来处理通用的图表统计、数据联动等需求,减少了重复代码。
  4. 技术实践良好:项目使用了application.yml进行统一配置,使用Maven进行依赖管理,集成了热部署工具devtools,这些都有助于提升开发和部署的效率。

相亲网站是质量较高的毕业设计或小型商业项目原型,它成功地将相亲交友与婚庆服务这两个场景结合起来,并利用成熟的技术栈构建了一个功能全面、易于维护的应用系统。

代码: https://fifteen.xiaobias.com/source/170

正文到此结束
本文目录