scense_demo/wwwroot/api/hotload.dspy
2026-08-29 21:10:23 +08:00

25 lines
1.2 KiB
Plaintext

# -*- coding: utf-8 -*-
# demo/api/hotload.dspy —— W-07d 脚本保存热加载(语法校验通过即生效)
# 入参: session_id(必填), script_id(必填), script_name(可选), script_type(可选 python/expr), script_content(必填)
try:
if not params_kw.get('session_id') or not params_kw.get('script_id'):
return {"status": 400, "message": "session_id/script_id 不能为空"}
if not params_kw.get('script_content'):
return {"status": 400, "message": "script_content 不能为空"}
data = await hotload_script(
session_id=params_kw.get('session_id'),
script_id=params_kw.get('script_id'),
script_name=params_kw.get('script_name', ''),
script_type=params_kw.get('script_type', 'python'),
script_content=params_kw.get('script_content'),
)
return {"status": 200, "data": data}
except DemoParamError as e:
return {"status": 400, "message": str(e)}
except DemoNotFoundError as e:
return {"status": 404, "message": str(e)}
except DemoStateError as e:
return {"status": 400, "message": str(e)}
except Exception as e:
return {"status": 500, "message": "hotload_script 内部错误: %s" % e}