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', '未知应用'))
|
||||
# 改进开发者信息处理,确保能正确显示开发者名称
|
||||
developer_name = app_data.get('developer_name', '')
|
||||
# 如果developer_name为空,尝试从其他可能的字段获取
|
||||
if not developer_name:
|
||||
developer_name = app_data.get('developer', '')
|
||||
# 如果developer也为空,尝试使用developer_email
|
||||
if not developer_name:
|
||||
developer_name = app_data.get('developer_email', '未知开发者')
|
||||
|
||||
# 通过开发者ID查询开发者名称
|
||||
developer_id = app_data.get('developer_id', '')
|
||||
developer_name = "未知开发者"
|
||||
|
||||
if developer_id and developer_id != "0":
|
||||
# 尝试通过API获取开发者名称
|
||||
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}")
|
||||
|
||||
# 根据应用状态设置状态标签样式
|
||||
|
||||
Reference in New Issue
Block a user