fix cf优选插件发送消息

This commit is contained in:
thsrite
2023-08-05 19:46:58 +08:00
parent d81fc641eb
commit 0412eeafc9

View File

@ -11,7 +11,7 @@ from python_hosts import Hosts, HostsEntry
from app.core.config import settings from app.core.config import settings
from app.log import logger from app.log import logger
from app.plugins import _PluginBase from app.plugins import _PluginBase
from app.schemas.types import EventType from app.schemas.types import EventType, NotificationType
from app.utils.http import RequestUtils from app.utils.http import RequestUtils
from app.utils.ip import IpUtils from app.utils.ip import IpUtils
from app.utils.system import SystemUtils from app.utils.system import SystemUtils
@ -192,7 +192,8 @@ class CloudflareSpeedTest(_PluginBase):
"plugin_id": "CustomHosts" "plugin_id": "CustomHosts"
}) })
if self._notify: if self._notify:
logger.send_message( self.post_message(
mtype=NotificationType.SiteMessage,
title="【Cloudflare优选任务完成】", title="【Cloudflare优选任务完成】",
text=f"原ip{old_ip}\n" text=f"原ip{old_ip}\n"
f"新ip{best_ip}" f"新ip{best_ip}"
@ -403,207 +404,207 @@ class CloudflareSpeedTest(_PluginBase):
拼装插件配置页面需要返回两块数据1、页面配置2、数据结构 拼装插件配置页面需要返回两块数据1、页面配置2、数据结构
""" """
return [ return [
{ {
'component': 'VForm', 'component': 'VForm',
'content': [ 'content': [
{ {
'component': 'VRow', 'component': 'VRow',
'content': [ 'content': [
{ {
'component': 'VCol', 'component': 'VCol',
'props': { 'props': {
'cols': 12, 'cols': 12,
'md': 4 'md': 4
}, },
'content': [ 'content': [
{ {
'component': 'VTextField', 'component': 'VTextField',
'props': { 'props': {
'model': 'cf_ip', 'model': 'cf_ip',
'label': '优选IP', 'label': '优选IP',
'placeholder': '121.121.121.121' 'placeholder': '121.121.121.121'
} }
} }
] ]
}, },
{ {
'component': 'VCol', 'component': 'VCol',
'props': { 'props': {
'cols': 12, 'cols': 12,
'md': 4 'md': 4
}, },
'content': [ 'content': [
{ {
'component': 'VTextField', 'component': 'VTextField',
'props': { 'props': {
'model': 'cron', 'model': 'cron',
'label': '优选周期', 'label': '优选周期',
'placeholder': '0 0 0 ? *' 'placeholder': '0 0 0 ? *'
} }
} }
] ]
}, },
{ {
'component': 'VCol', 'component': 'VCol',
'props': { 'props': {
'cols': 12, 'cols': 12,
'md': 4 'md': 4
}, },
'content': [ 'content': [
{ {
'component': 'VTextField', 'component': 'VTextField',
'props': { 'props': {
'model': 'version', 'model': 'version',
'readonly': True, 'readonly': True,
'label': 'CloudflareSpeedTest版本', 'label': 'CloudflareSpeedTest版本',
'placeholder': '暂未安装' 'placeholder': '暂未安装'
} }
} }
] ]
} }
] ]
}, },
{ {
'component': 'VRow', 'component': 'VRow',
'content': [ 'content': [
{ {
'component': 'VCol', 'component': 'VCol',
'props': { 'props': {
'cols': 12, 'cols': 12,
'md': 4 'md': 4
}, },
'content': [ 'content': [
{ {
'component': 'VSwitch', 'component': 'VSwitch',
'props': { 'props': {
'model': 'ipv4', 'model': 'ipv4',
'label': 'IPv4', 'label': 'IPv4',
} }
} }
] ]
}, },
{ {
'component': 'VCol', 'component': 'VCol',
'props': { 'props': {
'cols': 12, 'cols': 12,
'md': 4 'md': 4
}, },
'content': [ 'content': [
{ {
'component': 'VSwitch', 'component': 'VSwitch',
'props': { 'props': {
'model': 'ipv6', 'model': 'ipv6',
'label': 'IPv6', 'label': 'IPv6',
} }
} }
] ]
}, },
{ {
'component': 'VCol', 'component': 'VCol',
'props': { 'props': {
'cols': 12, 'cols': 12,
'md': 4 'md': 4
}, },
'content': [ 'content': [
{ {
'component': 'VSwitch', 'component': 'VSwitch',
'props': { 'props': {
'model': 'check', 'model': 'check',
'label': '自动校准', 'label': '自动校准',
} }
} }
] ]
} }
] ]
}, },
{ {
'component': 'VRow', 'component': 'VRow',
'content': [ 'content': [
{ {
'component': 'VCol', 'component': 'VCol',
'props': { 'props': {
'cols': 12, 'cols': 12,
'md': 4 'md': 4
}, },
'content': [ 'content': [
{ {
'component': 'VSwitch', 'component': 'VSwitch',
'props': { 'props': {
'model': 'onlyonce', 'model': 'onlyonce',
'label': '立即运行一次', 'label': '立即运行一次',
} }
} }
] ]
}, },
{ {
'component': 'VCol', 'component': 'VCol',
'props': { 'props': {
'cols': 12, 'cols': 12,
'md': 4 'md': 4
}, },
'content': [ 'content': [
{ {
'component': 'VSwitch', 'component': 'VSwitch',
'props': { 'props': {
'model': 're_install', 'model': 're_install',
'label': '重装后运行', 'label': '重装后运行',
} }
} }
] ]
}, },
{ {
'component': 'VCol', 'component': 'VCol',
'props': { 'props': {
'cols': 12, 'cols': 12,
'md': 4 'md': 4
}, },
'content': [ 'content': [
{ {
'component': 'VSwitch', 'component': 'VSwitch',
'props': { 'props': {
'model': 'notify', 'model': 'notify',
'label': '运行时通知', 'label': '运行时通知',
} }
} }
] ]
} }
] ]
}, },
{ {
'component': 'VRow', 'component': 'VRow',
'content': [ 'content': [
{ {
'component': 'VCol', 'component': 'VCol',
'props': { 'props': {
'cols': 12 'cols': 12
}, },
'content': [ 'content': [
{ {
'component': 'VTextField', 'component': 'VTextField',
'props': { 'props': {
'model': 'additional_args', 'model': 'additional_args',
'label': '高级参数', 'label': '高级参数',
'placeholder': '-dd' 'placeholder': '-dd'
} }
} }
] ]
} }
] ]
} }
] ]
} }
], { ], {
"cf_ip": "", "cf_ip": "",
"cron": "", "cron": "",
"version": "", "version": "",
"ipv4": True, "ipv4": True,
"ipv6": False, "ipv6": False,
"check": False, "check": False,
"onlyonce": False, "onlyonce": False,
"re_install": False, "re_install": False,
"notify": True, "notify": True,
"additional_args": "" "additional_args": ""
} }
def get_page(self) -> List[dict]: def get_page(self) -> List[dict]:
pass pass