每个用户都有一个用户ID和密码,用户使用这个用户ID和密码登录LogBook系统。在注册这个用户ID时,需要对用户的相关信息进行收集,如姓名、学号/工号、邮箱信息(忘记密码了进行重置密码)。
在权限系统中,首先是有一个级别最高的管理员,能够对LogBook系统中的各用户进行权限分配和管理,也具有对LogBook中的相关记录信息进行增删查改等基本操作的权限。
然后就是组,针对不同的实验小组,级别最高的管理员能够建立不同的组,并将不同实验小组的成员划分到各小组并分配相关权限。在组中,存在一个组内的高级管理员,能够对组内相关成员的权限进行管理,也能够拉其他成员进入小组,并拥有创建相关的辅助记录结构的权限。
每个用户都能对主记录进行查看、编辑、删除,不管有没有加入组。但辅助记录的权限有所不同,不同的实验小组应该是不能相互干涉各自的辅助记录结构的,比如说,A小组是做“ECRH控制”的,那么A小组的成员1在创建对应“ECRH控制”的辅助记录结构之后,A小组的包括成员1在内的其他成员能对含有“ECRH控制”的相关辅助记录结构和内容进行编辑、删除操作,而其他小组是不具有管理权限的,仅能查看。也就是说,辅助记录和每个小组应该是一一对应的,其他小组的成员是无法修改本小组所创建的相关辅助记录的。
后面最好是能够支持LDAP服务进行账号管理,方便在日后搭建的一些其他内部平台之间通用。
主记录增删查改 | 辅助记录增删查改 | 辅助记录结构 | 划分组并分配权限 | |
---|---|---|---|---|
最高级管理员 | √ | √ | √ | √ |
组管理员 | √ | √ | √ | 仅能给组内成员分配权限 |
组成员用户 | √ | √ | 仅能查看 | × |
普通用户(未分配组) | √ | 仅能查看 | 仅能查看 | × |
支持导出json和csv格式,但是如果是csv格式的话辅助记录可能会有点不好搞,建议以csv格式导出时,辅助记录就以json的格式作为一段字符序列保存。
系统数据:实验日期时间、进行操作的用户ID、修改时间、修改类型
这类数据可以直接读取系统中的相关信息,需要设置为自动获取。
每一炮都不一样的实验数据:炮号、纵场、电流、密度、炮的类型
这类数据有些可以从实验产生的相关数据中获取到,有些需要实验记录员自行判断记录,这一部分需要和实验组的同学讨论后再进行设计。
连着很多炮都基本相同的实验数据:实验提案编号、实验提案名称、实验提案人、放电内容、操作员列表、限制器位置、本底气压、DV是否开启
这类数据连着很多炮都基本相同,需要设置为默认自动继承上一炮的数据,需要更改时再修改
后面可能会需要辅助记录单独做一个界面出来,在这个界面里面能够对该条辅助记录中的相关信息更详细的查看,比如说把放大图片、阅读文档之类的操作。
之前说了两种方案,这里还是使用方案:在创建辅助记录的时候,把辅助记录的结构也写进去,这样子就算把结构列表里面的辅助记录结构修改了,原有的辅助记录也不会改变。
后续要支持文件、图片的上传,就存储在本地服务器中。
左右不要铺的太满,美化一下,对齐一点,可以考虑用columns分栏布局。
本文章使用limfx的vscode插件快速发布