diff --git a/client.pyw b/client.pyw index 62c768f..ceac7e0 100644 --- a/client.pyw +++ b/client.pyw @@ -1,6 +1,5 @@ import os -import platform -import tkinter as tk +from tkinter import * from tkinter import messagebox from time import sleep import sys @@ -8,7 +7,6 @@ import sys # Define constants CURRENT_DIR = os.getcwd() FILE_ERROR = '文件丢失,请检查文件内容并重新安装' -system = platform.system() # Define functions def open_exe(exe_name): @@ -35,8 +33,10 @@ def quit_exe(): os.system('taskkill -f -t -im wuguokai.exe') os.system('taskkill -f -t -im extkj.exe') os.system('taskkill -f -t -im bnu120.exe') - os.system('taskkill -f -t -im lbbai.exe') + os.system('taskkill -f -t -im xjai.exe') os.system('taskkill -f -t -im chat_command.exe') + os.system('taskkill -f -t -im sittings.exe') + os.system('taskkill -f -t -im update.exe') os.system('taskkill -f -t -im python.exe') sys.exit() @@ -48,10 +48,10 @@ def gk(): open_exe("gk") def sittings(): - st = tk.Tk() - bt_update = tk.Button(st, text='更新日志', command=update) - bt_gk = tk.Button(st, text='关于', command=gk) - bt_jc = tk.Button(st, text='检测文件完整度', command=jc) + st = Tk() + bt_update = Button(st, text='更新日志', command=update) + bt_gk = Button(st, text='关于', command=gk) + bt_jc = Button(st, text='检测文件完整度', command=jc) # pack bt_jc.pack() bt_update.pack() @@ -63,14 +63,14 @@ def sittings(): # Create GUI -root = tk.Tk() +root = Tk() root.title('chatGPT') root.geometry('200x200+400+400') -tk.Label(root, text='chatGPT').pack() +Label(root, text='chatGPT').pack() -bt_web_xz = tk.Button(root, text='网站选择', command=web_xz) -bt_st = tk.Button(root, text='其他内容', command=sittings) -quit_bt = tk.Button(root, text='退出', command=quit_exe) +bt_web_xz = Button(root, text='网站选择', command=web_xz) +bt_st = Button(root, text='其他内容', command=sittings) +quit_bt = Button(root, text='退出', command=quit_exe) bt_web_xz.pack() bt_st.pack() diff --git a/update.pyw b/update.pyw index 4aa1645..beaded2 100644 --- a/update.pyw +++ b/update.pyw @@ -4,6 +4,9 @@ from tkinter import * from tkinter.scrolledtext import ScrolledText import webbrowser +import os +import json +import requests from tkinter import messagebox root = Tk() @@ -13,6 +16,33 @@ def quit_exe(): def update_now(): webbrowser.open("https://kgithub.com/dengrb1/chatgpt/releases/") messagebox.showinfo('update', '请选择最新版本并下载运行安装程序,然后就可以更新了!') +def downloads_update_now(): + url = 'https://api.github.com/repos/dengrb1/chatgpt/releases/latest' + + response = requests.get(url, headers={'Accept': 'application/vnd.github.v3+json'}) + release_info = json.loads(response.text) + + new_version = release_info['tag_name'] + current_version = '1.3' # 修改为你的已有版本号 + + if new_version != current_version: + messagebox.showinfo('在线更新','发现新版本: {}'.format(new_version)) + messagebox.showinfo('准备更新') + + # 下载最新程序并保存到本地 + download_url = release_info['assets'][0]['browser_download_url'] # 假设发布包第一个asset为我们要下载的程序 + file_name = download_url.split('/')[-1] + file_path = os.path.join(os.getcwd(), file_name) + + print('开始下载:{}'.format(file_name)) + response = requests.get(download_url) + with open(file_path, 'wb') as f: + f.write(response.content) + print('下载完成!') + # 打开更新程序 + os.startfile(file_path) + else: + print('当前已是最新版本') # Label update_now_bt = Button(root ,text='在线更新', command=update_now).pack(side=RIGHT) @@ -47,4 +77,5 @@ quit_bt = Button(root, text='返回', command=quit_exe).pack() # mainloop root.title('更新日志') root.geometry('355x250+400+400') +downloads_update_now() root.mainloop() diff --git a/xjai.pyw b/xjai.pyw index ba97acf..f37a3f3 100644 --- a/xjai.pyw +++ b/xjai.pyw @@ -16,7 +16,9 @@ class Browser(QMainWindow): refresh_button.triggered.connect(self.browser.reload) self.toolbar = self.addToolBar('Refresh') self.toolbar.addAction(refresh_button) + +# mainloop app = QApplication(sys.argv) browser = Browser() browser.showMaximized()