天马学航——智慧教务系统(移动端)开发日志六

天马学航——智慧教务系统(移动端)开发日志六

日志摘要:统一身份认证设计,修复了选课信息错乱的问题

界面设计

image-20240620111914879

实现思路

使用 Java 和 Jedis 完成实现:

步骤一:添加 Jedis 依赖

首先需要在项目中添加 Jedis 依赖,Jedis 是 Redis 的 Java 客户端,可以方便地在 Java 中操作 Redis。

Maven 依赖配置如下:

xmlCopy Code<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>1.0</version>
</dependency>
步骤二:实现二维码存储和设置过期时间
javaCopy Codeimport redis.clients.jedis.Jedis;public class QRCodeManager {private Jedis jedis;public QRCodeManager() {this.jedis = new Jedis("localhost"); // 连接到本地 Redis 服务}public void storeQRCode(String qrCodeKey, String qrCodeValue) {jedis.set(qrCodeKey, qrCodeValue); // 存储二维码信息jedis.expire(qrCodeKey, 300); // 设置键的过期时间为五分钟(300秒)}public String getQRCode(String qrCodeKey) {return jedis.get(qrCodeKey); // 根据键获取二维码信息}
}
步骤三:使用 QRCodeManager 类存储和获取二维码信息
javaCopy Codepublic class Main {public static void main(String[] args) {QRCodeManager qrCodeManager = new QRCodeManager();String qrCodeKey = "qr_code_key";String qrCodeValue = "qr_code_value";qrCodeManager.storeQRCode(qrCodeKey, qrCodeValue); // 存储二维码信息并设置过期时间// 单片机完成二维码扫描String scannedQRCode = qrCodeManager.getQRCode(qrCodeKey); // 获取用户扫描的二维码信息if (scannedQRCode != null) {System.out.println("二维码有效")} else {System.out.println("二维码失效")}}
}

BUG修复

在多用户状态下,未优化的数据库容易出现脏读的状态,所以在查阅资料后,再次对后端进行优化

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

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

相关文章

使用海康威视的SDK,利用WPF设计一个网络摄像头的显示控制程序(上位机)

目录 一、下载海康威视的SDK 1.1 关于SDK 1.2 关于API 1.3 关于DLL 1.4 下载海康威视的SDK 1.5 关于网络高清摄像机 二、对下载的SDK进行调试 三、利用Visual Studio打开项目的解决方案 3.1 Visual Studio 2022下载 3.2 关于句柄 四、打开WPF进行ui页面设计 4.1 关…

react笔记-03react-router篇

本文章是react的路由笔记 一、react路由&#xff08;v5版本&#xff09; 1. 什么是路由&#xff08;前端&#xff09;&#xff1f; 一个路由就算一个映射关系&#xff08;key: value)key为路径&#xff0c;value为组件 2. 前端路由的工作原理 根据浏览器历史记录&#xff…

双例集合(三)——双例集合的实现类之TreeMap容器类

Map接口有两个实现类&#xff0c;一个是HashMap容器类&#xff0c;另一个是TreeMap容器类。TreeMap容器类的使用在API上于HashMap容器类没有太大的区别。它们的区别主要体现在两个方面&#xff0c;一个是底层实现方式上&#xff0c;HashMap是基于Hash算法来实现的吗&#xff0c…

【Qt6.3 基础教程 04】探索Qt项目结构和配置文件

文章目录 前言Qt项目的基本结构配置文件&#xff1a;.pro文件基本构成示例.pro文件&#xff1a; qmake和构建过程步骤简述&#xff1a; 修改项目设置结论 前言 当你开始使用Qt进行开发时&#xff0c;理解项目结构和配置文件的作用是至关重要的。这篇博文将带你深入了解Qt项目的…

什么是电商大数据?主流电商大数据的采集||关键性技术|电商API接口接入说明

大数据的时代早已到来&#xff0c;然而想要全方位掌握大数据&#xff0c;务必要掌握大数据造成的时代特征&#xff0c;之前大数据被视为废物&#xff0c;如今被视为财产。主流电商大数据的采集&#xff0c;电商API接口的接入在大多数人理解中&#xff0c;是企业用数据来优化自己…

HackTheBox-Linux基础

Linux 结构 历史 许多事件导致了第一个 Linux 内核的创建&#xff0c;并最终创建了 Linux 操作系统 &#xff08;OS&#xff09;&#xff0c;从 1970 年 Ken Thompson 和 Dennis Ritchie&#xff08;当时都在 AT&T 工作&#xff09;发布 Unix 操作系统开始。伯克利软件发行…

什么叫图像的均值滤波,并附利用OpenCV和MATLB实现均值滤波的代码

均值滤波是一种常见的图像处理技术&#xff0c;主要用于平滑图像、去除噪声。它通过计算图像中每个像素及其邻域像素的平均值来实现。具体过程如下&#xff1a; 定义滤波器窗口&#xff1a;选择一个窗口&#xff08;通常是一个正方形或矩形&#xff0c;比如 33或 55 的大小&…

TDengine Cloud 新增签约,这次是能源物联网平台

最近&#xff0c;全托管的物联网、工业大数据云服务平台 TDengine Cloud 新增一项签约&#x1f973;。为进一步提升平台的数据处理能力与系统稳定性&#xff0c;推动智能设备数据管理和能效优化到新的高度&#xff0c; 德中恒越物联网数据平台选择应用 TDengine Cloud ☁️。 …

微信小程序毕业设计-餐厅点餐系统项目开发实战(附源码+论文)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;微信小程序毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计…

使用Java进行跨平台开发的技巧

使用Java进行跨平台开发的技巧 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; Java自诞生以来&#xff0c;就以其“Write Once, Run Anywhere”&#xff08;一…

OCC显示渲染结构剖析

1.Display显示 2.Drawer 3.Graphics 4.InteractiveContext 5.Render 6.Selection 7.View

你可能不知道的法律小常识

1.员工跟公司打官司&#xff0c;诉讼费只要10块钱。 2.试用期离职提前3天通知公司就可以了&#xff0c;不需要什么申请&#xff0c;更不需要向领导审批通过。 3.正式员工提前30天通知公司就可以离职&#xff0c;注意&#xff0c;是“通知”而不是“申请”。 4.入职只上了一天…

图像分割(四)---(图像显示、灰度直方图和三维灰度图综合分析选取最佳分割方法)

一、引言 对彩色图像进行分割的一种常用方法&#xff0c;是先把彩色图像转灰度图像&#xff0c;然后再选择合适的阈值进行二值分割。但有时彩色图像转灰度图像后不具有典型的双峰特性&#xff0c;二值分割效果不好。本文章提出一种确定彩色图像分割方法的新思路。首先读入一幅彩…

以太坊==给合约转入/查询合约剩余/合约转给某账户/结构体/MAP

转入 必须要定义该函数&#xff0c;或者定义fallback // 接收以太币 receive() external payable {} // Corrected Line // SPDX-License-Identifier: MIT pragma solidity ^0.8.0;contract SimpleStorage {uint256 private storedData;// 事件&#xff0c;用于通知数据变更e…

Python梯度提升决策树的方法示例

梯度提升决策树&#xff08;Gradient Boosting Decision Tree&#xff0c;简称GBDT&#xff09;是一种基于集成学习的算法&#xff0c;它通过构建多个决策树模型&#xff0c;并将它们组合在一起来实现更好的预测性能。GBDT的核心思想是在每轮迭代中&#xff0c;根据当前模型的残…

Java-异常:不恰当的异常转换、不充分的日志记录、过度或不当的异常捕获

Java-异常&#xff1a;不恰当的异常转换、不充分的日志记录、过度或不当的异常捕获 Java-异常&#xff1a;不恰当的异常转换、不充分的日志记录、过度或不当的异常捕获一、前期准备二、案例分析1、不恰当的异常转换2、不充分日志记录3、过度或不当的异常捕获 三、正确处理方式1…

Open WebUI – 本地化部署大模型仿照 ChatGPT用户界面

Open WebUI介绍&#xff1a; Open WebUI 是一个仿照 ChatGPT 界面&#xff0c;为本地大语言模型提供图形化界面的开源项目&#xff0c;可以非常方便的调试、调用本地模型。你能用它连接你在本地的大语言模型&#xff08;包括 Ollama 和 OpenAI 兼容的 API&#xff09;&#xf…

dp经典问题:爬楼梯

dp经典问题&#xff1a;爬楼梯 爬楼梯 三步问题。有个小孩正在上楼梯&#xff0c;楼梯有n阶台阶&#xff0c;小孩一次可以上1阶、2阶或3阶。实现一种方法&#xff0c;计算小孩有多少种上楼梯的方式。结果可能很大&#xff0c;你需要对结果模1000000007。 Step1: 识别问题 这…

emqx5.6.1 数据、配置备份与迁移

EMQX 支持导入和导出的数据包括&#xff1a; EMQX 配置重写的内容&#xff1a; 认证与授权配置规则、连接器与 Sink/Source监听器、网关配置其他 EMQX 配置内置数据库 (Mnesia) 的数据 Dashboard 用户和 REST API 密钥客户端认证凭证&#xff08;内置数据库密码认证、增强认证…

公共网络IP地址不正确?别担心,这里有解决方案

在数字化时代&#xff0c;公共网络IP地址的正确性对于我们的在线体验至关重要。它不仅是网络连接的标识&#xff0c;更是确保我们正常访问互联网资源、享受网络服务的基础。然而&#xff0c;有时我们可能会遇到公共网络IP地址不正确的情况&#xff0c;这不仅会影响我们的网络速…