123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- # coding=utf-8
- from library.yinkayo.api.base import ApiBase
- from library.yinkayo.constants import RemoteType, DoorTaskStatus
- class Door(ApiBase):
- def _remote_operate(self, doorIDs, remoteTye):
- """
- 对门的远程操控
- {
- "RetCode": 1,
- "ErrCode": 0,
- "ErrDesc": '',
- "RetData": {
- "tID":1 ,//任务ID
- "DoorID":1 ,//设备ID
- "DoorSN":"FC-" //设备SN
- }
- }
- """
- data = {
- "IDList": ",".join(str(_) for _ in doorIDs),
- "RemoteType": remoteTye
- }
- response = self._post("/WebAPI/Door/Remote", **data)
- return response.json()
- def open(self, *doorIDs):
- return self._remote_operate(doorIDs, RemoteType.OPEN)
- def get_doors(self, pageNum=1, pageSize=10):
- data = {
- "pageSize": pageSize,
- "pageNum": pageNum
- }
- response = self._post("/WebAPI/Door/GetListOnPage", **data)
- return response.json()
- def get_door_by_id(self, doorId):
- response = self._post("/WebAPI/Door/GetByID", DoorId=doorId)
- return response.json()
- def get_operate_record(self, *taskIDs):
- data = {
- "sIDList": "".join((str(_) for _ in taskIDs))
- }
- response = self._post("/WebAPI/Door/GetDoorOperationTaskRecordList", **data)
- return response.json()
- def get_sn_details(self, sn):
- data = {
- "SN": sn
- }
- response = self._post("/WebAPI/Door/GetSNDetails", **data)
- return response.json()
- @staticmethod
- def is_task_init(status):
- return status == DoorTaskStatus.TODO
- @staticmethod
- def is_task_ing(status):
- return status == DoorTaskStatus.ING
- @staticmethod
- def is_task_done(status):
- return status == DoorTaskStatus.DONE
- @staticmethod
- def is_task_fail(status):
- return status == DoorTaskStatus.FAIL
- @staticmethod
- def is_task_timeout(status):
- return status == DoorTaskStatus.TIMEOUT
|