uengine-runner/uengine-runner-update-bug

113 lines
4.5 KiB
Plaintext
Raw Normal View History

2021-10-05 18:16:50 +08:00
#!/usr/bin/env python3
import os
2022-07-23 12:44:33 +08:00
import sys
2021-10-05 18:16:50 +08:00
import json
import base64
import requests
import traceback
import webbrowser
import updatekiller
2021-10-05 18:16:50 +08:00
import urllib.parse as parse
2022-07-23 12:44:33 +08:00
import PyQt5.QtGui as QtGui
import PyQt5.QtWidgets as QtWidgets
2021-10-05 18:16:50 +08:00
# 读取文本文档
def readtxt(path: "路径")->"读取文本文档":
f = open(path, "r") # 设置文件对象
str = f.read() # 获取内容
f.close() # 关闭文本对象
return str # 返回结果
def Update(name, stars, contact, things, version):
# post 内容
data = {
"Name": name,
"Starts": stars,
"Contact": contact,
"Things": things,
"Version": version
}
try:
2022-08-30 21:26:04 +08:00
QtWidgets.QMessageBox.information(widget, "提示", requests.post(parse.unquote(base64.b64decode("aHR0cHM6Ly8zMDQ2MjZwOTI3LmdvaG8uY28vdWVuZ2luZS1ydW5uZXIvYnVnL3VwbG9hZC5waHA=").decode("utf-8")), data=data).text)
2022-07-23 12:44:33 +08:00
print(data)
2021-10-05 18:16:50 +08:00
except:
traceback.print_exc()
2022-07-23 12:44:33 +08:00
QtWidgets.QMessageBox.critical(widget, "错误", f"服务器疑似出现错误,可以进行以下尝试:①多尝试几次;②使用其他反馈途径\n错误信息{traceback.format_exc()}")
2021-10-05 18:16:50 +08:00
def UpdateButtonClick():
#判断是否为空
2022-07-23 12:44:33 +08:00
if nameThings.text() == "" or starMenu.currentText() == "" or contactThings.text() == "" or updateThings.toPlainText().replace(" ", "").replace("\n", "") == "":
QtWidgets.QMessageBox.critical(widget, "错误", "反馈信息未填写完整!")
2021-10-05 18:16:50 +08:00
return
2022-07-23 12:44:33 +08:00
Update(name=nameThings.text(), stars=starMenu.currentText(), contact=contactThings.text(), things=updateThings.toPlainText(), version=version)
2021-10-05 18:16:50 +08:00
def OpenGiteeIssues():
webbrowser.open_new_tab("https://gitee.com/gfdgd-xi/uengine-runner/issues")
def OpenGithubIssues():
webbrowser.open_new_tab("https://github.com/gfdgd-xi/uengine-runner/issues")
2022-07-23 12:44:33 +08:00
def OpenGitlinkIssues():
webbrowser.open_new_tab("https://www.gitlink.org.cn/gfdgd_xi/uengine-runner/issues")
2022-12-18 18:48:30 +08:00
def OpenProgramForum():
2023-01-14 14:10:50 +08:00
webbrowser.open_new_tab("https://bbs.racoongx.cn/t/bugs")
2022-12-18 18:48:30 +08:00
2022-07-07 14:35:44 +08:00
# 获取用户主目录
def get_home()->"获取用户主目录":
return os.path.expanduser('~')
2021-10-05 18:16:50 +08:00
###########################
# 程序信息
###########################
2022-07-23 12:44:33 +08:00
iconPath = "{}/runner.svg".format(os.path.split(os.path.realpath(__file__))[0])
2021-10-05 18:16:50 +08:00
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
information = json.loads(readtxt(programPath + "/information.json"))
version = information["Version"]
###########################
# 窗口创建
###########################
2022-07-23 12:44:33 +08:00
app = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QMainWindow()
widget = QtWidgets.QWidget()
widgetLayout = QtWidgets.QGridLayout()
nameThings = QtWidgets.QLineEdit()
contactThings = QtWidgets.QLineEdit()
starMenu = QtWidgets.QComboBox()
updateThings = QtWidgets.QTextEdit()
updateButton = QtWidgets.QPushButton("提交")
otherUpload = QtWidgets.QHBoxLayout()
giteeButton = QtWidgets.QPushButton("Gitee Issues")
githubButton = QtWidgets.QPushButton("Github Issues")
gitlinkButton = QtWidgets.QPushButton("Gitlink Issues")
2022-12-18 18:48:30 +08:00
forumButton = QtWidgets.QPushButton("论坛反馈")
2022-07-23 12:44:33 +08:00
otherUpload.addWidget(QtWidgets.QLabel("如果无法正常反馈,可以用其他方式反馈:"))
otherUpload.addWidget(giteeButton)
otherUpload.addWidget(githubButton)
otherUpload.addWidget(gitlinkButton)
2022-12-18 18:48:30 +08:00
otherUpload.addWidget(forumButton)
2022-07-23 12:44:33 +08:00
otherUpload.addSpacerItem(QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum))
starMenu.addItems(["5分", "4分", "3分", "2分", "1分"])
widgetLayout.addWidget(QtWidgets.QLabel("你的昵称:"), 0, 0, 1, 1)
widgetLayout.addWidget(QtWidgets.QLabel("联系方式(电子邮箱):"), 0, 2, 1, 1)
widgetLayout.addWidget(QtWidgets.QLabel("评分:"), 0, 4, 1, 1)
widgetLayout.addWidget(QtWidgets.QLabel("反馈内容(支持 Markdown 格式):"), 1, 0, 1, 2)
widgetLayout.addWidget(nameThings, 0, 1, 1, 1)
widgetLayout.addWidget(contactThings, 0, 3, 1, 1)
widgetLayout.addWidget(starMenu, 0, 5, 1, 1)
widgetLayout.addWidget(updateThings, 2, 0, 1, 6)
widgetLayout.addLayout(otherUpload, 3, 0, 1, 5)
widgetLayout.addWidget(updateButton, 3, 5, 1, 1)
giteeButton.clicked.connect(OpenGiteeIssues)
githubButton.clicked.connect(OpenGithubIssues)
gitlinkButton.clicked.connect(OpenGitlinkIssues)
updateButton.clicked.connect(UpdateButtonClick)
2022-12-18 18:48:30 +08:00
forumButton.clicked.connect(OpenProgramForum)
2022-07-23 12:44:33 +08:00
widget.setLayout(widgetLayout)
window.setCentralWidget(widget)
window.setWindowTitle(f"UEngine 运行器 {version} 问题/建议反馈")
window.setWindowIcon(QtGui.QIcon(iconPath))
window.show()
sys.exit(app.exec_())