From 01d0a45bf1749e00f589e77e7e2dabeae64dbd2b Mon Sep 17 00:00:00 2001 From: "t@123654" <1327444968@qq.com> Date: Wed, 28 May 2025 14:04:47 +0800 Subject: [PATCH] " --- .gitignore | 3 +- .vscode/launch.json | 10 ++-- app.log | 64 +++++++++++++++++++++++++ config.example.yaml | 5 +- core/config.py | 2 +- core/notice/__init__.py | 28 +++++++++++ core/{notice.py => notice/dingtalk.py} | 2 +- core/notice/wechat.py | 31 ++++++++++++ db.db | Bin 61440 -> 61440 bytes docs/versions/1.3.2 | 3 ++ job.py | 28 +++++------ latest_openapi.json | 1 - publish.bat | 23 ++++++++- 13 files changed, 175 insertions(+), 25 deletions(-) create mode 100644 core/notice/__init__.py rename core/{notice.py => notice/dingtalk.py} (93%) create mode 100644 core/notice/wechat.py create mode 100644 docs/versions/1.3.2 delete mode 100644 latest_openapi.json diff --git a/.gitignore b/.gitignore index 7887cbc3..6530e900 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ 1.py __pycache__ *.xml -config.yaml \ No newline at end of file +config.yaml +*.pyc \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json index 5c7df64a..f614af3d 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -9,16 +9,18 @@ "type": "debugpy", "request": "launch", "env": { - // "DB":"sqlite:///db.db", + "DB":"sqlite:///db.db", // "DB":"mysql+pymysql://we-rss:123456@119.3.239.67/we-rss", "PORT": "8080", "USERNAME":"admin", "PASSWORD":"admin@123", + "DEBUG": "True", // "DINGDING_WEBHOOK":"https://oapi.dingtalk.com/robot/send?access_token=67933f7b759241a79c122f42d02a627f4457c0b40603ddf3b4711e88e859d072" - "DINGDING_WEBHOOK":"https://oapi.dingtalk.com/robot/send?access_token=af7f99c32895f79d9d61c57181f164b77027102a22f3b205dc15e2984690025c" + // "DINGDING_WEBHOOK":"https://oapi.dingtalk.com/robot/send?access_token=af7f99c32895f79d9d61c57181f164b77027102a22f3b205dc15e2984690025c" + "DINGDING_WEBHOOK":"https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=a7240ff8-2d2e-48b3-b02a-c6a37fee69f7" }, - "program": "main.py", - // "program": "job.py", + // "program": "main.py", + "program": "job.py", "args": ["-init", "True","-job","False"] } ] diff --git a/app.log b/app.log index 5b92b5cd..ede2e369 100644 --- a/app.log +++ b/app.log @@ -509,3 +509,67 @@ 2025-05-27 22:57:25 - core.log - INFO - 中国妇女报 更新结束,共更新0 2025-05-27 22:57:26 - core.log - INFO - 长沙发布 更新结束,共更新0 2025-05-27 22:57:26 - core.log - INFO - 所有公众号更新完成,共更新0条数据 +2025-05-28 11:41:33 - core.log - INFO - 扫描全能王 更新结束,共更新0 +2025-05-28 11:41:34 - core.log - INFO - 中关村论坛 更新结束,共更新0 +2025-05-28 11:41:35 - core.log - INFO - 中国北京同仁堂官微 更新结束,共更新0 +2025-05-28 11:41:36 - core.log - INFO - 中国妇女报 更新结束,共更新3 +2025-05-28 11:41:37 - core.log - INFO - 长沙发布 更新结束,共更新4 +2025-05-28 11:41:37 - core.log - INFO - 所有公众号更新完成,共更新7条数据 +2025-05-28 11:42:11 - core.log - INFO - 扫描全能王 更新结束,共更新0 +2025-05-28 11:42:12 - core.log - INFO - 中关村论坛 更新结束,共更新0 +2025-05-28 11:42:13 - core.log - INFO - 中国北京同仁堂官微 更新结束,共更新0 +2025-05-28 11:42:14 - core.log - INFO - 中国妇女报 更新结束,共更新0 +2025-05-28 11:42:14 - core.log - INFO - 长沙发布 更新结束,共更新0 +2025-05-28 11:42:14 - core.log - INFO - 所有公众号更新完成,共更新0条数据 +2025-05-28 12:32:36 - core.log - INFO - 扫描全能王 更新结束,共更新0 +2025-05-28 12:32:36 - core.log - INFO - 中关村论坛 更新结束,共更新0 +2025-05-28 12:32:36 - core.log - INFO - 中国北京同仁堂官微 更新结束,共更新0 +2025-05-28 12:32:36 - core.log - INFO - 中国妇女报 更新结束,共更新0 +2025-05-28 12:32:36 - core.log - INFO - 长沙发布 更新结束,共更新0 +2025-05-28 12:32:36 - core.log - INFO - 所有公众号更新完成,共更新0条数据 +2025-05-28 12:33:27 - core.log - INFO - 扫描全能王 更新结束,共更新10 +2025-05-28 12:33:28 - core.log - INFO - 中关村论坛 更新结束,共更新10 +2025-05-28 12:33:29 - core.log - INFO - 中国北京同仁堂官微 更新结束,共更新10 +2025-05-28 12:33:30 - core.log - INFO - 中国妇女报 更新结束,共更新10 +2025-05-28 12:33:31 - core.log - INFO - 长沙发布 更新结束,共更新10 +2025-05-28 12:33:31 - core.log - INFO - 所有公众号更新完成,共更新50条数据 +2025-05-28 12:48:25 - core.log - INFO - 扫描全能王 更新结束,共更新10 +2025-05-28 12:48:27 - core.log - INFO - 中关村论坛 更新结束,共更新10 +2025-05-28 12:48:28 - core.log - INFO - 中国北京同仁堂官微 更新结束,共更新10 +2025-05-28 12:48:29 - core.log - INFO - 中国妇女报 更新结束,共更新10 +2025-05-28 12:50:10 - core.log - INFO - 扫描全能王 更新结束,共更新10 +2025-05-28 12:50:11 - core.log - INFO - 中关村论坛 更新结束,共更新10 +2025-05-28 12:50:12 - core.log - INFO - 中国北京同仁堂官微 更新结束,共更新10 +2025-05-28 12:50:13 - core.log - INFO - 中国妇女报 更新结束,共更新10 +2025-05-28 12:50:14 - core.log - INFO - 长沙发布 更新结束,共更新10 +2025-05-28 12:50:14 - core.log - INFO - 所有公众号更新完成,共更新50条数据 +2025-05-28 12:53:07 - core.log - INFO - 扫描全能王 更新结束,共更新10 +2025-05-28 12:53:08 - core.log - INFO - 中关村论坛 更新结束,共更新10 +2025-05-28 12:53:09 - core.log - INFO - 中国北京同仁堂官微 更新结束,共更新10 +2025-05-28 12:53:10 - core.log - INFO - 中国妇女报 更新结束,共更新10 +2025-05-28 12:53:11 - core.log - INFO - 长沙发布 更新结束,共更新10 +2025-05-28 12:53:11 - core.log - INFO - 所有公众号更新完成,共更新50条数据 +2025-05-28 12:53:48 - core.log - INFO - 扫描全能王 更新结束,共更新10 +2025-05-28 12:53:49 - core.log - INFO - 中关村论坛 更新结束,共更新10 +2025-05-28 12:53:50 - core.log - INFO - 中国北京同仁堂官微 更新结束,共更新10 +2025-05-28 12:53:52 - core.log - INFO - 中国妇女报 更新结束,共更新10 +2025-05-28 12:53:53 - core.log - INFO - 长沙发布 更新结束,共更新10 +2025-05-28 12:53:53 - core.log - INFO - 所有公众号更新完成,共更新50条数据 +2025-05-28 12:54:15 - core.log - INFO - 扫描全能王 更新结束,共更新10 +2025-05-28 12:54:16 - core.log - INFO - 中关村论坛 更新结束,共更新10 +2025-05-28 12:54:18 - core.log - INFO - 中国北京同仁堂官微 更新结束,共更新10 +2025-05-28 12:54:19 - core.log - INFO - 中国妇女报 更新结束,共更新10 +2025-05-28 12:54:20 - core.log - INFO - 长沙发布 更新结束,共更新10 +2025-05-28 12:54:20 - core.log - INFO - 所有公众号更新完成,共更新50条数据 +2025-05-28 12:55:49 - core.log - INFO - 扫描全能王 更新结束,共更新10 +2025-05-28 12:55:50 - core.log - INFO - 中关村论坛 更新结束,共更新10 +2025-05-28 12:55:51 - core.log - INFO - 中国北京同仁堂官微 更新结束,共更新10 +2025-05-28 12:55:52 - core.log - INFO - 中国妇女报 更新结束,共更新10 +2025-05-28 12:55:53 - core.log - INFO - 长沙发布 更新结束,共更新10 +2025-05-28 12:55:53 - core.log - INFO - 所有公众号更新完成,共更新50条数据 +2025-05-28 12:56:16 - core.log - INFO - 扫描全能王 更新结束,共更新10 +2025-05-28 12:56:17 - core.log - INFO - 中关村论坛 更新结束,共更新10 +2025-05-28 12:56:18 - core.log - INFO - 中国北京同仁堂官微 更新结束,共更新10 +2025-05-28 12:56:19 - core.log - INFO - 中国妇女报 更新结束,共更新10 +2025-05-28 12:56:20 - core.log - INFO - 长沙发布 更新结束,共更新10 +2025-05-28 12:56:20 - core.log - INFO - 所有公众号更新完成,共更新50条数据 diff --git a/config.example.yaml b/config.example.yaml index 732bfa8c..83d32b18 100644 --- a/config.example.yaml +++ b/config.example.yaml @@ -13,4 +13,7 @@ token: user_agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.39... #瀹氭椂浠诲姟鎵ц闂撮殧鏃堕棿 鍗曚綅绉 榛樿300s -interval: ${INTERVAL:- 300} \ No newline at end of file +interval: ${INTERVAL:- 300} + +#璋冭瘯妯″紡 +debug: ${DEBUG:-False} \ No newline at end of file diff --git a/core/config.py b/core/config.py index b6efe006..766733e2 100644 --- a/core/config.py +++ b/core/config.py @@ -66,5 +66,5 @@ cfg=Config() config = cfg.get_config() DEBUG=cfg.get("debug",False) APP_NAME=cfg.get("app_name","we-mp-rss") -from ver import VERSION +from core.ver import VERSION print(VERSION) \ No newline at end of file diff --git a/core/notice/__init__.py b/core/notice/__init__.py new file mode 100644 index 00000000..852f35e1 --- /dev/null +++ b/core/notice/__init__.py @@ -0,0 +1,28 @@ +from .wechat import send_wechat_message +from .dingtalk import send_dingtalk_message + +def notice( webhook_url, title, text,notice_type: str=None): + """ + 鍏敤閫氱煡鏂规硶锛屾牴鎹被鍨嬪垽鏂皟鐢ㄥ摢绉嶉氱煡 + + 鍙傛暟: + - notice_type: 閫氱煡绫诲瀷锛'wechat' 鎴 'dingtalk' + - webhook_url: 瀵瑰簲鏈哄櫒浜虹殑Webhook鍦板潃 + - title: 娑堟伅鏍囬 + - text: 娑堟伅鍐呭 + """ + if 'qyapi.weixin.qq.com' in webhook_url: + notice_type = 'wechat' + elif 'oapi.dingtalk.com' in webhook_url: + notice_type = 'dingtalk' + else: + print('鏃犳硶鏍规嵁 webhook_url 璇嗗埆閫氱煡绫诲瀷') + return + + if notice_type == 'wechat': + + send_wechat_message(webhook_url, title, text) + elif notice_type == 'dingtalk': + send_dingtalk_message(webhook_url, title, text) + else: + print('涓嶆敮鎸佺殑閫氱煡绫诲瀷') \ No newline at end of file diff --git a/core/notice.py b/core/notice/dingtalk.py similarity index 93% rename from core/notice.py rename to core/notice/dingtalk.py index b7f235a1..ef7a5a54 100644 --- a/core/notice.py +++ b/core/notice/dingtalk.py @@ -1,6 +1,6 @@ import requests import json -def send_dingtalk_markdown(webhook_url, title, text, is_at_all=False, at_mobiles=[]): +def send_dingtalk_message(webhook_url, title, text, is_at_all=False, at_mobiles=[]): """ 鍙戦丮arkdown鏍煎紡娑堟伅 diff --git a/core/notice/wechat.py b/core/notice/wechat.py new file mode 100644 index 00000000..f20b89b8 --- /dev/null +++ b/core/notice/wechat.py @@ -0,0 +1,31 @@ +import requests +import json + + +def send_wechat_message(webhook_url, title, text): + """ + 鍙戦佸井淇℃秷鎭 + + 鍙傛暟: + - webhook_url: 寰俊鏈哄櫒浜篧ebhook鍦板潃 + - title: 娑堟伅鏍囬 + - text: 娑堟伅鍐呭 + """ + # 鎴彇 text 纭繚瀛楃鏁颁笉瓒呰繃 4096 涓 + text = text[:2048] + headers = {'Content-Type': 'application/json'} + data = { + "msgtype": "markdown", + "markdown": { + "content": f"{text}" + } + } + try: + response = requests.post( + url=webhook_url, + headers=headers, + data=json.dumps(data) + ) + print(response.text) + except Exception as e: + print('寰俊閫氱煡鍙戦佸け璐', e) \ No newline at end of file diff --git a/db.db b/db.db index 237f230ddb055bf694619daa73f88072b4e21ee6..4d5256284733c2a85743006f86fe6943d2026982 100644 GIT binary patch delta 5865 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