mirror of
https://github.com/d0zingcat/MoviePilot-Plugins.git
synced 2026-05-24 23:16:50 +00:00
[fix] 修复 YemaPT 模拟登录、支持YemaPT 自动签到
This commit is contained in:
@@ -3,11 +3,12 @@
|
||||
"name": "站点自动签到",
|
||||
"description": "自动模拟登录、签到站点。",
|
||||
"labels": "站点",
|
||||
"version": "2.3.1",
|
||||
"version": "2.3.2",
|
||||
"icon": "signin.png",
|
||||
"author": "thsrite",
|
||||
"level": 2,
|
||||
"history": {
|
||||
"v2.3.2": "修复YemaPT登录失败,支持YemaPT自动签到",
|
||||
"v2.3.1": "修复签到报错问题",
|
||||
"v2.3": "优化模拟登录逻辑,支持YemaPT模拟登录",
|
||||
"v2.2": "适配馒头最新变化,需要升级至v1.8.5+版本且维护好Authorization",
|
||||
|
||||
@@ -38,7 +38,7 @@ class AutoSignIn(_PluginBase):
|
||||
# 插件图标
|
||||
plugin_icon = "signin.png"
|
||||
# 插件版本
|
||||
plugin_version = "2.3.1"
|
||||
plugin_version = "2.3.2"
|
||||
# 插件作者
|
||||
plugin_author = "thsrite"
|
||||
# 作者主页
|
||||
|
||||
@@ -8,9 +8,9 @@ from app.plugins.autosignin.sites import _ISiteSigninHandler
|
||||
from app.utils.http import RequestUtils
|
||||
|
||||
|
||||
class MTorrent(_ISiteSigninHandler):
|
||||
class YemaPT(_ISiteSigninHandler):
|
||||
"""
|
||||
m-team签到
|
||||
YemaPT 签到
|
||||
"""
|
||||
# 匹配的站点Url,每一个实现类都需要设置为自己的站点Url
|
||||
site_url = "yemapt.org"
|
||||
@@ -26,7 +26,7 @@ class MTorrent(_ISiteSigninHandler):
|
||||
|
||||
def signin(self, site_info: CommentedMap) -> Tuple[bool, str]:
|
||||
"""
|
||||
执行签到操作,馒头实际没有签到,非仿真模式下需要更新访问时间
|
||||
执行签到操作
|
||||
:param site_info: 站点信息,含有站点Url、站点Cookie、UA等信息
|
||||
:return: 签到结果信息
|
||||
"""
|
||||
@@ -35,19 +35,20 @@ class MTorrent(_ISiteSigninHandler):
|
||||
"User-Agent": site_info.get("ua"),
|
||||
"Accept": "application/json, text/plain, */*",
|
||||
}
|
||||
# 更新最后访问时间
|
||||
res = RequestUtils(headers=headers,
|
||||
timeout=15,
|
||||
cookies=site_info.get("cookie"),
|
||||
proxies=settings.PROXY if site_info.get("proxy") else None,
|
||||
referer=site_info.get('url')
|
||||
).post_res(url=urljoin(site_info.get('url'), "api/user/profile"))
|
||||
# 获取用户信息,更新最后访问时间
|
||||
res = (RequestUtils(headers=headers,
|
||||
timeout=15,
|
||||
cookies=site_info.get("cookie"),
|
||||
proxies=settings.PROXY if site_info.get("proxy") else None,
|
||||
referer=site_info.get('url')
|
||||
).get_res(urljoin(site_info.get('url'), "api/consumer/checkIn")))
|
||||
|
||||
if res and res.json().get("success"):
|
||||
return True, "模拟登录成功"
|
||||
return True, "签到成功"
|
||||
elif res is not None:
|
||||
return False, f"模拟登录失败,状态码:{res.status_code}"
|
||||
return False, f"签到失败,签到结果:{res.json().get('errorMessage')}"
|
||||
else:
|
||||
return False, "模拟登录失败,无法打开网站"
|
||||
return False, "签到失败,无法打开网站"
|
||||
|
||||
def login(self, site_info: CommentedMap) -> Tuple[bool, str]:
|
||||
"""
|
||||
@@ -55,4 +56,23 @@ class MTorrent(_ISiteSigninHandler):
|
||||
:param site_info: 站点信息,含有站点Url、站点Cookie、UA等信息
|
||||
:return: 登录结果信息
|
||||
"""
|
||||
return self.signin(site_info)
|
||||
|
||||
headers = {
|
||||
"Content-Type": "application/json",
|
||||
"User-Agent": site_info.get("ua"),
|
||||
"Accept": "application/json, text/plain, */*",
|
||||
}
|
||||
# 获取用户信息,更新最后访问时间
|
||||
res = (RequestUtils(headers=headers,
|
||||
timeout=15,
|
||||
cookies=site_info.get("cookie"),
|
||||
proxies=settings.PROXY if site_info.get("proxy") else None,
|
||||
referer=site_info.get('url')
|
||||
).get_res(urljoin(site_info.get('url'), "api/user/profile")))
|
||||
|
||||
if res and res.json().get("success"):
|
||||
return True, "模拟登录成功"
|
||||
elif res is not None:
|
||||
return False, f"模拟登录失败,状态码:{res.status_code}"
|
||||
else:
|
||||
return False, "模拟登录失败,无法打开网站"
|
||||
|
||||
Reference in New Issue
Block a user