




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
附录附录A全局异常处理代码@ControllerAdvicepublicclassGlobalExceptionHandler{@ExceptionHandler(value=Exception.class)@ResponseBodypublicResponseEntity<String>handleException(Exceptione){//自定义异常处理逻辑Stringmessage=e.getMessage();e.printStackTrace();if(message.contains("(usingpassword:YES)")){if(!message.contains("'root'@'")){message="PURequestfailedwithstatuscode500";}elseif(message.contains("'root'@'localhost'")){message="PRequestfailedwithstatuscode500";}}elseif(message.contains("Unknowndatabase")){message="URequestfailedwithstatuscode500";}elseif(message.contains("Couldnotgetaresourcefromthepool")){message="RRequestfailedwithstatuscode500";}elseif(message.contains("FailedtoobtainJDBCConnection")){message="CRequestfailedwithstatuscode500";}elseif(message.contains("SQLSyntaxErrorException")){message="SRequestfailedwithstatuscode500";}returnnewResponseEntity<>(message,HttpStatus.INTERNAL_SERVER_ERROR);}}附录B管理员实体类代码@TableName("admini")publicclassAdmin{@TableId(value="a_id")@JsonProperty("aId")privateintaId;@JsonProperty("aPassword")privateStringaPassword;@JsonProperty("aName")privateStringaName;@JsonProperty("aGender")privateStringaGender;@JsonProperty("aCard")privateStringaCard;@JsonProperty("aEmail")privateStringaEmail;@JsonProperty("aPhone")privateStringaPhone;publicAdmin(){}publicAdmin(intaId,StringaPassword,StringaName,StringaGender,StringaCard,StringaEmail,StringaPhone){this.aId=aId;this.aPassword=aPassword;this.aName=aName;this.aGender=aGender;this.aCard=aCard;this.aEmail=aEmail;this.aPhone=aPhone;}publicintgetAId(){returnaId;}publicvoidsetAId(intaId){this.aId=aId;}publicStringgetAPassword(){returnaPassword;}publicvoidsetAPassword(StringaPassword){this.aPassword=aPassword;}publicStringgetAName(){returnaName;}publicvoidsetAName(StringaName){this.aName=aName;}publicStringgetAGender(){returnaGender;}publicvoidsetAGender(StringaGender){this.aGender=aGender;}publicStringgetACard(){returnaCard;}publicvoidsetACard(StringaCard){this.aCard=aCard;}publicStringgetAEmail(){returnaEmail;}publicvoidsetAEmail(StringaEmail){this.aEmail=aEmail;}publicStringgetAPhone(){returnaPhone;}publicvoidsetAPhone(StringaPhone){this.aPhone=aPhone;}@OverridepublicStringtoString(){return"Admin{"+"aId="+aId+",aPassword='"+aPassword+'\''+",aName='"+aName+'\''+",aGender='"+aGender+'\''+",aCard='"+aCard+'\''+",aEmail='"+aEmail+'\''+",aPhone='"+aPhone+'\''+'}';}}附录C登录前端代码<template><divclass="login-index":style="backgroundDiv"><divclass="mid-index"><br><br><spanstyle="font-size:28px;margin-left:135px">医院管理系统</span><el-form:model="loginForm":rules="loginRules"ref="ruleForm"class="loginForm"><el-form-itemprop="id"style="width:74%;padding-left:43px;"><!--必须绑定v-model输入框才能输入字符><el-inputv-model="loginForm.id"><islot="prefix"class="iconfonticon-r-user1"style="font-size:16px;margin-left:4px"></i></el-input></el-form-item><el-form-itemprop="password"style="width:74%;padding-left:43px;"><el-inputv-model="loginForm.password"show-password><islot="prefix"class="iconfonticon-r-lock"style="font-size:16px;margin-left:4px"></i></el-input></el-form-item><!--角色单选框--><el-form-itemclass="role"style="padding-left:23px"><el-radio-groupv-model="role"size="small"><el-radiolabel="患者"></el-radio><el-radiolabel="医生"></el-radio><el-radiolabel="管理员"></el-radio></el-radio-group></el-form-item><el-form-itemclass="btns"style="padding-right:35px;"><el-buttontype="primary"@click="submitLoginForm('ruleForm')">登录</el-button><el-buttontype="info"@click="registerFormVisible=true">注册</el-button></el-form-item></el-form></div><!--注册对话框--><el-dialogtitle="用户注册":visible.sync="registerFormVisible"><el-formclass="findPassword":model="registerForm":rules="registerRules"ref="registerForm"><el-form-itemlabel="账号"label-width="80px"prop="pId"><el-inputv-model.number="registerForm.pId"></el-input></el-form-item><el-form-itemlabel="性别"label-width="80px"><el-radiov-model="registerForm.pGender"label="男">男</el-radio><el-radiov-model="registerForm.pGender"label="女">女</el-radio></el-form-item><el-form-itemlabel="密码"label-width="80px"prop="pPassword"><el-inputv-model="registerForm.pPassword"></el-input></el-form-item><el-form-itemlabel="姓名"label-width="80px"prop="pName"><el-inputv-model="registerForm.pName"></el-input></el-form-item><el-form-itemlabel="出生日期"label-width="80px"prop="pBirthday"><el-date-pickerv-model="registerForm.pBirthday"type="date"placeholder="选择日期"value-format="yyyy-MM-dd"></el-date-picker></el-form-item><el-form-itemlabel="手机号"label-width="80px"prop="pPhone"><el-inputv-model="registerForm.pPhone"></el-input></el-form-item><el-form-itemlabel="邮箱"label-width="80px"prop="pEmail"><el-inputv-model="registerForm.pEmail"></el-input></el-form-item><el-form-itemlabel="身份证号"label-width="80px"prop="pCard"><el-inputv-model="registerForm.pCard"></el-input></el-form-item></el-form><divslot="footer"class="dialog-footer"style="padding-right:21px"><el-button@click="registerFormVisible=false">取消</el-button><el-buttontype="primary"@click="registerClick('registerForm')">确定</el-button></div></el-dialog></div></template><script>importrequestfrom"@/utils/request.js";import{setToken}from"@/utils/storage.js";exportdefault{name:"Login",data(){varvalidateMoblie=(rule,value,callback)=>{if(value===undefined){callback(newError("请输入手机号"));}else{letreg=/^1(3[0-9]|4[5,7]|5[0,1,2,3,5,6,7,8,9]|6[2,5,6,7]|7[0,1,7,8]|8[0-9]|9[1,8,9])\d{8}$/;if(!reg.test(value)){callback(newError("请输入合法的手机号"));}callback();}};varvalidateCard=(rule,value,callback)=>{if(value===undefined){callback(newError("请输入身份证号"));}else{letreg=/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;if(!reg.test(value)){callback(newError("请输入合法的身份证号码"));}callback();}};varvalidatePass=(rule,value,callback)=>{if(value===""){callback(newError("请输入密码"));}else{if(this.findForm.checkPassword!==""){this.$refs.findForm.validateField("checkPassword");}callback();}};varvalidatePass2=(rule,value,callback)=>{if(value===""){callback(newError("请再次输入密码"));}elseif(value!==this.findForm.newPassword){callback(newError("两次输入密码不一致!"));}else{callback();}};return{//背景图片backgroundDiv:{backgroundImage:"url("+require("../assets/doctor.jpeg")+")",backgroundRepeat:"no-repeat",backgroundSize:"100%100%",},loginForm:{id:"",password:"",},loginRules:{id:[{required:true,message:"请输入账号编号",trigger:"blur",},{min:3,max:50,message:"长度在3到50个字符",trigger:"blur",},],password:[{required:true,message:"请输入密码",trigger:"blur"},],},role:"患者",findRole:"患者",//找回密码findFormVisible:false,findForm:{code:"",newPassword:"",checkPassword:"",pEmail:"",},findRules:{pEmail:[{required:true,message:"请输入邮箱地址",trigger:"blur",},{type:"email",message:"请输入正确的邮箱地址",trigger:["blur","change"],},],code:[{required:true,message:"请输入验证码",trigger:"blur",},],newPassword:[{validator:validatePass,trigger:"blur"}],checkPassword:[{validator:validatePass2,trigger:"blur"}],},totalTime:60,content:"发送验证码",canClick:true,//注册registerFormVisible:false,registerForm:{pGender:"男",},registerRules:{pId:[{required:true,message:"请输入账号",trigger:"blur"},{type:"number",message:"账号必须数字类型",trigger:"blur",},],pPassword:[{required:true,message:"请输入密码",trigger:"blur"},{min:4,max:50,message:"长度在4到50个字符",trigger:"blur",},],pName:[{required:true,message:"请输入姓名",trigger:"blur"},{min:2,max:8,message:"长度在2到8个字符",trigger:"blur",},],pEmail:[{required:true,message:"请输入邮箱",trigger:"blur"},{type:"email",message:"请输入正确的邮箱地址",trigger:["blur","change"],},],pPhone:[{validator:validateMoblie}],pCard:[{validator:validateCard}],pBirthday:[{required:true,message:"选择出生日期",trigger:"blur",},],},};},mounted(){},methods:{//点击注册确认按钮registerClick(formName){this.$refs[formName].validate((valid)=>{if(valid){request.get("patient/addPatient",{params:{pId:this.registerForm.pId,pName:this.registerForm.pName,pPassword:this.registerForm.pPassword,pGender:this.registerForm.pGender,pEmail:this.registerForm.pEmail,pPhone:this.registerForm.pPhone,pCard:this.registerForm.pCard,pBirthday:this.registerForm.pBirthday,},}).then((res)=>{if(res.data.status!==200)returnthis.$message.error("账号或邮箱已被占用!");this.registerFormVisible=false;this.$message.success("注册成功!");console.log(res);});}else{console.log("errorsubmit!!");returnfalse;}});},//点击找回密码确认按钮findPassword(findForm){this.$refs[findForm].validate((valid)=>{if(valid){//如果是选中患者if(this.findRole==="患者"){request.get("patient/findPassword",{params:{pEmail:this.findForm.pEmail,pPassword:this.findForm.newPassword,code:this.findForm.code,},}).then((res)=>{if(res.data.status!==200)returnthis.$message.error("验证码错误或者已过期!!!");this.$message.success("密码修改成功!!请登录");this.findFormVisible=false;});}//如果是选中管理员if(this.findRole==="管理员"){request.get("admin/findPassword",{params:{aEmail:this.findForm.pEmail,aPassword:this.findForm.newPassword,code:this.findForm.code,},}).then((res)=>{if(res.data.status!==200)returnthis.$message.error("验证码错误或者已过期!!!");this.$message.success("密码修改成功!!请登录");this.findFormVisible=false;});}//如果是选中患者if(this.findRole==="医生"){request.get("doctor/findPassword",{params:{dEmail:this.findForm.pEmail,dPassword:this.findForm.newPassword,code:this.findForm.code,},}).then((res)=>{if(res.data.status!==200)returnthis.$message.error("验证码错误或者已过期!!!");this.$message.success("密码修改成功!!请登录");this.findFormVisible=false;});}}else{console.log("errorsubmit!!");returnfalse;}});},//点击发送验证码按钮sendEmail(){//倒计时if(!this.canClick)return;//改动的是这两行代码this.canClick=false;this.content=this.totalTime+"s后重新发送";letclock=window.setInterval(()=>{this.totalTime--;this.content=this.totalTime+"s后重新发送";if(this.totalTime<0){window.clearInterval(clock);this.content="重新发送验证码";this.totalTime=10;this.canClick=true;//这里重新开启}},1000);//如果是选中患者if(this.findRole==="患者"){request.get("patient/sendEmail",{params:{pEmail:this.findForm.pEmail,},}).then((res)=>{console.log(this.findForm.pEmail);console.log(res);if(res.data.status!==200)returnthis.$message.error("该邮箱暂未注册!请先注册!");this.$message.success("验证码发送成功!");});}//如果是选中管理员if(this.findRole==="管理员"){request.get("admin/sendEmail",{params:{aEmail:this.findForm.pEmail,},}).then((res)=>{console.log(this.findForm.pEmail);console.log(res);if(res.data.status!==200)returnthis.$message.error("该邮箱暂未注册!请先注册!");this.$message.success("验证码发送成功!");});}//如果是选中医生if(this.findRole==="医生"){request.get("doctor/sendEmail",{params:{dEmail:this.findForm.pEmail,},}).then((res)=>{console.log(this.findForm.pEmail);console.log(res);if(res.data.status!==200)returnthis.$message.error("该邮箱暂未注册!请先注册!");this.$message.success("验证码发送成功!");});}},//提交表单submitLoginForm(formName){if(!/^\d+$/.test(this.loginForm.id)){this.$message.error("用户名有误");return;}this.$refs[formName].validate((valid)=>{if(valid){if(this.role==="管理员"){varparams=newURLSearchParams();params.append("aId",this.loginForm.id);params.append("aPassword",this.loginForm.password);request.post("admin/login",params).then((res)=>{console.log(res);if(res.data.status!=200)returnthis.$message.error("用户名或密码错误");setToken(res.data.data.token);this.$router.push("/adminLayout");}).catch((e)=>{console.log(e);if(e.response==undefined||e.response.data==undefined){this.$message({showClose:true,message:e,type:"error",duration:5000,});}else{this.$message({showClose:true,message:e.response.data,type:"error",duration:5000,});}});}if(this.role==="医生"){varparams1=newURLSearchParams();params1.append("dId",this.loginForm.id);params1.append("dPassword",this.loginForm.password);request.post("doctor/login",params1).then((res)=>{console.log(res);if(res.data.status!=200)returnthis.$message.error("用户名或密码错误");setToken(res.data.data.token);this.$router.push("/doctorLayout");}).catch((e)=>{console.log(e);if(e.response==undefined||e.response.data==undefined){this.$message({showClose:true,message:e,type:"error",duration:5000,});}else{this.$message({showClose:true,message:e.response.data,type:"error",duration:5000,});}});}if(this.role==="患者"){varparams2=newURLSearchParams();params2.append("pId",this.loginForm.id);params2.append("pPassword",this.loginForm.password);request
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年医保制度试题及答案
- 汽车配件生产线项目商业计划书
- 2025年国家公务员考试(面试)试题及答案
- 化工园区标准厂房建设项目实施方案
- 商铺租赁的协议
- 2025年小儿内科疾病诊断技巧测验答案及解析
- 2025年康复治疗运动方案设计实验竞赛答案及解析
- 2025年眼科眼部手术操作技能评估考试卷答案及解析
- 风险知识培训心得课件
- 2025合同终止协议书样本模板
- 普惠性托育机构申请托育中心情况说明基本简介
- 绿色建筑材料
- 无违法犯罪记录证明申请表(个人)
- 18种食用油的常识及其功效
- 2023年全国卷英语甲卷讲评课件-2024届高考英语复习
- 全国宪法演讲比赛一等奖演讲稿
- 糖尿病慢性病中医药健康管理表
- 教科版五年级科学上册全册同步课时练习【含答案全册】
- 《湖心亭看雪》理解性默写(学生版+教师版)
- 拔尖人才培训班学习心得体会
- 精选工法桩安全技术交底记录表
评论
0/150
提交评论