diff --git a/pyqt5fluentdesign/__pycache__/app_detail_window.cpython-312.pyc b/pyqt5fluentdesign/__pycache__/app_detail_window.cpython-312.pyc index c517a01..b6973ae 100644 Binary files a/pyqt5fluentdesign/__pycache__/app_detail_window.cpython-312.pyc and b/pyqt5fluentdesign/__pycache__/app_detail_window.cpython-312.pyc differ diff --git a/pyqt5fluentdesign/app_detail_window.py b/pyqt5fluentdesign/app_detail_window.py index 97b18c9..044b6f7 100644 --- a/pyqt5fluentdesign/app_detail_window.py +++ b/pyqt5fluentdesign/app_detail_window.py @@ -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}") # 根据应用状态设置状态标签样式