新增用户字段today_stauts
新增用户字段`today_status`(位于user_db),用于记录用户的代理是否代理成功,便于后续的衍生项目与二次开发。
This commit is contained in:
@@ -145,7 +145,7 @@ class AppConfig:
|
||||
|
||||
if mode == "Maa":
|
||||
self.cur.execute(
|
||||
"CREATE TABLE adminx(admin text,id text,server text,day int,status text,last date,game text,game_1 text,game_2 text,routine text,annihilation text,infrastructure text,password byte,notes text,numb int,mode text,uid int)"
|
||||
"CREATE TABLE adminx(admin text,id text,server text,day int,status text,last date,game text,game_1 text,game_2 text,routine text,annihilation text,infrastructure text,password byte,notes text,numb int,mode text,uid int,today_status text)"
|
||||
)
|
||||
self.cur.execute("CREATE TABLE version(v text)")
|
||||
self.cur.execute("INSERT INTO version VALUES(?)", ("v1.4",))
|
||||
@@ -161,7 +161,7 @@ class AppConfig:
|
||||
db = sqlite3.connect(self.database_path)
|
||||
cur = db.cursor()
|
||||
cur.execute("CREATE TABLE version(v text)")
|
||||
cur.execute("INSERT INTO version VALUES(?)", ("v1.4",))
|
||||
cur.execute("INSERT INTO version VALUES(?)", ("v1.5",))
|
||||
db.commit()
|
||||
cur.close()
|
||||
db.close()
|
||||
@@ -172,7 +172,7 @@ class AppConfig:
|
||||
cur.execute("SELECT * FROM version WHERE True")
|
||||
version = cur.fetchall()
|
||||
|
||||
if version[0][0] != "v1.4":
|
||||
if version[0][0] != "v1.5":
|
||||
logger.info("数据文件版本更新开始")
|
||||
if_streaming = False
|
||||
# v1.0-->v1.1
|
||||
@@ -387,10 +387,40 @@ class AppConfig:
|
||||
) as f:
|
||||
json.dump(queue_config, f, ensure_ascii=False, indent=4)
|
||||
(self.app_path / "config/gui.json").unlink()
|
||||
|
||||
if version[0][0] == "v1.4" or if_streaming:
|
||||
logger.info("数据文件版本更新:v1.4-->v1.5")
|
||||
if_streaming = True
|
||||
# 检查adminx表是否存在
|
||||
cur.execute("SELECT name FROM sqlite_master WHERE type='table' AND name='adminx'")
|
||||
if not cur.fetchone():
|
||||
self.create_adminx_table(cur)
|
||||
else:
|
||||
# 获取现有数据
|
||||
cur.execute("SELECT * FROM adminx")
|
||||
data = cur.fetchall()
|
||||
# 重建表以包含新字段
|
||||
cur.execute("DROP TABLE IF EXISTS adminx")
|
||||
self.create_adminx_table(cur)
|
||||
# 恢复数据
|
||||
for row in data:
|
||||
cur.execute(
|
||||
"INSERT INTO adminx VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)",
|
||||
row + ("n",) # 添加today_status默认值为'n'
|
||||
)
|
||||
cur.execute("DELETE FROM version WHERE v = ?", ("v1.4",))
|
||||
cur.execute("INSERT INTO version VALUES(?)", ("v1.5",))
|
||||
db.commit()
|
||||
cur.close()
|
||||
db.close()
|
||||
logger.info("数据文件版本更新完成")
|
||||
|
||||
def create_adminx_table(self, cur):
|
||||
"""创建adminx表"""
|
||||
cur.execute(
|
||||
"CREATE TABLE adminx(admin text,id text,server text,day int,status text,last date,game text,game_1 text,game_2 text,routine text,annihilation text,infrastructure text,password byte,notes text,numb int,mode text,uid int,today_status text)"
|
||||
)
|
||||
|
||||
def search_config(self) -> list:
|
||||
"""搜索所有子配置文件"""
|
||||
|
||||
@@ -434,6 +464,7 @@ class AppConfig:
|
||||
lasts: list,
|
||||
notes: list,
|
||||
numbs: list,
|
||||
today_status: list,
|
||||
) -> None:
|
||||
"""将代理完成后发生改动的用户信息同步至本地数据库"""
|
||||
|
||||
@@ -457,6 +488,10 @@ class AppConfig:
|
||||
"UPDATE adminx SET numb = ? WHERE mode = ? AND uid = ?",
|
||||
(numbs[index], modes[index], uids[index]),
|
||||
)
|
||||
cur.execute( # 添加today_status的更新
|
||||
"UPDATE adminx SET today_status = ? WHERE mode = ? AND uid = ?",
|
||||
(today_status[index], modes[index], uids[index]),
|
||||
)
|
||||
db.commit()
|
||||
cur.close()
|
||||
db.close()
|
||||
|
||||
@@ -45,7 +45,7 @@ class Task(QThread):
|
||||
push_info_bar = Signal(str, str, str, int)
|
||||
question = Signal(str, str)
|
||||
question_response = Signal(bool)
|
||||
update_user_info = Signal(Path, list, list, list, list, list, list)
|
||||
update_user_info = Signal(Path, list, list, list, list, list, list, list)
|
||||
create_task_list = Signal(list)
|
||||
create_user_list = Signal(list)
|
||||
update_task_list = Signal(list)
|
||||
@@ -137,7 +137,7 @@ class Task(QThread):
|
||||
self.task.update_user_list.connect(self.update_user_list.emit)
|
||||
self.task.update_log_text.connect(self.update_log_text.emit)
|
||||
self.task.update_user_info.connect(
|
||||
lambda modes, uids, days, lasts, notes, numbs: self.update_user_info.emit(
|
||||
lambda modes, uids, days, lasts, notes, numbs, today_status: self.update_user_info.emit(
|
||||
self.member_dict[self.task_list[i][0]][1],
|
||||
modes,
|
||||
uids,
|
||||
@@ -145,6 +145,7 @@ class Task(QThread):
|
||||
lasts,
|
||||
notes,
|
||||
numbs,
|
||||
today_status
|
||||
)
|
||||
)
|
||||
self.task.accomplish.connect(
|
||||
|
||||
@@ -46,7 +46,7 @@ class MaaManager(QObject):
|
||||
|
||||
question = Signal(str, str)
|
||||
question_response = Signal(bool)
|
||||
update_user_info = Signal(list, list, list, list, list, list)
|
||||
update_user_info = Signal(list, list, list, list, list, list, list)
|
||||
push_info_bar = Signal(str, str, str, int)
|
||||
create_user_list = Signal(list)
|
||||
update_user_list = Signal(list)
|
||||
@@ -272,6 +272,7 @@ class MaaManager(QObject):
|
||||
# 移除静默进程标记
|
||||
Config.silence_list.remove(self.emulator_path)
|
||||
# 推送异常通知
|
||||
self.data[user[2]][17] = 'n'
|
||||
Notify.push_notification(
|
||||
"用户自动代理出现异常!",
|
||||
f"用户 {user[0].replace("_", " 今天的")}的{mode_book[j][5:7]}部分出现一次异常",
|
||||
@@ -300,6 +301,7 @@ class MaaManager(QObject):
|
||||
|
||||
# 录入代理失败的用户
|
||||
if not (run_book[0] and run_book[1]):
|
||||
self.data[user[2]][17] = 'n'
|
||||
user[1] = "异常"
|
||||
|
||||
self.update_user_list.emit(user_list)
|
||||
@@ -479,7 +481,8 @@ class MaaManager(QObject):
|
||||
lasts = [self.data[_[2]][5] for _ in user_list]
|
||||
notes = [self.data[_[2]][13] for _ in user_list]
|
||||
numbs = [self.data[_[2]][14] for _ in user_list]
|
||||
self.update_user_info.emit(modes, uids, days, lasts, notes, numbs)
|
||||
today_status = [self.data[_[2]][17] for _ in user_list]
|
||||
self.update_user_info.emit(modes, uids, days, lasts, notes, numbs, today_status)
|
||||
|
||||
error_index = [_[2] for _ in user_list if _[1] == "异常"]
|
||||
over_index = [_[2] for _ in user_list if _[1] == "完成"]
|
||||
|
||||
@@ -789,6 +789,7 @@ class MaaSettingBox(QWidget):
|
||||
"numb",
|
||||
"mode",
|
||||
"uid",
|
||||
"today_status",
|
||||
]
|
||||
self.userlist_simple_index = [
|
||||
0,
|
||||
@@ -808,6 +809,7 @@ class MaaSettingBox(QWidget):
|
||||
"-",
|
||||
"-",
|
||||
"-",
|
||||
"-"
|
||||
]
|
||||
self.userlist_beta_index = [
|
||||
0,
|
||||
@@ -827,6 +829,7 @@ class MaaSettingBox(QWidget):
|
||||
"-",
|
||||
"-",
|
||||
"-",
|
||||
"-",
|
||||
]
|
||||
|
||||
self.pivot = Pivot(self)
|
||||
@@ -1225,7 +1228,7 @@ class MaaSettingBox(QWidget):
|
||||
elif "高级用户列表" in self.pivot.currentRouteKey():
|
||||
set_book = ["beta", self.user_list_beta.rowCount()]
|
||||
Config.cur.execute(
|
||||
"INSERT INTO adminx VALUES('新用户','手机号码(官服)/B站ID(B服)','Official',-1,'y','2000-01-01','1-7','-','-','n','n','n',?,'无',0,?,?)",
|
||||
"INSERT INTO adminx VALUES('新用户','手机号码(官服)/B站ID(B服)','Official',-1,'y','2000-01-01','1-7','-','-','n','n','n',?,'无',0,?,?,'n')",
|
||||
(
|
||||
Crypto.encryptx("未设置"),
|
||||
set_book[0],
|
||||
|
||||
Reference in New Issue
Block a user