新增数字人版本管理
This commit is contained in:
@@ -1430,6 +1430,134 @@ def list_versions():
|
||||
return jsonify({'success': False, 'error': str(e)})
|
||||
|
||||
|
||||
# ========== 数字人版本管理(代理到 Java 后端)==========
|
||||
|
||||
@admin_api.route('/digital-human-versions')
|
||||
@admin_required
|
||||
def list_digital_human_versions():
|
||||
"""代理:查询数字人版本列表"""
|
||||
_, _, denied = _ensure_admin_menu_access('version')
|
||||
if denied:
|
||||
return denied
|
||||
page = request.args.get('page', '1')
|
||||
page_size = request.args.get('pageSize', '20')
|
||||
status = request.args.get('status', '')
|
||||
params = {'page': page, 'pageSize': page_size}
|
||||
if status:
|
||||
params['status'] = status
|
||||
result, error_response, status_code = _proxy_backend_java(
|
||||
'GET',
|
||||
'/api/digital-human/versions',
|
||||
params=params,
|
||||
timeout=30
|
||||
)
|
||||
if error_response:
|
||||
return error_response, status_code
|
||||
return jsonify(result)
|
||||
|
||||
|
||||
@admin_api.route('/digital-human-versions/latest')
|
||||
@admin_required
|
||||
def get_latest_digital_human_version():
|
||||
"""代理:获取最新数字人版本"""
|
||||
result, error_response, status_code = _proxy_backend_java(
|
||||
'GET',
|
||||
'/api/digital-human/versions/latest',
|
||||
timeout=10
|
||||
)
|
||||
if error_response:
|
||||
return error_response, status_code
|
||||
return jsonify(result)
|
||||
|
||||
|
||||
@admin_api.route('/digital-human-versions/upload', methods=['POST'])
|
||||
@admin_required
|
||||
def upload_digital_human_version():
|
||||
"""代理:上传数字人版本"""
|
||||
_, _, denied = _ensure_admin_menu_access('version')
|
||||
if denied:
|
||||
return denied
|
||||
|
||||
version = request.form.get('version', '').strip()
|
||||
changelog = request.form.get('changelog', '').strip()
|
||||
min_client_version = request.form.get('minClientVersion', '').strip()
|
||||
file_storage = request.files.get('file')
|
||||
|
||||
if not version:
|
||||
return jsonify({'success': False, 'message': '请填写版本号'}), 400
|
||||
if not file_storage:
|
||||
return jsonify({'success': False, 'message': '请选择文件'}), 400
|
||||
|
||||
files = {'file': (file_storage.filename, file_storage.stream, file_storage.content_type)}
|
||||
data = {'version': version}
|
||||
if changelog:
|
||||
data['changelog'] = changelog
|
||||
if min_client_version:
|
||||
data['minClientVersion'] = min_client_version
|
||||
|
||||
result, error_response, status_code = _proxy_backend_java(
|
||||
'POST',
|
||||
'/api/digital-human/versions/upload',
|
||||
files=files,
|
||||
data=data,
|
||||
timeout=300
|
||||
)
|
||||
if error_response:
|
||||
return error_response, status_code
|
||||
return jsonify(result)
|
||||
|
||||
|
||||
@admin_api.route('/digital-human-versions/<version>/release', methods=['POST'])
|
||||
@admin_required
|
||||
def release_digital_human_version(version):
|
||||
"""代理:发布数字人版本"""
|
||||
_, _, denied = _ensure_admin_menu_access('version')
|
||||
if denied:
|
||||
return denied
|
||||
result, error_response, status_code = _proxy_backend_java(
|
||||
'POST',
|
||||
f'/api/digital-human/versions/{version}/release',
|
||||
timeout=10
|
||||
)
|
||||
if error_response:
|
||||
return error_response, status_code
|
||||
return jsonify(result)
|
||||
|
||||
|
||||
@admin_api.route('/digital-human-versions/<version>/set-latest', methods=['POST'])
|
||||
@admin_required
|
||||
def set_latest_digital_human_version(version):
|
||||
"""代理:设为最新数字人版本"""
|
||||
_, _, denied = _ensure_admin_menu_access('version')
|
||||
if denied:
|
||||
return denied
|
||||
result, error_response, status_code = _proxy_backend_java(
|
||||
'POST',
|
||||
f'/api/digital-human/versions/{version}/set-latest',
|
||||
timeout=10
|
||||
)
|
||||
if error_response:
|
||||
return error_response, status_code
|
||||
return jsonify(result)
|
||||
|
||||
|
||||
@admin_api.route('/digital-human-versions/<version>', methods=['DELETE'])
|
||||
@admin_required
|
||||
def delete_digital_human_version(version):
|
||||
"""代理:删除数字人版本"""
|
||||
_, _, denied = _ensure_admin_menu_access('version')
|
||||
if denied:
|
||||
return denied
|
||||
result, error_response, status_code = _proxy_backend_java(
|
||||
'DELETE',
|
||||
f'/api/digital-human/versions/{version}',
|
||||
timeout=30
|
||||
)
|
||||
if error_response:
|
||||
return error_response, status_code
|
||||
return jsonify(result)
|
||||
|
||||
|
||||
@admin_api.route('/version', methods=['POST'])
|
||||
@admin_required
|
||||
def upload_version():
|
||||
|
||||
Reference in New Issue
Block a user