基于Java+SpringBoot+Vue3+Uniapp+TypeScript(有视频教程)前后端分离的求职招聘小程序

博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验✌

博主作品:《Java项目案例》主要基于SpringBoot+MyBatis/MyBatis-plus+MySQL+Vue等前后端分离项目,可以在左边的分类专栏找到更多项目。《Uniapp项目案例》有几个有uniapp教程,企业实战开发。《微服务实战》专栏是本人的实战经验总结,《Spring家族及微服务系列》专注Spring、SpringMVC、SpringBoot、SpringCloud系列、Nacos等源码解读、热门面试题、架构设计等。除此之外还有不少文章等你来细细品味,更多惊喜等着你哦

🍅uniapp微信小程序🍅面试题软考题免费使用,还可以使用ChatGPT,微信支付,扫码加群

点击这里预览

🍅文末获取联系🍅精彩专栏推荐订阅👇🏻👇🏻 不然下次找不到哟

Java项目案例《100套》

https://blog.csdn.net/qq_57756904/category_12173599.html
uniapp小程序《100套》

https://blog.csdn.net/qq_57756904/category_12199600.html

0

一、前言

基于Uniapp+Vue3+TypeScript的微信小程序,Uniapp具备多端部署的特性,后期也可能考虑进行多端部署。

    诚海网络技术(考学宝)系列已经成熟了,并衍生出一系列其他类别的小程序,如健身约课、求职招聘等。经过小中大厂、单体、微服务的洗礼以及对源码底层理解后,决定沉淀出一些自己总结的成果。

    该系列产品有着复用代码特性,可以做到一处编码到处可用,提高代码的可维护性与简洁性,提高编码效率降低开发成本。系统也有着内核设计,扩展了底层框架以满足更加复杂的需求。本系统也是在受微服务影响下完成的,对于改造成微服务也是比较丝滑的事情。

功能架构如下所示

  • 管理后台的web端:Vue3 提供ant-design-vue)版本,Vue2 提供element-ui版本

  • 管理后台的移动端:采用uni-app方案,一份代码多终端适配,同时支持 APP、小程序、H5!

  • 后端采用 SpringBoot架构,对于改造微服务也是丝滑的事情。

  • 数据库可使用 MySQL,ORM基于 MyBatis Plus、Redis + Redisson 

  • 权限认证使用 Spring Security & Token & Redis

  • 支持加载动态权限菜单,按钮级别权限控制,Redis 缓存提升性能

  • 支持多租户系统

  • 高效率开发,使用代码生成器可以一键生成 Java代码

  • 实时通信,采用 WebSocket 实现,内置 Token 身份校验

  • 集成微信小程序三方登陆,集成支付宝、微信等支付

  • 集成 MinIO云存储服务

  • 支持皮肤切换,提供多套风格让用户选择

  • 支持Docker容器化部署,Nginx反向代理等

  • 具有ChatGPT功能,学习、工作、情感以及生活都可以向她咨询提问获得优质答案

以上就是 诚海网络技术(考学宝)系列产品的特性,接下来的求职招聘小程序也是建立在此基础上。

二、系统设计简述

1、系统运行环境

开发系统:Windows10

架构模式:MVC/前后端分离

JDK版本:Java8

开发工具:IDEA

数据库版本: mysql5.7或以上

数据库可视化工具: SQL yog或Navicat for MySQL

服务器:SpringBoot自带 apache tomcat

主要技术:Java、SpringBoot、MyBatis-plus、MySQL、WebSocket、Redis、Minio、Uniapp、Vue3、Elementui等

2、系统架构设计
 

三、需求分析简介

    招聘平台系统的用户共分为三类:个人用户、企业用户、管理员。

1、个人用户

    求职用户首先完成注册登录,维护自己的简历信息,也可以实时浏览企业发布的招聘信息,按自己的要求筛选出合适的企业从而决定投递简历、可以收藏职位、关注企业,并可以在企业应答之后收到相应的回复、查看面试信息等。求职用户的用例图如图3-1所示。
 

图3-1 个人用户用例图

2、企业用户


    企业用户首先注册将用户信息录入系统,登录后先完成企业认证等待系统管理员审核,审核通过后发布招聘岗位,也可以实时浏览求职者投递的简历进行筛选,简历通过的就可以发送面试通知。企业用户的用例图如图3-2所示。

                                  图3-2 企业用户用例图

3、管理员

    管理员首先完成注册登录,可以进行用户管理、角色管理以及授予系统权限,手动操作企业认证审核的流程、手动操作职位认证审核以及职位分类的管理维护。管理员的用例图如图3-3所示。

四、功能截图

1、

2、

3、

3.1、

4、

4.1、

5、

6、

7、

7.1、

7.2、

7.3、

8、

9、

9.1、

9.2、

10、

五、代码实现 

1、用户控制器

@Slf4j
@RestController
@AllArgsConstructor
@RequestMapping("/api/users")
public class CeamSysUserController {private final ICeamSysUserService ceamSysUserService;@GetMappingpublic ResponseEntity page(PageableDTO pageableDTO) {IPage<CeaMSysUserVO> ceaMSysUserVOIPage = ceamSysUserService.pageCeaMSysUserVO(pageableDTO);return ResponseEntity.ok(ceaMSysUserVOIPage);}@PostMappingpublic ResponseEntity<Object> add(@RequestBody CeaMSysUserDTO data) {ceamSysUserService.add(data);return ResponseEntity.ok("成功");}@PutMappingpublic ResponseEntity<Object> edit(@RequestBody CeaMSysUserDTO data) {ceamSysUserService.edit(data);return ResponseEntity.ok("成功");}@DeleteMappingpublic ResponseEntity<Object> add(@RequestParam String id) {ceamSysUserService.remove(Long.parseLong(id));return ResponseEntity.ok("成功");}
}

2、用户服务接口

/*** <p>* 用户表 服务类* </p>** @author CeaM* @since 2023-01-28*/
public interface ICeamSysUserService extends IService<CeamSysUser> {/*** 分页查询** @param pageableDTO 分页入参* @return 分页数据*/IPage<CeaMSysUserVO> pageCeaMSysUserVO(PageableDTO pageableDTO);/*** 根据账号加载用户信息** @param userName 用户账号* @return CeaMSysUserDTO*/CeaMSysUserDTO loadUserInfo(String userName);/*** 添加用户** @param data 前端入参*/void add(CeaMSysUserDTO data);/*** 修改用户** @param data 前端入参*/void edit(CeaMSysUserDTO data);/*** 根据用户ID删除用户** @param id userId*/void remove(Long id);
}

3、服务实现类

@Service
public class CeamSysUserServiceImplextends ServiceImpl<CeamSysUserMapper, CeamSysUser> implements ICeamSysUserService {@Overridepublic IPage<CeaMSysUserVO> pageCeaMSysUserVO(PageableDTO pageableDTO) {LambdaQueryWrapper<CeamSysUser> queryWrapper = Wrappers.<CeamSysUser>lambdaQuery().eq(CeamSysUser::getDeleted, GlobalConstants.FALSE);Page<CeamSysUser> page = new Page<>(pageableDTO.getPage(), pageableDTO.getSize());page.setCurrent((long)pageableDTO.getPage()  + GlobalConstants.ONE);Page<CeamSysUser> ceamSysUserPage = page(page, queryWrapper);IPage<CeaMSysUserVO> ceaMSysUserVOIPage = PageVOUtil.copyToPageVO(ceamSysUserPage, CeaMSysUserVO.class);return ceaMSysUserVOIPage;}@Overridepublic CeaMSysUserDTO loadUserInfo(String userName) {LambdaQueryWrapper<CeamSysUser> queryWrapper = Wrappers.<CeamSysUser>lambdaQuery().eq(CeamSysUser::getUsername, userName);CeamSysUser ceamSysUser = baseMapper.selectOne(queryWrapper);if (ObjectUtils.isEmpty(ceamSysUser)) {throw new ServiceException("账号不存在");}if (ceamSysUser.getStatus() == GlobalConstants.ONE) {throw new ServiceException("账号已禁用");}CeaMSysUserDTO ceaMSysUserDTO = BeanCopyUtil.copyProperties(ceamSysUser, CeaMSysUserDTO.class);return ceaMSysUserDTO;}@Overridepublic void add(CeaMSysUserDTO data) {CeamSysUser ceamSysUser = BeanCopyUtil.copyProperties(data, CeamSysUser.class);save(ceamSysUser);}@Overridepublic void edit(CeaMSysUserDTO data) {CeamSysUser ceamSysUser = BeanCopyUtil.copyProperties(data, CeamSysUser.class);updateById(ceamSysUser);}@Overridepublic void remove(Long id) {removeById(id);}
}

六、uniapp视频教程与SpringBoot项目实战视频教程

点击这里拉到底部

七、获取源码

 大家点赞、收藏、关注、评论啦 、非开源商业使用需要授权关注下方公众号获取联系方式👇🏻👇🏻

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python技术栈之单元测试中mock的使用

什么是mock&#xff1f; mock测试就是在测试过程中&#xff0c;对于某些不容易构造或者不容易获取的对象&#xff0c;用一个虚拟的对象来创建以便测试的测试方法。 mock的作用 特别是开发过程中上下游未完成的工序导致当前无法测试&#xff0c;需要虚拟某些特定对象以便测试…

[python装饰器]什么是装饰器@

作者&#xff1a;20岁爱吃必胜客&#xff08;坤制作人&#xff09;&#xff0c;近十年开发经验, 跨域学习者&#xff0c;目前于新西兰奥克兰大学攻读IT硕士学位。荣誉&#xff1a;阿里云博客专家认证、腾讯开发者社区优质创作者&#xff0c;在CTF省赛校赛多次取得好成绩。跨领域…

代码随想录算法训练营第30天|回溯总结 332. 重新安排行程

回溯是递归的副产品&#xff0c;只要有递归就会有回溯&#xff0c;所以回溯法也经常和二叉树遍历&#xff0c;深度优先搜索混在一起&#xff0c;因为这两种方式都是用了递归。 回溯法就是暴力搜索&#xff0c;并不是什么高效的算法&#xff0c;最多再剪枝一下。 回溯算法能解…

手把手教会你--办公软件--Word--持续更新

有什么问题&#xff0c;请尽情问博主&#xff0c;QQ群796141573 1.1 Word排版基础1 保存和命名Ⅰ自动保存 2 建立标准的编辑环境(1)显示编辑标记(2)打开标尺(3)打开导航窗格 3 高效的鼠标/键盘手势(1)连续选中内容--shift(2)跳选内容--ctrl(3)矩形选择内容--alt(4)回到文档开头…

半导体器件——MOS管

半导体器件是导电性介于良导电体与绝缘体之间&#xff0c;利用半导体材料特殊电特性来完成特定功能的电子器件&#xff0c;可用来产生、控制、接收、变换、放大信 号和进行能量转换。 场效应晶体管是依靠一块薄层半导体受横向电场影响而改变其电阻(简称场效应)&#xff0c;使具…

内模原理与控制

基于模型的控制方法&#xff1a; 把外部作用信号的动力学模型植入控制器来构成高精度反馈控制系统的设计原理。 内模原理&#xff08;IMP&#xff09;指的是&#xff0c;想要实现对R(s)的无差跟踪&#xff0c;系统的反馈回路中需要包含一个与外部输入R(s)相同的动力学模型。通…

10.30 作业 C++

设计一个Per类&#xff0c;类中包含私有成员:姓名、年龄、指针成员身高、体重&#xff0c;再设计一个Stu类&#xff0c;类中包含私有成员:成绩、Per类对象p1&#xff0c;设计这两个类的构造函数、析构函数和拷贝构造函数。 #include <iostream>using namespace std;clas…

2023/11/30JAVAweb学习

数组json形式 想切换实现类,只需要只在你需要的类上添加 Component 如果在同一层,可以更改扫描范围,但是不推荐这种方法 注入时存在多个同类型bean解决方式

【课设大报告】 基于matlab gui设计的三极管学习系统

目录 设计背景 1.1设计目的 2.设计方法 2.1使用软件工具 2.2设计流程 3.模块界面设计及代码分析 3.1登录 3.2注册 3.3主菜单 3.4三极管介绍 3.5进制转换 3.6单位换算 3.7绘图 4.不足和改善 5.总结 设计背景 1.1设计目的 本程序旨在帮助为了帮助学生了解三极管…

CANDENCE: PCB 如何高亮网络、器件

PCB 如何高亮网络、器件 开始前先学习一个单词&#xff1a;assign CANDECE 高亮网络 step1: 选择一个颜色&#xff1a;红色 step2: 筛选要高亮什么&#xff1a;网络 or 器件&#xff0c;这里选择网络。 step3&#xff1a;鼠标点击要高亮的网络&#xff1a; 这里是GND 这里…

华为云之云桌面Workspace的使用体验

华为云之云桌面Workspace的使用体验 一、云桌面Workspace介绍1.云桌面简介2.云桌面特点3. 云桌面应用场景①远程移动办公②协同办公③安全办公④公用终端⑤图形制作渲染 二、本次实践介绍1. 本次实践目的2. 本次实践环境 三、购买云桌面1. 进入华为云的云桌面购买界面2. 选择购…

Cookie要怎么测试?

前言 Cookie是一种用于在web应用程序中存储用户特定信息的方法&#xff0c;可以让网站服务器把少量数据存储到客户端的硬盘或内存&#xff0c;或是从客户端的硬盘读取数据。Cookie的测试是指对Cookie的功能、性能、安全性、兼容性等方面进行验证的过程。 同时&#xff0c;在这…