Ver código fonte

```
feat(api): 添加环境参数支持多环境配置同步

添加env参数到SyncLocalConfigs模型,用于区分不同环境的API域名。
修改sync_sys_configs和sync_actions接口,根据传入的环境参数动态获取
对应的域名地址,支持dev和非dev环境的配置同步。
```

rambo 4 semanas atrás
pai
commit
7a0be1bb58
3 arquivos alterados com 7 adições e 3 exclusões
  1. 4 2
      python/api.py
  2. 1 0
      python/models.py
  3. 2 1
      python/settings.py

+ 4 - 2
python/api.py

@@ -1435,12 +1435,13 @@ def syncUserJsonConfigs(token):
 @app.post("/sync_sys_configs", description="同步线上配置到本地")
 def sync_sys_configs(params: SyncLocalConfigs):
     hlm_token = params.token
+    env = params.env
     headers = {
         "Authorization": f"Bearer {hlm_token}",
         "content-type": "application/json",
     }
     # 追加配置参数 machine_type 拍照机设备类型;0鞋;1服装
-    url = settings.DOMAIN + f"/api/ai_image/camera_machine/get_all_user_configs?machine_type={MACHINE_TYPE}"
+    url = settings.getDoman(env) + f"/api/ai_image/camera_machine/get_all_user_configs?machine_type={MACHINE_TYPE}"
     result = requests.get(url=url, headers=headers)
     sys_configs = result.json().get("data", {}).get("configs")
     session = SqlQuery()
@@ -1473,11 +1474,12 @@ def sync_sys_configs(params: SyncLocalConfigs):
 @app.post("/sync_actions", description="同步左右脚配置到本地")
 def sync_action_configs(params: SyncLocalConfigs):
     hlm_token = params.token
+    env = params.env
     headers = {
         "Authorization": f"Bearer {hlm_token}",
         "content-type": "application/json",
     }
-    url = settings.DOMAIN + f"/api/ai_image/camera_machine/get_all_user_tabs?machine_type={MACHINE_TYPE}"
+    url = settings.getDoman(env) + f"/api/ai_image/camera_machine/get_all_user_tabs?machine_type={MACHINE_TYPE}"
     result = requests.get(url=url, headers=headers)
     session = SqlQuery()
     deviceConfigs = CRUD(DeviceConfig)

+ 1 - 0
python/models.py

@@ -146,6 +146,7 @@ class SyncLocalConfigs(BaseModel):
     """同步系统配置"""
 
     token: str = Field(default=None, description="用户token")
+    env: str = Field(default="dev", description="当前环境")
     
 
 class GenerateImageJson(BaseModel):

+ 2 - 1
python/settings.py

@@ -211,7 +211,8 @@ DOMAIN = (
     if config.get("app", "env") != "dev"
     else "https://dev2.pubdata.cn"
 )
-
+def getDoman(env):
+    return "https://dev2.valimart.net" if env != "dev" else "https://dev2.pubdata.cn"
 
 Company = "惠利玛"