优化圆角样式

This commit is contained in:
2024-05-25 12:09:54 +08:00
parent 1ccf94883a
commit c171873fa6
10 changed files with 158 additions and 17 deletions

View File

@ -1,5 +1,6 @@
from nonebot.plugin import PluginMetadata
from .rt_guide import *
from .crt_matchers import *
__plugin_meta__ = PluginMetadata(
name="CRT生成工具",

View File

@ -0,0 +1,71 @@
from urllib.parse import quote
import aiohttp
from nonebot import require
from liteyuki.utils.event import get_user_id
from liteyuki.utils.base.language import Language
from liteyuki.utils.base.ly_typing import T_MessageEvent
from liteyuki.utils.base.resource import get_path
from liteyuki.utils.message.html_tool import template2image
require("nonebot_plugin_alconna")
from nonebot_plugin_alconna import UniMessage, on_alconna, Alconna, Args, Subcommand, Arparma, Option
crt_cmd = on_alconna(
Alconna(
"crt",
Subcommand(
"route",
Args["start", str, "沙坪坝"]["end", str, "上新街"],
alias=("r",),
help_text="查询两地之间的地铁路线"
),
)
)
@crt_cmd.assign("route")
async def _(result: Arparma, event: T_MessageEvent):
# 获取语言
ulang = Language(get_user_id(event))
# 获取参数
start = quote(quote(result.other_args.get("start")))
end = quote(quote(result.other_args.get("end")))
# 判断参数语言
query_lang_code = "Eng" if ulang.lang_code not in ["zh-CN", "zh-HK"] else ""
if start.isalpha() and end.isalpha():
query_lang_code = "Eng"
# 构造请求 URL
url = f"https://www.cqmetro.cn/Front/html/TakeLine!queryYs{query_lang_code}TakeLine.action?entity.startStaName={start}&entity.endStaName={end}"
# 请求数据
async with aiohttp.ClientSession() as session:
async with session.get(url) as resp:
result = await resp.json()
# 检查结果/无则终止
if not result.get("result"):
await crt_cmd.send(ulang.get("crt.no_result"))
return
# 模板传参定义
templates = {
"data": {
"result": result["result"],
}
}
# 生成图片
image = await template2image(
template=get_path("templates/crt_route.html"),
templates=templates,
debug=True
)
# 发送图片
await crt_cmd.send(UniMessage.image(raw=image))

View File

@ -158,7 +158,6 @@ async def generate_chart(limit):
templates={
"data": data
},
debug=True
)
return img

View File

@ -87,7 +87,7 @@ async def get_stat_msg_image(duration: int, period: int, group_id: str = None, b
]
}
return await template2image(get_path("templates/stat_msg.html"), templates, debug=True)
return await template2image(get_path("templates/stat_msg.html"), templates)
# if not timestamps or period_start_time != timestamps[-1]:
# timestamps.append(period_start_time)

View File

@ -84,20 +84,19 @@ async def get_weather_now_card(matcher: Matcher, event: T_MessageEvent, keyword:
image = await template2image(
template=get_path("templates/weather_now.html", abs_path=True),
templates={
"data": {
"params": {
"unit": unit,
"lang": ulang.lang_code,
},
"weatherNow": weather_now,
"weatherDaily": weather_daily,
"weatherHourly": weather_hourly,
"aqi": aqi,
"location": location_data.dump(),
"localization": get_local_data(ulang.lang_code)
}
"data": {
"params" : {
"unit": unit,
"lang": ulang.lang_code,
},
"weatherNow" : weather_now,
"weatherDaily" : weather_daily,
"weatherHourly": weather_hourly,
"aqi" : aqi,
"location" : location_data.dump(),
"localization" : get_local_data(ulang.lang_code)
}
},
debug=True,
wait=1
)
return image