添加新设置项,拆分css

This commit is contained in:
Asankilp 2024-08-24 17:44:52 +08:00
parent d5017e687f
commit 80a9b4d565
6 changed files with 171 additions and 213 deletions

View File

@ -1,4 +1,3 @@
import json
from typing import Dict
from aiohttp import ClientSession
@ -59,26 +58,26 @@ async def get_shows_data(region_id: int, page=1, pagesize=20):
return shows_data
def process_shows_data_to_text(shows_data: dict):
showlist = []
data = shows_data["data"]
total_pages = data["numPages"]
result = data["result"]
for i in result:
name = i["project_name"]
venue_name = i["venue_name"]
project_id = i["project_id"]
sale_flag = i["sale_flag"]
# start_time = i["start_time"]
start_unix = i["start_unix"]
start_time = convert_timestamp(start_unix)
end_time = i["end_time"]
price_low = i["price_low"] / 100
price_high = i["price_high"] / 100
district_name = i["district_name"]
text = f"名称:{name}\n举办地:{venue_name}\nid:{project_id}\nflag:{sale_flag}\n开始时间:{start_time}\n结束时间:{end_time}\n最低票价:{price_low}\n最高票价:{price_high}\n区名:{district_name}\n\n"
showlist.append(text)
return showlist
# def process_shows_data_to_text(shows_data: dict):
# showlist = []
# data = shows_data["data"]
# total_pages = data["numPages"]
# result = data["result"]
# for i in result:
# name = i["project_name"]
# venue_name = i["venue_name"]
# project_id = i["project_id"]
# sale_flag = i["sale_flag"]
# # start_time = i["start_time"]
# start_unix = i["start_unix"]
# start_time = convert_timestamp(start_unix)
# end_time = i["end_time"]
# price_low = i["price_low"] / 100
# price_high = i["price_high"] / 100
# district_name = i["district_name"]
# text = f"名称:{name}\n举办地:{venue_name}\nid:{project_id}\nflag:{sale_flag}\n开始时间:{start_time}\n结束时间:{end_time}\n最低票价:{price_low}\n最高票价:{price_high}\n区名:{district_name}\n\n"
# showlist.append(text)
# return showlist
def process_shows_data_to_template(shows_data: dict):

View File

@ -9,6 +9,6 @@ BGIMAGE_PATH = RES_PATH / "bgimage"
class ConfigModel(BaseModel):
acgnshow_pagesize: int = 8
acgnshow_bgimage_path: str = BGIMAGE_PATH
config: ConfigModel = get_plugin_config(ConfigModel)

View File

@ -0,0 +1,142 @@
@font-face {
font-family: "Source Han Sans";
src: url("SourceHanSans.otf") format("opentype");
}
body {
font-family: "Source Han Sans", sans-serif;
}
.container, .header, .content, .footer, .details, .image {
border: 1px solid black;
box-sizing: border-box;
}
.container {
width: 98%;
margin: 1%;
padding: 10px;
background-color: rgba(255, 255, 255, 0.8);
}
.header, .designer {
text-align: center;
font-size: 10px;
font-weight: bold;
padding: 5px;
margin: 10px 0;
}
.content {
display: flex;
margin-bottom: 10px;
padding: 5px;
position: relative;
}
.image {
width: 149px;
height: 201px;
border: 1px solid rgba(128, 64, 128, 0.5);
text-align: center;
}
.details {
flex: 1;
padding-left: 10px;
display: flex;
flex-direction: column;
font-size: 10px;
position: relative;
}
.details .title {
font-weight: bold;
margin-bottom: 5px;
}
.details .venue_name,
.details .guests,
.details .placeholder,
.details .price,
.details .wish,
.details .start-time,
.details .end-time {
margin-bottom: 5px;
}
.details .sale_flag,
.details .id {
position: absolute;
font-size: 10px;
}
.details .sale_flag {
color: red;
top: 5px;
right: 5px;
}
.details .id {
top: 20px;
right: 5px;
}
.details .price {
color: #fb7299;
font-weight: bold;
bottom: 5px;
left: 5px;
}
.details .wish {
color: gray;
bottom: 5px;
left: 60px;
}
.details .start-time {
bottom: 20px;
right: 5px;
}
.details .end-time {
bottom: 5px;
right: 5px;
}
.footer {
display: flex;
flex-direction: column;
justify-content: space-between;
font-size: 10px;
position: relative;
}
.footer .pages,
.footer .total_results {
position: absolute;
font-size: 10px;
}
.footer .pages {
bottom: 5px;
right: 5px;
}
.footer .total_results {
bottom: 5px;
left: 5px;
}
.footer .project_name {
font-size: 10px;
text-align: center;
color: rgb(50, 227, 227);
}
.footer .notice_text {
font-size: 8px;
text-align: center;
color: slateblue;
}

View File

@ -4,195 +4,11 @@
<head>
<meta charset="UTF-8" />
<title>Show Information</title>
<link rel="stylesheet" href="./css/style.css">
<style>
@font-face {
font-family: "Source Han Sans";
src: url("SourceHanSans.otf") format("opentype");
}
body {
font-family: "Source Han Sans", sans-serif;
background-image: url("{{ bgimage }}");
}
.background {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-size: cover;
filter: blur(40%);
z-index: -1;
}
.container {
width: 98%;
margin: 1%;
border: 1px solid #fff;
padding: 10px;
box-sizing: border-box;
background-color: rgba(255, 255, 255, 0.8);
/* 半透明白色背景 */
}
.header {
border: 1px solid black;
padding: 5px;
margin-bottom: 10px;
text-align: center;
font-size: 10px;
font-weight: bold;
}
.content {
display: flex;
border: 1px solid black;
margin-bottom: 10px;
padding: 5px;
position: relative;
box-sizing: border-box;
}
.image {
width: 149px;
height: 201px;
border: 1px solid rgba(128, 64, 128, 0.5);
text-align: center;
box-sizing: border-box;
}
.details {
flex: 1;
padding-left: 10px;
display: flex;
flex-direction: column;
justify-content: flex-start;
position: relative;
font-size: 10px;
}
.details .title {
font-size: 10px;
font-weight: bold;
margin-bottom: 5px;
}
.details .venue_name {
font-size: 10px;
font-weight: normal;
margin-bottom: 5px;
}
.details .guests {
font-size: 10px;
word-wrap: break-word;
white-space: pre-wrap;
/* 自动换行 */
margin-bottom: 5px;
}
.details .placeholder {
font-size: 10px;
margin-bottom: 5px;
}
.details .sale_flag {
color: red;
font-size: 10px;
position: absolute;
top: 5px;
right: 5px;
}
.details .id {
color: black;
font-size: 10px;
position: absolute;
top: 20px;
right: 5px;
}
.details .price {
color: #fb7299;
font-size: 10px;
font-weight: bold;
position: absolute;
bottom: 5px;
left: 5px;
}
.details .wish {
color: gray;
position: absolute;
bottom: 5px;
left: 60px;
}
.details .start-time,
.details .end-time {
font-size: 10px;
}
.details .start-time {
position: absolute;
bottom: 20px;
right: 5px;
}
.details .end-time {
position: absolute;
bottom: 5px;
right: 5px;
}
.footer {
border: 1px solid black;
flex: 1;
padding-left: 10px;
display: flex;
flex-direction: column;
justify-content: space-between;
position: relative;
font-size: 10px;
}
.footer .designer {
text-align: center;
font-weight: bold;
font-size: 10px;
padding: 5px;
margin-bottom: 10px;
margin-top: 10px;
}
.footer .pages {
position: absolute;
bottom: 5px;
right: 5px;
font-size: 10px;
}
.footer .total_results {
position: absolute;
bottom: 5px;
left: 5px;
font-size: 10px;
}
.footer .project_name {
position: relative;
font-size: 10px;
text-align: center;
color: rgb(50, 227, 227);
}
.footer .notice_text {
position: relative;
font-size: 8px;
text-align: center;
color: slateblue;
}
</style>
</head>
@ -229,7 +45,7 @@
{{ global_data.page }} / {{ global_data.total_pages }} 页
</div>
<div class="project_name">nonebot-plugin-acgnshow</div>
<div class="notice_text">本页信息仅供参考,具体内容请访问展览官方详情页,并自行检索实际信息</div>
<div class="notice_text">本页信息仅供参考,具体内容请访问哔哩哔哩会员购,并自行检索实际信息</div>
</div>
</div>
</body>

View File

@ -1,16 +1,17 @@
import os
import random
import datetime
from .config import BGIMAGE_PATH
from pathlib import Path
from .config import config
def choose_random_bgimage() -> str:
"""
从背景图片文件夹中随机选择一张图片返回图片的uri地址
"""
randomfile = random.choice(os.listdir(BGIMAGE_PATH))
randomurl = (BGIMAGE_PATH / randomfile).as_uri()
bgpath = Path(config.acgnshow_bgimage_path)
randomfile = random.choice(os.listdir(bgpath))
randomurl = (bgpath / randomfile).as_uri()
return randomurl

View File

@ -1,6 +1,6 @@
[project]
name = "nonebot-plugin-acgnshow"
version = "0.1.5"
version = "0.1.5.1"
description = "Nonebot2插件从哔哩哔哩会员购获取简易展览数据"
readme = "README.md"
requires-python = "<4.0,>=3.9"