🍅选题推荐——以防找不到我们,点击上方订阅专栏✌✌\
Java毕设实战项目
Python毕设项目源代码
asp.net毕业设计项目
Uniapp安卓毕业设计项目
node.js毕业设计项目
python毕业设计
微信小程序毕业设计项目
php毕业设计
👇🏻🍅--------------------【左侧头像的置顶文章,上方wx】联系我们
------------------🍅
一、项目介绍
1.1选题动因
当前的网络技术,软件技术等都具备成熟的理论基础,市场上也出现各种技术开发的软件,这些软件都被用于各个领域,包括生活和工作的领域。随着电脑和笔记本的广泛运用,以及各种计算机硬件的完善和升级,市面上的电脑和笔记本的性能都得到提升,可以支持的软件也逐渐增多,因此,在计算机上安装软件来发挥其高效地信息处理的作用,则很受人们的青睐。对于民航网上订票系统信息来讲,通过手工形式处理,在面对庞大的信息数量时,就显得不适宜了,首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,为了解决上述问题,有必要建立民航网上订票系统,来规范民航网上订票系统信息管理流程,让管理工作可以系统化和程序化,同时,民航网上订票系统的有效运用可以帮助管理人员准确快速地处理信息。
1.2目的和意义
民航网上订票系统可以对民航网上订票系统信息进行集中管理,可以真正避免传统管理的缺陷。民航网上订票系统是一款运用软件开发技术设计实现的应用系统,在信息处理上可以达到快速的目的,不管是针对数据添加,数据维护和统计,以及数据查询等处理要求,民航网上订票系统都可以轻松应对。所以,民航网上订票系统的运用是让民航网上订票系统信息管理升级的最好方式。它可以实现信息处理的便利化要求,还可以规范信息处理的流程,让事务处理成为管理人员手中的一件简单事,而不是之前手工处理时的困难事。尽管民航网上订票系统具备较完善的功能,但是也需要管理人员利用闲暇时间提升自身素质以及个人能力,在操作民航网上订票系统时可以最大化运用民航网上订票系统提供的功能,让系统在满足高效率处理数据的同时,也能始终稳定运行,还可以确保数据的可靠性与数据处理的质量。
二、功能介绍
4.2功能结构设计
为了让系统的编码可以顺利进行,特意对本系统功能进行细分设计,设计的系统功能结构见下图。
三、拦截器代码
package com.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; import com.interceptor.AuthorizationInterceptor; @Configuration public class InterceptorConfig extends WebMvcConfigurationSupport{ @Bean public AuthorizationInterceptor getAuthorizationInterceptor() { return new AuthorizationInterceptor(); } @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(getAuthorizationInterceptor()).addPathPatterns("/**").excludePathPatterns("/static/**"); super.addInterceptors(registry); } /** * springboot 2.0配置WebMvcConfigurationSupport之后,会导致默认配置被覆盖,要访问静态资源需要重写addResourceHandlers方法 */ @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/**") .addResourceLocations("classpath:/resources/") .addResourceLocations("classpath:/static/") .addResourceLocations("classpath:/admin/") .addResourceLocations("classpath:/front/") .addResourceLocations("classpath:/public/"); super.addResourceHandlers(registry); } }个人中心代码
<template> <div> <el-form class="detail-form-content" ref="ruleForm" :model="ruleForm" label-width="80px" > <el-row> <el-col :span="12"> <el-form-item v-if="flag=='yonghu'" label='用户姓名' prop="yonghuName"> <el-input v-model="ruleForm.yonghuName" placeholder='用户姓名' clearable></el-input> </el-form-item> </el-col> <el-col :span="12"> <el-form-item v-if="flag=='yonghu'" label='用户手机号' prop="yonghuPhone"> <el-input v-model="ruleForm.yonghuPhone" placeholder='用户手机号' clearable></el-input> </el-form-item> </el-col> <el-col :span="12"> <el-form-item v-if="flag=='yonghu'" label='用户身份证号' prop="yonghuIdNumber"> <el-input v-model="ruleForm.yonghuIdNumber" placeholder='用户身份证号' clearable></el-input> </el-form-item> </el-col> <el-col :span="12"> <el-form-item v-if="flag=='yonghu'" label='用户头像' prop="yonghuPhoto"> <file-upload tip="点击上传照片" action="file/upload" :limit="3" :multiple="true" :fileUrls="ruleForm.yonghuPhoto?$base.url+ruleForm.yonghuPhoto:''" @change="yonghuPhotoUploadChange" ></file-upload> </el-form-item> </el-col> <el-col :span="12"> <el-form-item v-if="flag=='yonghu'" label='电子邮箱' prop="yonghuEmail"> <el-input v-model="ruleForm.yonghuEmail" placeholder='电子邮箱' clearable></el-input> </el-form-item> </el-col> <el-col :span="12"> <el-form-item v-if="flag=='yonghu'" label='积分' prop="newMoney"> <el-input v-model="ruleForm.newMoney" placeholder='积分' disabled style="width: 100px"></el-input> <!--<a id="btn-recharge" @click="chongzhi" href="javascript:void(0)">点我充值</a>--> </el-form-item> </el-col> <el-form-item v-if="flag=='users'" label="用户名" prop="username"> <el-input v-model="ruleForm.username" placeholder="用户名"></el-input> </el-form-item> <el-col :span="12"> <el-form-item v-if="flag!='users'" label="性别" prop="sexTypes"> <el-select v-model="ruleForm.sexTypes" placeholder="请选择性别"> <el-option v-for="(item,index) in sexTypesOptions" v-bind:key="item.codeIndex" :label="item.indexName" :value="item.codeIndex"> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="24"> <el-form-item> <el-button type="primary" @click="onUpdateHandler">修 改</el-button> </el-form-item> </el-col> </el-row> </el-form> </div> </template> <script> // 数字,邮件,手机,url,身份证校验 import { isNumber,isIntNumer,isEmail,isMobile,isPhone,isURL,checkIdCard } from "@/utils/validate"; export default { data() { return { ruleForm: {}, flag: '', usersFlag: false, // sexTypesOptions : [], // 注册表 用户 // 注册的类型字段 用户 // 性别 sexTypesOptions : [], }; }, mounted() { //获取当前登录用户的信息 var table = this.$storage.get("sessionTable"); this.sessionTable = this.$storage.get("sessionTable"); this.role = this.$storage.get("role"); if (this.role != "管理员"){ } this.flag = table; this.$http({ url: `${this.$storage.get("sessionTable")}/session`, method: "get" }).then(({ data }) => { if (data && data.code === 0) { this.ruleForm = data.data; // 注册表 用户 } else { this.$message.error(data.msg); } }); // 注册表 用户 的级联表 this.$http({ url: `dictionary/page?page=1&limit=100&sort=&order=&dicCode=sex_types`, method: "get" }).then(({ data }) => { if (data && data.code === 0) { this.sexTypesOptions = data.data.list; } else { this.$message.error(data.msg); } }); }, methods: { chongzhi() { this.$router.replace({ path: "/pay" }); }, yonghuPhotoUploadChange(fileUrls) { this.ruleForm.yonghuPhoto = fileUrls; }, onUpdateHandler() { if((!this.ruleForm.yonghuName)&& 'yonghu'==this.flag){ this.$message.error('用户姓名不能为空'); return } if( 'yonghu' ==this.flag && this.ruleForm.yonghuPhone&&(!isMobile(this.ruleForm.yonghuPhone))){ this.$message.error(`手机应输入手机格式`); return } if((!this.ruleForm.yonghuIdNumber)&& 'yonghu'==this.flag){ this.$message.error('用户身份证号不能为空'); return } if((!this.ruleForm.yonghuPhoto)&& 'yonghu'==this.flag){ this.$message.error('用户头像不能为空'); return } if( 'yonghu' ==this.flag && this.ruleForm.yonghuEmail&&(!isEmail(this.ruleForm.yonghuEmail))){ this.$message.error(`邮箱应输入邮箱格式`); return } if((!this.ruleForm.sexTypes) && this.flag!='users'){ this.$message.error('性别不能为空'); return } if('users'==this.flag && this.ruleForm.username.trim().length<1) { this.$message.error(`用户名不能为空`); return } this.$http({ url: `${this.$storage.get("sessionTable")}/update`, method: "post", data: this.ruleForm }).then(({ data }) => { if (data && data.code === 0) { this.$message({ message: "修改信息成功", type: "success", duration: 1500, onClose: () => { } }); } else { this.$message.error(data.msg); } }); } } }; </script> <style lang="scss" scoped> </style>四、相关案例
🍅源码获取:大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻