From ffeee70a5b4d4b5a9f5996e395f379300fd4c280 Mon Sep 17 00:00:00 2001 From: haotianmingyue <2421912570@qq.com> Date: Fri, 19 Sep 2025 09:32:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E6=B7=BB=E5=8A=A0=E4=BA=BA?= =?UTF-8?q?=E8=84=B8=E5=88=86=E7=BB=84=E6=9C=8D=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 001测试海康api.py | 7 +++++++ config/env.py | 2 ++ util/haikang_util.py | 21 +++++++++++++++++++++ 3 files changed, 30 insertions(+) diff --git a/001测试海康api.py b/001测试海康api.py index e5dfa24..4f90cc4 100644 --- a/001测试海康api.py +++ b/001测试海康api.py @@ -177,6 +177,13 @@ async def get_all_employee_pictures(pageNo=1, pageSize=500): f.write(person_id + "\n") +# 添加单个人脸分组 +async def face_group_addition_service(name, description): + result = await HaikangUtil.face_group_addition(name, description) + print(result) + with open("face_group_addition_service.json", "w", encoding="utf-8") as f: + f.write(json.dumps(result[1])) + if __name__ == '__main__': diff --git a/config/env.py b/config/env.py index eaf9225..efe2d26 100644 --- a/config/env.py +++ b/config/env.py @@ -38,6 +38,8 @@ class HaiKangSettings: HAIKANG_PERSON_LIST = '/api/resource/v2/person/personList' HAIKANG_GET_PERSON_PICTURE = '/api/resource/v1/person/picture' + HAIKANG_FACE_GROUP_ADDITION = '/api/frs/v1/face/group/single/addition' + HAIKANG_FACE_SAVE_PATH = "./face_images" diff --git a/util/haikang_util.py b/util/haikang_util.py index 89e51ee..2163db0 100644 --- a/util/haikang_util.py +++ b/util/haikang_util.py @@ -538,3 +538,24 @@ class HaikangUtil: for chunk in back.iter_bytes(chunk_size=8192): if chunk: # 忽略 keep-alive 的空 chunk f.write(chunk) + + + # 单个添加人脸分组 + @classmethod + async def face_group_addition(cls, name, description): + url = f"{HaiKangConfig.HAIKANG_URL}:{HaiKangConfig.HAIKANG_PORT}/artemis{HaiKangConfig.HAIKANG_FACE_GROUP_ADDITION}" + body_dict = { + "name": name, + "description": description, + } + body_json = json.dumps(body_dict, separators=(",", ":")) + headers = cls.build_signed_headers( + "POST", url, body_json, HaiKangConfig.HAIKANG_AK, HaiKangConfig.HAIKANG_SK + ) + + back = await cls.send_request("POST", url, headers, body_json) + + if back["code"] == "0": + return [True, back["data"]] + else: + return [False, back["code"], back["msg"]] \ No newline at end of file