可以做微信游戏的网站有哪些/杭州网站seo推广

可以做微信游戏的网站有哪些,杭州网站seo推广,今天的新闻主要内容,b站推广首页实验室设备管理系统 应用背景 为方便实验室进行设备管理,某大学拟开发实验室设备管理系统 来管理所有实验室里的各种设备。系统可实现管理员登录,查看现有的所有设备, 增加设备等功能。 开发环境 Mac OSPyCharm IDEPython3Flask&#xff…

实验室设备管理系统

应用背景

为方便实验室进行设备管理,某大学拟开发实验室设备管理系统 来管理所有实验室里的各种设备。系统可实现管理员登录,查看现有的所有设备, 增加设备等功能。

开发环境

  • Mac OS
  • PyCharm IDE
  • Python3
  • Flask(Web框架)
  • SQLite(数据库)

运行方法

准备
  1. 安装virtualenv: pip3 install virtualenv
  2. 创建虚拟环境: virtualenv venv
  3. 进虚拟环境: source venv/bin/activate
  4. 安装依赖的包: pip install -r requirements.txt
  5. 退出虚拟环境: deactivate
  1. 更新数据库: python app.py db upgrade
  2. 成户: python app.py init
  3. 运: python app.py runserver
初始管理员账户

邮箱:zhaowrenee@gmail.com
密码:666666

功能结构

  1. 登录:管理员可以通过输入预置的账号密码进行登录。
  2. 查看设备列表:管理员在登录成功后,应立即展示所有设备信息,设备 信息应包括设备 ID 号,设备名,实验室名,购置时间,购置人。
  3. 增加设备:增加设备时应输入设备名,实验室名,购置人等信息,设备 增加成功后自动返回系统分配的设备 ID 号,购置时间应为系统自动生成(默认为增加设备的时间)。
  4. [附加] 删除设备:管理员本人购置的设备具有顶级重要性,故不能被删除
  5. [附加] 搜索设备:输入关键词,显示名称中包含关键词的设备列表

另外保证:

  1. 对输入数据进行合法性验证,并进行友好提示。
  2. 对数据库中的密码字段加密处理。

提示

  • 设备 ID 号应保证唯一性。
  • 设备名可重复。

功能细节

一、UML图

1、活动图

app.py中function与templates中HTML件对应,展示在页中:

  • index() 通过 SearchForm 实现对户信息的检索和展示,并通过 index.html
  • add_device() 通过 UserForm 实现对新设备信息的添加,并调 add_device.html
  • remove_device(id) 通过id删除设备,但不能删除管理员添加的设备
  • login() 通过调 LoginForm 实现登录,并调 login.html 页登录,也是服务器提供的第个页
  • 其余function对应系列错误处理和必要但和数据库关功能
2、用例图

3、顺序图

4、类图

  • HTML使Flask-wtf Bootstrap渲染功能,使界更美观
  • app.Role为户设置的用户或者管理员角类,内部有条件角条件约束
  • app.User 户类
    • 记录户名、密码、id等信息,与数据库的属性进行交互
  • app.Device 设备类
    • 记录设备名、实验室、购置人、购置时间等信息,与数据库的属性进行交互
  • FlaskForm 信息表
    • 三种Form根据不同的操作需求,设定不同的Field
5、状态图

、基本表单的定义

表一:

roles 身份表

名称

类型

NOT NULL约束

PRIMARY KEY约束

UNIQUE约束

默认

外键

id

INTEGER

name

VARCHAR(64)

CREATE TABLE roles (id INTEGER NOT NULL, name VARCHAR(64), PRIMARY KEY (id), UNIQUE (name)
)

表中实体:

id

name

1

User

2

Admin

表二:

users 用户表

名称

类型

NOT NULL约束

PRIMARY KEY约束

UNIQUE约束

默认

外键

id

INTEGER

number

VARCHAR(128)

username

VARCHAR(64)

password_hash

VARCHAR(128)

role_id

INTEGER

roles(id)

CREATE TABLE users (id INTEGER NOT NULL, number VARCHAR(128), username VARCHAR(64), password_hash VARCHAR(128), role_id INTEGER, PRIMARY KEY (id), UNIQUE (password_hash), FOREIGN KEY(role_id) REFERENCES roles (id)
)

表中实体:

id

number

username

password_hash

role_id

1

zhaowrenee@gmail.com

Admin

pbkdf2:sha256:50000$V4ZV7KEr$42b0a9825baa100fa800d0544632a1ad7d6130504ef6c397ecfa6b02ca99298d

2

2

mshi@hotmail.com

袁帅

pbkdf2:sha256:50000

d1c334fe90415612c0d99301d45f3e5f9c3f482726cde598259d19ff1228c217

1

3

yaoxiuying@mingding.org

刘东

pbkdf2:sha256:50000$rNv7gYzZ$381113b96a85934496fe06a2796893fb85689b71c373e97a5e4d9d3adfd5ef26

1

4

vfan@hotmail.com

吴娟

pbkdf2:sha256:50000$cA7RmNVD$7136167bd1c3163b0ec221638b8644f12f093f3450ecc4f631c72840e26f31f3

1

5

panjuan@hotmail.com

刘玉珍

pbkdf2:sha256:50000$hSqUMhqa$5dd222a191f376127e3dceb8244310cc7114dcceaa2d3bc5fa585a9429f66a02

1

表三:

devices 设备表

名称

类型

NOT NULL约束

PRIMARY KEY约束

UNIQUE约束

默认

外键

id

INTEGER

device_id

VARCHAR(64)

lab

VARCHAR(64)

name

VARCHAR(64)

password_hash

DATETIME

user_id

VARCHAR(64)

users(id)

CREATE TABLE devices (id INTEGER NOT NULL, lab VARCHAR(64), name VARCHAR(64), time DATETIME, user_id VARCHAR(64), PRIMARY KEY (id), FOREIGN KEY(user_id) REFERENCES users (id)
)

表中实体:

id

device_id

lab

name

time

user_id

2

2020-QS-002

趋势传媒实验室

专业VR镜头

2020-03-31 22:12:17.000000

6

3

2020-LY-003

凌云科技实验室

专业VR镜头

2020-03-15 02:36:25.000000

6

4

2020-MX-004

盟新传媒实验室

联想启天2100

2020-03-16 23:44:42.000000

1

5

2020-CH-005

创汇网络实验室

DSP实验箱

2020-01-17 03:29:31.000000

8

6

2020-LT-006

联通时科网络实验室

功率变换器

2020-04-06 07:49:29.000000

3

7

2020-HR-007

鸿睿思博网络实验室

双踪示波器

2020-03-05 00:48:16.000000

4

8

2020-TY-008

天益科技实验室

联想启天2100

2020-03-03 23:57:45.000000

11

9

2020-LY-009

凌颖信息信息实验室

投影机

2020-02-03 20:11:21.000000

10

10

2020-DM-010

迪摩科技实验室

曙光天阔服务器

2020-02-12 20:46:27.000000

1

11

2020-LR-011

联软传媒实验室

联想启天2100

2020-02-21 11:02:09.000000

11

展示后修改及优化说明

1. 对设备ID进行改进

通常设备编号都有其实际含义,而且通常有使用年限的规定。所以我在展示后对ID进行设计,更加符合实际情况。

id的格式为购置年份-实验室名称前两字的拼音大写字母缩写-设备编号(三位数补全)

其中,提取实验室名称的拼音大写字母缩写,我通过利用xpinyin包来完成。

页面中显示的“设备编号”为人为构造的“设备id”,区别于数据库表中自动生成的id。

2. 删除设备时进行安全性提示

因为增加了删除设备这一附加功能,而设备删除是一个具有安全隐患的操作。为了避免发生误操作的情况,在点击“删除”按钮后系统会提示“确定要删除吗?”,此时只有点击”确定“时才会执行删除操作。

整体效果及操作流程

1. 登录页面:

如果输入错误密码:

如果输入非管理员账号:

2. 查看设备列表:

为了批量生成数据,使用python中的faker包来生成不同类型和格式的随机数据来模拟真实情形

其中,设定系统的管理员拥有顶级权限,即可以管理设备购置记录,并且我这里附加了一个功能:其本身购置的设备记录用红色背景标出,表明其重要性。

3. 增加设备:

这里对输入数据进行合法性验证:

  • 设备名不能为空/长度超出32个字符
  • 购置人必须是数据库中的用户,这里主要是为了确保我们拥有购置人的详细信息(比如说邮箱等),否则我们无法确认购置人的身份、无法联系到他。

4. 删除设备:

这里考虑了可能有设备废弃或者是转让,需要删除设备的情况。

拥有顶级权限的管理员本人购置的设备无法删除。

5. 关键词搜索:

6. 注销:

完成操作后点击注销,即可退出登录,此时返回登录页面,因为之前选择了记住密码,下次可直接登录。

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

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

相关文章

深拷贝and浅拷贝!

一、什么是拷贝?什么是深拷贝和浅拷贝? (1)拷贝:拷贝就是为了复用原对象的部分or全部数据,在原对象的基础上通过复制的方式创建一个新的对象。 拷贝对象可以分为三种类型:直接赋值、浅拷贝和深拷…

高频面试题(含笔试高频算法整理)基本总结回顾43

干货分享,感谢您的阅读! (暂存篇---后续会删除,完整版和持续更新见高频面试题基本总结回顾(含笔试高频算法整理)) 备注:引用请标注出处,同时存在的问题请在相关博客留言…

网络爬虫【简介】

我叫补三补四,很高兴见到大家,欢迎一起学习交流和进步 今天来讲一讲视图 一、网络爬虫的定义 网络爬虫(Web Crawler),又称为网络蜘蛛、网络机器人等,是一种按照一定规则自动抓取互联网信息的程序或脚本。它…

​AI时代到来,对电商来说是效率跃升,还是温水煮青蛙

​凌晨三点的义乌商贸城,95后创业者小王,静静地盯着屏幕上的AI工具,竟露出了笑容。这个月他的跨境玩具店销量提升了不少,从之前的状态翻了3倍;而且团队人数有所变化,从5人缩减到了2人(其中包括他…

PDF文件密码保护破解:安全解密的步骤与技巧

PDF文件加密后,需要特定的密码才能访问内容。以下是一些常见的方法来解密PDF文件: 方法一:使用Adobe Acrobat 如果你有Adobe Acrobat Pro,可以使用它来解密PDF文件。 打开Adobe Acrobat Pro: 启动Adobe Acrobat Pro…

qt 自带虚拟键盘的编译使用记录

一、windows 下编译 使用vs 命令窗口,分别执行: qmake CONFIG"lang-en_GB lang-zh_CN" nmake nmake install 如果事先没有 指定需要使用的输入法语言就进行过编译,则需要先 执行 nmake distclean 清理后执行 qmake 才能生效。 …

C++刷题(二):栈 + 队列

📝前言说明: 本专栏主要记录本人的基础算法学习以及刷题记录,使用语言为C。 每道题我会给出LeetCode上的题号(如果有题号),题目,以及最后通过的代码。没有题号的题目大多来自牛客网。对于题目的…

精通游戏测试笔记(持续更新)

第一章、游戏测试的两条规则 不要恐慌 不要将这次发布当作最后一次发布 不要相信任何人 把每次发布当作最后一次发布 第二章:成为一名游戏测试工程师

Windows功能之FTP服务器搭建

一、创作背景 之前有用linux系统搭建过ftp服务器,最近想着用windows系统也顺便搭建一个,看网上有第三方服务软件一键部署,记得windows可以不借助第三方软件就可以搭建,就想顺便操作试试,结果老是连接不上,费…

星型组网模块的两种交互方式优缺点解析

星型组网模块简介 星型组网模块工作在433MHz频段;星型组网模块集主机(协调器)、终端为一体,星型组网模块具有长距离、高速率两种传输模式,一个主机(协调器)支持多达200个节点与其通讯&#xff0…

【2025.3.13】记一次双系统笔记本加装固态硬盘记录 linux扩容 linux更换/home和/opt所在硬盘 windows无法调整亮度

文章目录 🌕事情经过🌕更换/home和/opt的挂载硬盘🌙目的🌙初始化1t固态硬盘🌙打开Linux查看硬盘信息🌙给新1t固态硬盘分区🌙格式化分区🌙把新1t固态硬盘先挂载到/mnt/ssd_1t 用于后续…

【测试语言基础篇】Python基础之List列表

一、Python 列表(List) 序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。 Python有6个序列的内置类型,但最常见的是列表和元组。序列都可…

软件测试之使用Requests库进行接口测试

文章目录 前言Requests库是什么为什么要用Requests库进行接口测试安装Requests库Requests库使用发送GET请求发送带查询参数的GET请求响应内容格式添加请求头信息发送一个POST请求查看响应内容断言请求超时Cookie与Session模拟登录 参考目录 前言 阅读本文前请注意最后编辑时间…

AttributeError: module ‘backend_interagg‘ has no attribute ‘FigureCanvas‘

AttributeError: module backend_interagg has no attribute FigureCanvas 这个错误通常是由于 Matplotlib 的后端配置问题引起的。具体来说,Matplotlib 在尝试加载某个后端时,发现该后端模块中缺少必要的属性(如 FigureCanvas)&a…

iWebOffice2015 中间件如何在Chrome107及之后的高版本中加载

iWebOffice2015是江西金格科技有限公司开发的一款智能文档中间件,和一些知名OA及ERP公司曾经达成OEM合作,所以用户一度比较多,但不幸的是Chromium内核浏览器在2022年10月份发布的107版本中永久取消了对PPAPI插件的加载支持,导致使…

OpnenHarmony 开源鸿蒙北向开发——1.开发环境搭建(DevEco Studio 5.03)

我这边是基于window下对OpenHarmony开源鸿蒙进行北向开发。 一、安装DevEco Studio 1、下载 下载中心 | 华为开发者联盟-HarmonyOS开发者官网,共建鸿蒙生态 2、安装 下载完成之后进行解压 双击进行安装 按照我的步骤进行 选择安装目录,全部配置完成后…

linux(ubuntu)中Conda、CUDA安装Xinference报错ERROR: Failed to build (llama-cpp-python)

文章目录 一、常规办法二、继续三、继续四、缺少 libgomp库(最终解决)在 Conda 环境中安装 libgomp 如果符合标题情况 执行的: pip install "xinference[all]"大概率是最终解决的情况。 一、常规办法 llama-cpp-python 依赖 CMak…

OpenGL中绘制图形元素的实现(使用visual studio(C++)绘制一个矩形)

目标&#xff1a;使用OpenGL提供的函数绘制矩形、线段、三角形等基本图形元素 所需效果 实验步骤 1、配置OpenGL&#xff08;详情参见OpenGL的配置&#xff09; 2、头文件引入 #include <gl/glut.h> 3、编写方法体 1>矩形实现 //绘制矩形 void DisplayRectangl…

面试高频#LeetCode#Hot100-字母异位词分组

题号链接 49. 字母异位词分组 - 力扣&#xff08;LeetCode&#xff09; 1首先定义map集合一个String对应一个String[]集合&#xff0c;遍历字符串数组 2对其先进行拆分&#xff0c;拆分为字符数组&#xff0c;再进行排序&#xff0c;再转为字符串 3如果key值没有就创建一个字符…

超精密工件小孔几何尺寸测量:自动化解决方案

下载链接&#xff1a;&#xff08;最新版本&#xff09;超精密工件小孔几何尺寸测量&#xff1a;自动化解决方案python脚本代码&#xff0c;可直接运行&#xff0c;内包含测试数据&#xff0c;亲测好用资源-CSDN文库 在现代制造业中&#xff0c;超精密工件的质量控制至关重要&a…