案例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();}
相关文章:

案例018:基于微信小程序的实习记录系统
文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…...

视频剪辑技巧:如何高效批量转码MP4视频为MOV格式
在视频剪辑的过程中,经常会遇到将MP4视频转码为MOV格式的情况。这不仅可以更好地编辑视频,还可以提升视频的播放质量和兼容性。对于大量视频文件的转码操作,如何高效地完成批量转码呢?现在一起来看看云炫AI智剪如何智能转码&#…...
node.js获取unsplash图片
1. 在Unsplash的开发者页面注册并创建一个应用程序,以便获取一个API访问密钥(即Access Key)。 2. 安装axios: npm install axios3. 使用获取到的API密钥进行请求。 示例代码如下: const axios require(axios);con…...

Git远程库操作(GitHub)
GitHub 网址:https://github.com/ 创建远程仓库 远程仓库操作 命令名称作用git remote -v查看当前所有远程地址别名git remote add 别名 远程地址起别名git push 别名 分支推送本地分支上的内容到远程仓库git clone 远程地址将远程仓库的内容克隆到本地git pull 别…...

java计算下一个整10分钟时间点
最近工作上遇到需要固定在整10分钟一个周期调度某个任务,所以需要这样一个功能,记录下 package org.example;import com.google.gson.Gson; import org.apache.commons.lang3.time.DateUtils;import java.io.InputStream; import java.util.Calendar; i…...

力扣刷题篇之排序算法
系列文章目录 前言 本系列是个人力扣刷题汇总,本文是排序算法。刷题顺序按照[力扣刷题攻略] Re:从零开始的力扣刷题生活 - 力扣(LeetCode) 这个之前写的左神的课程笔记里也有: 左程云算法与数据结构代码汇总之排序&am…...

一键填充字幕——Arctime pro
之前的博客中,我们聊到了PR这款专业的视频制作软件,但是pr有许多的功能需要搭配使用,相信不少小伙伴在剪辑视频时会发现一个致命的问题,就是字幕编写。伴随着人们对字幕需求的逐渐增加,这款软件便应运而生~ 相信应该有…...
间隔分区表(DM8:达梦数据库)
DM8:达梦数据库 - 间隔分区表 环境介绍1 按 年 - 间隔分区表2 按 月 - 间隔分区3 按 日 - 间隔分区4 按 数值 - 间隔分区表5 达梦数据库学习使用列表 环境介绍 间隔分区表使用说明: 仅支持一级范围分区创建间隔分区。 只能有一个分区列,且分区列类型为…...

基于C#实现并查集
一、场景 有时候我们会遇到这样的场景,比如:M{1,4,6,8},N{2,4,5,7},我的需求就是判断{1,2}是否属于同一个集合,当然实现方法有很多,一般情况下,普通青年会做出 O(MN)的复杂度,那么有没有更轻量级的复杂度呢…...

opencv-图像轮廓
轮廓可以简单认为成将连续的点(连着边界)连在一起的曲线,具有相同的颜色或者灰度。轮廓在形状分析和物体的检测和识别中很有用。 • 为了更加准确,要使用二值化图像。在寻找轮廓之前,要进行阈值化处理或者 Canny 边界检…...

小黑子—Maven高级
Maven高级篇 二 小黑子的Maven高级篇学习1. 分模块开发1.1 分模块开发设计1.2 分模块开发实现1.2.1 抽取domain层1.2.2 抽取dao层 2. 依赖管理2.1 依赖传递2.2 可选依赖2.3 排除依赖 3. 继承与聚合3.1 聚合3.2 继承3.3 总结 4. 属性4.1 配置文件加载属性4.2 版本管理 5. 多环境…...

一个正整数转为2进制和8进制,1的个数相同的第23个数是什么?
package cn.com;import java.lang.*;//默认加载public class C2 {//10进制转8进制static int HtoO(int n){int cnt 0;while(n!0){cntn%8;n/8;}return cnt;}//10进制转2进制static int HtoB(int n){int cnt 0;while(n!0){cntn%2;n/2;}return cnt;}public static void main(Str…...

Unity阻止射线穿透UI的方法之一
if(UnityEngine.EventSystems.EventSystem.current.IsPointerOverGameObject()) return; 作者:StormerZ https://www.bilibili.com/read/cv27797873/ 出处:bilibili...

HarmonyOS开发:ArkTs常见数据类型
前言 无论是Android还是iOS开发,都提供了多种数据类型用于常见的业务开发,但在ArkTs中,数据类型就大有不同,比如int,float,double,long统一就是number类型,当然了也不存在char类型&…...

Unsupervised MVS论文笔记
Unsupervised MVS论文笔记 摘要1 引言2 相关工作3 实现方法3.1 网络架构3.2 通过光度一致性学习3.3 MVS的鲁棒光度一致性3.4 学习设置和实施的细节3.5.预测每幅图像的深度图 4 实验4.1 在DTU上的结果4.2 消融实验 Tejas Khot and Shubham Agrawal and Shubham Tulsiani and Chr…...

Matplotlib图形注释_Python数据分析与可视化
Matplotlib图形注释 添加注释文字、坐标变换 有的时候单单使用图形无法完整清晰的表达我们的信息,我们还需要进行文字进行注释,所以matplotlib提供了文字、箭头等注释可以突出图形中重点信息。 添加注释 为了使我们的可视化图形让人更加容易理解&#…...

如何把A3 pdf 文章打印成A4
1. 用Adobe Acrobat 打开pdf 2 打印 选择海报 进行调整即可如下图,见下面红色的部分。...

【Vue】vue指令
目录 V-html v-show和v-if v-show 显示 隐藏 v-if 显示 隐藏 总结 显示隐藏的应用场景 未登录的情况 登录的情况 v- else 和 v-else-if v-if 和v-else v-if 和 v-else-if 总结: v-on 语法一: 语法二: 调用传参 v-bind…...

记录华为云服务器(Linux 可视化 宝塔面板)-- 安全组篇
文章目录 前言安全组说明安全组的特性安全组的应用场景 进入安全组添加基本规则添加自定义规则如有启发,可点赞收藏哟~ 前言 和windows防火墙类似,安全组是一种虚拟防火墙,具备状态检测和数据包过滤功能,可以对进出云服务器的流量…...

基于Python 中创建 Sentinel-2 RGB 合成图像
一、前言 下面的python代码将带您了解如何从原始 Sentinel-2 图像创建 RGB 合成图像的过程。 免费注册后,可以从 Open Access Hub 下载原始图像。 请注意,激活您的帐户可能需要 24 小时! 二、准备工作 (1)导入必要的库…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...

华硕a豆14 Air香氛版,美学与科技的馨香融合
在快节奏的现代生活中,我们渴望一个能激发创想、愉悦感官的工作与生活伙伴,它不仅是冰冷的科技工具,更能触动我们内心深处的细腻情感。正是在这样的期许下,华硕a豆14 Air香氛版翩然而至,它以一种前所未有的方式&#x…...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...