feat(app_detail_window): 改进开发者信息获取逻辑,优先通过API查询
当存在有效的开发者ID时,优先通过API获取开发者名称,失败时再回退到本地数据。同时优化了异常处理流程,确保开发者信息能正确显示。
This commit is contained in:
Binary file not shown.
@@ -272,14 +272,42 @@ class AppDetailWindow(QMainWindow):
|
|||||||
|
|
||||||
# 更新头部信息
|
# 更新头部信息
|
||||||
self.app_title.setText(app_data.get('name', '未知应用'))
|
self.app_title.setText(app_data.get('name', '未知应用'))
|
||||||
# 改进开发者信息处理,确保能正确显示开发者名称
|
|
||||||
developer_name = app_data.get('developer_name', '')
|
# 通过开发者ID查询开发者名称
|
||||||
# 如果developer_name为空,尝试从其他可能的字段获取
|
developer_id = app_data.get('developer_id', '')
|
||||||
if not developer_name:
|
developer_name = "未知开发者"
|
||||||
developer_name = app_data.get('developer', '')
|
|
||||||
# 如果developer也为空,尝试使用developer_email
|
if developer_id and developer_id != "0":
|
||||||
if not developer_name:
|
# 尝试通过API获取开发者名称
|
||||||
developer_name = app_data.get('developer_email', '未知开发者')
|
try:
|
||||||
|
developer_info = self.api_client.make_request('getdeveloperinfo', {'id': developer_id})
|
||||||
|
if isinstance(developer_info, dict) and 'success' in developer_info and developer_info['success']:
|
||||||
|
developer_name = developer_info['data'].get('name', '未知开发者')
|
||||||
|
else:
|
||||||
|
# 如果API调用失败,尝试从本地数据获取
|
||||||
|
if 'developer_name' in app_data and app_data['developer_name']:
|
||||||
|
developer_name = app_data['developer_name']
|
||||||
|
elif 'developer' in app_data and app_data['developer']:
|
||||||
|
developer_name = app_data['developer']
|
||||||
|
elif 'developer_email' in app_data and app_data['developer_email']:
|
||||||
|
developer_name = app_data['developer_email']
|
||||||
|
except Exception as e:
|
||||||
|
# 异常处理,使用本地数据
|
||||||
|
if 'developer_name' in app_data and app_data['developer_name']:
|
||||||
|
developer_name = app_data['developer_name']
|
||||||
|
elif 'developer' in app_data and app_data['developer']:
|
||||||
|
developer_name = app_data['developer']
|
||||||
|
elif 'developer_email' in app_data and app_data['developer_email']:
|
||||||
|
developer_name = app_data['developer_email']
|
||||||
|
else:
|
||||||
|
# 如果没有有效的开发者ID,尝试从本地数据获取
|
||||||
|
if 'developer_name' in app_data and app_data['developer_name']:
|
||||||
|
developer_name = app_data['developer_name']
|
||||||
|
elif 'developer' in app_data and app_data['developer']:
|
||||||
|
developer_name = app_data['developer']
|
||||||
|
elif 'developer_email' in app_data and app_data['developer_email']:
|
||||||
|
developer_name = app_data['developer_email']
|
||||||
|
|
||||||
self.developer_label.setText(f"开发者: {developer_name}")
|
self.developer_label.setText(f"开发者: {developer_name}")
|
||||||
|
|
||||||
# 根据应用状态设置状态标签样式
|
# 根据应用状态设置状态标签样式
|
||||||
|
|||||||
Reference in New Issue
Block a user