mirror of
https://github.com/aaPanel/aaPanel.git
synced 2026-09-12 12:37:39 +02:00
Update to 7.7.0
Since version 7.7.0, we recommend yours update python to 3.12. [+] Using nginx technology to load static files improves access speed [+] Refactor homepage, website, FTP, and database using vue3 [+] Table loading changed to skeleton screen [+] Add Website statistics-v2 professional plug-in [+] Add Home page - top 5 resource occupancy [+] Add protection for Files management (requires Tamper-proof for Enterprise 3.7) [+] Website, FTP, Databases page add program status [+] Add FTP log analysis (only supports Centos) [+] Add password-free login to phpMyAdmin [+] Add Proxy Project in Website (Supported when web service uses Nginx) [+] Add WP Toolkit (Pro version only) [+] Redesigned Docker module [+] Add WP Toolkit Protection [+] Add WP Toolkit Backup and Restore [+] Add WP Toolkit Migrated [+] Add WP Toolkit Clone site (supports new domain and subdomain) [+] Add WP Toolkit Create site from backup of other panel [+] Add WP Toolkit support for Cron automatic backup (only save Local disk) [+] Add WP Toolkit operation log [+] Add Integrity check for WP Toolkit [+] Add WP Toolkit plug-in management and themes management [*] Optimize phpMyAdmin formula access method [*] Optimize Home page PHP display problem [*] Optimize jump to the login interface after the login expires [*] Optimize automatic renewal of SSL at some times [*] Optimize Let's Encrypt to increase application success rate [-] Fix Logs Audit cannot be opened [-] Fix apache URL rewrite issue [-] Fix phpmyadmin installation problem [-] Fix the problem that some servers cannot install software [-] Fix upload file error [-] Fix left menu hiding problem [-] Fix aaPanel Mobile QR code display problem [-] Fix problem that third-party plug-ins are not displayed in the App Store [-] Fix issue where the menu bar is blank when opening new tabs [-] Fixed panel not being accessible in some cases [-] Fix the issue where Curl warning caused the inability to apply for SSL [-] Fix Quota issues for Website, FTP, Databases [-] Fix file interface display problem on mobile terminal
This commit is contained in:
@@ -0,0 +1,145 @@
|
||||
import json
|
||||
import os.path
|
||||
|
||||
from .weixin_msg import WeiXinMsg
|
||||
from .mail_msg import MailMsg
|
||||
from .web_hook_msg import WebHookMsg
|
||||
from .feishu_msg import FeiShuMsg
|
||||
from .dingding_msg import DingDingMsg
|
||||
from .sms_msg import SMSMsg
|
||||
from .wx_account_msg import WeChatAccountMsg
|
||||
from .manager import SenderManager
|
||||
from .util import read_file
|
||||
|
||||
from mod.base.push_mod import SenderConfig, PUSH_DATA_PATH
|
||||
|
||||
|
||||
# 把旧地告警系统的信息通道更新
|
||||
def update_mod_push_msg():
|
||||
|
||||
if os.path.exists(PUSH_DATA_PATH + "/update_sender.pl"):
|
||||
return
|
||||
with open(PUSH_DATA_PATH + "/update_sender.pl", "w") as f:
|
||||
f.write("")
|
||||
|
||||
WeChatAccountMsg.refresh_config(force=True)
|
||||
sms_status = False
|
||||
sc = SenderConfig()
|
||||
for conf in sc.config:
|
||||
if conf["sender_type"] == "sms":
|
||||
sms_status = True
|
||||
break
|
||||
|
||||
if not sms_status:
|
||||
sc.config.append({
|
||||
"id": sc.nwe_id(),
|
||||
"used": True,
|
||||
"sender_type": "sms",
|
||||
"data": {},
|
||||
"original": True # 标记这个通道是该类型 旧有的通道, 同时也是默认通道
|
||||
})
|
||||
|
||||
panel_data_path = "/www/server/panel/data"
|
||||
|
||||
# weixin
|
||||
if os.path.exists(panel_data_path + "/weixin.json"):
|
||||
try:
|
||||
weixin_data = json.loads(read_file(panel_data_path + "/weixin.json"))
|
||||
except:
|
||||
weixin_data = None
|
||||
|
||||
if isinstance(weixin_data, dict) and "weixin_url" in weixin_data:
|
||||
sc.config.append({
|
||||
"id": sc.nwe_id(),
|
||||
"used": True,
|
||||
"sender_type": "weixin",
|
||||
"data": {
|
||||
"url": weixin_data["weixin_url"],
|
||||
"title": "企业微信" if "title" not in weixin_data else weixin_data["title"]
|
||||
},
|
||||
"original": True
|
||||
})
|
||||
|
||||
# mail
|
||||
stmp_file = panel_data_path + "/stmp_mail.json"
|
||||
mail_list_file = panel_data_path + "/mail_list.json"
|
||||
if os.path.exists(stmp_file) and os.path.exists(mail_list_file):
|
||||
stmp_data = None
|
||||
try:
|
||||
stmp_data = json.loads(read_file(stmp_file))
|
||||
mail_list_data = json.loads(read_file(mail_list_file))
|
||||
except:
|
||||
mail_list_data = None
|
||||
|
||||
if isinstance(stmp_data, dict):
|
||||
if 'qq_mail' in stmp_data or 'qq_stmp_pwd' in stmp_data or 'hosts' in stmp_data:
|
||||
sc.config.append({
|
||||
"id": sc.nwe_id(),
|
||||
"used": True,
|
||||
"sender_type": "mail",
|
||||
"data": {
|
||||
"send": stmp_data,
|
||||
"title": "邮箱",
|
||||
"receive": [] if not mail_list_data else mail_list_data,
|
||||
},
|
||||
"original": True
|
||||
})
|
||||
|
||||
# webhook
|
||||
webhook_file = panel_data_path + "/hooks_msg.json"
|
||||
if os.path.exists(stmp_file) and os.path.exists(mail_list_file):
|
||||
try:
|
||||
webhook_data = json.loads(read_file(webhook_file))
|
||||
except:
|
||||
webhook_data = None
|
||||
|
||||
if isinstance(webhook_data, list):
|
||||
for i in webhook_data:
|
||||
i["title"] = i["name"]
|
||||
sc.config.append({
|
||||
"id": sc.nwe_id(),
|
||||
"used": True,
|
||||
"sender_type": "webhook",
|
||||
"data": i,
|
||||
})
|
||||
|
||||
# feishu
|
||||
if os.path.exists(panel_data_path + "/feishu.json"):
|
||||
try:
|
||||
feishu_data = json.loads(read_file(panel_data_path + "/feishu.json"))
|
||||
except:
|
||||
feishu_data = None
|
||||
|
||||
if isinstance(feishu_data, dict) and "feishu_url" in feishu_data:
|
||||
sc.config.append({
|
||||
"id": sc.nwe_id(),
|
||||
"used": True,
|
||||
"sender_type": "feishu",
|
||||
"data": {
|
||||
"url": feishu_data["feishu_url"],
|
||||
"title": "飞书" if "title" not in feishu_data else feishu_data["title"]
|
||||
},
|
||||
"original": True
|
||||
})
|
||||
|
||||
# dingding
|
||||
if os.path.exists(panel_data_path + "/dingding.json"):
|
||||
try:
|
||||
dingding_data = json.loads(read_file(panel_data_path + "/dingding.json"))
|
||||
except:
|
||||
dingding_data = None
|
||||
|
||||
if isinstance(dingding_data, dict) and "dingding_url" in dingding_data:
|
||||
sc.config.append({
|
||||
"id": sc.nwe_id(),
|
||||
"used": True,
|
||||
"sender_type": "dingding",
|
||||
"data": {
|
||||
"url": dingding_data["dingding_url"],
|
||||
"title": "钉钉" if "title" not in dingding_data else dingding_data["title"]
|
||||
},
|
||||
"original": True
|
||||
})
|
||||
|
||||
sc.save_config()
|
||||
read_file(PUSH_DATA_PATH + "/update_sender.pl", "")
|
||||
Reference in New Issue
Block a user