版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于微信小程序的招聘管理系统的实现中文摘要随着社会的发展,社会上出现了各种新颖的职业需求,对应的也应该有更多的不同花样的招聘方式,网上招聘就是一个很有效很快捷的方式。而且手机已经成为了现在社会大多数人生活的必备品,通过微信小程序这一平台来实现这个项目,可以很轻松就能在微信小程序上找到自己想要的工作,相关企业通过线上给与面试邀约,利用互联网把招聘过程变得高效,给与用户提供一个方便的招聘渠道。关键字:微信小程序招聘互联网AbstractWiththedevelopmentofsociety,therearevariouskindsofnewcareerdemandsinthesociety.Correspondingly,thereshouldbemoredifferentrecruitmentmethods.Onlinerecruitmentisaveryeffectiveandfastway.Moreover,mobilephonehasbecomeanecessaryproductformostpeople'slife.Thisprojectcanberealizedthroughwechatapplet.Itisveryeasytofindthejobyouwantinwechatapplet.Relevantenterprisesinviteinterviewsonline,maketherecruitmentprocessefficientthroughInternet,andprovideuserswithaconvenientrecruitmentchannel.Keywords:wechatapprecruitmentInternet目录一、绪论 绪论课题背景与意义根据数据表明,随着教育水平的提高,现今社会的大学生数量也越来越多,而且随着社会水平不断地提高,社会出现了许多新型职业,而这种职业很多都是基于网络途径,以后这种招聘会变得多,而且复杂。所以,招聘微信小程序的出现将会方便许多的企业和招聘者,尤其是在发达的城市,生活节奏十分快,hr只需要在公司中通过网络公开自己公司的信息和人员需求,挑选出自己有意的对象,通过电话发出招聘信息和面试邀请。而寻找工作的人则需要通过微信小程序,填写好自己的简历,发出申请,这样就可以通过线上等待hr的电话通知,线下直接进行面试,不用采取多余的交流,提高招聘的效率,还可以为刚踏足社会的大学生指明方向。招聘系统还可以通过新闻、招聘会的方式举行线上或者线下招聘会,从而吸引更多的大学生、待就业的人。也可以通过线上的简历投递对招聘会进行简历投递。招聘微信小程序将hr和应聘者联合一起,hr可以通过应聘者的简历进行初步判断是否符合自己的要求,而应聘者可以通过企业的信息待遇来寻找喜欢的工作。对于微信小程序,是近几年新兴的一种平台,因为使用手机微信的人多了,微信小程序也顺应潮流成为主流。研发现状2017年中国小企业的数量为8318.6万家,2019年这个数字已经超过9100万家。随着最近几年国家鼓励创业,有发放创业补贴等政策,自主创业的人数越来越多,中小企业在未来几年应该还会保持较快的增长速度,企业人才需求变大,市招聘市场的主力。其实过去很多年中国的劳动力都是非常多的,但由于政策和某些原因,近些年劳动力需求增加了不少。在这种情况下,企业招聘需求量普遍增加,招聘难度加大,企业非常需要高效的招聘手段,这些都是推动招聘app出现的原因。网上招聘的方式已经成为招聘手段的一种重要手段,通过这种方式进行招聘,打破了时间和空间的限制,网络招聘的崛起对传统人才招聘产生了巨大的冲击,网上招聘相对于传统招聘有非常多的优点,招聘的范围更加广,得到的信息更加多,费用低,效果也比传统的高出不少,得到了越来越多公司的认可,同时这种招聘管理系统的经营成本十分低,十分有市场前景。而作为这个管理系统的平台,微信小程序又是现在比较流行的平台,使用基数十分大,使用方式简单快捷,所以开发这一个招聘微信小程序是十分有需要的。论文研究的主要内容本课题研究主要内容是要打造出一个招聘平台,实现求职者和招聘者的交互,然后产生的数据由管理平台监管,接受雇佣者和雇员的意见,管理平台可以操作雇佣者和雇员的数据增删,也可以发出招聘会信息供求职者投递简历和招聘者发布职位信息,从而打造一个高效的招聘平台。本论文研究的主要内容:分析招聘管理系统的现状以及研究的意义,确定研究的目的;研究微信小程序开发技术,php后端开发技术等;详细分析招聘管理系统的功能需求,并进行具体的需求分析;研究招聘管理系统的总体设计方案、相关架构和基于视图层、模型层、控制层三层结构的设计方法以及基于微信小程序的开发模式对招聘管理系统进行测试,发现其不足之处和存在问题,进行优化。需求分析微信招聘管理系统需求分析提出了系统的功能设计和预期要达到的开发目标,编写需求分析的目的是通过了解用户需求,确定系统所需功能性需求和非功能性需求。功能性的需求说明了系统的具体功能以及功能完成后要达成的目的。而非功能性需求指的是管理系统为用户提供除业务需求必须具有的特性,当然这是除功能性需求以外的一些需求。其中包含了相关标准、系统所需要的质量特征,包括一些性能需求、安全需求、可维护性需求、操作性需求以及其他需求。系统有关的需求分析在该系统的开发中非常重要,它是一个系统设计与开发的基础。还有是对基于微信小程序的招聘管理系统中所使用到的技术进行基本的介绍。为我们系统进一步的开发进行技术上的说明,对系统建设过程中所需的理论基础进行详细的研究与分析,为以后系统实现提供技术上的支持。还有系统开发的需求分析是用来分析客户的需求,我们需要尽量满足用户的需求。因此本章中主要讲述了招聘管理系统的一些基本情况,系统开发的需求分析在系统的设计中占据重要地位,是软件开发中十分重要的一环,本章将为以下概要设计跟详细设计提供完备的文档支持,为系统所需要的功能进行讲述。可行性分析技术可行性本系统后台前端展现与布局使用了HTML5、css。后台数据交互使用了PHP、JavaScript。数据库使用的mysql数据库。小程序端实用了小程序开发语言。编辑器使用的是Hbuilder。服务器配置用的是phpstudy。Html5超文本标记语言,是一种用于创建网页的标准标记语言,是现在web前端开发的必备技术。这次的招聘系统开发后台的显示就是利用html技术来展示的,另外还使用了一款基于HTML、CSS、JAVASCRIPT的bootstrap前端开发框架,是由Twitter的设计师制作的一个前端框架,是目前很受欢迎的前端框架。这个框架简洁灵活,可以加快web开发速度。同时bootstrap的前端风格也十分的清新,省去了自己构筑前端风格的时间,清新的前端风格也能比较清晰显示出数据和功能。css层叠样式表,这种技术是与html相结合来使用的,一般是些比较简单的语句,易于使用和修改,负责页面的布局、字体、颜色和其他具体前端显示的效果的配置,而且一个css文件可以供多个html使用,这样可以使html文件更加的简练易看,而且开发网站的分工更加明确,有利于代码的修改。本次开发的后台前端的页面控制效果就是由bootstrap提供的优美css样式。JavaScriptJavaScript是一种客户端脚本语言,一般用于客户端web开发,也是结合html文件来使用的,常常是用来给html网页添加动态属性。使html页面之间得到交互,还有数据的交互,JavaScript也可以通过请求来和后端交互,是一种比较重要的脚本语言,现在所有的web网站都会支持JavaScript。PHPPHP是一种开源的web开发语言,可以在服务器上执行,是常用的网站编程语言。这种语言成本低、速度快、可移植性好,集合了许多开发需要的优点,而且是种比较简单、灵活的网站开发语言,因此经常被企业用来开发网站。本来我的计划是要选择小程序的云开发来进行开发的,但是出于对系统的管理的方便和安全,我选择了用php语言作为后端开发语言。而且这次使用的不只是单纯的php语言,还使用了一款比较流行的thinkphp5框架来进行开发,是一种基于视图层、模型层、控制层三层结构的设计方法,是一个开源面向对象的轻量级PHP开发框架,其实框架本来就算一个程序的半成品,提供可以重复利用的公共结构,能够加快WEB应用的开发和简化企业应用开发,不再浪费时间考虑一些公共代码得实现,所以我也选择了这款框架来加快自己的开发效率。mysqlMysql是一种开源的关系型数据库管理系统,使用比较简单,而且占用空间很小,所以很多人在开发的时候都会选择MySQL作为网站数据库。另外我还使用了php语言携带的phpmyadmin页面来进行数据库的操作,phpMyAdmin是一个用PHP编写的MySQL的数据库管理工具网站,使管理者从网页进行对MySQL数据库的操作。Web接口可以输入sql语句来进行对数据库的操作,尤其要处理大量的数据,这样一种可以在网页服务器执行,可以在任何地方远程处理mysql的数据,不用因为其他数据库处理工具安装时产生的一连串环境问题而烦恼,而且这样的PHP网页不用占用机器的内存,有利于节省空间保持系统的运行。微信小程序开发语言小程序是一种不需要下载就能轻松使用的应用,而其开发语言是针对于微信小程序开发出来的一套语言,这种语言有点类似于vue.js和node.js,小程序提供的应用开发框架十分高效,而且有许多丰富的组件和api,而且小程序的主要开发语言是JavaScript,和传统的前端开发也有很大的相似之处。在对于已经有传统前端开发的经验的人,学习微信小程序会比较轻松。因此我的选题也选择了这款比较新颖的微信小程序作为前端。phpstudyPhpstudy是一个十分方便的PHP环境配置器,类似于wamp的调试环境程序集成包,而且支持IIS、Nginx,里面包含了apache、mysql和php等安装,安装之后不需要复杂的配置过程就可以使用,能够减少开发前期环境配置带来的困难。经济可行性本次开发所产生的利益和项目的成本挂钩,因此本项目用到的thinkphp、mysql等全是开源的,在开发上只需要人力,不需要支付开发软件过程而产生的费用。而且现今大学生越来越多,社会人才需求也越来越多,这类型招聘小程序的市场足够大。而且招聘管理系统用来功能较完善的后台管理系统,不会因为在运维方面付出太多的成本,因此经济可行性方面是可行的。操作可行性这次的开发是使用Hbuilder进行的。Hbuilder是一款由java编写的web开发IDE,是一款功能丰富,使用起来比较方便的编辑器,有代码提示和自动补全等方便开发新人的功能,是一种比较成熟得软件,所以操作可行性方面是可行的,开发过程会变得简单,易上手。而且本次开发采用的是瀑布模型,将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,一环接一环,尽量保证项目过程不会出错,免得后期带来修改的困难。功能需求与非功能需求功能需求后台管理系统登录功能:通过账号密码验证码的输入后,后端进行验证,验证成功后进入后台管理系统,不同的管理员将会拥有不同的权限,从而可以操作不同的功能。登录系统数据限制条件:数据名称实际含义数据类型数据约束备注用户账号登录系统的用户账号文本3-12位数字、字母、下划线用户密码登录的用户密码文本6-16位数字、字母验证码登录的验证码文本数字、字母常规管理:可以对个人信息的修改,例如姓名、邮箱、密码等个人信息。权限管理:初始账号默认是最高级管理员,可以通过角色的新建来添加管理员类型并分配相应的权限,然后通过新增管理员来添加账号,新增账号时选择对应权限的管理员类型,新增时需填写个人信息、邮箱、密码等个人信息。新增的管理员可以通过登录使用对应的权限。拥有权限管理的管理员也可以修改其他管理员的权限和个人信息或者删除账户。招聘管理:拥有招聘管理权限的管理员才可以进行招聘管理,招聘管理里有开放城市、新闻、报名列表、企业信息、职位信息、简历信息、简历投递历史等功能。在开放城市管理,可以进行地区的添加,选择的地区需出现在微信小程序的首页,还供企业信息管理地址栏的编写。新闻管理是可以发布新闻或者招聘会信息,发布信息时可以选择新闻或者招聘会,可以添加图片,可以添加标题,还有滚动文字供微信小程序端首页的轮播图显示,发布信息时还可以选择是否可以报名,如勾选可以报名,可以供简历投递。投递的简历在报名列表查看,可以查看报名人的所报名招聘会的名字、微信信息、投递的公司、职位,也具备删除功能。新闻数据限制条件:数据名称实际含义数据类型数据约束备注名称新闻添加时录入名称文本3-30位数字、字母、文字性质新闻类或者招聘会类布尔0、1是否可报名新闻添加选择是否可以进行招聘报名布尔0、1轮播图文字供微信小程序轮播图显示的文字文本6-20位文字、字母、数字标题新闻添加时录入标题文本3-30位数字、字母、文字图片轮播图图片image数量1图片建议900*500px详请新闻添加时录入标题文本0-1000位数字、字母、文字状态正常或隐藏布尔0、1企业信息管理可以查询或修改企业填写的资料,如企业名字、企业性质、企业电话、企业介绍、企业工商注册号或统一社会信用代码、头像照片、介绍照片等。也可以添加企业,添加后会记录添加时间,管理员能对违规的企业或者不符合实际的企业进行删除操作或者把错误的企业信息修改。企业信息录入限制条件:数据名称实际含义数据类型数据约束备注企业名称企业信息录入时名称文本3-30位数字、字母、文字企业电话企业信息录入时电话文本6-20位数字企业工商注册号企业信息录入时工商注册号文本10-20位数字、字母企业地址企业信息录入时地址文本6-100位文字、字母、数字企业头像企业信息录入时头像上传image数量1职位信息管理可以查看企业添加的职位信息,后台添加职位信息必须基于企业信息,要有企业信息的前提才可以有职位,在添加职位信息时可以选择已经存在的企业作为载体,添加页面有职位名称、详细、照片、薪资、住宿情况等方面的信息。添加后会记录添加时间,后台管理人员也可以对已经过时的职位进行删除操作。职位信息添加数据限制条件:数据名称实际含义数据类型数据约束备注职位名称职位信息添加时名称文本2-30位数字、字母、文字招聘人数招聘人数文本1-10000位数字薪资薪资文本0-10000(左右滑动选择栏区间每次增加500)企业地址企业信息录入时地址文本6-100位文字、字母、数字住宿情况住宿情况文本提供住宿、不提供、提供夫妻房详细说明对职位进行详细的描述文本0-1000文字、数字、字母简历信息管理可以查看或修改个人简历的信息,简历信息包括学历、名字、电话、所属微信、照片、介绍等,所属微信是对应登录时所授权的微信,个人信息可以修改,所属微信的名字也随之而改,后台管理者也可以通过删除把违规的简历删除,添加简历会记录添加时间。数据名称实际含义数据类型数据约束备注名字名字文本3-30位数字、字母、文字期望工作岗位期望工作岗位文本1-10位数字、字母、文字性别性别布尔0、1学历学历文本10-20位数字、字母工作地址期望工作地址文本2-10位数字、字母、文字薪资期望薪资image数量1简历投递历史功能可以查看投递过简历历史,方便了解小程序的使用情况。小程序求职者:通过微信授权登录,自动生成部分个人信息,可以进行修改,头像默认是微信头像,名称也是默认微信名,可以根据自己喜好来设置个人格言昵称。微信名称将与简历相对应。首页有新闻轮播图的推送,轮播图可以点击查看招聘会信息并进行信息填写从而完成简历投递,下面是一些职位的推荐,分国企和私企两种类型,可以点击有意的职位把自己个人简历投递。在职位列表页面,可以通过分类来寻找相对应的职位,也可以通过搜索来查询相对应的职位,搜索栏下面也会默认提供一些正在招聘的职位,选择好有意的职位后可以发送自己的个人简历进行投递。在我的页面的开始是头像、昵称、格言的显示,下面是角色名,然后是参加招聘会的次数,最后是是否生成简历。然后下面有个人信息维护、简历信息维护、简历投递历史和劳动力信息维护等几个按钮。个人系信息维护里面是微信昵称、账户名、个人格言和头像的设置。数据名称实际含义数据类型数据约束备注名称个人信息维护录入时名称文本1-30位数字、字母、文字昵称微信昵称文本1-20位数字、字母、文字格言个人信息维护录入时格言文本10-20位数字、字母简历信息维护里是性别、年龄、属相、星座、籍贯、工作地点、学历、期望薪资、自我介绍和照片。出生日期和籍贯是由下拉选择菜单选择,薪资是由区间组成。简历投递历史里面能查看自己投递过的简历的职位部分招聘信息,还有投递时间。劳动力信息收集可以录入个人资料以供系统统计劳动力信息,录入的资料除了包括简历的资料,还需要填写身份证号码和求职意向和信息收集人和地方,有其他信息补充可填写到备注里。招聘者:和求职者一样通过微信授权登录,自动生成部分个人信息可以进行修改,头像默认是微信头像,名称也是默认微信名,可以根据自己喜好来设置个人格言昵称。首页和职位列表是与求职者端一样的功能。在我的页面里,开始是头像、昵称、格言的显示,下面是角色名,然后是所关联的企业名字,最后是所发布的职位数量。然后下面有企业信息维护、职位信息维护。企业信息维护里可以通过增加企业信息来关联企业,里面需要填写基本信息,例如,企业名称、企业电话、工商注册号或者统一社会信用代码、企业详细地址,还有补充信息描述的填写,例如企业性质、还有其他详细描述、企业头像图片、企业其他展示图片。企业由选择框的形式实现,企业的展示图片最多可以添加8张。职位信息维护里面,先添加企业信息后才可以进行职位的添加,职位的添加需要填写相关信息,例如职位名称、年龄要求、住宿、伙食、社保、招聘人数、工作地点、学历要求、薪资标准、职位描述。发布职位后如果收到简历的投递,会出现在职位详情信息里,然后可以通过电话的交流进行线下的面试邀约。非功能需求非功能性需求将决定用户对软件使用的体验或者软件的品质等相关问题。以下列举几个较为重要的非功能性需求:界面美观需求这个需求主要描述对系统外观的一种期望,这个需求需要系统达到一个符合规定的外观,招聘管理小程序和管理端都应该有简洁,精美等特点,使用户用得舒适,简洁的设计可以让用户更好的查看到自己进行操作的功能,还可以方便进行求职者对工作进行对比。而且求职端和招聘端保持一致性,通过切换角色的按钮进行切换界面,界面采用一样风格,在切换到另外一个界面后,能够轻松推测出各种功能。微信小程序wxss使用的必须是rpx单位,可以根据屏幕宽度进行自适应,不会因为在不同的屏幕运行从而产生的影响,能够保持界面的整洁。易操作性需求易操作性使系统的操作更加方便,大多数功能都是显眼易见的,不需要花费大量时间来熟悉系统的使用,而在查询方面,提供了搜索功能和分类功能,有利于用户用较少的时间查询到最合适自己的职位,对于小程序的用户来说,这种简易的操作更节省时间和方便用户的使用。可维护性和扩展性需求在本次开发使用了比较多人用的thinkphp5框架进行开发,是一款基于Model-View-Controller(模型-视图-控制器)三层结构来进行开发,M(module)模型,主要用于操作相应的数据表,V(view)视图就是存放供前端显示的html页面,C(controller)控制器主要用于处理业务逻辑,控制整体程序的流程。功能比较模块化,减少重复开发带来的工作量,能灵活修改程序。而微信小程序和后台的耦合较低,前后端分离的开发模式,有很强的可维护性和扩展性。安全性需求安全性对于招聘管理系统十分重要,系统必须具有消除潜在风险和对风险具有一定承受压力的能力。招聘管理系统不仅需要保证微信小程序端的用户资料安全,也要保证后台管理模块的信息安全,防止泄露,造成安全事故。后台管理会有对所有信息的处理和存档,有数据的加密,还需要有权限的管理,以此保证系统的安全性。系统分析本章主要对系统的流程进行分析,分析招聘管理系统各个功能,还有系统的业务流程和数据流程,利用了图标对系统的各个模块进行分析,能够比较清晰的给用户知道系统的构造和流程,也是代码编写的重要依据,也有利于之后系统的维护。系统边界分析招聘管理系统的总体边界设计如图所示整个招聘管理系统分成后台管理平台和前台微信平台两部分,而微信小程序端分为求职者端和招聘者端。在web后台,系统管理员拥有整个平台的功能权限,最高级管理员可以添加用户,会赋予一部分的系统管理权限和招聘管理权限,让其次级管理员员工拥有对招聘管理进行的权限,可以独立对招聘系统的管理进行处理。用户则使用微信小程序端进行简历投递,发布职位信息。总体模块结构招聘管理系统模块主要分为后台管理系统和前台展示。招聘管理招聘管理系统模块主要分为首页新闻轮播图、首页新增职业显示、搜索页面和个人信息页。权限管理权限管理模块分为管理员增删、角色组和个人信息页常规管理常规管理模块分为密码、邮箱和使用日志。系统业务流程分析业务流程分析主要可以对系统各用户进行具体的分析,每个用户负责的工作,描述系统内各用户的业务关系、作业关系,同时也能对系统功能进行详细的描述,有助于找出业务流程中不合理的地方,然后方便对代码的逻辑关系进行修改。也有利于后期功能的添加,有助于以后系统的成长。用户通过登录后,通过切换角色来选择自己的角色,如果是求职者,在简历的填写后可以 把简历投递到招聘会或者企业发布的职位。而如果选择的是招聘者,在企业信息的添加后发布职位供求职者投递简历,也可以通过招聘会发布职位信息。在管理员方面,通过登录后可以对客户的信息进行增删改查,也可以通过发布招聘会供企业发布职位和供求职者投递简历。后台管理系统系统业务流程图:招聘小程序系统业务流程图:系统数据流程分析数据流程主要说明了信息的流动,把招聘管理系统的数据流动情况显示出来,有利于解决数据流通中发生的错误和问题从而修改错误,而本次论文利用了数据流程图这种形式,能形象的体现出数据流动的过程,数据是从哪个部位输入的,然后通过操作后经过系统的哪一部分都能清晰得看出来。以下是后台管理系统和小程序端的数据流程图。后台管理系统:小程序:系统物理环境和设计计算机:联想v130系统:windows7(64位)内存:4G硬盘大小:240GPhp版本:7.1.9数据库版本:mysql5.7.26Apache版本:2.4.39系统设计本章主要是说招聘管理系统平台的设计,考虑系统所涉及的因素,分析系统分析原则。还有数据库的具体设计,从数据库的具体设计可以说明程序之间的逻辑关系。大概描述系统开发的总体内容情况,使系统的设计更加清晰明了。系统分析原则系统实用性原则系统以用户需求为目标,方便用户使用,能解决用户的实际使用需求,系统内设置了权限管理,有利于客户按照个性化进行权限的分配,适用于购买企业的运行。小程序也是现在流行的平台,使用基数非常大而招聘这类型软件也十分受社会的欢迎,无一不体现出系统的实用性。系统易用性原则后台管理是基于B/S结构的,不需要安装,直接打开网页就可以使用,不受客户端的限制,而微信小程序端也是基于微信小程序平台,不需要安装,直接打开小程序可以使用,免除了安装带了的困扰。而且系统的操作并不复杂,不需要通过学习就能轻松使用,十分方便。系统先进性原则本系统充分利用了现在成熟的开发技术,而且基于比较流行的小程序平台,能够跟上社会的潮流。后台使用的是html前端加php后端,是现在大多数企业在使用的模式。现在比较流行的微信小程序使用这3种后端,一种是云开发作为后端,一种是php作为后端,还有java作为后端。相对于小程序云开发,云开发虽然是一种十分高效的开发手段,但是会有许多权限的限制,而且如果需要做一个web管理系统,有web端调用的问题,涉及到跨域的问题,局限性很大。而且数据库方面,云开发使用的是文档型数据库,不利于系统的扩展。而和java后端对比,PHP加mysql开发效率比java高效,php毕竟是一种专门开发web而诞生的语言,而java是比较全面,分支较多,软件和web都能做,因此php更能专注于web开发,而且php较于java代码比较简单,上手比较容易,因此我选择了PHP。这次使用的开发工具Hbuilder也是比较新颖的IDE,这一系列技术都能体现出先进性原则。系统安全性原则本系统制作过程考虑到安全机制,有设置权限的多级管理,有利于企业权限分配制度,提高安全性。而且没有得到登陆不能查看系统相关的数据,数据库的账户数据也经过加密处理,尽可能的完善各种关键信息,减少了信息安全带来的风险。在密码的设置上,账户名和密码的设置都有利于提高密码强度,避免了用户使用过于简单的密码,防止黑客进行暴力破解。系统扩展性原则本系统后台管理系统的前端是使用html页面制作的,是几乎所有web开发都用到的技术,成本低而且能快速开发,性能非常的高,另外采用的是MVC架构,前后端分离,能够模块化处理代码,而且功能模块间的耦合度较小,对以后的修改、功能的添加十分有利。数据库设计概念设计后台管理的模块主要是权限管理,个人信息管理,招聘小程序管理。微信小程序端的模块主要是个人信息、简历信息、企业信息。数据库使用的是mysql,关系型数据库,设计时一般高级管理员具有所有的权限,而管理员只有个人信息和招聘信息管理的权限,后期可以通过GRANT和REVOKE命令赋予用户角色,来控制权限,各种功能有对应的表。先设计出各种实例,然后再从里面添加表信息。下面是后台管理和小程序端的ER图,还有各个主要表的设计。后台管理ER图:小程序端ER图:逻辑设计管理员信息:名字名称类型空默认值idIDvarchar(20)否无username用户名varchar(50)否无nickname昵称varchar(32)否无password密码varchar(30)否无salt密码盐varchar(255)否无avatar头像varchar(100)否无email电子邮箱varchar(20)否无logicfailure失败次数tinyint(1)否0logictime登陆时间int(10)是nullcreatetime创建时间int(10)是nullupdatetime更新时间int(10)是nulltokenSession标识varchar(20)否无status状态varchar(30)否normal企业信息:名字名称类型空默认值ididint(10)否无name企业名称varchar(100)否无tel企业电话varchar(100)否无no工商注册号varchar(100)否无quality企业性质enum(‘0’,‘1’,‘2’,‘3’,‘4’)否1adress地址varchar(200)是无cimage企业描述信息text是nullcontent企业头像varchar(100)是无cimages企业照片varchar(800)是nulluser_id企业归属人int(11)是nullcreatetime创建时间int(11)是nullupdatetime更新时间int(11)是null职位信息:名字名称类型空默认值ididint(10)否无city_id所属公司的idint(10)否无name职位名称char(100)否无age年龄要求enum(‘0’,‘1’,‘2’,‘3’,‘4’)否0stay住宿enum(‘0’,‘1’,‘2’)否0food伙食enum(‘0’,‘1’,‘2’,‘3’)否0safe社保enum(‘0’,‘1’,‘2’,‘3’)否0neednum招聘人数int(6)是无City_id工作地点int(10)否无education学历要求varchar(800)是nullGold1薪资起int(10)否3000Gold2薪资止int(10)否3000content职位描述text是nulluser_id职位归属人int(11)是nullcreatetime创建时间int(11)是nullupdatetime更新时间int(11)是null招聘会信息:名字名称类型空默认值ididint(10)否无block_id招聘会idint(10)是0Block_title职位名称char(100)是无User_id报名人idint(10)是nulltname公司名char(100)否无ttel电话char(100)否无createtime报名时间int(11)否无updatetime更新时间int(11)否无招聘栏目信息:名字名称类型空默认值ididsmalint(8)否无type类型varchar(30)否无name名称varchar(50)否无title标题varchar(100)否无image图片varchar(100)否无url链接varchar(100)否nullcontent内容text是nullcreatetime添加时间int(11)是nullupdatetime更新时间int(11)是nullstatus状态enum(‘normal’,‘hidden’)否normalenter是否可报名enum(‘news’,‘tnter’)否news个人信息:名字名称类型空默认值ididsmalint(8)否无name姓名varchar(30)否无tel个人电话varchar(30)否无birthday生日date否1980-01-01sex性别enum(‘0’,‘1’)否0education学历enum(‘0’,‘1’,‘2’,‘3’,‘4’)否0nativi_place籍贯varchar(100)否无Gold1薪资起int(10)否3000Gold2薪资止int(10)否3000work_city工作城市int(10)否0content自我介绍text否无C_avatar头像照片varchar(50)否nullUser_id职位归属人int(10)是nullcreatetime创建时间int(11)否0updatetime更新时间int(11)否0简历汇总:名字名称类型空默认值ididint(11)否无Re_id简历idint(11)否无Re_name简历姓名Varchar(50)否无Re_tel简历电话Varchar(20)否五Job_id职位idInt(11)否1Com_name公司名称Varchar(100)否0Job_name职位名称Varchar(100)否无User_id归属人Int(11)否无createtime创建时间Int(11)否0updatetime更新时间Int(11)否0个人简历:名字名称类型空默认值ididInt(10)否无viiage地名Int(10)是无name姓名varchar(800)是无sex性别enum(‘0’,‘1’)否0sfzno身份证号码varchar(800)是无education学历enum(‘0’,‘1’,‘2’,‘3’,‘4’)否4place务工地点varchar(800)是无salary月工资Int(8)是无skill技能特长Int(10)是nullintent求职意向varchar(100)是nulltel联系电话varchar(50)是无content备注text是nulluser_id用户idInt(11)是nullcollect收集人varchar(50)是无createtime创建时间Int(11)是nullupdatetime更新时间Int(11)是null系统实施后台管理系统代码实现Addnos包是小程序的存放包,里面还有一个third包用于第三方登陆,使在微信开发工具里面可以进行第三方登陆。小程序的代码存放在wecharlite,小程序端的代码最重要的是page,app.js和app.json。page是分别对应的页面,app.js是小程序的App函数是一个全局函数,用于创建应用程序对象,分别对应着小程序各个周期的方法。而app.json是用来对微信小程序进行全局配置,里面有小程序的页面配置、窗口配置、Tab配置等。Thinkphp框架系统目录,有着框架的核心类库,一些基本函数文件、语言包、控制台入口等等thinkphp框架系统文件。在使用thinkPHP框架的时候,大多不需要更改其他文件夹下的内容,主要编写的内容都在application下,可以在此文件夹下增加新的模块,并在controller下增加控制类,在view下增加输出的模板,详情可以查看thinkphp5.0官方文档。Applicantion为后台代码,里面存有后台的html代码和后端的逻辑代码。基于mvc的模式,一般文件夹里都是又view、controller和model,还有一部分工具包,view里面主要存放了后台页面的前端html代码。Model负责处理数据的传递。controller就用来负责模块流程的控制。此外的工具包也有非常大的作用,例如,common包一般用来存放密码加密、下拉框封装、读取某文件夹下文件。lang包为公共语言包。Extend和下面的vendor都为扩展类库目录,为第三方类库,extend是通过手动的方法直接把第三方扩展库或者自己写的封装库直接引入到extend目录里,调用方法的实例。Vendor和extend一样都为第三方类库目录,vendor的是通过composer的方法进行自动引入到第三方扩展库vendor目录里的,调用方法是利用的vendor方法。Public为WEB部署目录,这个文件一般是程序的入口文件,是基于thinkphp的第一步,可以在浏览器中访问入口文件。例如:localhost/public/index.php。而目录里面的phpMyAdmin4.8.5为mysql的数据库管理工具,是由服务器环境配置工具phpstudy自动安装的。Runtime为应用的运行时目录,ThinkPHP支持调试模式,默认情况下是关闭状态。可以通过config.php的配置进行开启,config.php也具有后端的基本开关设置。如果打开了thinkphp的debug模式,后端出现错误的话,log文件里面会生成自带日期的日志,可以在日志上面查看错误信息来进行系统的测试。微信小程序开发代码中,page是对应的每一个页面。utils是存放工具类的包,app.js、app.json、app.wxss是主文件的包,project.config.json是项目配置文件的包。Images包是用来存放小程序中用到的图片,img是另外存放小程序图片的包,libs存放了部分小程序插件,例如zanui,是一个微信小程序组件库,有大量画风优美的组件,易用,易扩展有利于加快小程序的前端开发,还有towxml,是一种富文本插件,可以将html、markdown等转为小程序wxml,也是有利于提高小程序的前端开发速率。Style包存放了FontAwesome等图标字体库,和一些css样式文件提供给wxml。登录正常登录登陆正常的情况,会提示验证成功,然后会自动进入后台。招聘管理系统的后台并没有注册功能,新管理员需要最高级管理员进行添加,并分配其权限,删除管理员也是由最高级管理员进行操作。最高级管理员可以又另外一个最高级管理员进行操作,登录和验证码验证的功能主要使用了session技术来实现的,首先在数据库的users表中添加两个字段token、time_out,token用于存储用户的token,time_out用于设置用户token的过期时间,首先创建函数checkToekn($token)函数用于检验token是否存在,并且更新token。再新建函数用于验证用户名密码,并登陆,返回token信息。通过token的验证控制是否登录。正常登录界面:没有登录界面:异常情况如果直接打开页面会提示请登录后操作,并且页面会在3秒后自动跳转。登录异常的情况,提示信息会出现在登录框的正上方,例如图中红色方框所提示的信息,登录的限制还有很多,例如验证码错误、用户名不能为空、密码错误等等。实现弹出层和登录限制通过controllor验证session,然后利用JavaScript弹出提示信息。异常页面:首页常规管理里面有个人信息,可以修改密码和自己的信息,还有登陆操作的日志。在右上角可以设置后台管理页面的颜色皮肤,点击右上角还可以进行注销来退出系统,注销之后会返回一个注销成功的页面,然后3秒后会重新进入登录界面。招聘管理开放城市开放城市的增添测试,经过添加后的城市,才会在小程序端出现地区的选择。还有其他功能的地区选择,也是基于这个功能来进行添加的。新闻管理对新闻进行编辑,这里添加的新闻或者招聘会,会在小程序前端以滚动页的形式进行展示,另外如果新建的是招聘会,可以提供求职者进行简历投递。在招聘会的信息管理里,可以进行滚动图文字的编辑、标题的编辑、一张吸引眼球的图片、设置是否可报名、一段吸引眼球的文字。在新闻或者发布会过期后,可以在信息管理里面进行隐藏操作,那样可以在小程序的前端页面删除新闻和招聘会,也可以在后台查询到历史新闻和招聘会,从而保存好发布过的数据。添加页面:修改页面:报名列表可以查看招聘会的报名人,也可以进行修改和删除。添加页面:修改页面:公司管理进行企业信息的查看,增删改查,还可以查看更新时间。新增页面:修改页面:职位管理可以在已经注册的公司上面添加职位,职位信息有名称、年龄、住宿、伙食、社保、薪资、地点等,薪资标准采用了滑动选择器,由于薪资的区间应该为1000才符合实际水平,因此选择器下面的文字有少许重叠,但是不影响薪资的设置。添加页面:修改页面:简历管理添加页面:修改页面:简历投递历史进行查看简历的投递历史,查看发送过的简历,还可以把不合理的简历删除,有利于对平台的管理,和对招聘过程变得顺利。列表:查看详细页面:劳动力信息库用于查询使用过软件的历史个人信息,还可以用来收集人才信息。列表:修改页面:微信小程序首页一开始是一个新闻的轮播图,然后下面是最新加入的企业的信息,再下面是一些职位的简单显示。如果已经登录了,可以对首页感兴趣的职位直接发出申请,轮播图使用了微信小程序的视图组件swiper来实现的,swiper组件是通过后端获取新闻管理里的数据进行轮播的。职位列表打开职位列表,是一个比较全的职位列表,可以进行搜索查询或者通过分类来对比和寻找符合自己的职位,然后投递简历。搜索查询是通过searchbar组件来实现的。职位列表:求职者端求职者个人页面:打开我的页面里面,点击登录后会获取微信授权然后进行登陆,然后自动生成一些个人的信息,然后可以通过添加简历来进行简历投递。这里记录着用户的角色,报名招聘会的次数,和简历是否生成。在登录这方面,我利用了第三方登录的组件微信小程序,通过wx.loginAPI进行登录获取code。由于AppID和AppSecret输入需要保密进行,根据code获取openid需要在服务端完成,所以需要将code发送给服务端(服务端),并且带上授权临时票据code参数。然后服务端通过code和appid、APPSecret获取到openid和SessionKey,服务端需要返回自定义登录态给前端。最后,前端保存自定义登录态,获取用户信息时携带自定义登录态给后端。小程序第三方登录流程:账号资料的修改这里可以修改账号的资料,并不是简历的信息,不能用于简历的投递,一般账号初始信息都是基于微信信息来生成的,小程序的大多数页面都是使用基本的页面布局代码完成的,新建几个文本输入框后,通过submit后提交到PHP后端。个人资料修改页面:简历的修改需要填写一部分必要的信息来完善个人简历,用于进行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二四年商业秘密保护与保密合同2篇
- 厂房及生产设备买卖合同模板04年
- 二零二四年度城市绿化项目施工合同
- 二零二四年建筑用安全玻璃订购合同
- 二零二四年高级定制内衣生产与销售合同
- 二零二四年度聘请电视剧演员独家合同
- 宠物购买协议书2篇
- 2024年度新能源开发与应用协议
- 2024年建筑工地安全生产责任制范文(2篇)
- 代运营合作协议书-2024年度电商平台
- 建国集团财务制度汇总
- 安装工程预算照明配管配线
- 技术响应文件
- 任现职以来教学改革情况
- 工程施工管理协议书(共7页)
- 换铺长钢轨施工方案(工机段版)
- 解一元一次方程复习课PPT精品文档
- 毕业设计(论文)基于PLC自动门控制系统的设计
- 铸造用高纯生铁
- 译林版五上英语改一般疑问句、否定、特殊句
- 全面质量管理纲要手册TQM实施细则指南
评论
0/150
提交评论