Преглед изворни кода

feat(camera): 添加相机数量配置支持多摄像头模式

- 在API接口中新增USER_CAMERAS配置项用于传递相机数量参数
- 修改models.py为请求参数添加camera_counts字段定义
- 更新settings.py添加USER_CAMERAS全局配置变量
- 调整smart_shooter_class.py中的GetCameraInfo方法移除多余参数
- 修改initConfigIsoSettings调用使用settings.USER_CAMERAS替代临时参数
- 注释掉message_handler.py中的isMultiCameraMode相关代码
- 将config.ini默认环境从dev改为prod
rambo пре 3 дана
родитељ
комит
005b72b8c0

+ 3 - 0
python/api.py

@@ -1512,6 +1512,7 @@ def sync_sys_configs(params: SyncLocalConfigs):
     env = params.env
     settings.USER_TOKEN = hlm_token
     settings.USER_ENV = env
+    settings.USER_CAMERAS = params.camera_counts
     headers = {
         "Authorization": f"Bearer {hlm_token}",
         "content-type": "application/json",
@@ -1553,6 +1554,7 @@ def sync_action_configs(params: SyncLocalConfigs):
     env = params.env
     settings.USER_TOKEN = hlm_token
     settings.USER_ENV = env
+    settings.USER_CAMERAS = params.camera_counts
     headers = {
         "Authorization": f"Bearer {hlm_token}",
         "content-type": "application/json",
@@ -1763,6 +1765,7 @@ async def syncPhotoRecord(params:SyncPhotoRecord):
     # 查询所有不重复的货号及对应的最大时间,进行分页
     settings.USER_TOKEN = params.token
     settings.USER_ENV = params.env
+    settings.USER_CAMERAS = params.camera_counts
     syncStatus = settings.checkRecordSyncStatus()
     if syncStatus == True:
         # 同步过就无需再同步

+ 1 - 1
python/config.ini

@@ -10,7 +10,7 @@ app_run=api:app
 # 端口号
 port=7074
 debug=false
-env=dev
+env=prod
 # 线程数
 works=1
 project=惠利玛

+ 3 - 3
python/mcu/capture/smart_shooter_class.py

@@ -138,7 +138,7 @@ class SmartShooter(metaclass=SingletonType):
                 return prop.get('CameraPropertyRange')
 
         return None
-    async def GetCameraInfo(self, is_send=True, msg_type="", CameraKey=None,isMultCameraMode=False):
+    async def GetCameraInfo(self, is_send=True, msg_type="", CameraKey=None):
         await asyncio.sleep(0.001)
         # self.msg_type = msg_type
         """
@@ -236,7 +236,7 @@ class SmartShooter(metaclass=SingletonType):
                 await self.sendMessageSocket(message)
             # print("相机已连接状态信息---->", cameraInfo)
             self.initConfigIsoSettings(
-                CameraLists=CameraLists, isMultCameraMode=isMultCameraMode
+                CameraLists=CameraLists, isMultCameraMode=settings.USER_CAMERAS
             )
             return True, "相机已连接"
         except zmq.Again as e:
@@ -401,7 +401,7 @@ class SmartShooter(metaclass=SingletonType):
         # 同步本地到线上
         settings.sync_sys_configs2Online()
     async def EnableCameraPreview(
-        self, enable_status=True, msg_type="", CameraKey=None
+        self, enable_status=True, msg_type="", CameraKey=None,isMultCameraMode=False
     ):
         print("收到得msg_type====>>>", msg_type)
         self.msg_type = msg_type

+ 2 - 1
python/models.py

@@ -151,7 +151,7 @@ class SyncLocalConfigs(BaseModel):
 
     token: str = Field(default=None, description="用户token")
     env: str = Field(default="dev", description="当前环境")
-
+    camera_counts: bool = Field(default=False, description="相机数量")
 
 class GenerateImageJson(BaseModel):
     """货号json数据生成"""
@@ -171,6 +171,7 @@ class SyncPhotoRecord(BaseModel):
 
     token: str = Field(default=None, description="用户token")
     env: str = Field(default="dev", description="当前环境")
+    camera_counts: bool = Field(default=False, description="相机数量")
 
 
 class RenameShadow(BaseModel):

+ 1 - 0
python/settings.py

@@ -22,6 +22,7 @@ from databases import (
 )
 USER_TOKEN = None  # 可以通过外部设置或从配置文件中加载
 USER_ENV = None  # 可以通过外部设置或从配置文件中加载
+USER_CAMERAS = False  # 可以通过外部设置或从配置文件中加载
 # 追加配置参数 machine_type 拍照机设备类型;0鞋;1服装
 MACHINE_TYPE = 0
 # 初始化数据表

+ 2 - 2
python/sockets/message_handler.py

@@ -439,12 +439,12 @@ async def handlerSend(
             # token
             # env
             # print("smart_shooter_getinfo",data)
-            isMultCameraMode = data.get("isMultiCameraMode",False)
+            # isMultCameraMode = data.get("isMultiCameraMode",False)
             loop.create_task(
                 smart_shooter.GetCameraInfo(
                     msg_type="smart_shooter_getinfo",
                     is_send=True,
-                    isMultCameraMode=isMultCameraMode,
+                    # isMultCameraMode=isMultCameraMode,
                 ),
                 name="smart_shooter_getinfo",
             )