案例018:基于微信小程序的实习记录系统

文末获取源码

开发语言:Java

框架:SSM

JDK版本:JDK1.8

数据库:mysql 5.7

开发软件:eclipse/myeclipse/idea

Maven包:Maven3.5.4

小程序框架:uniapp

小程序开发软件:HBuilder X

小程序运行软件:微信开发者

目录

前言

系统展示

学生前端功能模块

教师前端功能模块

管理员后端功能界面

代码实现

登录功能实现代码

注册功能实现代码

密码重置功能实现代码

修改信息功能实现代码

删除信息功能实现代码

保存信息功能实现代码


前言

随着社会的发展,社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。

本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采用java语言技术和mysql数据库来完成对系统的设计。整个开发过程首先对实习记录进行需求分析,得出实习记录主要功能。接着对实习记录进行总体设计和详细设计。总体设计主要包括小程序功能设计、小程序总体结构设计、小程序数据结构设计和小程序安全设计等;详细设计主要包括实习记录数据库访问的实现,主要功能模块的具体实现,模块实现关键代码等。最后对实习记录进行了功能测试,并对测试结果进行了分析总结,得出实习记录存在的不足及需要改进的地方,为以后的实习记录维护提供了方便,同时也为今后开发类似实习记录提供了借鉴和帮助。

实习记录开发使系统能够更加方便快捷,同时也促使实习记录变的更加系统化、有序化。系统界面较友好,易于操作。


系统展示

学生前端功能模块

学生登录,在学生登录页面填写账号、密码进行登录

学生登录到实习记录可以查看首页、实习公告、我的等内容

 实习公告,在实习公告页面可以填写公告标题、发布时间、发布人、封面等信息进行提交

在实习信息页面可以填写学号、学生姓名、专业、班级、手机号、教师工号、教师姓名、单位名称、单位地址、联系电话、岗位、指导人、实习时间等信息,并可根据需要进行提交

 在学生打卡页面可以填写学号、学生姓名、教师工号、教师姓名、打卡时间、打卡图片 、备注等信息,并可根据需要对学生打卡进行提交

在实习日记页面可以填写日记编号、添加时间、学号、学生姓名、日记标题、今日体会、今日收获等信息,并可根据需要对实习日记进行提交

 

教师前端功能模块

教师登录,在教师登录页面填写账号、密码进行登录

教师登录到实习记录可以查看首页、实习公告、我的等内容

 实习信息,在实习信息页面可以填写学号、学生姓名、专业、班级、手机号、教师工号、教师姓名、单位名称、单位地址、联系电话、岗位、指导人、实习时间、审核回复等信息进行审核

在学生打卡页面可以填写学号、学生姓名、教师工号、教师姓名、打卡时间、备注等信息,并可根据需要进行提交

 在打卡记录页面可以填写打卡编号、时间、教师工号、教师姓名、打卡人数、未打卡人数、备注等信息,并可根据需要对打卡记录进行提交

管理员后端功能界面

管理员通过填写用户名、密码、角色进行登录 

学生管理,通过填写学号、密码、学生姓名、性别、学院、专业、班级、手机号、照片、教师工号、教师姓名等信息进行详情、修改操作

 教师管理,通过填写教师工号、密码、教师姓名、性别、照片、职称、联系电话、教师邮箱等信息进行详情、修改、删除操作

实习公告管理,通过填写公告标题、发布时间、发布人、封面等信息进行详情、修改、删除操作

 学院信息管理,通过填写学院等信息进行详情、修改、删除操作

实习信息管理,通过填写学号、学生姓名、专业、班级、手机号、教师工号、教师姓名、单位名称、单位地址、联系电话、岗位、指导人、实习时间、审核回复、审核状态等信息进行详情、修改、删除操作

 学生打卡管理,通过填写学号、学生姓名、教师工号、教师姓名、打卡时间、打卡图片 、备注等信息进行详情、修改、删除操作

打卡记录管理,通过填写打卡编号、时间、教师工号、教师姓名、打卡人数、未打卡人数、备注等信息进行详情、修改、删除操作

 


代码实现

登录功能实现代码

@IgnoreAuth@PostMapping(value = "/login")public R login(String username, String password, String captcha, HttpServletRequest request) {UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null || !user.getPassword().equals(password)) {return R.error("账号或密码不正确");}String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());return R.ok().put("token", token);}

注册功能实现代码

@IgnoreAuth@PostMapping(value = "/register")public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用户已存在");}userService.insert(user);return R.ok();}

密码重置功能实现代码

@IgnoreAuth@RequestMapping(value = "/resetPass")public R resetPass(String username, HttpServletRequest request){UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null) {return R.error("账号不存在");}user.setPassword("123456");userService.update(user,null);return R.ok("密码已重置为:123456");}

修改信息功能实现代码

 @RequestMapping("/update")public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {return R.error("用户名已存在。");}userService.updateById(user);//全部更新return R.ok();}

删除信息功能实现代码

@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){userService.deleteBatchIds(Arrays.asList(ids));return R.ok();}

保存信息功能实现代码

@PostMapping("/save")public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用户已存在");}userService.insert(user);return R.ok();}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/212781.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 使用XlsxWriter操作Excel

在数据处理和报告生成的领域中&#xff0c;Excel 文件一直是广泛使用的标准格式。为了让 Python 开发者能够轻松创建和修改 Excel 文件&#xff0c;XlsxWriter 库应运而生。XlsxWriter 是一个功能强大的 Python 模块&#xff0c;专门用于生成 Microsoft Excel 2007及以上版本&a…

ARCore:在Android上构建令人惊叹的增强现实体验

ARCore&#xff1a;在Android上构建令人惊叹的增强现实体验 一、 AR 介绍1.1 AR技术简介1.2 AR技术原理1.3 AR技术应用领域 二、Google的增强现实平台ARCore2.1 ARCore简介2.2 ARCore API介绍2.3 ARCore API使用示例 三、总结 一、 AR 介绍 增强现实 Augmented Reality&#x…

OpenCV快速入门:图像分析——图像分割和图像修复

文章目录 前言一、图像分割1.1 漫水填充法1.1.1 漫水填充法原理1.1.2 漫水填充法实现步骤1.1.3 代码实现 1.2 分水岭法1.2.1 分水岭法原理1.2.2 分水岭法实现步骤1.2.3 代码实现 1.3 GrabCut法1.3.1 GrabCut法原理1.3.2 GrabCut法实现步骤1.3.3 代码实现 1.4 Mean-Shift法1.4.1…

案例022:基于微信小程序的行政复议在线预约系统

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;SSM JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X 小程序…

找论文找论文

这里写目录标题 找到的&#xff0c;待筛选识别检测 OCR综述&#xff0c;经典论文综述OCR识别OCR检测端到端文本识别问题集怎么看一篇论文有没有代码怎么直接找比如某一年的CVPR关于OCR方面的最新论文拿到一篇论文&#xff0c;根据论文名字怎么检索到期刊和发表日期 功能技巧找顶…

【vue踩坑】:SassError: This file is already being loaded

引入全局变量报错 vue.config.js中已经配置了&#xff1a; css: {loaderOptions: {sass: {additionalData: import "/styles/variables.scss"; // scss文件地址import "/styles/mixin.scss"; // scss文件地址}}}本地文件目录&#xff1a; 我在某个.…

西门子(Siemens)仿真PLC启动报错处理

目录 一、背景&#xff1a; 二、卸载软件 三、安装软件 三、启动软件 四、下载PORTAL项目 五、测试 一、背景&#xff1a; 在启动S7-PLCSIM Advanced V3.0仿真PLC时报错&#xff0c;报错信息为&#xff1a;>>Siemens PLCSIM Virtual Switch<<is misconfigu…

Cache学习(2):Cache结构 命中与缺失 多级Cache结构 直接映射缓存

1 Cache名词解释 命中&#xff08;hit&#xff09;&#xff1a; CPU要访问的数据在Cache中有缓存缺失&#xff08;miss&#xff09;&#xff1a; CPU要访问的数据在Cache中没有缓存Cache Size&#xff1a;Cache的大小&#xff0c;代表Cache可以缓存最大数据的大小Cache Line&a…

【Web题】狼追兔问题

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Centos上安装Docker和DockerCompose

安装Docker Docker可以运行在MAC&#xff0c;Windows&#xff0c;CtenOS,UBUNTU等操作系统上。目前主流的版本有Docker CE和Docker EE&#xff0c;CE是免费的开源Docker版本&#xff0c;适用于开发人员和小型团队&#xff0c;EE是适用于企业的容器化解决方案。它基于Docker CE…

芯能转债上市价格预测

芯能转债-113679 基本信息 转债名称&#xff1a;芯能转债&#xff0c;评级&#xff1a;AA-&#xff0c;发行规模&#xff1a;8.8亿元。 正股名称&#xff1a;芯能科技&#xff0c;今日收盘价&#xff1a;12.63元&#xff0c;转股价格&#xff1a;13.1元。 当前转股价值 转债面…

【数据结构/C++】线性表_单链表的基本操作

#include <iostream> using namespace std; // 2. 单链表 // ElemType 的定义 typedef int ElemType; typedef struct LNode {ElemType data;struct LNode *next; } LNode, *LinkList; // 初始化单链表 bool InitList(LinkList &L) {L (LNode *)malloc(sizeof(LNode…