目录
1.校园就业服务平台模块设计与实现
1.1 需求分析
1.2 总体设计
1.3 详细设计
1、多角色登录功能
2、前台组件封装
3、管理员模块
4、企业模块
5、学生模块
6、前台
1.4系统实现
1.管理员模块
2. 学生模块
3.企业模块
4.前台模块
2.总结及源码获取
由于疫情对我国经济造成较大影响,大学生就业形式严峻。在浏览各大就业平台的过程中,萌生出自己开发一个就业平台的想法,并尝试。
本平台模仿本校就业平台,由用人单位、毕业生、管理员三个子模块组成。将学校、用人单位及毕业生联系在一起。
(1)后端登录流程
浏览器录入用户名/密码,提交给服务器。验证用户名/密码,生成token。浏览器每一次访问服务器时均要携带token,即服务器每一次都要验证token是否过期或存在。
考虑到并发问题,token不应存储在关系型数据库中,在此选择redis存储token。后台token生成存储流程如图1-1所示。
token生成存储流程
图1-1
其中用户对象共有三种类型,管理员、学生、企业。后端将根据token获取当前登录的用户的信息及权限。
系统会根据用户选择的登录方式进行校验,登录成功后生成UUID,并将token及用户信息存入redis中。
在全局配置中,设置token的拦截器,配置拦截路径,由此实现,前端请求时需获取请求头中的token。
登录方式选择
图1-2
此外,为保证系统安全性,不同用户对不同的方法具有相应的操作权限。此处采用AOP实现controller层中的方法拦截。通过自定义注解,在对应方法切面,判断当前本地线程token是否具有操作权限,由此实现不同用户的不同权限。
(2)前端登录流程
用户登陆后,根据后端获取的信息获取不同的路由信息。如图1-3所示。
前端登录流程
图1-3
对前台相同类型的组件进行封装,如table表格、form表单、query查询框、card卡片等。
(1)Table表格
如上图所示类型的子组件。父组件传入tableData表格中的数据、tableCols每一列所绑定的lable和值,及isSelection是否选中。
(2)form表单
如上图所示类型的子组件,用于新增修改表格信息。基于elementui中的el-form二次封装。
包含了普通文本类型,选择类型,属性选择类型,文件上传类型等。
通过接收父组件传入的items,绑定元素类型及对应的值。
接收父组件中的form,接收编辑时,原有的表单中的值。
接收父组件的save方法实现保存/更新表格内容。
(3)query查询框
如上图所示类型的子组件。用于查询表格中符合条件的信息。
(4)card
如上图所示子组件,用于前台页面文章资讯的显示,调用相应接口,获取卡片名及卡片列表。
(1)后端实现CRUD
增删改,调用BaseMapper的insert、deleteById、updateById方法实现。条件查询,通过构造Page对象,传入构造器LambdaQueryWrapper,对需要查询的对象按条件分页查询。
共包含用户管理、字典管理、行业管理、学生管理、企业管理、资讯分类、资讯管理七模块的增删改查。
(2)前端显示
对2中组件具体实现,向后端发送请求,完成增删改查,并刷新子组件,更新视图。
(1)后端实现CRUD
共包含企业基本信息、职位管理、投递管理三模块的增删改查。
其中对投递者的简历共有三种状态,待查看、有意向、不合适。更改状态后同步更新至相应学生模块。
(2)前端显示
对2中组件具体实现,向后端发送请求,完成增删改查,并刷新子组件,更新视图。
(1)后端CRUD及前端显示
实现原理同管理员模块及企业模块。包含基本信息、简历管理、求职意向、培训经历、实习经历、项目经验、获得证书、投递简历、职位收藏。
(2)简历模块
一名学生用户可构建多份简历,简历基础模板中包含简历名称、求职状态、自我评价、技能描述、简历状态等信息。
求职意向、培训经历、实习经历、项目经验、获得证书各自独立为新的模块。可选择简历添加。与简历间为多对多关系。
由首页、各类文章列表、文章详情、热点文章、职位列表组成。
头部展示导航栏,主体部分卡片式布局,向2中card传入相应参数获数据并展示。
获取当前路由中的类别id,作为参数传入后台,查询出相应数据并显示。
文章每被点击一次,及调用一次后台中detail,都会将redis中对应文章views对应的值+1,热点文章方法中,调用reverseRangeByScore方法,根据views值从大到小排序文章,并将views值最大的十篇文章加入集合中,并将该集合返回至前端,并显示。
该模块主要包含职位展示、职位收藏、职位投递三大功能。
职位收藏及职位投递功能均会获取当前localStorage的token,根据token获取用户信息,以此执行投递简历或收藏职位功能。
1.1 用户管理
(1)界面总览
(2)用户新增
(3)用户修改
(4)用户删除
1.2 字典管理
1.3 行业管理
1.4 学生管理
1.5 企业管理
1.6 资讯分类
1.7 资讯管理
2.1基本信息
2.2简历管理
2.3 简历投递
2.4 职位收藏
3.1基本信息
3.2 职位管理
3.3投递管理
4.1首页
4.2文章列表
4.3文章详情
4.4职位搜索
作为一个完整的网站而言需要考虑的太多了。但本项目作为课设而言较为完善。需要获取源码的可以私信博主获取联系方式(见1.1),但不免费(五十)。