人脸识别门禁信息模块

人脸识别门禁信息模块(2023-04-21)

实验室完成了人脸识别门禁的功能,为了方便找到某个实验室的门在何时被谁打开,需要将门禁的开锁信息保存到数据库中,门禁信息由智能门锁返回,现在需要实现人脸识别门禁信息的储存。

序号 任务 完成情况
1 model的设计
2 后端门禁信息处理的url设计
3 后端门禁信息处理的view设计
4 后端门禁信息处理的serializer设计
5 前端界面设计(一个talbe展示数据即可)

想法:

1、model的设计

阅读门禁系统的代码现在暂时确定有如下字段:

名字(name),实验室(location),类型(type),时间(time),被访问人(visited)

2、后端门禁信息处理的url设计

后端有两个url设计,一个是接收门禁系统发来的门禁解锁信息,处理之后储存在数据库中,另一个是查询数据库中的门禁解锁日志,返回给前端然后展示给用户。

r'^v1/accesscontrolsystem/server/$'
r'^v1/accesscontrolsystem/$'
3、后端门禁信息处理的view设计

后端设计两个view用来对相应的两个url进行请求处理。

class AccessControlSystemCreateAPIView(generics.CreateAPIView):
class AccessControlSystemListAPIView(generics.ListAPIView):
4、后端门禁信息处理的serializer设计

因为门禁系统传入的数据需要经过处理之后才可以存入数据库,这边的model中的字段名称和处理前的字段是不一样的,所以在serializer中需要重写to_representation(self, instance)方法来对返回的数据进行处理。在validate(self, data)中验证数据完整性时对传入的数据进行处理,拿出必要的字段来储存到数据库中,这边写了单独的类集成了必要字段的方法:

class DoorManagerRecordParser:
    def isGuest(cls,recordDict):
    def isUser(cls,recordDict):
    def name(cls,recordDict):
    def visitedName(cls,recordDict):
    def location(cls,recordDict):
    def timestamp(cls,recordDict):
    def time(cls, recordDict):
    def uuid(cls, recordDict):

这边可以直接通过类方法,传入数据即可返回需要储存到数据库中的字段。

5、前端界面设计(一个talbe展示数据即可)

前端这边只需要展示解锁信息即可,不需要修改和删除操作,所以这边就写一个table就可以了,数据直接调用接口查询数据库中的信息,然后对必要字段进行展示即可。

posted @ 2023-04-24 11:14  hhhhuaz  阅读(146)  评论(0)    收藏  举报