From cea9614989d1e81cd8f9b6a76af77b8c124417eb Mon Sep 17 00:00:00 2001 From: Leonmmcoset Date: Wed, 24 Sep 2025 22:01:59 +0800 Subject: [PATCH] =?UTF-8?q?feat(app=5Fdetail=5Fwindow):=20=E6=94=B9?= =?UTF-8?q?=E8=BF=9B=E5=BC=80=E5=8F=91=E8=80=85=E4=BF=A1=E6=81=AF=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E9=80=BB=E8=BE=91=EF=BC=8C=E4=BC=98=E5=85=88=E9=80=9A?= =?UTF-8?q?=E8=BF=87API=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 当存在有效的开发者ID时,优先通过API获取开发者名称,失败时再回退到本地数据。同时优化了异常处理流程,确保开发者信息能正确显示。 --- .../app_detail_window.cpython-312.pyc | Bin 34679 -> 35503 bytes pyqt5fluentdesign/app_detail_window.py | 44 ++++++++++++++---- 2 files changed, 36 insertions(+), 8 deletions(-) diff --git a/pyqt5fluentdesign/__pycache__/app_detail_window.cpython-312.pyc b/pyqt5fluentdesign/__pycache__/app_detail_window.cpython-312.pyc index c517a0149593f87f0f35a2970ee286186a7032c0..b6973ae9b95b80e6cd8f325bc19c1c770ce4298a 100644 GIT binary patch delta 2603 zcmcIle@t7~6~6cRH<)Lr0YhvPXV}048*spZ6bd#N$~rKRCXj@-F5$V2alp>A69{|M zs7+WmWi8R&s-~*ebgLR9TFr~I%u?Dc)zqZFlKDB=;-RP|={9XkwXw9_R;^ig?{iF} zY5i-OB|d-ee&>AW-1Dw4e}9Vl@%JhE-MqXUfIm5(UD_Rc{3rB#)s$Kpzgj&{-NkBV zWxSM|X%H}ERW|_EZ%rbE`n2B*b7&oIg#9|$5$h5-<%$uewj7447IX_0e6iFVcLWVvgr-zqOe zb@!;K@dor)UZ1Px)pPK09j_jDplh^NQ}(4fUTZ>j+Mql)Y?!6Abw{|KuYk~(oHdb9CFdj}>=9%m-0a?TgtwMEFsT_!1AWOt1NRMdKdyqN6JJ7g!4CVKAA{6-SF|R0_ZxSd~WO`c3O$ zbX5)v<`-Izwl2~M>XN?Y$=9amu8w0a)D{T!gLBu z=h^OL?}L|^hmO*utaWi(i0YdXJ;|PZ``7JCF^W1{42O=`0T zE3trJ>mWjHtV%H6otRGc>`1lm6m#wsY(39<{;^sN3eCr+1#MldCwWg_s?n3S*pjtv zf~Eb4CtYMZ)*}>IVG{nSh{V!%d*Tb6C+;E;b9ghJ-Td8ca2BNi+83#tyu-qjb8|yr>jP>tov!ft2Gu zti);rri}>Ii@Sx=O^N2Ddt0hyNX)_Ga6e0b@!6_|*#7gA5Cr+9H-Sn;UsY?L?)!FM zy0|R8uJPpk33RKup}!Zuz{k5(9xHfL?b_VOfb%kUD}H*9a#i533yjLcNG@!&dd!lG zWpcc7(JaF&7a0lRR@Hz+a?#(#{SDa_yITUbJLVp~&ZYW_a z9=(r;1(`!ePLX$Plw-NeNZoq^o<~3Lt%g60|EYIL0aws7TPxtT`0HCw!F9jK?Q!IG zSysCHJGb?9dA4$YAZvd_-yLG$E%dXY?C!JS6m3tpFJ zauFZugI4rT$ONb3H$pGT;3>4Q{|szF{Zr1|J1o$1Q*PLaKA2+U@8Eyi;eVkcGrG8C z`g7=RAr0V*W!yIw$u##>O)!*r3vut_hQj2ZzsZytu^ahjD&WWQ!!u_k(2n{Zd%xa; zT{9y#a9?h_nCwTK^A4hmQ`kwE9gRfS<)0xkId+_#0D}%iov<67i`wh&*b9~zI@5_b zOVL#H%UBV=5mY(%Dg`9*U(X$&@JktZqAf~ZxQEHPqa6~ztQy>v~ z{lQbPAEgdpe(=Zmuv)=9ukAV7eW;P#@0Lv0EdC8KY4 zOVO_m4N?%Is`(m5JkMhLYGObxeU2s|j$I=%0tUp-59GEHuPp=y(3N>J+=o7&A1`pL Pp>84YDInimC64|#+1kS{ delta 1724 zcmZux3v5$W7`~^^wPkHb3){L4x~(0%-NqgaHpVj6Q4GpfMo`Meva#+K)@`iaX<;y0 zMbtfz7?MAl7-N)ZoXJ#zcOc;vBqGxxPG)3j46jU$5fzR22+?`|TONz?Cigqv{m*y) z*E#1Neo^+v3o`w9VxpE~Pv4)D?HBeO(O-1PcB;g$9sM#@L=nn~$e^diY!)m+>WB<= z92ZrviMjEKxk8#?m^Hz5SmBEeCYZ@LDTMTh0&Xw1dou*%1BuelMOExo3kxDDVPPfn zCs-NFlvoyH*%GrcW|WvcqQ0lgVJxm_OH%b2keKHP3$G0jAU*{UK+!8RfTVl=_u z+s*L0!6b{Qai%n)M13lYdOxEPf;Dj*;lhjJjN`)meHP(598y7>t!Y4ul9dS$ES@40 zRIk)Rf3_KnYZB%}H4)8Ta-cAx=~x0c^djS!Zd^Q)Zx*yucQFl}uHo&Eh4A@qpCtBE9vNq2V;oiv`QO8w;Yv2Svs(n(s zn~#sZq?g+zZ{T_fpD*4j870bLCXK4(za?mS*HnOSvEe_{0X+sM9wqi}TmHFTIXxZ9K?vn~<4jaZZHMQmPafee;yF`9*iL$m_e78C>h$SAC32 z?9!6&mnD*ZF{^$=O|HTvPY$^z-tinGmT4xTcuryou63)Ps9WuRoPLY8@8Em`Pwv9c z4a518ccb77wNZaC><@I`3xc{^2tOkHgm4$mHS**F+-fW!pNp2wMmfY%gPLX^S{WDSn_;SORe?bywrhB$gq@{w%6zN(m-#BU6GBb+=Or%0S^Q%Mpy)= z_f-=Y{IjpP=s)S{)mBW=&1+}ni29hO zt;-+u2JmD{@n6Ew|Fb8&B7VgcVc)KBd|Nx&`jCR@t?Y^SXA9&HTZ81~yp2uk;NB(>{E^1;qK9F7$K(*FW6Q_@NR 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}") # 根据应用状态设置状态标签样式