From d1e2c96ebc9ae3881df34c08edd04697eeec4884 Mon Sep 17 00:00:00 2001
From: ramen <1205925392@qq.com>
Date: Sat, 19 Oct 2024 10:11:08 +0800
Subject: [PATCH] =?UTF-8?q?=E6=94=BE=E5=BC=83self.post=5Fmessage()?=
=?UTF-8?q?=E7=9A=84=E6=B6=88=E6=81=AF=E6=8E=A8=E9=80=81=EF=BC=8C=E8=BF=98?=
=?UTF-8?q?=E5=8E=9F=E6=88=90send=5Fpushplus=5Fmessage(),=E6=9B=B4?=
=?UTF-8?q?=E6=96=B0=E5=88=B01.1.4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
package.json | 3 +-
plugins/dynamicwechat/__init__.py | 89 ++++++++++++++++++-------------
2 files changed, 53 insertions(+), 39 deletions(-)
diff --git a/package.json b/package.json
index 4b461e6..e8fbce8 100644
--- a/package.json
+++ b/package.json
@@ -855,11 +855,12 @@
"name": "修改企业微信可信IP",
"description": "优先使用cookie,当填写两个第三方token时手机微信可以更新cookie。验证码以?结尾发给企业微信应用。如:110301?",
"labels": "消息通知",
- "version": "1.1.3",
+ "version": "1.1.4",
"icon": "Wecom_A.png",
"author": "RamenRa",
"level": 2,
"history": {
+ "v1.1.4": "放弃self.post_message()的消息推送,还原成send_pushplus_message()",
"v1.1.3": "关闭cookie输入框,延长cookie任务成功时不输出日志,使用设定中的CookieCloud设置"
}
},
diff --git a/plugins/dynamicwechat/__init__.py b/plugins/dynamicwechat/__init__.py
index daf5f04..bf8e0de 100644
--- a/plugins/dynamicwechat/__init__.py
+++ b/plugins/dynamicwechat/__init__.py
@@ -21,9 +21,6 @@ from app.plugins.dynamicwechat.update_help import PyCookieCloud
from app.schemas.types import EventType, NotificationType
-# import UpdateHelp
-
-
class DynamicWeChat(_PluginBase):
# 插件名称
plugin_name = "修改企业微信可信IP"
@@ -32,7 +29,7 @@ class DynamicWeChat(_PluginBase):
# 插件图标
plugin_icon = "Wecom_A.png"
# 插件版本
- plugin_version = "1.1.3"
+ plugin_version = "1.1.4"
# 插件作者
plugin_author = "RamenRa"
# 作者主页
@@ -272,6 +269,15 @@ class DynamicWeChat(_PluginBase):
logger.debug(str(e))
return False
+ def send_pushplus_message(self, title, content):
+ pushplus_url = f"http://www.pushplus.plus/send/{self._pushplus_token}"
+ pushplus_data = {
+ "title": title,
+ "content": content,
+ "template": "html"
+ }
+ response = requests.post(pushplus_url, json=pushplus_data)
+
def remote_push_qr(self):
try:
with sync_playwright() as p:
@@ -289,20 +295,21 @@ class DynamicWeChat(_PluginBase):
if self.find_qrc(page):
if self._pushplus_token and self._helloimg_s_token:
img_src, refuse_time = self.upload_image(self._qr_code_image)
- if img_src:
- self.post_message(
- mtype=NotificationType.Plugin,
- title="企业微信登录二维码",
- text=refuse_time,
- image=img_src
- )
- logger.info("二维码已经发送,等待用户 90 秒内扫码登录")
- logger.info("如收到短信验证码请以?结束,发送到<企业微信应用> 如: 110301?")
- time.sleep(90)
- login_status = self.check_login_status(page, '')
- if login_status:
- self._update_cookie(page, context) # 刷新cookie
- self.click_app_management_buttons(page)
+ self.send_pushplus_message(refuse_time, f"企业微信登录二维码
")
+ # if img_src:
+ # self.post_message(
+ # mtype=NotificationType.Plugin,
+ # title="企业微信登录二维码",
+ # text=refuse_time,
+ # image=img_src
+ # )
+ logger.info("二维码已经发送,等待用户 90 秒内扫码登录")
+ logger.info("如收到短信验证码请以?结束,发送到<企业微信应用> 如: 110301?")
+ time.sleep(90)
+ login_status = self.check_login_status(page, '')
+ if login_status:
+ self._update_cookie(page, context) # 刷新cookie
+ self.click_app_management_buttons(page)
else:
logger.warning("远程推送任务 未配置pushplus_token 或 helloimg_s_token")
else:
@@ -329,20 +336,21 @@ class DynamicWeChat(_PluginBase):
if self.find_qrc(page):
if self._pushplus_token and self._helloimg_s_token:
img_src, refuse_time = self.upload_image(self._qr_code_image)
- if img_src:
- self.post_message(
- mtype=NotificationType.Plugin,
- title="企业微信登录二维码",
- text=refuse_time,
- image=img_src
- )
- logger.info("二维码已经发送,等待用户 90 秒内扫码登录")
- logger.info("如收到短信验证码请以?结束,发送到<企业微信应用> 如: 110301?")
- time.sleep(90) # 等待用户扫码
- login_status = self.check_login_status(page, "")
- if login_status:
- self._update_cookie(page, context) # 刷新cookie
- self.click_app_management_buttons(page)
+ self.send_pushplus_message(refuse_time, f"企业微信登录二维码
")
+ # if img_src:
+ # self.post_message(
+ # mtype=NotificationType.Plugin,
+ # title="企业微信登录二维码",
+ # text=refuse_time,
+ # image=img_src
+ # )
+ logger.info("二维码已经发送,等待用户 90 秒内扫码登录")
+ logger.info("如收到短信验证码请以?结束,发送到<企业微信应用> 如: 110301?")
+ time.sleep(90) # 等待用户扫码
+ login_status = self.check_login_status(page, "")
+ if login_status:
+ self._update_cookie(page, context) # 刷新cookie
+ self.click_app_management_buttons(page)
else:
self._ip_changed = False
else:
@@ -448,8 +456,6 @@ class DynamicWeChat(_PluginBase):
page.goto(self._wechatUrl)
time.sleep(3)
if not self.check_login_status(page, task='refresh_cookie'):
- # pass
- # else:
logger.info("cookie已失效,下次IP变动推送二维码")
browser.close()
except Exception as e:
@@ -497,7 +503,7 @@ class DynamicWeChat(_PluginBase):
except Exception as e:
logger.debug(str(e))
# try: # 没有登录成功,也没有短信验证码。 查找二维码是否还存在
- if self.find_qrc(page):
+ if self.find_qrc(page) and not task != 'refresh_cookie': # 延长任务找到的二维码不会被发送,所以不算用户没有扫码
logger.error(f"用户没有扫描二维码")
return False
@@ -836,7 +842,7 @@ class DynamicWeChat(_PluginBase):
'props': {
'type': 'info',
'variant': 'tonal',
- 'text': '内建CC 或 自定义或 填写两个token三选一否则无法正常使用'
+ 'text': '使用内建CookieCloud 或 自定义 或 填写两个token 至少三选一,否则无法正常使用'
}
}
]
@@ -918,8 +924,6 @@ class DynamicWeChat(_PluginBase):
if not self._enabled:
return
self.text = event.event_data.get("text")
- # self.user_id = event.event_data.get("userid")
- # self.channel = event.event_data.get("channel")
if self.text[:6].isdigit() and len(self.text) == 7:
self._verification_code = self.text[:6]
logger.info(f"收到验证码:{self._verification_code}")
@@ -959,3 +963,12 @@ class DynamicWeChat(_PluginBase):
self._scheduler = None
except Exception as e:
logger.error(str(e))
+
+
+
+
+
+
+
+
+