hikvision/iot/card-model.go

76 lines
1.6 KiB
Go

package iot
import (
"encoding/json"
"myschools.me/suguo/hikvision/iot/model"
)
const (
card_base = "/api/v1/open/basic/cards"
card_create = card_base + "/batchCreate"
card_delete = card_base + "/batchDelete"
card_delete_cards = card_base + "/deletePersonCards"
)
// 新增卡片
func CardCreate(cards []model.CardCreateReq) (*model.Hikvision, error) {
req := &struct {
Cards []model.CardCreateReq `json:"cards"`
}{
Cards: cards,
}
resp, err := hikvisionRequest("POST", card_create, req)
if err != nil {
return nil, err
}
var result = &model.Hikvision{}
if err := json.Unmarshal(resp, &result); err != nil {
return nil, err
}
return result, nil
}
// 删除卡片
func CardDelete(cardNos []string) (*model.Hikvision, error) {
req := &struct {
CardNos []string `json:"cardNos"`
}{
CardNos: cardNos,
}
resp, err := hikvisionRequest("POST", card_delete, req)
if err != nil {
return nil, err
}
var result = &model.Hikvision{}
if err := json.Unmarshal(resp, &result); err != nil {
return nil, err
}
return result, nil
}
// 根据人员编号删除卡片
func CardDeleteByEmployeeNo(employeeNo string, cardNos []string) (*model.Hikvision, error) {
req := &struct {
EmployeeNo string `json:"employeeNo"`
CardNos []string `json:"cardNos"`
}{
EmployeeNo: employeeNo,
CardNos: cardNos,
}
resp, err := hikvisionRequest("POST", card_delete_cards, req)
if err != nil {
return nil, err
}
var result = &model.Hikvision{}
if err := json.Unmarshal(resp, &result); err != nil {
return nil, err
}
return result, nil
}