init
This commit is contained in:
199
app/core/services/user_thread.py
Normal file
199
app/core/services/user_thread.py
Normal file
@@ -0,0 +1,199 @@
|
||||
from loguru import logger
|
||||
from PyQt6.QtCore import QThread, pyqtSignal
|
||||
from PyQt6.QtGui import QPixmap
|
||||
|
||||
from ..api import miaoStarsBasicApi
|
||||
|
||||
|
||||
class UserNickNameUpdateThread(QThread):
|
||||
successUpdate = pyqtSignal()
|
||||
errorUpdate = pyqtSignal(str)
|
||||
|
||||
def __init__(self, nickName: str):
|
||||
super().__init__()
|
||||
logger.debug(f"初始化用户昵称服务线程 - 昵称: {nickName}")
|
||||
self.nickName = nickName
|
||||
|
||||
def run(self):
|
||||
logger.info(f"开始更新用户昵称 - 昵称: {self.nickName}")
|
||||
try:
|
||||
response = miaoStarsBasicApi.updateUserNickname(self.nickName)
|
||||
print(response)
|
||||
if response["code"] == 0:
|
||||
self.successUpdate.emit()
|
||||
else:
|
||||
logger.error("更新失败:", response["msg"])
|
||||
self.errorUpdate.emit(response["msg"])
|
||||
except Exception as e:
|
||||
logger.error(f"更新用户昵称过程中发生异常: {e}")
|
||||
self.errorUpdate.emit("系统错误,请稍后重试")
|
||||
|
||||
|
||||
class UserAvatarUpdateThread(QThread):
|
||||
successUpdate = pyqtSignal()
|
||||
errorUpdate = pyqtSignal(str)
|
||||
|
||||
def __init__(self, avatarPath: str):
|
||||
super().__init__()
|
||||
logger.debug(f"初始化用户头像服务线程 - 头像路径: {avatarPath}")
|
||||
self.avatarPath = avatarPath
|
||||
|
||||
def run(self):
|
||||
logger.info(f"开始更新用户头像 - 头像路径: {self.avatarPath}")
|
||||
try:
|
||||
response = miaoStarsBasicApi.updateUserAvatar(self.avatarPath)
|
||||
if response["code"] == 0:
|
||||
logger.info("头像更新成功")
|
||||
self.successUpdate.emit()
|
||||
else:
|
||||
logger.error(f"更新失败,错误信息: {response['msg']}")
|
||||
self.errorUpdate.emit(f"更新失败: {response['msg']}")
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"更新用户头像过程中发生异常: {e}")
|
||||
self.errorUpdate.emit("系统错误,请稍后重试")
|
||||
|
||||
|
||||
class GetUserAvatarThread(QThread):
|
||||
avatarPixmap = pyqtSignal(QPixmap)
|
||||
|
||||
def __init__(self, size: str):
|
||||
super().__init__()
|
||||
logger.debug(f"初始化获取用户头像服务线程 - 头像尺寸: {size}")
|
||||
self.size = size
|
||||
|
||||
def run(self):
|
||||
logger.info(f"开始获取用户头像 - 头像尺寸: {self.size}")
|
||||
try:
|
||||
response = miaoStarsBasicApi.getUserAvatar(self.size)
|
||||
self.avatarPixmap.emit(response)
|
||||
except Exception as e:
|
||||
logger.error(f"获取用户头像过程中发生异常: {e}")
|
||||
self.avatarPixmap.emit(QPixmap(":app/images/logo.png"))
|
||||
|
||||
|
||||
class GetPackThread(QThread):
|
||||
storageDictSignal = pyqtSignal(dict)
|
||||
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
|
||||
def run(self):
|
||||
logger.info("开始请求用户配额包")
|
||||
try:
|
||||
response = miaoStarsBasicApi.getUserPack()
|
||||
self.storageDictSignal.emit(response)
|
||||
except Exception as e:
|
||||
logger.error(f"获取用户配额包过程中发生异常: {e}")
|
||||
self.storageDictSignal.emit(
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"base": 0,
|
||||
"pack": 0,
|
||||
"used": 0,
|
||||
"total": 0,
|
||||
"packs": [],
|
||||
},
|
||||
"msg": "",
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class GetPoliciesThread(QThread):
|
||||
"""获取策略列表线程"""
|
||||
|
||||
successGetSignal = pyqtSignal(list)
|
||||
errorSignal = pyqtSignal(str)
|
||||
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
|
||||
def run(self):
|
||||
try:
|
||||
response = miaoStarsBasicApi.getPolicy()
|
||||
if response["code"] == 0:
|
||||
self.successGetSignal.emit(response["data"])
|
||||
else:
|
||||
self.errorSignal.emit(f"API返回错误: {response.get('msg')}")
|
||||
except Exception as e:
|
||||
self.errorSignal.emit(f"获取策略列表失败: {str(e)}")
|
||||
|
||||
|
||||
class ChangePolicyThread(QThread):
|
||||
"""更改策略线程"""
|
||||
|
||||
successChangedSignal = pyqtSignal()
|
||||
errorSignal = pyqtSignal(str)
|
||||
|
||||
def __init__(self, path, policy_id):
|
||||
super().__init__()
|
||||
self.path = path
|
||||
self.policy_id = policy_id
|
||||
|
||||
def run(self):
|
||||
try:
|
||||
response = miaoStarsBasicApi.changePolicy(self.path, self.policy_id)
|
||||
if response["code"] == 0:
|
||||
self.successChangedSignal.emit()
|
||||
else:
|
||||
self.errorSignal.emit(
|
||||
f"更改策略失败: {response.get('msg', '未知错误')}"
|
||||
)
|
||||
|
||||
except Exception as e:
|
||||
self.errorSignal.emit(f"更改策略请求失败: {str(e)}")
|
||||
|
||||
|
||||
class DeleteTagThread(QThread):
|
||||
"""删除标签线程"""
|
||||
|
||||
successDeleteSignal = pyqtSignal()
|
||||
errorSignal = pyqtSignal(str)
|
||||
|
||||
def __init__(self, tagId):
|
||||
super().__init__()
|
||||
self.tagId = tagId
|
||||
|
||||
def run(self):
|
||||
try:
|
||||
response = miaoStarsBasicApi.deleteTag(self.tagId)
|
||||
if response["code"] == 0:
|
||||
self.successDeleteSignal.emit()
|
||||
logger.info(f"删除标签成功: {self.tagId}")
|
||||
else:
|
||||
logger.error(f"删除标签失败: {response.get('msg')}")
|
||||
self.errorSignal.emit(f"删除标签失败: {response.get('msg')}")
|
||||
|
||||
except Exception as e:
|
||||
self.errorSignal.emit(f"{str(e)}")
|
||||
logger.error(f"删除标签请求失败: {str(e)}")
|
||||
|
||||
|
||||
class AddTagThread(QThread):
|
||||
"""添加标签的线程类"""
|
||||
|
||||
successSignal = pyqtSignal(str, dict) # 标签名称, 响应数据
|
||||
errorSignal = pyqtSignal(str, str) # 标签名称, 错误信息
|
||||
|
||||
def __init__(self, name, expression, parent=None):
|
||||
super().__init__(parent)
|
||||
self.name = name
|
||||
self.expression = expression
|
||||
|
||||
def run(self):
|
||||
"""线程执行的主方法"""
|
||||
try:
|
||||
|
||||
response = miaoStarsBasicApi.addTag(self.name, self.expression)
|
||||
|
||||
if response["code"] == 0:
|
||||
logger.info(f"添加标签成功: {self.name}")
|
||||
self.successSignal.emit(self.name, response)
|
||||
else:
|
||||
logger.error(f"添加标签失败: {self.name} - {response.get('msg')}")
|
||||
self.errorSignal.emit(self.name, response.get("msg"))
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"添加标签异常: {self.name} - {str(e)}")
|
||||
self.errorSignal.emit(self.name, str(e))
|
||||
Reference in New Issue
Block a user