GitHub 您所在的位置:网站首页 卡密的画 GitHub

GitHub

2024-07-16 09:09| 来源: 网络整理| 查看: 265

卡密后台管理系统

创作原因 技术栈 模块分解 登录功能 用户验证 后台首页 生成卡密 显示卡密 查询卡密 模拟使用 卡密后台管理系统

@author 木瞳

创作原因

某日一时兴起,简单思考了下卡密管理的系统结构,然后画了一张草图,于是就动手实践起来。

草图

技术栈 java html springboot mysql css JavaScript .... 模块分解 登录功能

登录的实现是接收用户的账号和密码,通过与数据库中的数据进行比对,判断账号是否存在以及是否正确。

登录失败会判断失败原因:

用户权限不足(仅admin用户才可以登录后台) 账号或密码错误

失败后自动返回登录界面,并提示用户失败原因。

登录成功后跳转到后台首页,并将用户信息存入session中。

用户验证

为了防止用户直接访问后台,需要在后台首页添加一个验证用户是否登录的功能。

主要的验证方法是通过session中的用户信息判断用户是否登录,如果没有登录则跳转到登录界面,并提示还未登陆的信息。

如果session有登录信息,就允许通过。

后台首页

因为界面不是很重要,主要是为了实现功能,所以后台使用的是x-admin模板,进入后台的同时,查询数据库中卡密的数量显示在首页。

首页可以动态显示登录用户的用户名,左侧菜单有生成卡密、查询卡密等功能。

生成卡密

生成卡密的时候可选卡密类型、数量、自定义固定前缀、长度等信息。通过从数组中随机取出单个数据循环拼接的方法生成卡密。

生成之后将卡密保存进数据库做持久化。

显示卡密

跳转卡密展示页面时,向数据库查询所有卡密信息,将卡密数据传到前端,使用Thymeleaf循环取出并展示,通过PageHelper实现分页。

查询卡密

提供搜索框,可以使用单个的卡密查询,也可以直接查询某一类型的卡密。如果输入了两个条件,最后将会展示两个结果的交集。

模拟使用

首先定义一个变量dateStamp,作为时间。当用户输入卡密的时候,先从数据库查询是否有这个卡密,如果没有查到,就返回信息“卡密不存在或已被使用”。

如果查到卡密存在,继续判断session中的dateStamp是否存在,如果不存在代表为新用户。新用户使用卡密,先获取当前时间,然后查询卡密的类型,将该卡密代表的时间增加到当前时间上并重新赋值给dateStamp,然后保存在session中。

如果用户session中的dateStamp存在,继续比较dateStamp与当前时间,如果早于当前时间,就重复新用户的操作。如果晚于当前时间,说明用户的卡密还没有过期,就将dateStamp中的时间取出再加上卡密的时间,最后重新保存到session的dateStamp中。

使用成功后,将用户卡密的到期时间显示在界面上

更新中...


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有