🍅选题推荐——以防找不到我们,点击上方订阅专栏✌✌\
👇🏻文末获取源码联系👇🏻
一、项目介绍
1.1 选题背景
当人们发现随着生产规模的不断扩大,人为计算方面才是一个巨大的短板,所以发明了各种计算设备,从结绳记事,到算筹,以及算盘,到如今的计算机,都是在无法满足生产的前提下出现的。随着计算机的发展,又出现了互联网技术。到现在为止,互联网已经发展了几十年了,在几十年的时间里就已经风靡世界。各行各业都发现了计算机的好处,计算机刚开始是军用的,后来在民用行业开始使用,到互联网时代,各种行业信息如井喷一般充斥着互联网,信息产生和传播的速度不断的提高。针对互联网的优点,结合互联网,对传统行业信息处理技术进行升级是非常有必要的。本课题对于教学实习日志方面,开发一个教学实习日志,在信息管理方面不至于混乱,也能降低数据的出错率,数据安全方面也有了保证,该系统还有其他的优点,比如优化信息处理流程,降低信息泄露风险,让管理人员的工作更有效率等。所以说,教学实习日志是目前不可缺的,对使用者相当的重要。
1.2 选题意义
如今的年代,已经是步入信息社会了,不仅信息更新速度频繁,信息量也大,在信息时代必须有相应的处理信息的方法,如果还采用以前的结绳记事或者笔写纸记,不仅是信息录入效率上赶不上节奏,在信息检索的速度上更是让人无法承受。幸而当今社会上计算机技术发展的相当不错,可以通过计算机在信息处理上面实现自动化或者半自动化的作业,采用计算机技术,能有效的提高信息录入以及信息检索的效率,社会上相同行业之间本身就是效率高的淘汰效率低的,既然采用计算机来替代手工记录,必然是效率更高,稳定性更强,成本更低等诸多优点。针对于母婴用品销售信息管理,开发一个教学实习日志不仅可以实现现代化的信息管理,也更符合现代化信息管理规范。
在实际的使用效果中,海洋专业教学实习日志意义如下:
第一点:海洋专业教学实习日志出现,就是为了提高工作人员的效率,能够在规定时间完成工作任务。
第二点:操作页面符合人体工程美学,符合日常人为操作习惯,使用友好。
第三点:区别于传统用纸张记录,提高了信息化水平。
第四点:在信息处理方面,极大的降低了人工处理成本。
二、功能介绍
4.2 功能模块设计
对管理员具体功能的设计结果将以图4.1所示的管理员功能结构图来进行体现。管理员对于教学实习日志操作的功能包括审核用户评价商品的信息,查看商品评价统计报表,对商品,商品分类,订单等信息进行管理。
三、拦截器代码
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>
四、相关案例
🍅源码获取:大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻