57 lines
2.4 KiB
Python
57 lines
2.4 KiB
Python
import json
|
|
import time
|
|
from PIL import Image, ImageDraw
|
|
import io
|
|
import base64
|
|
import requests
|
|
from src.core.action import Action
|
|
from src.core.logger import Logger
|
|
|
|
class Custom(Action):
|
|
def __init__(self, action: str, context: str, settings: dict, plugin):
|
|
super().__init__(action, context, settings, plugin)
|
|
# Set up timer to update time every second
|
|
|
|
self.plugin.set_global_settings({"test": "test"})
|
|
# 1. 画图
|
|
img = Image.new('RGB', (200, 200), color='white')
|
|
draw = ImageDraw.Draw(img)
|
|
draw.rectangle((50, 50, 150, 150), outline='blue', width=3)
|
|
draw.text((60, 60), "Hello", fill='black')
|
|
|
|
# 2. 转成 base64
|
|
buffered = io.BytesIO()
|
|
img.save(buffered, format="PNG") # 保存成PNG格式到内存
|
|
img_base64 = base64.b64encode(buffered.getvalue()).decode('utf-8')
|
|
self.set_image( f"data:image/png;base64,{img_base64}")
|
|
self.set_settings({"test": "test"})
|
|
self.log_message("---------------test--------------")
|
|
self.set_title("test")
|
|
self.show_alert()
|
|
Logger.info(f"[Custom] Initialized with context {context}")
|
|
|
|
def on_will_disappear(self):
|
|
# Clear the timer when action disappears
|
|
self.plugin.timer.clear_interval(f'time_update_{self.context}')
|
|
Logger.info(f"[Custom] Will disappear for context {self.context}")
|
|
|
|
def on_did_receive_global_settings(self, settings: dict):
|
|
# Handle global settings update
|
|
Logger.info(f"[Custom] Received global settings: {settings}")
|
|
|
|
def on_key_down(self, payload: dict):
|
|
res = requests.get("https://localhost:8000/api", verify=False)
|
|
response = requests.get("https://geoapi.qweather.com/v2/city/lookup?location=广州&key=bdd98ec1d87747f3a2e8b1741a5af796")
|
|
if response.status_code == 200:
|
|
Logger.info(response.json()) # 假设响应内容是 JSON 格式
|
|
else:
|
|
Logger.info(f"请求失败,状态码: {response.status_code}")
|
|
Logger.info(f"[Custom] Key down event with payload: {payload}")
|
|
|
|
def on_key_up(self, payload: dict):
|
|
self.plugin.set_global_settings({"test": "tedasdasdst"})
|
|
self.set_settings({"test": "dasdsada"})
|
|
self.send_to_property_inspector({"test": "asdas"})
|
|
self.open_url("https://sdk.key123.vip/guide/get-started.html")
|
|
self.show_ok()
|
|
Logger.info(f"[Custom] Key up event with payload: {payload}") |