mirror of
https://github.com/PaiGramTeam/PamGram.git
synced 2024-11-27 08:06:19 +00:00
✨ Fix small bugs and redesign some cards (#8)
* fix: 🐛 fix some config examples * docs: 📝 add doc that install genshin.py with starrail support * fix: 🐛 suring mysql won't think 'admin' as sys word * feat(stats): ✨ new design of stats card * feat(gacha): ✨ new design of gacha log card
This commit is contained in:
parent
a9dca3bf2a
commit
5616f0637c
@ -40,7 +40,7 @@ OWNER=0
|
|||||||
# VERIFY_GROUPS=[]
|
# VERIFY_GROUPS=[]
|
||||||
|
|
||||||
# logger 配置 可选配置项
|
# logger 配置 可选配置项
|
||||||
# LOGGER_NAME="TGPaimon"
|
# LOGGER_NAME="HonkaiStarRailGram"
|
||||||
# 打印时的宽度
|
# 打印时的宽度
|
||||||
# LOGGER_WIDTH=180
|
# LOGGER_WIDTH=180
|
||||||
# log 文件存放目录
|
# log 文件存放目录
|
||||||
@ -80,12 +80,11 @@ LOGGER_FILTERED_NAMES=["uvicorn","ErrorPush","ApiHelper"]
|
|||||||
# API_ID=12345
|
# API_ID=12345
|
||||||
# API_HASH="abcdefg"
|
# API_HASH="abcdefg"
|
||||||
|
|
||||||
# ENKA_NETWORK_API 可选配置项
|
# ENKA_NETWORK_API 可选配置项(暂时无法使用)
|
||||||
# ENKA_NETWORK_API_AGENT=""
|
# ENKA_NETWORK_API_AGENT=""
|
||||||
|
|
||||||
# Web Server
|
# Web Server
|
||||||
# WEB_SWITCH=False # 是否开启
|
# WEB_ENABLE=False # 是否开启 WebServer
|
||||||
# WEB_URL=http://localhost:8080/
|
|
||||||
# WEB_HOST=localhost
|
# WEB_HOST=localhost
|
||||||
# WEB_PORT=8080
|
# WEB_PORT=8080
|
||||||
|
|
||||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -139,6 +139,7 @@ data/
|
|||||||
plugins/genshin/daily/daily.json
|
plugins/genshin/daily/daily.json
|
||||||
metadata/data/
|
metadata/data/
|
||||||
resources/assets/
|
resources/assets/
|
||||||
|
run.ps1
|
||||||
|
|
||||||
### private plugins ###
|
### private plugins ###
|
||||||
plugins/private
|
plugins/private
|
||||||
|
@ -13,7 +13,6 @@
|
|||||||
|
|
||||||
基于 [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) 的 PaiGram
|
基于 [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) 的 PaiGram
|
||||||
|
|
||||||
|
|
||||||
![Alt](https://repobeats.axiom.co/api/embed/f73c1121006cb86196f83da2170242b7a97f8be0.svg "Repobeats analytics image")
|
![Alt](https://repobeats.axiom.co/api/embed/f73c1121006cb86196f83da2170242b7a97f8be0.svg "Repobeats analytics image")
|
||||||
|
|
||||||
## 环境需求
|
## 环境需求
|
||||||
@ -37,6 +36,10 @@ poetry install
|
|||||||
poetry run playwright install chromium
|
poetry run playwright install chromium
|
||||||
```
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pip install git+https://github.com/PaiGramTeam/genshin.py@sr
|
||||||
|
```
|
||||||
|
|
||||||
#### 可选依赖项
|
#### 可选依赖项
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
@ -193,7 +193,7 @@ def upgrade() -> None:
|
|||||||
)
|
)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
statement = "SELECT * FROM admin;"
|
statement = "SELECT * FROM `admin`;"
|
||||||
old_user_table_data = connection.execute(text(statement))
|
old_user_table_data = connection.execute(text(statement))
|
||||||
except NoSuchTableError:
|
except NoSuchTableError:
|
||||||
logger.warning("Table 'admin' doesn't exist")
|
logger.warning("Table 'admin' doesn't exist")
|
||||||
|
@ -1,341 +1,342 @@
|
|||||||
@font-face {
|
@font-face {
|
||||||
font-family: "tttgbnumber";
|
font-family: "tttgbnumber";
|
||||||
src: url("./../../fonts/tttgbnumber.ttf");
|
src: url("./../../fonts/tttgbnumber.ttf");
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
* {
|
.header {
|
||||||
margin: 0;
|
background: #e0dad3 url(./img/starrail.png) no-repeat right;
|
||||||
padding: 0;
|
box-shadow: 0 0 8px #72a2ae79;
|
||||||
box-sizing: border-box;
|
}
|
||||||
user-select: none;
|
|
||||||
|
.frame {
|
||||||
|
border-color: #cdbea8;
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
color: #1e1f20;
|
color: #1e1f20;
|
||||||
font-family: PingFangSC-Medium, PingFang SC, sans-serif;
|
font-family: PingFangSC-Medium, PingFang SC, sans-serif;
|
||||||
transform: scale(1.5);
|
transform: scale(1.5);
|
||||||
transform-origin: 0 0;
|
transform-origin: 0 0;
|
||||||
width: 510px;
|
width: 510px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
width: 510px;
|
width: 510px;
|
||||||
padding: 20px 15px 10px 15px;
|
padding: 20px 15px 10px 15px;
|
||||||
background-color: #f5f6fb;
|
background-color: #f5f6fb;
|
||||||
}
|
}
|
||||||
|
|
||||||
.head_box {
|
.head_box {
|
||||||
border-radius: 9999px;
|
border-radius: 9999px;
|
||||||
font-family: tttgbnumber, sans-serif;
|
font-family: tttgbnumber, sans-serif;
|
||||||
padding: 10px 20px;
|
padding: 10px 20px;
|
||||||
position: relative;
|
position: relative;
|
||||||
box-shadow: 0 5px 10px 0 rgb(0 0 0 / 15%);
|
box-shadow: 0 5px 10px 0 rgb(0 0 0 / 15%);
|
||||||
}
|
}
|
||||||
|
|
||||||
.head_box .id_text {
|
.head_box .id_text {
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.head_box .day_text {
|
.head_box .day_text {
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.head_box .starrail_logo {
|
.head_box .starrail_logo {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 10px;
|
top: 10px;
|
||||||
right: 30px;
|
right: 30px;
|
||||||
width: 120px;
|
width: 120px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.logo {
|
.logo {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
font-family: "tttgbnumber", serif;
|
font-family: "tttgbnumber", serif;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
color: #7994a7;
|
color: #7994a7;
|
||||||
position: relative;
|
position: relative;
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.data_box {
|
.data_box {
|
||||||
border-radius: 15px;
|
border-radius: 15px;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
padding: 20px 0 5px 10px;
|
padding: 20px 0 5px 10px;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
box-shadow: 0 5px 10px 0 rgb(0 0 0 / 15%);
|
box-shadow: 0 5px 10px 0 rgb(0 0 0 / 15%);
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab_lable {
|
.tab_lable {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -10px;
|
top: -10px;
|
||||||
left: -8px;
|
left: -8px;
|
||||||
background: #d4b98c;
|
background: #d4b98c;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
padding: 3px 10px;
|
padding: 3px 10px;
|
||||||
border-radius: 15px 0 15px 15px;
|
border-radius: 15px 0 15px 15px;
|
||||||
z-index: 20;
|
z-index: 20;
|
||||||
}
|
}
|
||||||
|
|
||||||
.data_line {
|
.data_line {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-around;
|
justify-content: space-around;
|
||||||
margin-bottom: 14px;
|
margin-bottom: 14px;
|
||||||
padding-right: 10px;
|
padding-right: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.data_line_item {
|
.data_line_item {
|
||||||
width: 100px;
|
width: 100px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
||||||
/* margin: 0 20px; */
|
/* margin: 0 20px; */
|
||||||
}
|
}
|
||||||
|
|
||||||
.num {
|
.num {
|
||||||
font-family: tttgbnumber, serif;
|
font-family: tttgbnumber, serif;
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.num .unit {
|
.num .unit {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.data_box .lable {
|
.data_box .lable {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #7f858a;
|
color: #7f858a;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
margin-top: 3px;
|
margin-top: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.info_box_border {
|
.info_box_border {
|
||||||
border-radius: 15px;
|
border-radius: 15px;
|
||||||
|
|
||||||
/* margin-top: 20px; */
|
/* margin-top: 20px; */
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
padding: 6px 0 5px 10px;
|
padding: 6px 0 5px 10px;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
box-shadow: 0 5px 10px 0 rgb(0 0 0 / 15%);
|
box-shadow: 0 5px 10px 0 rgb(0 0 0 / 15%);
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card_list {
|
.card_list {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card_list .item {
|
.card_list .item {
|
||||||
margin: 0 8px 10px 0;
|
margin: 0 8px 10px 0;
|
||||||
border-radius: 7px;
|
border-radius: 7px;
|
||||||
box-shadow: 0 2px 6px 0 rgb(132 93 90 / 30%);
|
box-shadow: 0 2px 6px 0 rgb(132 93 90 / 30%);
|
||||||
height: 90px;
|
height: 90px;
|
||||||
position: relative;
|
position: relative;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
background: #e7e5d9;
|
background: #e7e5d9;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card_list .item img {
|
.card_list .item img {
|
||||||
width: 70px;
|
width: 70px;
|
||||||
height: 70px;
|
height: 70px;
|
||||||
border-radius: 7px 7px 20px 0;
|
border-radius: 7px 7px 20px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card_list .item.star5 img {
|
.card_list .item.star5 img {
|
||||||
background-image: url(./../../genshin/abyss/background/roleStarBg5.png);
|
background-image: url(./../../genshin/abyss/background/roleStarBg5.png);
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 70px;
|
height: 70px;
|
||||||
/* filter: brightness(1.1); */
|
/* filter: brightness(1.1); */
|
||||||
background-size: 100%;
|
background-size: 100%;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card_list .item.star4 img {
|
.card_list .item.star4 img {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 70px;
|
height: 70px;
|
||||||
background-image: url(./../../genshin/abyss/background/roleStarBg4.png);
|
background-image: url(./../../genshin/abyss/background/roleStarBg4.png);
|
||||||
background-size: 100%;
|
background-size: 100%;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card_list .item .num {
|
.card_list .item .num {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
z-index: 9;
|
z-index: 9;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
padding: 1px 5px;
|
padding: 1px 5px;
|
||||||
background: rgb(0 0 0 / 50%);
|
background: rgb(0 0 0 / 50%);
|
||||||
font-family: "tttgbnumber", serif;
|
font-family: "tttgbnumber", serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card_list .item .name,
|
.card_list .item .name,
|
||||||
.card_list .item .num_name {
|
.card_list .item .num_name {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 71px;
|
top: 71px;
|
||||||
left: 0;
|
left: 0;
|
||||||
z-index: 9;
|
z-index: 9;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 16px;
|
height: 16px;
|
||||||
line-height: 18px;
|
line-height: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card_list .item .num_name {
|
.card_list .item .num_name {
|
||||||
font-family: "tttgbnumber", serif;
|
font-family: "tttgbnumber", serif;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.base_info {
|
.base_info {
|
||||||
position: relative;
|
position: relative;
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
margin: 5px 10px;
|
margin: 5px 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.uid::before {
|
.uid::before {
|
||||||
content: " ";
|
content: " ";
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 5px;
|
width: 5px;
|
||||||
height: 24px;
|
height: 24px;
|
||||||
border-radius: 1px;
|
border-radius: 1px;
|
||||||
left: 0;
|
left: 0;
|
||||||
top: 0;
|
top: 0;
|
||||||
background: #d3bc8d;
|
background: #d3bc8d;
|
||||||
}
|
}
|
||||||
|
|
||||||
.label_301 {
|
.label_301 {
|
||||||
background-color: rgb(235 106 75);
|
background-color: rgb(235 106 75);
|
||||||
}
|
}
|
||||||
|
|
||||||
.label_302 {
|
.label_302 {
|
||||||
background-color: #e69449;
|
background-color: #e69449;
|
||||||
}
|
}
|
||||||
|
|
||||||
.label_200 {
|
.label_200 {
|
||||||
background-color: #757cc8;
|
background-color: #757cc8;
|
||||||
}
|
}
|
||||||
|
|
||||||
.label {
|
.label {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
padding: 2px 7px;
|
padding: 2px 7px;
|
||||||
vertical-align: 2px;
|
vertical-align: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ritem {
|
.ritem {
|
||||||
display: flex;
|
display: flex;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
margin-bottom: 5px;
|
margin-bottom: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.info_role {
|
.info_role {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
padding: 0 0 5px 9px;
|
padding: 0 0 5px 9px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ritem .role {
|
.ritem .role {
|
||||||
width: 20px;
|
width: 20px;
|
||||||
height: 20px;
|
height: 20px;
|
||||||
background-color: #ffb285;
|
background-color: #ffb285;
|
||||||
border-radius: 100%;
|
border-radius: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ritem .weapon_box {
|
.ritem .weapon_box {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
width: 20px;
|
width: 20px;
|
||||||
height: 20px;
|
height: 20px;
|
||||||
border-radius: 100%;
|
border-radius: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ritem .weapon {
|
.ritem .weapon {
|
||||||
width: 20px;
|
width: 20px;
|
||||||
height: 20px;
|
height: 20px;
|
||||||
background-color: #ffb285;
|
background-color: #ffb285;
|
||||||
border-radius: 100%;
|
border-radius: 100%;
|
||||||
transform: scale(1.5);
|
transform: scale(1.5);
|
||||||
-webkit-transform: scale(1.5);
|
-webkit-transform: scale(1.5);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.ritem .role_text {
|
.ritem .role_text {
|
||||||
margin: 2px 3px 0 2px;
|
margin: 2px 3px 0 2px;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: baseline;
|
align-items: baseline;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ritem .role_name {
|
.ritem .role_name {
|
||||||
width: 24px;
|
width: 24px;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ritem .role_num {
|
.ritem .role_num {
|
||||||
width: 24px;
|
width: 24px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.line_box {
|
.line_box {
|
||||||
height: 32px;
|
height: 32px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
color: #7d7d7d;
|
color: #7d7d7d;
|
||||||
padding-bottom: 5px;
|
padding-bottom: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.line_box .line {
|
.line_box .line {
|
||||||
height: 2px;
|
height: 2px;
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
background-color: #ebebeb;
|
background-color: #ebebeb;
|
||||||
margin: 0 10px;
|
margin: 0 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.red {
|
.red {
|
||||||
color: #f21000;
|
color: #f21000;
|
||||||
}
|
}
|
||||||
|
|
||||||
.orange {
|
.orange {
|
||||||
color: #ff8d00;
|
color: #ff8d00;
|
||||||
}
|
}
|
||||||
|
|
||||||
.green {
|
.green {
|
||||||
color: #12d88c;
|
color: #12d88c;
|
||||||
}
|
}
|
||||||
|
|
||||||
.blue {
|
.blue {
|
||||||
color: #4169e1;
|
color: #4169e1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.purple {
|
.purple {
|
||||||
color: #7500ff;
|
color: #7500ff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.minimum {
|
.minimum {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
z-index: 9;
|
z-index: 9;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
padding: 1px 3px;
|
padding: 1px 3px;
|
||||||
background-color: rgb(0 0 0 / 80%);
|
background-color: rgb(0 0 0 / 80%);
|
||||||
font-family: "tttgbnumber", serif;
|
font-family: "tttgbnumber", serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
.hasMore {
|
.hasMore {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
margin: 6px 0;
|
margin: 6px 0;
|
||||||
color: #7f858a;
|
color: #7f858a;
|
||||||
}
|
}
|
||||||
|
@ -1,88 +1,80 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="zh-CN">
|
<html lang="zh-CN">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
|
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
|
||||||
<link rel="shortcut icon" href="#"/>
|
<link rel="stylesheet" type="text/css" href="gacha_log.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="gacha_log.css"/>
|
<link type="text/css" href="../../styles/public.css" rel="stylesheet" />
|
||||||
<link rel="preload" href="./../../fonts/tttgbnumber.ttf" as="font">
|
<link rel="preload" href="./img/starrail.png" as="image" />
|
||||||
<link rel="preload" href="./img/提纳里.png" as="image">
|
<script src="../../js/tailwindcss-3.1.8.js"></script>
|
||||||
<link rel="preload" href="./../../genshin/abyss/background/roleStarBg5.png" as="image">
|
<title>Title</title>
|
||||||
<link rel="preload" href="./../../genshin/abyss/background/roleStarBg4.png" as="image">
|
</head>
|
||||||
<style>
|
<body id="container" class="body_box">
|
||||||
.head_box {
|
<div class="container">
|
||||||
background-position: right center;
|
<div class="info_box">
|
||||||
background: #fff url(./img/提纳里.png) no-repeat;
|
<div class="header p-2 rounded-xl bg-contain mb-6">
|
||||||
background-size: cover;
|
<div class="frame p-4 flex-col rounded-lg border-solid border-2">
|
||||||
}
|
<h2 class="font-bold italic">ID: {{ uid }}</h2>
|
||||||
</style>
|
<h2 class="italic">
|
||||||
<title></title>
|
{{ allNum }}抽
|
||||||
</head>
|
<span class="label text-neutral-600 label_{{type}}"
|
||||||
<body id="container" class="body_box">
|
>{{ typeName }}</span
|
||||||
<div class="container">
|
>
|
||||||
<div class="info_box">
|
|
||||||
|
|
||||||
<div class="head_box">
|
|
||||||
<div class="id_text">
|
|
||||||
ID: {{ uid }}
|
|
||||||
</div>
|
|
||||||
<h2 class="day_text">
|
|
||||||
{{ allNum }}抽
|
|
||||||
<span class="label label_{{type}}">{{ typeName }}</span>
|
|
||||||
</h2>
|
</h2>
|
||||||
<img class="starrail_logo" src="./../../bot/help/background/starrail.png" alt=""/>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="data_box">
|
<div class="data_box">
|
||||||
<div class="tab_lable">数据总览</div>
|
<div class="tab_lable">数据总览</div>
|
||||||
{% for val in line %}
|
{% for val in line %}
|
||||||
<div class="data_line">
|
<div class="data_line">
|
||||||
{% for item in val %}
|
{% for item in val %}
|
||||||
<div class="data_line_item">
|
<div class="data_line_item">
|
||||||
<div class="num">{{item.num}}<span class="unit">{{item.unit}}</span></div>
|
<div class="num">
|
||||||
<div class="lable">{{item.lable}}</div>
|
{{item.num}}<span class="unit">{{item.unit}}</span>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
<div class="lable">{{item.lable}}</div>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
<div class="line_box">
|
<div class="line_box">
|
||||||
<span class="line"></span>
|
<span class="line"></span>
|
||||||
<span class="text">五星历史 {{firstTime}} ~ {{lastTime}}</span>
|
<span class="text">五星历史 {{firstTime}} ~ {{lastTime}}</span>
|
||||||
<span class="line"></span>
|
<span class="line"></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card_list">
|
||||||
|
{% for val in fiveLog %}
|
||||||
|
<div class="item star5">
|
||||||
|
{% if val.isUp %}
|
||||||
|
<span class="minimum">UP</span>
|
||||||
|
{% endif %}
|
||||||
|
<img class="role" src="{{ val.icon }}" alt="" />
|
||||||
|
<!-- <div class="num">{{val.num}}</div>-->
|
||||||
|
<div class="num_name">{{ val.count }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="line_box">
|
||||||
|
<span class="line"></span>
|
||||||
|
<span class="text">四星最近历史</span>
|
||||||
|
<span class="line"></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="card_list">
|
<div class="card_list">
|
||||||
{% for val in fiveLog %}
|
{% for val in fourLog %}
|
||||||
<div class="item star5">
|
<div class="item star4">
|
||||||
{% if val.isUp %}
|
<img class="role" src="{{ val.icon }}" alt="" />
|
||||||
<span class="minimum">UP</span>
|
<!-- <div class="num">{{val.num}}</div>-->
|
||||||
{% endif %}
|
<div class="num_name">{{ val.count }}</div>
|
||||||
<img class="role" src="{{ val.icon }}" alt=""/>
|
|
||||||
<!-- <div class="num">{{val.num}}</div>-->
|
|
||||||
<div class="num_name">{{ val.count }}</div>
|
|
||||||
</div>
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="line_box">
|
|
||||||
<span class="line"></span>
|
|
||||||
<span class="text">四星最近历史</span>
|
|
||||||
<span class="line"></span>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="card_list">
|
|
||||||
{% for val in fourLog %}
|
|
||||||
<div class="item star4">
|
|
||||||
<img class="role" src="{{ val.icon }}" alt=""/>
|
|
||||||
<!-- <div class="num">{{val.num}}</div>-->
|
|
||||||
<div class="num_name">{{ val.count }}</div>
|
|
||||||
</div>
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
</div>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="logo"> Template By Yunzai-Bot</div>
|
<div class="logo">Template By Yunzai-Bot</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</body>
|
||||||
</body>
|
|
||||||
</html>
|
</html>
|
BIN
resources/starrail/gacha_log/img/starrail.png
Normal file
BIN
resources/starrail/gacha_log/img/starrail.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 29 KiB |
BIN
resources/starrail/stats/items/star.png
Normal file
BIN
resources/starrail/stats/items/star.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 860 B |
@ -13,18 +13,25 @@
|
|||||||
</head>
|
</head>
|
||||||
<body class="text-neutral-600">
|
<body class="text-neutral-600">
|
||||||
<div class="mx-auto max-w-[600px] py-8">
|
<div class="mx-auto max-w-[600px] py-8">
|
||||||
<div class="header p-6 flex mb-8 rounded-xl bg-cover justify-between">
|
<div class="header p-2 rounded-xl bg-cover mb-6">
|
||||||
<div class="flex flex-col items-center justify-center">
|
<div
|
||||||
<h1 class="text-4xl italic name mb-2 px-2">
|
class="frame-pic p-4 flex justify-between rounded-lg border-solid border-2"
|
||||||
{{ info.nickname }}
|
>
|
||||||
<span class="text-lg">lv.{{ info.level }}</span>
|
<div class="flex flex-col items-center justify-center">
|
||||||
</h1>
|
<h1 class="name text-4xl italic mb-2 px-2 text-shadow">
|
||||||
<h1 class="italic uid px-10">UID - {{ uid }}</h1>
|
{{ info.nickname }}
|
||||||
|
<span class="text-lg">lv.{{ info.level }}</span>
|
||||||
|
</h1>
|
||||||
|
<h1 class="italic uid px-10">UID - {{ uid }}</h1>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="box pt-4 rounded-xl overflow-hidden">
|
<div class="box p-2 rounded-xl overflow-hidden">
|
||||||
<div>
|
<div class="frame rounded-lg border-solid border-2">
|
||||||
<h2 class="box-title text-center text-xl ring text-neutral-100 p-1">
|
<h2
|
||||||
|
class="title font-semibold pt-4 text-center text-xl text-neutral-700 p-1"
|
||||||
|
>
|
||||||
|
<img src="./items/star.png" class="inline-block w-4" />
|
||||||
数据总览
|
数据总览
|
||||||
</h2>
|
</h2>
|
||||||
<div class="p-6 grid grid-cols-4 gap-4 text-center">
|
<div class="p-6 grid grid-cols-4 gap-4 text-center">
|
||||||
@ -35,10 +42,10 @@
|
|||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="about text-center leading-8 text-xs opacity-50">
|
<div class="about text-center leading-8 text-xs opacity-50">
|
||||||
所有数据会有一小时延迟 以游戏内为准 此处仅供参考
|
所有数据会有一小时延迟 以游戏内为准 此处仅供参考
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,49 +1,56 @@
|
|||||||
body {
|
body {
|
||||||
background-color: #f5f6fb;
|
background-color: #f5f6fb;
|
||||||
}
|
}
|
||||||
|
|
||||||
.header {
|
.header {
|
||||||
background-image: url(../../bot/help/background/header.png);
|
background-image: url(../../bot/help/background/header.png);
|
||||||
box-shadow: 0 0 8px rgb(123 242 248 / 50%);
|
box-shadow: 0 0 8px #72a2ae79;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box {
|
.box {
|
||||||
background-color: #fdfdf3;
|
background-color: #f4f2e4;
|
||||||
box-shadow: 0 0 8px rgb(123 242 248 / 50%);
|
box-shadow: 0 0 8px #72a2ae79;
|
||||||
}
|
|
||||||
|
|
||||||
.box-title {
|
|
||||||
background-color: #43849abb;
|
|
||||||
--tw-ring-color: #43849a;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.pointer-bar {
|
.pointer-bar {
|
||||||
width: 95%;
|
width: 95%;
|
||||||
height: 8px;
|
height: 8px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
background-color: rgb(0, 0, 0, 0.2);
|
background-color: rgb(0, 0, 0, 0.2);
|
||||||
border-radius: 0.25rem;
|
border-radius: 0.25rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.pointer-progress-bar {
|
.pointer-progress-bar {
|
||||||
border-radius: 0.25rem;
|
border-radius: 0.25rem;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background: #fff6e2;
|
background: #fff6e2;
|
||||||
}
|
}
|
||||||
|
|
||||||
.name {
|
.name {
|
||||||
background: linear-gradient(to bottom, #FFFFEE, #FFEEFF, #EEFFFF);
|
color: #ffffee;
|
||||||
background-clip: text;
|
text-shadow: 0 0.08em 0.1em #00000093, 0 0.1em 0.3em rgba(0, 0, 0, 0.4);
|
||||||
-webkit-background-clip: text;
|
|
||||||
color: transparent;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.uid {
|
.uid {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
background: linear-gradient(to right, rgb(0, 0, 0, 0), #5ddddd, rgb(0, 0, 0, 0));
|
background: linear-gradient(
|
||||||
|
to right,
|
||||||
|
rgb(0, 0, 0, 0),
|
||||||
|
#3f7587 25%,
|
||||||
|
#3f7587 75%,
|
||||||
|
rgb(0, 0, 0, 0)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
.about {
|
.about {
|
||||||
background-color: #e0dad3;
|
background-color: #e0dad3;
|
||||||
color: #8a4d30;
|
color: #8a4d30;
|
||||||
|
}
|
||||||
|
|
||||||
|
.frame-pic {
|
||||||
|
border-color: #fdfdf356;
|
||||||
|
}
|
||||||
|
|
||||||
|
.frame {
|
||||||
|
border-color: #cdbea8;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user