Browse Source

优化版本升级模块

Ricky 2 years ago
parent
commit
88cd1a83d1
2 changed files with 23 additions and 21 deletions
  1. 19 14
      spider/upgradespider.py
  2. 4 7
      ui/main/main.py

+ 19 - 14
spider/upgradespider.py

@@ -26,18 +26,23 @@ class UpgradeThread(threading.Thread):
 
     def run(self):
         url = 'https://gitee.com/lpf_project/RuoYi-MT/releases'
-        wb_data = requests.get(url)
-        soup = BeautifulSoup(wb_data.text, 'html.parser')
-        tags = soup.select('div .release-tag-item .release-meta .tag-name')
-        if len(tags) == 0:
-            return
-        content = soup.select(
-            'div .release-tag-item .release-body .content .markdown-body p')[0].text
-        tag = tags[0]
-        version = ''.join(list(filter(str.isdigit, tag['data-tag-name'])))
-        if int(version) > constant.APP_VERSION_INT:
-            wx.CallAfter(self.parent.upgrade_call_after, True,
-                         self.show_no_new_version_tip, tag['data-tag-name'], content)
-        else:
+        try:
+            wb_data = requests.get(url)
+            soup = BeautifulSoup(wb_data.text, 'html.parser')
+            tags = soup.select('div .release-tag-item .release-meta .tag-name')
+            if len(tags) == 0:
+                return
+            content = soup.select(
+                'div .release-tag-item .release-body .content .markdown-body p')[0].text
+            version_str = tags[0]['data-tag-name']
+            version = ''.join(list(filter(str.isdigit, version_str)))
+            if int(version) > constant.APP_VERSION_INT:
+                wx.CallAfter(self.parent.upgrade_call_after, True, self.show_no_new_version_tip,
+                             '新版本:%s\n\n更新日志:\n%s' % (version_str, content))
+            else:
+                wx.CallAfter(self.parent.upgrade_call_after,
+                             False, self.show_no_new_version_tip, '当前版本是最新版本!')
+        except Exception as error:
+            logger.error('检查更新异常:%s' % error)
             wx.CallAfter(self.parent.upgrade_call_after,
-                         False, self.show_no_new_version_tip)
+                         False, self.show_no_new_version_tip, '检查更新失败,请检查网络连接是否正常')

+ 4 - 7
ui/main/main.py

@@ -173,7 +173,7 @@ class Main(frame.MainFrame):
         self.m_text_log.AppendText(message)
         self.m_text_log.ShowPosition(self.m_text_log.GetLastPosition())
 
-    def upgrade_call_after(self, is_new_version, show_no_new_version_tip, title=None, message=None):
+    def upgrade_call_after(self, is_new_version, show_no_new_version_tip, message=None):
         """
         接收更新程序线程传递消息,弹窗提示框
 
@@ -181,23 +181,20 @@ class Main(frame.MainFrame):
             self (object): 当前对象
             is_new_version (bool): 是否是新版本
             show_no_new_version_tip (bool): 是否显示提示
-            title (str): 标题
             message (str): 消息
         """
+        logger.info('\n%s' % message)
         if is_new_version:
-            logger.info('检查更新结果:发现新的版本-{}', title)
             dlg = wx.GenericMessageDialog(
-                self, '新版本:%s\n\n更新日志:\n%s' %
-                (title, message), '版本更新提醒', wx.OK | wx.CANCEL)
+                self, message, '版本更新提醒', wx.OK | wx.CANCEL)
             dlg.SetOKCancelLabels('前往升级', '忽略更新')
             if dlg.ShowModal() == wx.ID_OK:
                 wx.LaunchDefaultBrowser(
                     'https://gitee.com/lpf_project/RuoYi-MT/releases')
             dlg.Destroy()
         else:
-            logger.info('检查更新结果:当前版本是最新版本!')
             if show_no_new_version_tip:
-                wx.MessageDialog(self, '当前版本是最新版本!', '检测更新', wx.OK).ShowModal()
+                wx.MessageDialog(self, message, '版本更新提醒', wx.OK).ShowModal()
 
     def check_input(self):
         """