✨ Support starrail rogue tourn
20
pdm.lock
@ -200,7 +200,7 @@ files = [
|
||||
|
||||
[[package]]
|
||||
name = "alembic"
|
||||
version = "1.13.1"
|
||||
version = "1.13.2"
|
||||
requires_python = ">=3.8"
|
||||
summary = "A database migration tool for SQLAlchemy."
|
||||
groups = ["default"]
|
||||
@ -212,8 +212,8 @@ dependencies = [
|
||||
"typing-extensions>=4",
|
||||
]
|
||||
files = [
|
||||
{file = "alembic-1.13.1-py3-none-any.whl", hash = "sha256:2edcc97bed0bd3272611ce3a98d98279e9c209e7186e43e75bbb1b2bdfdbcc43"},
|
||||
{file = "alembic-1.13.1.tar.gz", hash = "sha256:4932c8558bf68f2ee92b9bbcb8218671c627064d5b08939437af6d77dc05e595"},
|
||||
{file = "alembic-1.13.2-py3-none-any.whl", hash = "sha256:6b8733129a6224a9a711e17c99b08462dbf7cc9670ba8f2e2ae9af860ceb1953"},
|
||||
{file = "alembic-1.13.2.tar.gz", hash = "sha256:1ff0ae32975f4fd96028c39ed9bb3c867fe3af956bd7bb37343b54c9fe7445ef"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -1500,7 +1500,7 @@ files = [
|
||||
|
||||
[[package]]
|
||||
name = "openpyxl"
|
||||
version = "3.1.4"
|
||||
version = "3.1.5"
|
||||
requires_python = ">=3.8"
|
||||
summary = "A Python library to read/write Excel 2010 xlsx/xlsm files"
|
||||
groups = ["default"]
|
||||
@ -1508,8 +1508,8 @@ dependencies = [
|
||||
"et-xmlfile",
|
||||
]
|
||||
files = [
|
||||
{file = "openpyxl-3.1.4-py2.py3-none-any.whl", hash = "sha256:ec17f6483f2b8f7c88c57e5e5d3b0de0e3fb9ac70edc084d28e864f5b33bbefd"},
|
||||
{file = "openpyxl-3.1.4.tar.gz", hash = "sha256:8d2c8adf5d20d6ce8f9bca381df86b534835e974ed0156dacefa76f68c1d69fb"},
|
||||
{file = "openpyxl-3.1.5-py2.py3-none-any.whl", hash = "sha256:5282c12b107bffeef825f4617dc029afaf41d0ea60823bbb665ef3079dc79de2"},
|
||||
{file = "openpyxl-3.1.5.tar.gz", hash = "sha256:cf0e3cf56142039133628b5acffe8ef0c12bc902d2aadd3e0fe5878dc08d1050"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -2157,7 +2157,7 @@ files = [
|
||||
|
||||
[[package]]
|
||||
name = "sentry-sdk"
|
||||
version = "2.7.0"
|
||||
version = "2.7.1"
|
||||
requires_python = ">=3.6"
|
||||
summary = "Python client for Sentry (https://sentry.io)"
|
||||
groups = ["default"]
|
||||
@ -2166,8 +2166,8 @@ dependencies = [
|
||||
"urllib3>=1.26.11",
|
||||
]
|
||||
files = [
|
||||
{file = "sentry_sdk-2.7.0-py2.py3-none-any.whl", hash = "sha256:db9594c27a4d21c1ebad09908b1f0dc808ef65c2b89c1c8e7e455143262e37c1"},
|
||||
{file = "sentry_sdk-2.7.0.tar.gz", hash = "sha256:d846a211d4a0378b289ced3c434480945f110d0ede00450ba631fc2852e7a0d4"},
|
||||
{file = "sentry_sdk-2.7.1-py2.py3-none-any.whl", hash = "sha256:ef1b3d54eb715825657cd4bb3cb42bb4dc85087bac14c56b0fd8c21abd968c9a"},
|
||||
{file = "sentry_sdk-2.7.1.tar.gz", hash = "sha256:25006c7e68b75aaa5e6b9c6a420ece22e8d7daec4b7a906ffd3a8607b67c037b"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -2197,7 +2197,7 @@ name = "simnet"
|
||||
version = "0.1.22"
|
||||
requires_python = "<4.0,>=3.8"
|
||||
git = "https://github.com/PaiGramTeam/SIMNet"
|
||||
revision = "277a33321a20909541b46bf4ecf794fd47e19fb1"
|
||||
revision = "10654fc90012ab97288c21f58b7091fd16c301f7"
|
||||
summary = "Modern API wrapper for Genshin Impact & Honkai: Star Rail built on asyncio and pydantic."
|
||||
groups = ["default"]
|
||||
dependencies = [
|
||||
|
@ -54,6 +54,7 @@ class SetCommandPlugin(Plugin):
|
||||
BotCommand("challenge_boss_history", "末日幻想历史信息查询"),
|
||||
BotCommand("rogue", "模拟宇宙信息查询"),
|
||||
BotCommand("rogue_locust", "寰宇蝗灾信息查询"),
|
||||
BotCommand("rogue_tourn", "差分宇宙信息查询"),
|
||||
BotCommand("cookies_import", "从其他 BOT 导入账号信息"),
|
||||
BotCommand("cookies_export", "导出账号信息给其他 BOT"),
|
||||
]
|
||||
@ -75,6 +76,7 @@ class SetCommandPlugin(Plugin):
|
||||
BotCommand("add_block", "添加黑名单"),
|
||||
BotCommand("del_block", "移除黑名单"),
|
||||
]
|
||||
await context.bot.delete_my_commands()
|
||||
await context.bot.set_my_commands(commands=group_command)
|
||||
await context.bot.set_my_commands(commands=group_command + user_command, scope=BotCommandScopeAllPrivateChats())
|
||||
if config.error.notification_chat_id:
|
||||
|
@ -1,814 +0,0 @@
|
||||
import asyncio
|
||||
import math
|
||||
from typing import Optional, List, Dict, TYPE_CHECKING, Any, Coroutine, Tuple
|
||||
|
||||
from simnet.models.starrail.chronicle.activity import (
|
||||
StarRailFantasticStory,
|
||||
StarRailTreasureDungeonRecord,
|
||||
StarRailFoxStoryTeam,
|
||||
)
|
||||
from telegram import Update, Message
|
||||
from telegram.constants import ChatAction
|
||||
from telegram.ext import CallbackContext, filters
|
||||
|
||||
from core.dependence.assets import AssetsService
|
||||
from core.plugin import Plugin, handler
|
||||
from core.services.template.services import TemplateService
|
||||
from gram_core.services.template.models import RenderResult, RenderGroupResult
|
||||
from plugins.tools.genshin import GenshinHelper
|
||||
from utils.log import logger
|
||||
from utils.uid import mask_number
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from simnet import StarRailClient
|
||||
|
||||
|
||||
__all__ = ("PlayerActivityPlugins",)
|
||||
ACTIVITY_DATA_ERROR = "活动数据有误"
|
||||
ACTIVITY_ATTR_ERROR = "活动数据有误 估计是彦卿晕了"
|
||||
|
||||
|
||||
class NotSupport(Exception):
|
||||
"""不支持的服务器"""
|
||||
|
||||
|
||||
class NotHaveData(Exception):
|
||||
"""没有数据"""
|
||||
|
||||
MSG = "没有查找到此活动数据"
|
||||
|
||||
|
||||
class PlayerActivityPlugins(Plugin):
|
||||
"""玩家活动信息查询"""
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
template: TemplateService,
|
||||
assets: AssetsService,
|
||||
helper: GenshinHelper,
|
||||
):
|
||||
self.template_service = template
|
||||
self.assets = assets
|
||||
self.helper = helper
|
||||
|
||||
async def get_uid(self, user_id: int, reply: Optional[Message], player_id: int, offset: int) -> int:
|
||||
"""通过消息获取 uid,优先级:args > reply > self"""
|
||||
uid, user_id_ = player_id, user_id
|
||||
if reply:
|
||||
try:
|
||||
user_id_ = reply.from_user.id
|
||||
except AttributeError:
|
||||
pass
|
||||
if not uid:
|
||||
player_info = await self.helper.players_service.get_player(user_id_, offset=offset)
|
||||
if player_info is not None:
|
||||
uid = player_info.player_id
|
||||
if (not uid) and (user_id_ != user_id):
|
||||
player_info = await self.helper.players_service.get_player(user_id, offset=offset)
|
||||
if player_info is not None:
|
||||
uid = player_info.player_id
|
||||
return uid
|
||||
|
||||
@handler.command("fantastic_story", block=False)
|
||||
@handler.message(filters.Regex("^评书奇谭信息查询(.*)"), block=False)
|
||||
async def fantastic_story_command_start(self, update: Update, _: CallbackContext) -> Optional[int]:
|
||||
user_id = await self.get_real_user_id(update)
|
||||
message = update.effective_message
|
||||
uid, offset = self.get_real_uid_or_offset(update)
|
||||
self.log_user(update, logger.info, "查询评书奇谭信息命令请求")
|
||||
try:
|
||||
uid = await self.get_uid(user_id, message.reply_to_message, uid, offset)
|
||||
async with self.helper.genshin_or_public(user_id, uid=uid) as client:
|
||||
render_result = await self.fantastic_story_render(client, uid)
|
||||
except AttributeError as exc:
|
||||
logger.error(ACTIVITY_DATA_ERROR)
|
||||
logger.exception(exc)
|
||||
await message.reply_text(ACTIVITY_ATTR_ERROR)
|
||||
return
|
||||
except NotHaveData as e:
|
||||
reply_message = await message.reply_text(e.MSG)
|
||||
if filters.ChatType.GROUPS.filter(reply_message):
|
||||
self.add_delete_message_job(message)
|
||||
self.add_delete_message_job(reply_message)
|
||||
return
|
||||
await message.reply_chat_action(ChatAction.UPLOAD_PHOTO)
|
||||
await render_result.reply_photo(message, filename=f"{user_id}.png")
|
||||
|
||||
async def get_fantastic_story_rander_data(self, uid: int, data: StarRailFantasticStory) -> Dict:
|
||||
if not data.exists_data:
|
||||
raise NotHaveData
|
||||
avatar_icons = {}
|
||||
for record in data.records:
|
||||
for avatar in record.avatars:
|
||||
avatar_icons[avatar.id] = self.assets.avatar.square(avatar.id).as_uri()
|
||||
return {
|
||||
"uid": mask_number(uid),
|
||||
"records": data.records,
|
||||
"avatar_icons": avatar_icons,
|
||||
}
|
||||
|
||||
async def fantastic_story_render(self, client: "StarRailClient", uid: Optional[int] = None) -> RenderResult:
|
||||
if uid is None:
|
||||
uid = client.player_id
|
||||
|
||||
act_data = await client.get_starrail_activity(uid)
|
||||
try:
|
||||
fantastic_story_data = act_data.fantastic_story
|
||||
except ValueError:
|
||||
raise NotHaveData
|
||||
data = await self.get_fantastic_story_rander_data(uid, fantastic_story_data)
|
||||
|
||||
return await self.template_service.render(
|
||||
"starrail/activity/fantastic_story.html",
|
||||
data,
|
||||
{"width": 500, "height": 1200},
|
||||
full_page=True,
|
||||
query_selector="#container",
|
||||
)
|
||||
|
||||
@handler.command("yitai_battle", block=False)
|
||||
@handler.message(filters.Regex("^以太战线信息查询(.*)"), block=False)
|
||||
async def yitai_battle_command_start(self, update: Update, _: CallbackContext) -> Optional[int]:
|
||||
user_id = await self.get_real_user_id(update)
|
||||
message = update.effective_message
|
||||
uid, offset = self.get_real_uid_or_offset(update)
|
||||
self.log_user(update, logger.info, "查询以太战线信息命令请求")
|
||||
try:
|
||||
uid = await self.get_uid(user_id, message.reply_to_message, uid, offset)
|
||||
async with self.helper.genshin_or_public(user_id, uid=uid) as client:
|
||||
render_result = await self.yitai_battle_render(client, uid)
|
||||
except AttributeError as exc:
|
||||
logger.error(ACTIVITY_DATA_ERROR)
|
||||
logger.exception(exc)
|
||||
await message.reply_text(ACTIVITY_ATTR_ERROR)
|
||||
return
|
||||
except NotHaveData as e:
|
||||
reply_message = await message.reply_text(e.MSG)
|
||||
if filters.ChatType.GROUPS.filter(reply_message):
|
||||
self.add_delete_message_job(message)
|
||||
self.add_delete_message_job(reply_message)
|
||||
return
|
||||
await message.reply_chat_action(ChatAction.UPLOAD_PHOTO)
|
||||
await render_result.reply_photo(message, filename=f"{user_id}.png")
|
||||
|
||||
async def yitai_battle_render(self, client: "StarRailClient", uid: Optional[int] = None) -> RenderResult:
|
||||
if uid is None:
|
||||
uid = client.player_id
|
||||
|
||||
act_data = await client.get_starrail_activity(uid)
|
||||
try:
|
||||
yitai_battle_data = act_data.yitai_battle
|
||||
if not (yitai_battle_data.exists_data and yitai_battle_data.info.exists_data):
|
||||
raise NotHaveData
|
||||
except ValueError:
|
||||
raise NotHaveData
|
||||
data = {
|
||||
"uid": mask_number(uid),
|
||||
"data": yitai_battle_data.info,
|
||||
}
|
||||
|
||||
return await self.template_service.render(
|
||||
"starrail/activity/yitai.html",
|
||||
data,
|
||||
{"width": 960, "height": 1000},
|
||||
full_page=True,
|
||||
query_selector="#DIV_1",
|
||||
)
|
||||
|
||||
@handler.command("endless_side", block=False)
|
||||
@handler.message(filters.Regex("^无尽位面信息查询(.*)"), block=False)
|
||||
async def endless_side_command_start(self, update: Update, _: CallbackContext) -> Optional[int]:
|
||||
user_id = await self.get_real_user_id(update)
|
||||
message = update.effective_message
|
||||
uid, offset = self.get_real_uid_or_offset(update)
|
||||
self.log_user(update, logger.info, "查询无尽位面信息命令请求")
|
||||
try:
|
||||
uid = await self.get_uid(user_id, message.reply_to_message, uid, offset)
|
||||
async with self.helper.genshin_or_public(user_id, uid=uid) as client:
|
||||
render_result = await self.endless_side_render(client, uid)
|
||||
except AttributeError as exc:
|
||||
logger.error(ACTIVITY_DATA_ERROR)
|
||||
logger.exception(exc)
|
||||
await message.reply_text(ACTIVITY_ATTR_ERROR)
|
||||
return
|
||||
except NotHaveData as e:
|
||||
reply_message = await message.reply_text(e.MSG)
|
||||
if filters.ChatType.GROUPS.filter(reply_message):
|
||||
self.add_delete_message_job(message)
|
||||
self.add_delete_message_job(reply_message)
|
||||
return
|
||||
await message.reply_chat_action(ChatAction.UPLOAD_PHOTO)
|
||||
await render_result.reply_photo(message, filename=f"{user_id}.png")
|
||||
|
||||
async def endless_side_render(self, client: "StarRailClient", uid: Optional[int] = None) -> RenderResult:
|
||||
if uid is None:
|
||||
uid = client.player_id
|
||||
|
||||
act_data = await client.get_starrail_activity(uid)
|
||||
try:
|
||||
endless_side_data = act_data.endless_side
|
||||
if not (
|
||||
endless_side_data.exists_data and endless_side_data.info.exists_data and endless_side_data.info.records
|
||||
):
|
||||
raise NotHaveData
|
||||
if not endless_side_data.info.records[0].finished:
|
||||
raise NotHaveData
|
||||
except ValueError:
|
||||
raise NotHaveData
|
||||
data = {
|
||||
"uid": mask_number(uid),
|
||||
"info": endless_side_data.info,
|
||||
}
|
||||
|
||||
return await self.template_service.render(
|
||||
"starrail/activity/endless_side.html",
|
||||
data,
|
||||
{"width": 960, "height": 1000},
|
||||
full_page=True,
|
||||
query_selector="#endless_side",
|
||||
)
|
||||
|
||||
@handler.command("fox_story", block=False)
|
||||
@handler.message(filters.Regex("^狐斋志异信息查询(.*)"), block=False)
|
||||
async def fox_story_command_start(self, update: Update, _: CallbackContext) -> Optional[int]:
|
||||
user_id = await self.get_real_user_id(update)
|
||||
message = update.effective_message
|
||||
uid, offset = self.get_real_uid_or_offset(update)
|
||||
self.log_user(update, logger.info, "查询狐斋志异信息命令请求")
|
||||
try:
|
||||
uid = await self.get_uid(user_id, message.reply_to_message, uid, offset)
|
||||
async with self.helper.genshin_or_public(user_id, uid=uid) as client:
|
||||
render_result = await self.fox_story_render(client, uid)
|
||||
except AttributeError as exc:
|
||||
logger.error(ACTIVITY_DATA_ERROR)
|
||||
logger.exception(exc)
|
||||
await message.reply_text(ACTIVITY_ATTR_ERROR)
|
||||
return
|
||||
except NotHaveData as e:
|
||||
reply_message = await message.reply_text(e.MSG)
|
||||
if filters.ChatType.GROUPS.filter(reply_message):
|
||||
self.add_delete_message_job(message)
|
||||
self.add_delete_message_job(reply_message)
|
||||
return
|
||||
await message.reply_chat_action(ChatAction.UPLOAD_PHOTO)
|
||||
await render_result.reply_photo(message, filename=f"{user_id}.png")
|
||||
|
||||
@staticmethod
|
||||
def line_percent(team: StarRailFoxStoryTeam) -> Tuple[float, float]:
|
||||
if team.index_arrived == 0:
|
||||
return 0, 0
|
||||
x, i = 0.0, team.index_arrived
|
||||
if i > 0:
|
||||
a = i - 1
|
||||
n = team.fans_range[i - 1]
|
||||
r = (team.fans - n) / (team.fans_range[i] - n)
|
||||
l = a + 0.5
|
||||
x = max(0.0, min(1.0, (r + l) * (2 / (2 * len(team.fans_range) - 1))))
|
||||
d = [
|
||||
2.5,
|
||||
3,
|
||||
4,
|
||||
4.5,
|
||||
5,
|
||||
5.5,
|
||||
6,
|
||||
7,
|
||||
7,
|
||||
8,
|
||||
8.5,
|
||||
9,
|
||||
9.5,
|
||||
10,
|
||||
11,
|
||||
11.5,
|
||||
12,
|
||||
13,
|
||||
13,
|
||||
14,
|
||||
14.5,
|
||||
15,
|
||||
16,
|
||||
16.5,
|
||||
17,
|
||||
18,
|
||||
19,
|
||||
20,
|
||||
20.5,
|
||||
21,
|
||||
21.5,
|
||||
22,
|
||||
22.5,
|
||||
22.5,
|
||||
22.5,
|
||||
23.5,
|
||||
24.5,
|
||||
25,
|
||||
26.5,
|
||||
27.5,
|
||||
28.5,
|
||||
29,
|
||||
30,
|
||||
31,
|
||||
31.5,
|
||||
32,
|
||||
32.5,
|
||||
32.5,
|
||||
32.5,
|
||||
33.5,
|
||||
33.5,
|
||||
33.5,
|
||||
33.5,
|
||||
33.5,
|
||||
33.5,
|
||||
33.5,
|
||||
34,
|
||||
35,
|
||||
35.5,
|
||||
36,
|
||||
37,
|
||||
37.5,
|
||||
38,
|
||||
38.5,
|
||||
38.5,
|
||||
38.5,
|
||||
38.5,
|
||||
37.5,
|
||||
37.5,
|
||||
37.5,
|
||||
36.5,
|
||||
37,
|
||||
37,
|
||||
38,
|
||||
39,
|
||||
39,
|
||||
40,
|
||||
40.5,
|
||||
41,
|
||||
42,
|
||||
42.5,
|
||||
43,
|
||||
43.5,
|
||||
43.5,
|
||||
44.5,
|
||||
44.5,
|
||||
44.5,
|
||||
45,
|
||||
45.5,
|
||||
45.5,
|
||||
46,
|
||||
47,
|
||||
47,
|
||||
48,
|
||||
48.5,
|
||||
49,
|
||||
50,
|
||||
50.5,
|
||||
51,
|
||||
52,
|
||||
52.5,
|
||||
53,
|
||||
53.5,
|
||||
53.5,
|
||||
53.5,
|
||||
53.5,
|
||||
54,
|
||||
54.5,
|
||||
55.5,
|
||||
56.5,
|
||||
58,
|
||||
59.5,
|
||||
60.5,
|
||||
61.5,
|
||||
62,
|
||||
63,
|
||||
63.5,
|
||||
64,
|
||||
65,
|
||||
65.5,
|
||||
66,
|
||||
66.5,
|
||||
66.5,
|
||||
66.5,
|
||||
66.5,
|
||||
66.5,
|
||||
66.5,
|
||||
67,
|
||||
67,
|
||||
68,
|
||||
69,
|
||||
70,
|
||||
70,
|
||||
70.5,
|
||||
71.5,
|
||||
71.5,
|
||||
71.5,
|
||||
71.5,
|
||||
71.5,
|
||||
71.5,
|
||||
71.5,
|
||||
72.5,
|
||||
72.5,
|
||||
72.5,
|
||||
73,
|
||||
73.5,
|
||||
73.5,
|
||||
74,
|
||||
74.5,
|
||||
75,
|
||||
76,
|
||||
77,
|
||||
77.5,
|
||||
78.5,
|
||||
79,
|
||||
80,
|
||||
80.5,
|
||||
81,
|
||||
81.5,
|
||||
81.5,
|
||||
81.5,
|
||||
81.5,
|
||||
81.5,
|
||||
81.5,
|
||||
81.5,
|
||||
81.5,
|
||||
81.5,
|
||||
81.5,
|
||||
81,
|
||||
80.5,
|
||||
80.5,
|
||||
81,
|
||||
81.5,
|
||||
82,
|
||||
83,
|
||||
83.5,
|
||||
84,
|
||||
84.5,
|
||||
85,
|
||||
86,
|
||||
86.5,
|
||||
87.5,
|
||||
88.5,
|
||||
89.5,
|
||||
90.5,
|
||||
92,
|
||||
93,
|
||||
94.5,
|
||||
95.5,
|
||||
96.5,
|
||||
97.5,
|
||||
98.5,
|
||||
99.5,
|
||||
100.5,
|
||||
101.5,
|
||||
102.5,
|
||||
103.5,
|
||||
104.5,
|
||||
105.5,
|
||||
106.5,
|
||||
108,
|
||||
109,
|
||||
110.5,
|
||||
111.5,
|
||||
112.5,
|
||||
113.5,
|
||||
114.5,
|
||||
115.5,
|
||||
116.5,
|
||||
117,
|
||||
118,
|
||||
118.5,
|
||||
118.5,
|
||||
119,
|
||||
119.5,
|
||||
120,
|
||||
120.5,
|
||||
121.5,
|
||||
122.5,
|
||||
123.5,
|
||||
124.5,
|
||||
126,
|
||||
127,
|
||||
128,
|
||||
129.5,
|
||||
130.5,
|
||||
131.5,
|
||||
132.5,
|
||||
133.5,
|
||||
134.5,
|
||||
135.5,
|
||||
136,
|
||||
137,
|
||||
138,
|
||||
138,
|
||||
139,
|
||||
139.5,
|
||||
139.5,
|
||||
140.5,
|
||||
140.5,
|
||||
141,
|
||||
141.5,
|
||||
142,
|
||||
143,
|
||||
143.5,
|
||||
143.5,
|
||||
144.5,
|
||||
144.5,
|
||||
145,
|
||||
145.5,
|
||||
145.5,
|
||||
146,
|
||||
146.5,
|
||||
147,
|
||||
147.5,
|
||||
148,
|
||||
148.5,
|
||||
149,
|
||||
149.5,
|
||||
150,
|
||||
150.5,
|
||||
151,
|
||||
152,
|
||||
153,
|
||||
153.5,
|
||||
154.5,
|
||||
155.5,
|
||||
156.5,
|
||||
158,
|
||||
158.5,
|
||||
]
|
||||
|
||||
def v(t):
|
||||
e = max(0, int(t))
|
||||
if e == len(d):
|
||||
return 0
|
||||
i = min(int(math.ceil(t)), len(d) - 1)
|
||||
s = d[e]
|
||||
return (s + (d[i] - s) * (t - e)) / 162
|
||||
|
||||
return x * 100, v(x * len(d)) * 100
|
||||
|
||||
async def fox_story_render(self, client: "StarRailClient", uid: Optional[int] = None) -> RenderResult:
|
||||
if uid is None:
|
||||
uid = client.player_id
|
||||
|
||||
act_data = await client.get_starrail_activity(uid)
|
||||
try:
|
||||
fox_story_data = act_data.fox_story
|
||||
if not fox_story_data.exists_data:
|
||||
raise NotHaveData
|
||||
fox_story_data = fox_story_data.info
|
||||
if not fox_story_data.exists_data:
|
||||
raise NotHaveData
|
||||
except ValueError:
|
||||
raise NotHaveData
|
||||
data = {
|
||||
"uid": mask_number(uid),
|
||||
"data": fox_story_data,
|
||||
"line": self.line_percent(fox_story_data.team),
|
||||
}
|
||||
|
||||
return await self.template_service.render(
|
||||
"starrail/activity/fox_story.html",
|
||||
data,
|
||||
{"width": 1920, "height": 1000},
|
||||
full_page=True,
|
||||
query_selector="#fox_story",
|
||||
)
|
||||
|
||||
@handler.command("boxing_show", block=False)
|
||||
@handler.message(filters.Regex("^斗技表演赛信息查询(.*)"), block=False)
|
||||
async def boxing_show_command_start(self, update: Update, _: CallbackContext) -> None:
|
||||
user_id = await self.get_real_user_id(update)
|
||||
message = update.effective_message
|
||||
uid, offset = self.get_real_uid_or_offset(update)
|
||||
self.log_user(update, logger.info, "查询斗技表演赛信息命令请求")
|
||||
try:
|
||||
uid = await self.get_uid(user_id, message.reply_to_message, uid, offset)
|
||||
async with self.helper.genshin_or_public(user_id, uid=uid) as client:
|
||||
render_result = await self.boxing_show_render(client, uid)
|
||||
except AttributeError as exc:
|
||||
logger.error(ACTIVITY_DATA_ERROR)
|
||||
logger.exception(exc)
|
||||
await message.reply_text(ACTIVITY_ATTR_ERROR)
|
||||
return
|
||||
except NotHaveData as e:
|
||||
reply_message = await message.reply_text(e.MSG)
|
||||
if filters.ChatType.GROUPS.filter(reply_message):
|
||||
self.add_delete_message_job(message)
|
||||
self.add_delete_message_job(reply_message)
|
||||
return
|
||||
await message.reply_chat_action(ChatAction.UPLOAD_PHOTO)
|
||||
await render_result.reply_photo(message, filename=f"{user_id}.png")
|
||||
|
||||
async def boxing_show_render(self, client: "StarRailClient", uid: Optional[int] = None) -> RenderResult:
|
||||
if uid is None:
|
||||
uid = client.player_id
|
||||
|
||||
act_data = await client.get_starrail_activity(uid)
|
||||
try:
|
||||
boxing_show_data = act_data.boxing_show
|
||||
if not (boxing_show_data.exists_data and boxing_show_data.info.exists_data and boxing_show_data.info.list):
|
||||
raise NotHaveData
|
||||
if not boxing_show_data.info.list[0].has_challenge:
|
||||
raise NotHaveData
|
||||
box_data = boxing_show_data.info.list
|
||||
except ValueError:
|
||||
raise NotHaveData
|
||||
avatar_icons = {}
|
||||
for info in box_data:
|
||||
for avatar in info.avatars_used_activity:
|
||||
avatar_icons[avatar.id] = self.assets.avatar.icon(avatar.id).as_uri()
|
||||
data = {
|
||||
"uid": mask_number(uid),
|
||||
"data": boxing_show_data.info.list,
|
||||
"avatar_icons": avatar_icons,
|
||||
}
|
||||
|
||||
return await self.template_service.render(
|
||||
"starrail/activity/boxing_show.html",
|
||||
data,
|
||||
{"width": 960, "height": 1000},
|
||||
full_page=True,
|
||||
query_selector="#boxing_show",
|
||||
)
|
||||
|
||||
@handler.command("space_zoo", block=False)
|
||||
@handler.message(filters.Regex("^异宠拾遗信息查询(.*)"), block=False)
|
||||
async def space_zoo_command_start(self, update: Update, _: CallbackContext) -> None:
|
||||
user_id = await self.get_real_user_id(update)
|
||||
message = update.effective_message
|
||||
uid, offset = self.get_real_uid_or_offset(update)
|
||||
self.log_user(update, logger.info, "查询异宠拾遗信息命令请求")
|
||||
try:
|
||||
uid = await self.get_uid(user_id, message.reply_to_message, uid, offset)
|
||||
async with self.helper.genshin_or_public(user_id, uid=uid) as client:
|
||||
render_result = await self.space_zoo_render(client, uid)
|
||||
except AttributeError as exc:
|
||||
logger.error(ACTIVITY_DATA_ERROR)
|
||||
logger.exception(exc)
|
||||
await message.reply_text(ACTIVITY_ATTR_ERROR)
|
||||
return
|
||||
except NotHaveData as e:
|
||||
reply_message = await message.reply_text(e.MSG)
|
||||
if filters.ChatType.GROUPS.filter(reply_message):
|
||||
self.add_delete_message_job(message)
|
||||
self.add_delete_message_job(reply_message)
|
||||
return
|
||||
await message.reply_chat_action(ChatAction.UPLOAD_PHOTO)
|
||||
await render_result.reply_photo(message, filename=f"{user_id}.png")
|
||||
|
||||
async def space_zoo_render(self, client: "StarRailClient", uid: Optional[int] = None) -> RenderResult:
|
||||
if uid is None:
|
||||
uid = client.player_id
|
||||
|
||||
act_data = await client.get_starrail_activity(uid)
|
||||
try:
|
||||
space_zoo_data = act_data.space_zoo
|
||||
if not space_zoo_data.exists_data:
|
||||
raise NotHaveData
|
||||
except ValueError:
|
||||
raise NotHaveData
|
||||
features_map: Dict[int, Dict[str, int]] = {i: {"cur": 0, "max": 0} for i in range(5)}
|
||||
features_map2: Dict[str, int] = {"酥壳": 0, "内馅": 1, "装饰": 2, "眼睛": 3, "花纹": 4}
|
||||
for feature in space_zoo_data.info.features:
|
||||
feature_index = features_map2.get(feature.name_mi18n)
|
||||
if feature_index is not None:
|
||||
features_map[feature_index]["cur"] += feature.cur
|
||||
features_map[feature_index]["max"] += feature.max
|
||||
data = {
|
||||
"uid": mask_number(uid),
|
||||
"info": space_zoo_data.info,
|
||||
"features": list(features_map.values()),
|
||||
}
|
||||
|
||||
return await self.template_service.render(
|
||||
"starrail/activity/space_zoo.html",
|
||||
data,
|
||||
{"width": 960, "height": 1000},
|
||||
full_page=True,
|
||||
query_selector="#spaceZoo",
|
||||
)
|
||||
|
||||
@handler.command("treasure_dungeon", block=False)
|
||||
@handler.message(filters.Regex("^地城探宝信息查询(.*)"), block=False)
|
||||
async def treasure_dungeon_command_start(self, update: Update, _: CallbackContext) -> Optional[int]:
|
||||
user_id = await self.get_real_user_id(update)
|
||||
message = update.effective_message
|
||||
uid, offset = self.get_real_uid_or_offset(update)
|
||||
self.log_user(update, logger.info, "查询地城探宝信息命令请求")
|
||||
try:
|
||||
uid = await self.get_uid(user_id, message.reply_to_message, uid, offset)
|
||||
async with self.helper.genshin_or_public(user_id, uid=uid) as client:
|
||||
render_result = await self.treasure_dungeon_render(client, uid)
|
||||
if render_result is None:
|
||||
raise NotHaveData
|
||||
except AttributeError as exc:
|
||||
logger.error(ACTIVITY_DATA_ERROR)
|
||||
logger.exception(exc)
|
||||
await message.reply_text(ACTIVITY_ATTR_ERROR)
|
||||
return
|
||||
except NotHaveData as e:
|
||||
reply_message = await message.reply_text(e.MSG)
|
||||
if filters.ChatType.GROUPS.filter(reply_message):
|
||||
self.add_delete_message_job(message)
|
||||
self.add_delete_message_job(reply_message)
|
||||
return
|
||||
await message.reply_chat_action(ChatAction.UPLOAD_PHOTO)
|
||||
await RenderGroupResult(results=render_result).reply_media_group(message, write_timeout=60)
|
||||
self.log_user(
|
||||
update,
|
||||
logger.info,
|
||||
"[bold]地城探宝信息数据[/bold]: 成功发送图片",
|
||||
extra={"markup": True},
|
||||
)
|
||||
|
||||
async def treasure_dungeon_render(self, client: "StarRailClient", uid: Optional[int] = None) -> List[RenderResult]:
|
||||
if uid is None:
|
||||
uid = client.player_id
|
||||
|
||||
act_data = await client.get_starrail_activity(uid)
|
||||
try:
|
||||
data = act_data.treasure_dungeon
|
||||
if not data.exists_data:
|
||||
raise NotHaveData
|
||||
if all(record.finish_time is None for record in data.records):
|
||||
raise NotHaveData
|
||||
except ValueError:
|
||||
raise NotHaveData
|
||||
|
||||
avatar_icons = {}
|
||||
for record in data.records:
|
||||
for avatar in record.avatars:
|
||||
avatar_icons[avatar.id] = self.assets.avatar.icon(avatar.id).as_uri()
|
||||
|
||||
def render(record: StarRailTreasureDungeonRecord) -> Coroutine[Any, Any, RenderResult]:
|
||||
render_data = {
|
||||
"uid": mask_number(uid),
|
||||
"record": record,
|
||||
"avatar_icons": avatar_icons,
|
||||
}
|
||||
return self.template_service.render(
|
||||
"starrail/activity/treasure_dungeon.html",
|
||||
render_data,
|
||||
{"width": 500, "height": 762},
|
||||
full_page=True,
|
||||
query_selector="#container",
|
||||
)
|
||||
|
||||
tasks = [render(record) for record in data.records if record.finish_time is not None]
|
||||
if len(tasks) == 1:
|
||||
return [await tasks[0]]
|
||||
return await asyncio.gather(*tasks) # noqa
|
||||
|
||||
@handler.command("copper_man", block=False)
|
||||
@handler.message(filters.Regex("^金人巷信息查询(.*)"), block=False)
|
||||
async def copper_man_command_start(self, update: Update, _: CallbackContext) -> Optional[int]:
|
||||
user_id = await self.get_real_user_id(update)
|
||||
message = update.effective_message
|
||||
uid, offset = self.get_real_uid_or_offset(update)
|
||||
self.log_user(update, logger.info, "查询金人巷信息命令请求")
|
||||
try:
|
||||
uid = await self.get_uid(user_id, message.reply_to_message, uid, offset)
|
||||
async with self.helper.genshin_or_public(user_id, uid=uid) as client:
|
||||
render_result = await self.copper_man_render(client, uid)
|
||||
except AttributeError as exc:
|
||||
logger.error(ACTIVITY_DATA_ERROR)
|
||||
logger.exception(exc)
|
||||
await message.reply_text(ACTIVITY_ATTR_ERROR)
|
||||
return
|
||||
except NotHaveData as e:
|
||||
reply_message = await message.reply_text(e.MSG)
|
||||
if filters.ChatType.GROUPS.filter(reply_message):
|
||||
self.add_delete_message_job(message)
|
||||
self.add_delete_message_job(reply_message)
|
||||
return
|
||||
await message.reply_chat_action(ChatAction.UPLOAD_PHOTO)
|
||||
await render_result.reply_photo(message, filename=f"{user_id}.png")
|
||||
|
||||
async def copper_man_render(self, client: "StarRailClient", uid: Optional[int] = None) -> RenderResult:
|
||||
if uid is None:
|
||||
uid = client.player_id
|
||||
|
||||
act_data = await client.get_starrail_resident(uid)
|
||||
try:
|
||||
copper_man_data = act_data.copper_man
|
||||
if not copper_man_data.base.exists_data:
|
||||
raise ValueError
|
||||
if not copper_man_data.info.exists_data:
|
||||
raise ValueError
|
||||
except ValueError:
|
||||
raise NotHaveData
|
||||
data = {
|
||||
"uid": mask_number(uid),
|
||||
"basic": copper_man_data.info.basic,
|
||||
"shops": copper_man_data.info.shops[:-1],
|
||||
"last_shop": copper_man_data.info.shops[-1],
|
||||
}
|
||||
|
||||
return await self.template_service.render(
|
||||
"starrail/activity/copper_man.html",
|
||||
data,
|
||||
{"width": 500, "height": 1200},
|
||||
full_page=True,
|
||||
query_selector="#container",
|
||||
)
|
@ -93,20 +93,11 @@ class PlayerRoguePlugins(Plugin):
|
||||
uid, pre = await self.get_uid(user_id, context.args, message.reply_to_message, uid, offset)
|
||||
async with self.helper.genshin_or_public(user_id, uid=uid) as client:
|
||||
render_result = await self.render(client, pre, uid)
|
||||
except TooManyRequestPublicCookies:
|
||||
await message.reply_text("用户查询次数过多 请稍后重试")
|
||||
return
|
||||
except AttributeError as exc:
|
||||
logger.error("模拟宇宙数据有误")
|
||||
logger.exception(exc)
|
||||
await message.reply_text("模拟宇宙数据有误 估计是彦卿晕了")
|
||||
return
|
||||
except NotSupport:
|
||||
reply_message = await message.reply_text("暂不支持该服务器查询模拟宇宙数据")
|
||||
if filters.ChatType.GROUPS.filter(reply_message):
|
||||
self.add_delete_message_job(message)
|
||||
self.add_delete_message_job(reply_message)
|
||||
return
|
||||
except NotHaveData:
|
||||
reply_message = await message.reply_text("没有查找到模拟宇宙数据")
|
||||
if filters.ChatType.GROUPS.filter(reply_message):
|
||||
@ -156,6 +147,38 @@ class PlayerRoguePlugins(Plugin):
|
||||
query_selector="#new-container",
|
||||
)
|
||||
|
||||
@handler.command("rogue_tourn", block=False)
|
||||
@handler.message(filters.Regex("^差分宇宙信息查询(.*)"), block=False)
|
||||
async def rogue_tourn_command_start(self, update: Update, _: CallbackContext) -> Optional[int]:
|
||||
user_id = await self.get_real_user_id(update)
|
||||
message = update.effective_message
|
||||
uid, offset = self.get_real_uid_or_offset(update)
|
||||
self.log_user(update, logger.info, "查询差分宇宙信息命令请求")
|
||||
try:
|
||||
async with self.helper.genshin_or_public(user_id, uid=uid, offset=offset) as client:
|
||||
render_result = await self.render_rogue_tourn(client)
|
||||
except AttributeError as exc:
|
||||
logger.error("差分宇宙数据有误")
|
||||
logger.exception(exc)
|
||||
await message.reply_text("差分宇宙数据有误 估计是彦卿晕了")
|
||||
return
|
||||
await message.reply_chat_action(ChatAction.UPLOAD_PHOTO)
|
||||
await render_result.reply_photo(message, filename=f"{user_id}.png")
|
||||
|
||||
async def render_rogue_tourn(self, client: "StarRailClient") -> RenderResult:
|
||||
rogue = await client.get_starrail_rogue_tourn()
|
||||
data = {
|
||||
"uid": mask_number(client.player_id),
|
||||
"basic": rogue.basic,
|
||||
}
|
||||
return await self.template_service.render(
|
||||
"starrail/rogue/rogue_tourn.html",
|
||||
data,
|
||||
{"width": 1000, "height": 700},
|
||||
full_page=True,
|
||||
query_selector=".simulate",
|
||||
)
|
||||
|
||||
@handler.command("rogue_locust", block=False)
|
||||
@handler.message(filters.Regex("^寰宇蝗灾信息查询(.*)"), block=False)
|
||||
async def rogue_locust_command_start(self, update: Update, _: CallbackContext) -> Optional[int]:
|
||||
|
@ -7,7 +7,7 @@ aiohttp==3.9.5
|
||||
aiolimiter==1.1.0
|
||||
aiosignal==1.3.1
|
||||
aiosqlite[sqlite]==0.20.0
|
||||
alembic==1.13.1
|
||||
alembic==1.13.2
|
||||
anyio==4.4.0
|
||||
apscheduler==3.10.4
|
||||
arko-wrapper==0.2.8
|
||||
@ -56,7 +56,7 @@ mdurl==0.1.2
|
||||
msgspec==0.18.6
|
||||
multidict==6.0.5
|
||||
mypy-extensions==1.0.0
|
||||
openpyxl==3.1.4
|
||||
openpyxl==3.1.5
|
||||
orjson==3.10.5
|
||||
packaging==24.1
|
||||
pathspec==0.12.1
|
||||
@ -84,10 +84,10 @@ rapidfuzz==3.9.3
|
||||
reactivex==4.0.4
|
||||
redis==5.0.7
|
||||
rich==13.7.1
|
||||
sentry-sdk==2.7.0
|
||||
sentry-sdk==2.7.1
|
||||
setuptools==70.1.1
|
||||
shellingham==1.5.4
|
||||
simnet @ git+https://github.com/PaiGramTeam/SIMNet@277a33321a20909541b46bf4ecf794fd47e19fb1
|
||||
simnet @ git+https://github.com/PaiGramTeam/SIMNet@10654fc90012ab97288c21f58b7091fd16c301f7
|
||||
six==1.16.0
|
||||
smmap==5.0.1
|
||||
sniffio==1.3.1
|
||||
|
@ -1,86 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Title</title>
|
||||
<link href="css/pc_f95b4488.css" rel="stylesheet">
|
||||
<link href="css/c_hsr_act_BoxBattle_78ede0f4.css" rel="stylesheet">
|
||||
<link href="css/c_hsr_role-medium_341dcf55.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<div style="width: 960px;" id="boxing_show">
|
||||
<div data-v-391669a4="" data-v-3dedffc2="" class="battle">
|
||||
<div data-v-391669a4="" class="battle-container">
|
||||
<div data-v-391669a4="" class="battle-container-top">
|
||||
<span data-v-391669a4="" class="time">
|
||||
磐岩镇斗技表演赛 UID: {{ uid }}
|
||||
</span>
|
||||
</div>
|
||||
<div data-v-391669a4="" class="blocks">
|
||||
{% set badges = ["badge_3.2a9179f6", "badge_2.71d8481e", "badge_1.131659cd", "badge_3.2a9179f6", "badge_2.71d8481e", "badge_1.131659cd", "badge_3.2a9179f6"] %}
|
||||
{% set buffs = ["buff-6.99ba4655", "buff-1.dc2fb6c8", "buff-5.72d0789f", "buff-7.57d44ceb", "buff-2.b371ab10", "buff-4.3247f059", "buff-3.2a41819d"] %}
|
||||
{% for info in data %}
|
||||
<div data-v-bac2d04e="" data-v-391669a4="" class="block">
|
||||
<div data-v-bac2d04e="" class="top">
|
||||
<div data-v-bac2d04e="" class="top-left">
|
||||
<img data-v-bac2d04e="" src="https://act.hoyolab.com/app/community-game-records-sea/rpg/images/{{ badges[loop.index0] }}.png" alt="" class="badge">
|
||||
<img data-v-bac2d04e="" src="https://act.hoyolab.com/app/community-game-records-sea/rpg/images/{{ buffs[loop.index0] }}.png" alt="" class="top-buff">
|
||||
</div>
|
||||
<div data-v-bac2d04e="" class="top-right">
|
||||
<div data-v-bac2d04e="" class="mid">
|
||||
<p data-v-bac2d04e="" class="name">
|
||||
{{ info.name_mi18n }}
|
||||
</p>
|
||||
{% if info.has_challenge %}
|
||||
<div data-v-bac2d04e="" class="mid-btm">
|
||||
<p data-v-bac2d04e="" class="round">
|
||||
轮次数:<span data-v-bac2d04e="">{{ info.round }}</span>
|
||||
</p>
|
||||
</div>
|
||||
{% else %}
|
||||
<div data-v-bac2d04e="" class="empty">
|
||||
暂无挑战数据
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if info.has_challenge %}
|
||||
<div data-v-bac2d04e="" class="avatars">
|
||||
{% for avatar in info.avatars_used_activity %}
|
||||
<div data-v-d07e5c4c="" data-v-bac2d04e="" class="hsr-role-medium normal">
|
||||
<div data-v-d07e5c4c="" class="hsr-role-medium-pos">
|
||||
<div data-v-d07e5c4c="" class="inner role-rarity-{{ avatar.rarity }}">
|
||||
<img data-v-d07e5c4c="" class="avatar" src="{{ avatar_icons[avatar.id] }}">
|
||||
<div data-v-d07e5c4c="" class="level">{{ avatar.level }}级</div>
|
||||
{% if avatar.rank %}
|
||||
<div data-v-d07e5c4c="" class="fate-level">
|
||||
{{ avatar.rank }}
|
||||
</div>
|
||||
{% endif %}
|
||||
<i data-v-d07e5c4c="" class="select-index" style="display: none;"></i>
|
||||
</div>
|
||||
{% if avatar.is_trial %}
|
||||
<div data-v-d07e5c4c="" class="trial">试用</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% if info.has_challenge %}
|
||||
<div data-v-bac2d04e="" class="btm">
|
||||
<div data-v-bac2d04e="" class="toggle">
|
||||
<span data-v-bac2d04e="">选择增益:</span>
|
||||
<span data-v-bac2d04e="">{{ info.buffs }}</span>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,118 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Title</title>
|
||||
<link href="css/33_95a8ba2f618c72c8e130.css" rel="stylesheet">
|
||||
<style>
|
||||
* {
|
||||
margin: 0;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
#container {
|
||||
padding: 4.26667vw 4vw 8vw;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="container">
|
||||
<div class="van-tabs__content">
|
||||
<div data-v-056bcd56="" role="tabpanel" class="van-tab__pane" style="">
|
||||
<div data-v-056bcd56="" class="activity-content">
|
||||
<div data-v-056bcd56="" class="copper-man">
|
||||
<div class="info">
|
||||
<div class="level">
|
||||
<span class="label">商业等级: </span>
|
||||
<span class="count">{{ basic.level }}</span>
|
||||
</div>
|
||||
<div class="accumulate">
|
||||
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAADAFBMVEVHcEwEBAQAAAAZFhMAAAAkHBIAAAAJCAQaFxMhGhEAAABMOSIzKx9NRC1USjg4LBtlVDilkGIoHg9jUTFJPyxwWDNrZVtMRTpOOyGDcEykj2JKNx5NOSAdGx1qalhQQimZjmKahFiQgWk6KhVCMx6LdkyJeVBVQSayn2YyJRUzJhVxXztNOR1DMhhhSSOdiF1SRTZfWFFxameKelp3cG6Id1KFYzG8tYGlmm6hjGBeTTNOQz9gTS++qWuEbkddTTlwWzowJhlEWlR+Z0KqkmDKs3pRmom6pHTVvoTUvIHk0pZ4YD2vmGfJr3XawoZvWTlNl4nMuICunnbe0J64oGvFrXRHXVPn1ZtnTSs6RT5LYFbCtYq4pnrZx5PGr3i9q3ufiFmli1nTwY29pnHczJifekRKjHvWwIfcyI3PtntBWFVQlYQ9aWSGdEtQkYGkjmDQwZSZhmKLeFJzXTunlm9IkYfMvY1fSSmwm2q8qHVnSCNeZU1WZVG+nWBDjIazqoDWw4lRjHxTmIZ7ZD+RfluAbEWmk2dgRiRRnIxCXFmKcEeOdkx0VzG5sIiVcDzSwIpsUS2ynnHDrnxSSjO7om3i1aLFq3BUfW3CrXbYv33i0JtCh4HPu4TKuoevlGBFbmLCpWvhzpHBqHE1b21/a0uHdFA9U096aUkxOTOSfFGCcE6Yfk69roNwZ0dQhHNuVzWeg0+KeEmBYzjZxY7k26xpcVGsqX2zo3q1nWvd0qRSZlm0llo9f3mEbkfZwINIVEnfx4Cqrobp2qC/r4BUiHqlh0+ajl8/Y2LOsHGepIC1to53dVBQdGSImXlMh308eXE0XVgyQ0J9XDGbhFg6MiPs5LGTo4LGtoqDnoHWyJjFs4CWdkRDYF/bypXv36BNXVDAsoGyonGekWzIt4Kng0nVyI+Sgliyik5ok35tYEGUkG1ujXhjeWGXmXNha1Z6hmhGeGqCcFNdj3/Rxp95nIVVYEhLbGA9QDNEg3qalG1IYlzFsHpWWkG7nmdFSjmBh2xyZ6VQAAAAQnRSTlMADgYvC04BFR9AEPUqN5RywP5iz0Lde2bjz+/+3jhom7H4+Vio8tX85Juvz8GUdvHZo+btzLje4s/iuXLl7vve/XnmmaE3AAAD7klEQVQ4y2NgIBEwcXAqCwmxMnOx4VTCJWfF3R4R0T5BXUZFiBGrEhY586vRXc49eydMKPYvj5DgZ8dijMLT4C2fS7qdJzR7e3v7v/RfL8OKrobDIqMgumzn1Z4qEJjQU+xf7L1eHtVOdrX0glkFOw8tUP8eGRm54op0+yb/td7OwhzIvhLw7U8qm5W+POrd+127dkWFLVtx5ZKzc+sSZFXWIUk3CzZ7Vp/5FjgtNbcmKgqkLKJr+fIlAnDncyhNC/bw3Fe9bnrYvYaMo6l770eFOTldjFi9JDeXD6aIb0p/bOy+Y43r1n29t/B56pPU1LVgVd4bVi1thfqRyz506pYGz+mNjUfWHvLyfe7a96SvtcbJySmyeeXSVdoQCzkdQmNTPCob8/LSWsO9PP3m/tt0e9PtaienrMjupUVL+cGKHPeGxt712JaXnZ220cvrzYEFp+pTj25YvTXLadnkhKIiURaQIs2uuKkpHgezm5rSNobX9rocqvV6MHmDS2JNZ2dk9+WPRSIgRVrOvsHp6SBFebleJ/wWZpzIPDt/cmKiS2dnlv+zlgSwB7XWT5vq2bAt282t6fTCmTHHHntNOzX9wpR5CT8770zOL2yRBNmnWR7qEZzyOM/NzW2r375TaR+Oei04+8ZzUeiiX3f2uxS2qIKCnb98x92pnp4v3Nw65p/I2JyWdmZmRsPT9JDQkFfHgYoK83lBQVC+2jX2buDJALeOPbv9PLedPPswfEGo17uQ5O3H9/tUtPmAFLHbOE9JmXN336cAt4DTnrW1vpmenhkL098nuMYfv5880b0CpIhNxdunf0uwa31pQMf83Zm+M55V+M2a5Rn+v/pYTnVlYYkgDzjI7VYuSpmTlHktIKB0619X15PnX6a/vVAUPv9CTtFE1xhLdkhy6k7+fbM/OO5LacCP4hBX3xc1mQfPn/Y6k+MU5z4x3hSSdzhVE6b83nmrbNKNutLzxfMqz+XMS6+fM3dxzqP4oO2u4tDEIu8yY0fS4Rlz467NLt3zZ1Xd7JrERT4fFr+Kq5wYqA9Ld0xqMwN95h4um+Q+48bsuj11dbMX5yyeHhRY4r49WQyW7Nh4NGbOcamMdp/0YEfI29dHzp078rreY5J7TEmgJBc8lbPx2h7IdNkRXwFUWOEzz8V9VtLhoPiYGFcpHkRWYGPj1DiwO98lpn5NvHtvUElQdEHS3EeBcVIiaPlTobavKyHf52FFb1CbYG/0mjW3Zhhj5GI2ZbO+Hu/uy/n5bW2C+bH9yUEmzFgKDXY90Uvt5f7Nzs7OzS1KRmIsWIsWNhZWXR0JbmlubgNDcXZ8JRk7DzMzByMbqSUgAwBjJ5n3KebOLQAAAABJRU5ErkJggg==" alt="">
|
||||
<div class="right">
|
||||
<span class="label">累积赚取商会储值金:</span>
|
||||
<span class="count">{{ basic.accumulate }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="items">
|
||||
<div class="item">
|
||||
<div class="top">
|
||||
<span class="label">常规运单:</span>
|
||||
<span class="count">{{ basic.cur_common_order }}/{{ basic.max_common_order }}</span>
|
||||
</div>
|
||||
<div class="progress">
|
||||
<div class="left"></div>
|
||||
<div class="center">
|
||||
<div class="bar" style="width: {{ basic.common_order_process }}%;"></div>
|
||||
</div>
|
||||
<div class="right"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div class="top">
|
||||
<span class="label">客制运单:</span>
|
||||
<span class="count">{{ basic.cur_customer_order }}/{{ basic.max_customer_order }}</span>
|
||||
</div>
|
||||
<div class="progress">
|
||||
<div class="left"></div>
|
||||
<div class="center">
|
||||
<div class="bar" style="width: {{ basic.customer_order_process }}%;"></div>
|
||||
</div>
|
||||
<div class="right"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div class="top">
|
||||
<span class="label">街巷事件:</span>
|
||||
<span class="count">{{ basic.cur_alley_event }}/{{ basic.max_alley_event }}</span>
|
||||
</div>
|
||||
<div class="progress">
|
||||
<div class="left"></div>
|
||||
<div class="center">
|
||||
<div class="bar" style="width: {{ basic.alley_event_process }}%;"></div>
|
||||
</div>
|
||||
<div class="right"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="shops">
|
||||
<div class="title">已解锁商铺</div>
|
||||
<div class="shop">
|
||||
{% for shop in shops %}
|
||||
{% if shop.is_unlock %}
|
||||
{% set lock = '' %}
|
||||
{% else %}
|
||||
{% set lock = 'lock' %}
|
||||
{% endif %}
|
||||
<div class="item {{ lock }}">
|
||||
<div class="icon">
|
||||
<img src="{{ shop.icon }}" alt="">
|
||||
</div>
|
||||
<span class="name">{{ shop.name }}</span>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% if last_shop.is_unlock %}
|
||||
{% set lock = '' %}
|
||||
{% else %}
|
||||
{% set lock = 'lock' %}
|
||||
{% endif %}
|
||||
<div class="last {{ lock }}">
|
||||
<div class="block">
|
||||
<div class="icon">
|
||||
<img src="{{ last_shop.icon }}" alt="">
|
||||
</div>
|
||||
<span class="name">{{ last_shop.name }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="guide">
|
||||
UID: {{ uid }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,189 +0,0 @@
|
||||
/*! Copyright © 2011 - 2023 miHoYo. All Rights Reserved */
|
||||
.no-data[data-v-5b777587] {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-box-direction: normal;
|
||||
-ms-flex-direction: column;
|
||||
flex-direction: column;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center
|
||||
}
|
||||
|
||||
.no-data .text[data-v-5b777587] {
|
||||
margin-top: 2.66667vw;
|
||||
font-size: 3.73333vw;
|
||||
font-family: PingFangSC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #7f858a;
|
||||
height: 3.73333vw;
|
||||
line-height: 3.73333vw
|
||||
}
|
||||
|
||||
.item.is-editable.unable-be-select[data-v-03247942] {
|
||||
opacity: .3
|
||||
}
|
||||
|
||||
.item .name[data-v-03247942] {
|
||||
height: 3.73333vw;
|
||||
font-size: 3.73333vw;
|
||||
font-family: PingFangSC-Medium, PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #1e1f20;
|
||||
line-height: 3.73333vw;
|
||||
margin-top: 2.13333vw;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.item .name .text[data-v-03247942] {
|
||||
text-align: center;
|
||||
overflow: hidden;
|
||||
-o-text-overflow: ellipsis;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
height: 3.73333vw;
|
||||
line-height: 3.73333vw;
|
||||
width: 22.4vw;
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
left: -.8vw
|
||||
}
|
||||
|
||||
.item .inner[data-v-03247942] {
|
||||
width: 100%;
|
||||
position: relative
|
||||
}
|
||||
|
||||
.item .inner .select-label[data-v-03247942], .item .inner[data-v-03247942] {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center
|
||||
}
|
||||
|
||||
.item .inner .select-label[data-v-03247942] {
|
||||
width: 5.33333vw;
|
||||
height: 5.33333vw;
|
||||
border: .53333vw solid #fff;
|
||||
position: absolute;
|
||||
top: 1.06667vw;
|
||||
right: 1.06667vw;
|
||||
font-size: 3.73333vw;
|
||||
font-family: PingFangSC-Medium, PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #fff;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
border-radius: 100%
|
||||
}
|
||||
|
||||
.item .inner .select-label.selected[data-v-03247942] {
|
||||
background: #f69502
|
||||
}
|
||||
|
||||
.item .inner .avatar-box[data-v-03247942] {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
text-align: center;
|
||||
border-radius: 0 4vw 0 0
|
||||
}
|
||||
|
||||
.item .inner .avatar-box .avatar-bg[data-v-03247942] {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
left: 0;
|
||||
top: 0;
|
||||
z-index: 0
|
||||
}
|
||||
|
||||
.item .inner .avatar[data-v-03247942] {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
position: relative;
|
||||
top: -.53333vw;
|
||||
display: inline-block
|
||||
}
|
||||
|
||||
.item .inner .icon[data-v-03247942] {
|
||||
position: absolute;
|
||||
left: 1.6vw;
|
||||
top: 1.6vw
|
||||
}
|
||||
|
||||
.item .inner .index[data-v-03247942] {
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 4.8vw;
|
||||
height: 5.86667vw;
|
||||
background: rgba(0, 0, 0, .5);
|
||||
border-radius: 0 4vw 0 1.6vw;
|
||||
font-size: 3.73333vw;
|
||||
line-height: 3.73333vw
|
||||
}
|
||||
|
||||
.item .inner .index[data-v-03247942], .item .inner .level[data-v-03247942] {
|
||||
position: absolute;
|
||||
font-family: PingFangSC-Medium, PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #fff;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center
|
||||
}
|
||||
|
||||
.item .inner .level[data-v-03247942] {
|
||||
bottom: .53333vw;
|
||||
left: 0;
|
||||
height: 3.73333vw;
|
||||
background: #030b0e;
|
||||
width: 100%;
|
||||
font-size: 3.2vw;
|
||||
line-height: 3.2vw
|
||||
}
|
||||
|
||||
.item .inner .trial[data-v-03247942] {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
padding: 1px 1.06667vw;
|
||||
background: #ffc870;
|
||||
border-radius: 2.66667vw;
|
||||
font-weight: 500;
|
||||
font-size: 2.66667vw;
|
||||
line-height: 2.66667vw;
|
||||
font-family: PingFangSC-Medium, PingFang SC;
|
||||
color: #000;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center
|
||||
}
|
@ -1,405 +0,0 @@
|
||||
/*! Copyright © 2011 - 2023 miHoYo. All Rights Reserved */
|
||||
.top[data-v-bac2d04e] {
|
||||
height: 108px;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
padding: 15px 32px 15px 28px;
|
||||
background: no-repeat top/contain;
|
||||
background-image: url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/card_bg@pc.ee0a22a4.png)
|
||||
}
|
||||
|
||||
.top-left[data-v-bac2d04e] {
|
||||
position: relative;
|
||||
width: 104px;
|
||||
-ms-flex-negative: 0;
|
||||
flex-shrink: 0;
|
||||
padding-right: 26px
|
||||
}
|
||||
|
||||
.top-left[data-v-bac2d04e]:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
width: 10px;
|
||||
height: 78px;
|
||||
background: url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/split_ver.8ca3b5c4.png) no-repeat 50%/contain;
|
||||
right: 0;
|
||||
top: 0
|
||||
}
|
||||
|
||||
.badge[data-v-bac2d04e] {
|
||||
width: 100%;
|
||||
height: auto
|
||||
}
|
||||
|
||||
.perfect[data-v-bac2d04e] {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
color: #fef5d0;
|
||||
text-align: center;
|
||||
border-radius: 0 8px 0 0;
|
||||
border: 1px solid #a15451;
|
||||
background: #8e3834;
|
||||
padding: 1px 11px;
|
||||
font-size: 12px;
|
||||
font-weight: 700;
|
||||
line-height: 16px;
|
||||
background: #8e3834 url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/perfect.20384159.png) no-repeat 100%/contain
|
||||
}
|
||||
|
||||
.top-buff[data-v-bac2d04e] {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
position: absolute;
|
||||
top: 46px;
|
||||
left: 55px
|
||||
}
|
||||
|
||||
.top-right[data-v-bac2d04e] {
|
||||
margin-left: 0;
|
||||
-webkit-box-flex: 1;
|
||||
-ms-flex: 1;
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
padding-left: 16px
|
||||
}
|
||||
|
||||
.empty[data-v-bac2d04e] {
|
||||
color: rgba(66, 35, 32, .5);
|
||||
text-align: left;
|
||||
font-size: 16px;
|
||||
font-weight: 500
|
||||
}
|
||||
|
||||
.name[data-v-bac2d04e] {
|
||||
color: #8a382a;
|
||||
font-size: 18px;
|
||||
font-weight: 700;
|
||||
line-height: 26px;
|
||||
margin-bottom: 12px
|
||||
}
|
||||
|
||||
.mid[data-v-bac2d04e] {
|
||||
width: 376px;
|
||||
-ms-flex-negative: 0;
|
||||
flex-shrink: 0
|
||||
}
|
||||
|
||||
.mid-btm[data-v-bac2d04e] {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center
|
||||
}
|
||||
|
||||
.round[data-v-bac2d04e] {
|
||||
color: #484848;
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
line-height: 18px;
|
||||
margin-right: 24px
|
||||
}
|
||||
|
||||
.round span[data-v-bac2d04e] {
|
||||
margin-left: 4px;
|
||||
color: #484848;
|
||||
font-size: 17px;
|
||||
font-weight: 600;
|
||||
letter-spacing: .1px;
|
||||
font-family: RPG_CN_Condensed
|
||||
}
|
||||
|
||||
.avatars[data-v-bac2d04e] {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
margin-left: 32px
|
||||
}
|
||||
|
||||
.avatars .hsr-role-medium[data-v-bac2d04e] {
|
||||
margin-left: 12px
|
||||
}
|
||||
|
||||
.avatars .hsr-role-medium[data-v-bac2d04e]:first-child {
|
||||
margin-left: 0
|
||||
}
|
||||
|
||||
.avatars .hsr-role-medium[data-v-bac2d04e] .trial {
|
||||
padding: 2px 8px;
|
||||
border-radius: 24px;
|
||||
background: #ffd966;
|
||||
color: rgba(0, 0, 0, .9);
|
||||
font-size: 24px;
|
||||
font-weight: 600;
|
||||
line-height: 32px;
|
||||
right: 0;
|
||||
top: 0;
|
||||
white-space: nowrap
|
||||
}
|
||||
|
||||
.btm[data-v-bac2d04e] {
|
||||
border: 1px solid hsla(22, 60%, 84%, .41);
|
||||
background: rgba(101, 42, 32, .53);
|
||||
-webkit-backdrop-filter: blur(2px);
|
||||
backdrop-filter: blur(2px);
|
||||
position: relative
|
||||
}
|
||||
|
||||
.btm[data-v-bac2d04e]:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
width: calc(100% - 2px);
|
||||
height: calc(100% - 2px);
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
top: 1px;
|
||||
left: 1px;
|
||||
border: .5px solid hsla(0, 0%, 100%, .11);
|
||||
pointer-events: none;
|
||||
border-radius: 0
|
||||
}
|
||||
|
||||
.toggle[data-v-bac2d04e] {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center
|
||||
}
|
||||
|
||||
.toggle img[data-v-bac2d04e] {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
-ms-flex-negative: 0;
|
||||
flex-shrink: 0;
|
||||
-webkit-transition: -webkit-transform .3s ease;
|
||||
transition: -webkit-transform .3s ease;
|
||||
-o-transition: transform .3s ease;
|
||||
transition: transform .3s ease;
|
||||
transition: transform .3s ease, -webkit-transform .3s ease
|
||||
}
|
||||
|
||||
.toggle img[rotate][data-v-bac2d04e] {
|
||||
-webkit-transform: rotate(-180deg);
|
||||
-ms-transform: rotate(-180deg);
|
||||
transform: rotate(-180deg)
|
||||
}
|
||||
|
||||
.toggle span[data-v-bac2d04e] {
|
||||
margin-left: 2px;
|
||||
color: #e6d3c0;
|
||||
font-size: 12px;
|
||||
line-height: 16px;
|
||||
padding: 8px 0
|
||||
}
|
||||
|
||||
.toggle-zone[data-v-bac2d04e] {
|
||||
margin: 16px 32px 8px
|
||||
}
|
||||
|
||||
.buff-box[data-v-bac2d04e] {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex
|
||||
}
|
||||
|
||||
.buff-box[data-v-bac2d04e]:not(:last-child) {
|
||||
position: relative;
|
||||
padding-bottom: 42px
|
||||
}
|
||||
|
||||
.buff-box[data-v-bac2d04e]:not(:last-child):after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 10px;
|
||||
background: no-repeat 50%/contain;
|
||||
background-image: url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/split@pc.5a621a11.png);
|
||||
left: 0;
|
||||
bottom: 16px
|
||||
}
|
||||
|
||||
.buff[data-v-bac2d04e] {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
-ms-flex-negative: 0;
|
||||
flex-shrink: 0;
|
||||
margin-right: 16px
|
||||
}
|
||||
|
||||
.buff-title[data-v-bac2d04e] {
|
||||
color: hsla(0, 0%, 100%, .9);
|
||||
font-size: 14px;
|
||||
font-weight: 700;
|
||||
line-height: 20px
|
||||
}
|
||||
|
||||
.buff-desc[data-v-bac2d04e] {
|
||||
color: hsla(0, 0%, 100%, .65);
|
||||
font-size: 12px;
|
||||
line-height: 16px;
|
||||
margin-top: 8px
|
||||
}
|
||||
|
||||
.battle[data-v-391669a4] {
|
||||
display: flow-root;
|
||||
min-height: 579px;
|
||||
border-radius: 0 32px 0 0;
|
||||
background: #1b1b20 no-repeat top/100% auto;
|
||||
background-image: url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/bg@pc.2f50197a.png);
|
||||
position: relative
|
||||
}
|
||||
|
||||
.battle[data-v-391669a4]:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
width: calc(100% - 4px);
|
||||
height: calc(100% - 4px);
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
top: 2px;
|
||||
left: 2px;
|
||||
border: 1px solid hsla(0, 0%, 100%, .2);
|
||||
pointer-events: none;
|
||||
border-radius: 0 32px 0 0
|
||||
}
|
||||
|
||||
.empty-block[data-v-391669a4] {
|
||||
margin: 220px auto 0;
|
||||
height: auto
|
||||
}
|
||||
|
||||
.empty-block[data-v-391669a4] .icon {
|
||||
width: 120px;
|
||||
height: 120px
|
||||
}
|
||||
|
||||
.empty-block[data-v-391669a4] .text {
|
||||
color: hsla(0, 0%, 100%, .65) !important;
|
||||
font-size: 12px !important;
|
||||
line-height: 14px;
|
||||
margin-top: 4px !important
|
||||
}
|
||||
|
||||
.btn[data-v-391669a4] {
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
color: #282828;
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
-ms-flex-negative: 0;
|
||||
flex-shrink: 0;
|
||||
width: -webkit-fit-content;
|
||||
width: -moz-fit-content;
|
||||
width: fit-content;
|
||||
height: 32px;
|
||||
margin: 24px auto 27px;
|
||||
padding: 0 142px;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
border-radius: 20px;
|
||||
background-color: #fff;
|
||||
cursor: pointer;
|
||||
left: 50%;
|
||||
-webkit-transform: translateX(-50%);
|
||||
-ms-transform: translateX(-50%);
|
||||
transform: translateX(-50%);
|
||||
bottom: 24px
|
||||
}
|
||||
|
||||
.btn span[data-v-391669a4] {
|
||||
width: 100%;
|
||||
-o-text-overflow: ellipsis;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
white-space: nowrap
|
||||
}
|
||||
|
||||
.btn[data-v-391669a4]:after, .btn[data-v-391669a4]:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
pointer-events: none
|
||||
}
|
||||
|
||||
.btn[data-v-391669a4]:before {
|
||||
top: 2px;
|
||||
left: 2px;
|
||||
right: 2px;
|
||||
bottom: 2px;
|
||||
border-radius: inherit;
|
||||
border: 1px solid rgba(0, 0, 0, .16)
|
||||
}
|
||||
|
||||
.btn[data-v-391669a4]:after {
|
||||
background-color: rgba(0, 0, 0, .16);
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
border-radius: 50%;
|
||||
-webkit-box-shadow: 0 0 0 2px #fff;
|
||||
box-shadow: 0 0 0 2px #fff;
|
||||
left: 32px;
|
||||
top: 2px
|
||||
}
|
||||
|
||||
.battle-container[data-v-391669a4] {
|
||||
padding: 40px
|
||||
}
|
||||
|
||||
.battle-container-top[data-v-391669a4] {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-pack: justify;
|
||||
-ms-flex-pack: justify;
|
||||
justify-content: space-between
|
||||
}
|
||||
|
||||
.link[data-v-391669a4], .time[data-v-391669a4] {
|
||||
color: #f9e8d3;
|
||||
font-size: 16px;
|
||||
line-height: 16px
|
||||
}
|
||||
|
||||
.link[data-v-391669a4] {
|
||||
width: -webkit-fit-content;
|
||||
width: -moz-fit-content;
|
||||
width: fit-content;
|
||||
padding-right: 14px;
|
||||
background: url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/arrow.c2ffc550.png) no-repeat 100%/12px;
|
||||
margin-top: 0;
|
||||
cursor: pointer
|
||||
}
|
||||
|
||||
.blocks[data-v-391669a4] {
|
||||
margin-top: 16px
|
||||
}
|
||||
|
||||
.block[data-v-391669a4]:not(:last-child) {
|
||||
margin-bottom: 16px
|
||||
}
|
@ -1,372 +0,0 @@
|
||||
/*! Copyright © 2011 - 2023 miHoYo. All Rights Reserved */
|
||||
.block[data-v-04e81689] {
|
||||
position: relative;
|
||||
min-height: 70px;
|
||||
display: flow-root
|
||||
}
|
||||
|
||||
.bg[data-v-04e81689] {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
top: 0;
|
||||
left: 0
|
||||
}
|
||||
|
||||
.title[data-v-04e81689] {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 72.5px;
|
||||
color: hsla(0, 0%, 100%, .9);
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
line-height: 18px;
|
||||
white-space: nowrap;
|
||||
-webkit-transform-origin: 0 center;
|
||||
-ms-transform-origin: 0 center;
|
||||
transform-origin: 0 center
|
||||
}
|
||||
|
||||
.icon[data-v-04e81689] {
|
||||
position: absolute;
|
||||
width: 69px;
|
||||
height: 69px;
|
||||
top: 0;
|
||||
left: 5px
|
||||
}
|
||||
|
||||
.mid-info[data-v-04e81689] {
|
||||
position: absolute;
|
||||
top: 30px;
|
||||
left: 101px;
|
||||
width: auto
|
||||
}
|
||||
|
||||
.mid-info-line[data-v-04e81689], .mid-info[data-v-04e81689] {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center
|
||||
}
|
||||
|
||||
.mid-info-line[data-v-04e81689] {
|
||||
font-size: 14px
|
||||
}
|
||||
|
||||
.mid-info-line[data-v-04e81689]:last-child {
|
||||
position: relative;
|
||||
margin-left: 80px
|
||||
}
|
||||
|
||||
.mid-info-line[data-v-04e81689]:last-child:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 11px;
|
||||
background-color: hsla(0, 0%, 100%, .29);
|
||||
border-radius: 2px;
|
||||
right: calc(100% + 40px);
|
||||
top: 50%;
|
||||
-webkit-transform: translateY(-50%);
|
||||
-ms-transform: translateY(-50%);
|
||||
transform: translateY(-50%)
|
||||
}
|
||||
|
||||
.mid-info-line-left[data-v-04e81689] {
|
||||
color: hsla(0, 0%, 100%, .65);
|
||||
line-height: 20px;
|
||||
font-weight: 600
|
||||
}
|
||||
|
||||
.mid-info-line-right[data-v-04e81689] {
|
||||
margin-left: 8px;
|
||||
color: #fff;
|
||||
line-height: 18px;
|
||||
font-family: RPG_CN_Condensed
|
||||
}
|
||||
|
||||
.rank[data-v-04e81689] {
|
||||
position: absolute;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
top: 13px;
|
||||
right: 13px
|
||||
}
|
||||
|
||||
.btm[data-v-04e81689] {
|
||||
width: 859px;
|
||||
margin-top: 58px;
|
||||
margin-left: 12px;
|
||||
padding: 12px 16px;
|
||||
border: .5px solid #2c2266;
|
||||
background: rgba(16, 7, 55, .2)
|
||||
}
|
||||
|
||||
.inner[data-v-04e81689] {
|
||||
max-height: 149px;
|
||||
overflow: hidden;
|
||||
-webkit-transition: .3s ease;
|
||||
-o-transition: .3s ease;
|
||||
transition: .3s ease
|
||||
}
|
||||
|
||||
.inner[fold][data-v-04e81689] {
|
||||
max-height: 0
|
||||
}
|
||||
|
||||
.role-title[data-v-04e81689] {
|
||||
color: hsla(0, 0%, 100%, .65);
|
||||
font-size: 10px;
|
||||
font-weight: 600;
|
||||
line-height: 14px
|
||||
}
|
||||
|
||||
.roles[data-v-04e81689] {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
margin-top: 12px
|
||||
}
|
||||
|
||||
.role[data-v-04e81689] {
|
||||
position: relative;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
-ms-flex-negative: 0;
|
||||
flex-shrink: 0;
|
||||
margin-left: 16px
|
||||
}
|
||||
|
||||
.role[data-v-04e81689]:first-child {
|
||||
margin-left: 0
|
||||
}
|
||||
|
||||
.role img[data-v-04e81689] {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
-o-object-fit: cover;
|
||||
object-fit: cover;
|
||||
border-radius: 50%;
|
||||
border: 1px solid #433d79
|
||||
}
|
||||
|
||||
.role span[data-v-04e81689] {
|
||||
position: absolute;
|
||||
border-radius: 24px;
|
||||
border: 1px solid hsla(0, 0%, 100%, .24);
|
||||
background: #1f182d;
|
||||
padding: 3px 7px;
|
||||
color: #fff;
|
||||
font-size: 18px;
|
||||
line-height: 18px;
|
||||
top: 24px;
|
||||
left: 50%;
|
||||
white-space: nowrap;
|
||||
-webkit-transform-origin: center 0;
|
||||
-ms-transform-origin: center 0;
|
||||
transform-origin: center 0;
|
||||
-webkit-transform: translateX(-50%) scale(.5);
|
||||
-ms-transform: translateX(-50%) scale(.5);
|
||||
transform: translateX(-50%) scale(.5);
|
||||
letter-spacing: -.6px;
|
||||
max-width: 64px;
|
||||
overflow: hidden;
|
||||
-o-text-overflow: ellipsis;
|
||||
text-overflow: ellipsis
|
||||
}
|
||||
|
||||
.inner-btm[data-v-04e81689] {
|
||||
margin-top: 12px;
|
||||
margin-bottom: 8px;
|
||||
padding: 8px;
|
||||
border: .5px solid hsla(0, 0%, 100%, .08);
|
||||
background: hsla(0, 0%, 100%, .05)
|
||||
}
|
||||
|
||||
.ib[data-v-04e81689], .inner-btm[data-v-04e81689] {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center
|
||||
}
|
||||
|
||||
.ib[data-v-04e81689] {
|
||||
width: -webkit-fit-content;
|
||||
width: -moz-fit-content;
|
||||
width: fit-content;
|
||||
color: hsla(0, 0%, 100%, .65);
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
margin-left: 40px
|
||||
}
|
||||
|
||||
.ib[data-v-04e81689]:first-child {
|
||||
margin-left: 0
|
||||
}
|
||||
|
||||
.buff-icon[data-v-04e81689] {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin-right: 4px;
|
||||
-ms-flex-negative: 0;
|
||||
flex-shrink: 0
|
||||
}
|
||||
|
||||
.ib-top[data-v-04e81689] {
|
||||
color: hsla(0, 0%, 100%, .9);
|
||||
line-height: 16px
|
||||
}
|
||||
|
||||
.ib-btm span[data-v-04e81689], .ib-mid span[data-v-04e81689] {
|
||||
margin-left: 8px;
|
||||
color: hsla(0, 0%, 100%, .9);
|
||||
line-height: normal;
|
||||
font-family: RPG_CN_Condensed
|
||||
}
|
||||
|
||||
.ctrl[data-v-04e81689] {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
color: hsla(0, 0%, 100%, .65);
|
||||
font-size: 10px;
|
||||
line-height: 1;
|
||||
cursor: pointer
|
||||
}
|
||||
|
||||
.ctrl img[data-v-04e81689] {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
margin-right: 3px;
|
||||
-ms-flex-negative: 0;
|
||||
flex-shrink: 0;
|
||||
-webkit-transform: rotate(-180deg);
|
||||
-ms-transform: rotate(-180deg);
|
||||
transform: rotate(-180deg);
|
||||
-webkit-transition: -webkit-transform .3s ease;
|
||||
transition: -webkit-transform .3s ease;
|
||||
-o-transition: transform .3s ease;
|
||||
transition: transform .3s ease;
|
||||
transition: transform .3s ease, -webkit-transform .3s ease
|
||||
}
|
||||
|
||||
.ctrl img[fold][data-v-04e81689] {
|
||||
-webkit-transform: rotate(0);
|
||||
-ms-transform: rotate(0);
|
||||
transform: rotate(0)
|
||||
}
|
||||
|
||||
.empty[data-v-04e81689] {
|
||||
position: absolute;
|
||||
top: 31px;
|
||||
bottom: 21px;
|
||||
left: 101px;
|
||||
right: 0;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-box-pack: start;
|
||||
-ms-flex-pack: start;
|
||||
justify-content: flex-start;
|
||||
text-align: center;
|
||||
color: #e2cea7;
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
line-height: 16px
|
||||
}
|
||||
|
||||
.endless[data-v-287f8100] {
|
||||
position: relative;
|
||||
padding: 24px 40px 40px;
|
||||
border-radius: 0 32px 0 0;
|
||||
background: #1f192d no-repeat top/100% auto;
|
||||
background-image: url(../images/endless_side/bg.png)
|
||||
}
|
||||
|
||||
.endless[data-v-287f8100]:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
pointer-events: none;
|
||||
top: 2px;
|
||||
left: 2px;
|
||||
right: 2px;
|
||||
bottom: 2px;
|
||||
border-radius: 0 32px 0 0;
|
||||
border: 1px solid rgba(255, 228, 196, .2)
|
||||
}
|
||||
|
||||
.title[data-v-287f8100] {
|
||||
color: #fff;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
line-height: 24px;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.summary[data-v-287f8100] {
|
||||
margin-top: 16px;
|
||||
padding: 16px;
|
||||
background: -webkit-gradient(linear, left top, right top, color-stop(1.53%, #4b3e8e), color-stop(115.29%, rgba(75, 62, 142, 0)));
|
||||
background: -webkit-linear-gradient(left, #4b3e8e 1.53%, rgba(75, 62, 142, 0) 115.29%);
|
||||
background: -o-linear-gradient(left, #4b3e8e 1.53%, rgba(75, 62, 142, 0) 115.29%);
|
||||
background: linear-gradient(90deg, #4b3e8e 1.53%, rgba(75, 62, 142, 0) 115.29%);
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
outline: 1px solid hsla(0, 0%, 100%, .21)
|
||||
}
|
||||
|
||||
.summary-p1[data-v-287f8100] {
|
||||
color: hsla(0, 0%, 100%, .9);
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
line-height: 18px
|
||||
}
|
||||
|
||||
.summary-p2[data-v-287f8100] {
|
||||
margin-left: 4px;
|
||||
color: hsla(0, 0%, 100%, .9);
|
||||
font-size: 18px;
|
||||
line-height: 18px;
|
||||
font-family: RPG_CN_Condensed
|
||||
}
|
||||
|
||||
.summary-p3[data-v-287f8100] {
|
||||
margin-left: auto;
|
||||
color: #dbc291;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
padding-right: 12px;
|
||||
background: url(../images/endless_side/arrow.png) no-repeat 100%/10px
|
||||
}
|
||||
|
||||
.items[data-v-287f8100] {
|
||||
margin-top: 16px
|
||||
}
|
||||
|
||||
.items .block[data-v-287f8100] {
|
||||
margin-top: 20px
|
||||
}
|
||||
|
||||
.items .block[data-v-287f8100]:first-child {
|
||||
margin-top: 0
|
||||
}
|
@ -1,982 +0,0 @@
|
||||
/*! Copyright © 2011 - 2023 miHoYo. All Rights Reserved */
|
||||
.figure-line[data-v-1b240865] {
|
||||
position: relative;
|
||||
height: 100%;
|
||||
width: 0
|
||||
}
|
||||
|
||||
.figure-line .line[data-v-1b240865] {
|
||||
width: 6px;
|
||||
height: auto;
|
||||
position: absolute;
|
||||
bottom: -3px;
|
||||
left: calc(50% - 3px)
|
||||
}
|
||||
|
||||
.figure-line .line.size--l[data-v-1b240865] {
|
||||
width: 10px;
|
||||
bottom: -5px;
|
||||
left: calc(50% - 5px)
|
||||
}
|
||||
|
||||
.figure-line .label[data-v-1b240865] {
|
||||
position: absolute;
|
||||
top: calc(100% + 10px);
|
||||
left: 0;
|
||||
-webkit-transform: translateX(-50%);
|
||||
-ms-transform: translateX(-50%);
|
||||
transform: translateX(-50%);
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-box-direction: normal;
|
||||
-ms-flex-flow: column;
|
||||
flex-flow: column;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center
|
||||
}
|
||||
|
||||
.figure-line .label .label__item[data-v-1b240865] {
|
||||
color: #c8e2e8;
|
||||
font-size: 10px;
|
||||
font-weight: 600;
|
||||
line-height: 14px;
|
||||
white-space: nowrap;
|
||||
font-family: RPG_CN_Condensed
|
||||
}
|
||||
|
||||
.figure-line .label .label__item.size--l[data-v-1b240865] {
|
||||
font-size: 12px;
|
||||
line-height: 16px;
|
||||
font-weight: 700
|
||||
}
|
||||
|
||||
.figure-line .label .label__item[data-v-1b240865]:not(:first-child) {
|
||||
margin-top: 4px;
|
||||
color: #6fbed1;
|
||||
font-size: 10px;
|
||||
font-weight: 600;
|
||||
line-height: 12px
|
||||
}
|
||||
|
||||
.figure-line .label .label__item:not(:first-child).size--l[data-v-1b240865] {
|
||||
font-size: 14px;
|
||||
line-height: 20px
|
||||
}
|
||||
|
||||
.fans-figure[data-v-7734411a] {
|
||||
height: 100%;
|
||||
padding: 20px 20px 0
|
||||
}
|
||||
|
||||
.fans-figure .wrapper[data-v-7734411a] {
|
||||
overflow: hidden;
|
||||
margin-top: 36px;
|
||||
height: calc(100% - 36px);
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-box-direction: normal;
|
||||
-ms-flex-flow: column;
|
||||
flex-flow: column;
|
||||
-webkit-box-align: stretch;
|
||||
-ms-flex-align: stretch;
|
||||
align-items: stretch;
|
||||
-webkit-box-pack: end;
|
||||
-ms-flex-pack: end;
|
||||
justify-content: flex-end;
|
||||
padding-bottom: 63px
|
||||
}
|
||||
|
||||
.fans-figure .main-wrapper[data-v-7734411a] {
|
||||
height: auto;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-pack: stretch;
|
||||
-ms-flex-pack: stretch;
|
||||
justify-content: stretch;
|
||||
-webkit-box-align: end;
|
||||
-ms-flex-align: end;
|
||||
align-items: flex-end;
|
||||
position: relative;
|
||||
width: 90%;
|
||||
-ms-flex-item-align: start;
|
||||
align-self: flex-start
|
||||
}
|
||||
|
||||
.fans-figure .main[data-v-7734411a] {
|
||||
position: relative;
|
||||
bottom: -1px;
|
||||
left: 0;
|
||||
z-index: 3;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.fans-figure .main .figure[data-v-7734411a] {
|
||||
position: relative;
|
||||
z-index: 3;
|
||||
width: 100%;
|
||||
height: 0;
|
||||
padding-bottom: 46.05%;
|
||||
background: no-repeat bottom/100% 100%;
|
||||
background-image: url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/figure@pc.03d62328.png);
|
||||
-webkit-clip-path: inset(0 100% 0 0);
|
||||
clip-path: inset(0 100% 0 0)
|
||||
}
|
||||
|
||||
.fans-figure .main .figure.visible[data-v-7734411a] {
|
||||
-webkit-clip-path: inset(0 var(--clip-right) 0 0);
|
||||
clip-path: inset(0 var(--clip-right) 0 0);
|
||||
-webkit-transition: -webkit-clip-path .4s cubic-bezier(.68, .16, .43, .81);
|
||||
transition: -webkit-clip-path .4s cubic-bezier(.68, .16, .43, .81);
|
||||
-o-transition: clip-path .4s cubic-bezier(.68, .16, .43, .81);
|
||||
transition: clip-path .4s cubic-bezier(.68, .16, .43, .81);
|
||||
transition: clip-path .4s cubic-bezier(.68, .16, .43, .81), -webkit-clip-path .4s cubic-bezier(.68, .16, .43, .81)
|
||||
}
|
||||
|
||||
.fans-figure .main .progress-cursor[data-v-7734411a] {
|
||||
position: absolute;
|
||||
bottom: 0
|
||||
}
|
||||
|
||||
.fans-figure .main .progress-cursor[data-v-7734411a]:before {
|
||||
content: "";
|
||||
z-index: 1;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
border-radius: 50%;
|
||||
background: #8eedf1;
|
||||
-webkit-transform: translate(-50%, -50%);
|
||||
-ms-transform: translate(-50%, -50%);
|
||||
transform: translate(-50%, -50%);
|
||||
opacity: .3
|
||||
}
|
||||
|
||||
.fans-figure .main .progress-cursor .cursor-label[data-v-7734411a] {
|
||||
z-index: 10;
|
||||
position: absolute;
|
||||
bottom: calc(12px + 100%);
|
||||
left: 50%;
|
||||
-webkit-transform: translateX(-50%);
|
||||
-ms-transform: translateX(-50%);
|
||||
transform: translateX(-50%);
|
||||
min-width: 58px;
|
||||
height: 26px;
|
||||
padding: 0 8px 4px;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
color: var(--general-grey-black-1, #000);
|
||||
font-family: RPG_CN_Condensed;
|
||||
text-align: center;
|
||||
font-weight: 600;
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
white-space: nowrap;
|
||||
background: no-repeat 50%/contain url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/bubble.547e3518.png);
|
||||
opacity: 0
|
||||
}
|
||||
|
||||
.fans-figure .main .progress-cursor .cursor-label.visible[data-v-7734411a] {
|
||||
opacity: 1;
|
||||
-webkit-transition: opacity .4s .4s;
|
||||
-o-transition: opacity .4s .4s;
|
||||
transition: opacity .4s .4s
|
||||
}
|
||||
|
||||
.fans-figure .main .progress-cursor .cursor-label .cursor-label-bg[data-v-7734411a] {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 22px;
|
||||
border-radius: 11px;
|
||||
background: #ecf4f7
|
||||
}
|
||||
|
||||
.fans-figure .main .progress-cursor .cursor-label .cursor-label-bg .cursor-label-arrow[data-v-7734411a] {
|
||||
position: absolute;
|
||||
width: 10px;
|
||||
height: 7px;
|
||||
top: calc(100% - 2px);
|
||||
left: 50%;
|
||||
-webkit-transform: translateX(-50%);
|
||||
-ms-transform: translateX(-50%);
|
||||
transform: translateX(-50%)
|
||||
}
|
||||
|
||||
.fans-figure .main .progress-cursor .cursor-label .cursor-label-txt[data-v-7734411a] {
|
||||
position: relative;
|
||||
z-index: 1
|
||||
}
|
||||
|
||||
.fans-figure .main .progress-cursor .cursor-dot[data-v-7734411a] {
|
||||
z-index: 5;
|
||||
position: absolute;
|
||||
top: -6px;
|
||||
left: -6px;
|
||||
-webkit-transform: scale(1.2);
|
||||
-ms-transform: scale(1.2);
|
||||
transform: scale(1.2)
|
||||
}
|
||||
|
||||
.fans-figure .main .progress-cursor .cursor-dot .cursor-dot-center[data-v-7734411a] {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border-radius: 50%;
|
||||
border: 2px solid #8dedf0;
|
||||
background: #191f28
|
||||
}
|
||||
|
||||
.fans-figure .main .progress-cursor .cursor-line[data-v-7734411a] {
|
||||
z-index: 4;
|
||||
position: absolute;
|
||||
height: calc(100% - 8px);
|
||||
top: 8px;
|
||||
width: 0;
|
||||
left: -1px;
|
||||
border: 1px dashed #8dedf1;
|
||||
border-top: none;
|
||||
border-bottom: none;
|
||||
opacity: 0
|
||||
}
|
||||
|
||||
.fans-figure .main .progress-cursor .cursor-line.visible[data-v-7734411a] {
|
||||
opacity: 1;
|
||||
-webkit-transition: opacity .2s .4s;
|
||||
-o-transition: opacity .2s .4s;
|
||||
transition: opacity .2s .4s
|
||||
}
|
||||
|
||||
.fans-figure .base-line[data-v-7734411a] {
|
||||
height: 2px;
|
||||
background: #4f5862
|
||||
}
|
||||
|
||||
.fans-figure .line-marks[data-v-7734411a] {
|
||||
height: 0
|
||||
}
|
||||
|
||||
.fans-figure .line-marks[data-v-7734411a], .fans-figure .medal-container[data-v-7734411a] {
|
||||
width: 100%;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-ms-flex-pack: distribute;
|
||||
justify-content: space-around
|
||||
}
|
||||
|
||||
.fans-figure .medal-container[data-v-7734411a] {
|
||||
z-index: 5;
|
||||
position: relative
|
||||
}
|
||||
|
||||
.fans-figure .medal-container .medal[data-v-7734411a] {
|
||||
position: relative;
|
||||
width: 0;
|
||||
height: 0;
|
||||
bottom: 11px;
|
||||
-webkit-transform: scale(1.6667);
|
||||
-ms-transform: scale(1.6667);
|
||||
transform: scale(1.6667);
|
||||
-webkit-transform-origin: bottom;
|
||||
-ms-transform-origin: bottom;
|
||||
transform-origin: bottom
|
||||
}
|
||||
|
||||
.fans-figure .medal-container .medal[data-v-7734411a]:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
left: -18px;
|
||||
bottom: 0;
|
||||
background: no-repeat 50%/contain
|
||||
}
|
||||
|
||||
.fans-figure .medal-container .medal.medal--gold[data-v-7734411a]:before {
|
||||
background-image: url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/medal-gold.a05b697c.png)
|
||||
}
|
||||
|
||||
.fans-figure .medal-container .medal.medal--silver[data-v-7734411a]:before {
|
||||
background-image: url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/medal-silver.8a363781.png)
|
||||
}
|
||||
|
||||
.fans-figure .medal-container .medal.medal--got[data-v-7734411a]:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
left: -5px;
|
||||
bottom: 0;
|
||||
background: no-repeat 50%/contain url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/medal--got.e1ef0eba.png)
|
||||
}
|
||||
|
||||
.ghost-hunting[data-v-e688361a] {
|
||||
padding: 0 40px
|
||||
}
|
||||
|
||||
.ghost-hunting .profile[data-v-e688361a] {
|
||||
margin-top: 28px;
|
||||
width: 100%;
|
||||
height: 72px;
|
||||
position: relative;
|
||||
overflow: visible
|
||||
}
|
||||
|
||||
.ghost-hunting .profile .profile-bg[data-v-e688361a] {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: -18px;
|
||||
background: url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/profile-bg@pc.e1dd7f28.png) no-repeat 0/100% 100%;
|
||||
width: 883px;
|
||||
height: 98px
|
||||
}
|
||||
|
||||
.ghost-hunting .profile .profile-fg[data-v-e688361a] {
|
||||
position: relative;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-box-pack: start;
|
||||
-ms-flex-pack: start;
|
||||
justify-content: flex-start;
|
||||
padding: 12px 16px
|
||||
}
|
||||
|
||||
.ghost-hunting .profile .profile-fg .avatar[data-v-e688361a] {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
background: no-repeat 50%/contain url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/avatar.02b1ef6d.png);
|
||||
position: relative
|
||||
}
|
||||
|
||||
.ghost-hunting .profile .profile-fg .avatar[data-v-e688361a]:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
bottom: -2px;
|
||||
right: -2px;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background: url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/avatar-icon-0.1011f1e2.png) no-repeat 50%/contain
|
||||
}
|
||||
|
||||
.ghost-hunting .profile .profile-fg .avatar--stage-1[data-v-e688361a]:after {
|
||||
background-image: url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/avatar-icon-1.04170de5.png)
|
||||
}
|
||||
|
||||
.ghost-hunting .profile .profile-fg .avatar--stage-2[data-v-e688361a]:after {
|
||||
background-image: url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/avatar-icon-2.323bef5b.png)
|
||||
}
|
||||
|
||||
.ghost-hunting .profile .profile-fg .info[data-v-e688361a] {
|
||||
margin-left: 16px;
|
||||
max-width: 580px;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center
|
||||
}
|
||||
|
||||
.ghost-hunting .profile .profile-fg .info .nickname[data-v-e688361a] {
|
||||
overflow: hidden;
|
||||
-o-text-overflow: ellipsis;
|
||||
text-overflow: ellipsis;
|
||||
max-width: 100%;
|
||||
white-space: nowrap;
|
||||
min-width: 0;
|
||||
-webkit-box-flex: 1;
|
||||
-ms-flex: 1;
|
||||
flex: 1;
|
||||
color: #c5e8ef;
|
||||
font-size: 20px;
|
||||
font-weight: 700;
|
||||
line-height: 28px
|
||||
}
|
||||
|
||||
.ghost-hunting .profile .profile-fg .info .info-divider[data-v-e688361a] {
|
||||
margin: 0 24px;
|
||||
width: 1px;
|
||||
height: 12px;
|
||||
background: rgba(180, 215, 223, .6)
|
||||
}
|
||||
|
||||
.ghost-hunting .profile .profile-fg .info .fans[data-v-e688361a] {
|
||||
-webkit-box-flex: 0;
|
||||
-ms-flex: 0 0 auto;
|
||||
flex: 0 0 auto;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center
|
||||
}
|
||||
|
||||
.ghost-hunting .profile .profile-fg .info .fans .fans-label[data-v-e688361a] {
|
||||
color: #c5e8ef;
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
line-height: 24px
|
||||
}
|
||||
|
||||
.ghost-hunting .profile .profile-fg .info .fans .fans-num[data-v-e688361a] {
|
||||
margin-left: 8px;
|
||||
color: #e4f8fc;
|
||||
font-family: RPG_CN_Condensed;
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
line-height: 24px
|
||||
}
|
||||
|
||||
.ghost-hunting .profile .profile-fg .subscription[data-v-e688361a] {
|
||||
position: absolute;
|
||||
right: 94px;
|
||||
top: 22px;
|
||||
height: 28px;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
border-radius: 2px;
|
||||
border: 1px solid #125d6e;
|
||||
background: #073c54;
|
||||
padding: 0 8px;
|
||||
color: #c5e8ef;
|
||||
font-size: 14px;
|
||||
line-height: 20px
|
||||
}
|
||||
|
||||
.ghost-hunting .profile .profile-fg .fans-level[data-v-e688361a] {
|
||||
font-family: RPG_CN_Condensed;
|
||||
width: 28px;
|
||||
position: absolute;
|
||||
top: 31px;
|
||||
right: 27px;
|
||||
color: #e6f3f5;
|
||||
overflow: visible;
|
||||
white-space: nowrap;
|
||||
text-align: center;
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
line-height: 24px
|
||||
}
|
||||
|
||||
.ghost-hunting .chart[data-v-e688361a] {
|
||||
margin: 28px 0 40px;
|
||||
width: 880px;
|
||||
height: 586px;
|
||||
border: 1px solid rgba(25, 153, 165, .39);
|
||||
background: -webkit-gradient(linear, left top, left bottom, from(rgba(22, 25, 31, .81)), to(rgba(35, 48, 61, .81)));
|
||||
background: -webkit-linear-gradient(top, rgba(22, 25, 31, .81), rgba(35, 48, 61, .81));
|
||||
background: -o-linear-gradient(top, rgba(22, 25, 31, .81) 0, rgba(35, 48, 61, .81) 100%);
|
||||
background: linear-gradient(180deg, rgba(22, 25, 31, .81), rgba(35, 48, 61, .81));
|
||||
-webkit-backdrop-filter: blur(2px);
|
||||
backdrop-filter: blur(2px);
|
||||
position: relative
|
||||
}
|
||||
|
||||
.ghost-hunting .chart .popularity[data-v-e688361a] {
|
||||
position: absolute;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
color: #c8e2e8;
|
||||
top: 20px;
|
||||
left: 20px
|
||||
}
|
||||
|
||||
.ghost-hunting .chart .popularity[data-v-e688361a]:before {
|
||||
content: "";
|
||||
-webkit-box-flex: 0;
|
||||
-ms-flex: 0 0 auto;
|
||||
flex: 0 0 auto;
|
||||
width: 4px;
|
||||
height: 18px;
|
||||
background: #61f0f3
|
||||
}
|
||||
|
||||
.ghost-hunting .chart .popularity .popularity-label[data-v-e688361a] {
|
||||
margin-left: 8px;
|
||||
color: #c8e2e8;
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
line-height: 24px
|
||||
}
|
||||
|
||||
.ghost-hunting .chart .popularity .popularity-num[data-v-e688361a] {
|
||||
font-family: RPG_CN_Condensed;
|
||||
margin-left: 8px;
|
||||
color: #c8e2e8;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
line-height: 14px
|
||||
}
|
||||
|
||||
.ghost-hunting .footer[data-v-e688361a] {
|
||||
margin-top: 16px;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center
|
||||
}
|
||||
|
||||
.ghost-hunting .footer .strategy-button[data-v-e688361a] {
|
||||
cursor: pointer;
|
||||
width: 309px;
|
||||
height: 30px;
|
||||
padding: 0 16px;
|
||||
background: no-repeat 50%/contain url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/strategy-btn-bg.5af572e6.png);
|
||||
color: hsla(0, 0%, 100%, .85);
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
line-height: 30px
|
||||
}
|
||||
|
||||
.challenge[data-v-82c5a256] {
|
||||
width: 880px;
|
||||
padding: 12px 20px;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-box-direction: normal;
|
||||
-ms-flex-flow: column;
|
||||
flex-flow: column;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
-webkit-box-align: stretch;
|
||||
-ms-flex-align: stretch;
|
||||
align-items: stretch;
|
||||
background: rgba(41, 92, 110, .41);
|
||||
position: relative
|
||||
}
|
||||
|
||||
.challenge .relative[data-v-82c5a256] {
|
||||
position: relative
|
||||
}
|
||||
|
||||
.challenge[data-v-82c5a256]:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
border-image-source: url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/card-side@pc.1922918f.png);
|
||||
border-image-slice: 15.5555555556% 1.5909090909% fill;
|
||||
border-image-width: 14px;
|
||||
border-width: 14px;
|
||||
pointer-events: none
|
||||
}
|
||||
|
||||
.challenge--empty[data-v-82c5a256] {
|
||||
height: 102px
|
||||
}
|
||||
|
||||
.challenge--sp[data-v-82c5a256]:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 2px;
|
||||
right: 4px;
|
||||
bottom: 2px;
|
||||
left: 4px;
|
||||
background: no-repeat 50%/cover url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/card-bg-sp@pc.8dee89cc.png)
|
||||
}
|
||||
|
||||
.challenge .challenge__header[data-v-82c5a256] {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-box-pack: justify;
|
||||
-ms-flex-pack: justify;
|
||||
justify-content: space-between
|
||||
}
|
||||
|
||||
.challenge .challenge__header .challenge__title[data-v-82c5a256] {
|
||||
-webkit-box-flex: 1;
|
||||
-ms-flex: 1;
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
color: rgba(204, 255, 250, .9);
|
||||
-o-text-overflow: ellipsis;
|
||||
text-overflow: ellipsis;
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
line-height: 20px
|
||||
}
|
||||
|
||||
.challenge .challenge__header .challenge__fire[data-v-82c5a256] {
|
||||
margin-left: 16px;
|
||||
-webkit-box-flex: 0;
|
||||
-ms-flex: 0 0 auto;
|
||||
flex: 0 0 auto;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center
|
||||
}
|
||||
|
||||
.challenge .challenge__header .challenge__fire__icon[data-v-82c5a256] {
|
||||
-webkit-box-flex: 0;
|
||||
-ms-flex: 0 0 auto;
|
||||
flex: 0 0 auto;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
background: no-repeat 50%/contain url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/ghost-fire--stroke.ee492bf0.png)
|
||||
}
|
||||
|
||||
.challenge .challenge__header .challenge__fire__icon--active[data-v-82c5a256] {
|
||||
background-image: url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/ghost-fire--fill.90dae6c8.png)
|
||||
}
|
||||
|
||||
.challenge .challenge__header .challenge__fire__icon[data-v-82c5a256]:not(:first-child) {
|
||||
margin-left: 8px
|
||||
}
|
||||
|
||||
.challenge .challenge__divider[data-v-82c5a256] {
|
||||
width: 100%;
|
||||
height: 10px;
|
||||
background: no-repeat 50%/100% 100% url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/divider@pc.bb16995a.png);
|
||||
margin: 8px 0
|
||||
}
|
||||
|
||||
.challenge .challenge__stages[data-v-82c5a256] {
|
||||
display: grid;
|
||||
grid-template-columns:repeat(4, 1fr);
|
||||
grid-template-rows:1;
|
||||
gap: 12px;
|
||||
-webkit-box-pack: justify;
|
||||
-ms-flex-pack: justify;
|
||||
justify-content: space-between
|
||||
}
|
||||
|
||||
.challenge .challenge__stages .challenge__stage[data-v-82c5a256] {
|
||||
min-width: 0;
|
||||
overflow: hidden;
|
||||
padding: 8px 16px;
|
||||
background: rgba(63, 109, 125, .2);
|
||||
-webkit-backdrop-filter: blur(2px);
|
||||
backdrop-filter: blur(2px)
|
||||
}
|
||||
|
||||
.challenge .challenge__stages .challenge__stage__label[data-v-82c5a256] {
|
||||
color: #aefcf4;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
-webkit-box-flex: 0;
|
||||
-ms-flex: 0 0 auto;
|
||||
flex: 0 0 auto;
|
||||
margin-bottom: 4px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
-o-text-overflow: ellipsis;
|
||||
text-overflow: ellipsis
|
||||
}
|
||||
|
||||
.challenge .challenge__stages .challenge__stage__stars[data-v-82c5a256] {
|
||||
width: 52px;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-box-pack: justify;
|
||||
-ms-flex-pack: justify;
|
||||
justify-content: space-between
|
||||
}
|
||||
|
||||
.challenge .challenge__stages .challenge__stage__star[data-v-82c5a256] {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
background: no-repeat 50%/contain url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/memory-star--stroke.e3e6133b.png)
|
||||
}
|
||||
|
||||
.challenge .challenge__stages .challenge__stage__star--active[data-v-82c5a256] {
|
||||
background-image: url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/memory-star--fill.657727e8.png)
|
||||
}
|
||||
|
||||
.challenge .challenge__stages .challenge__stage__empty[data-v-82c5a256] {
|
||||
color: rgba(173, 252, 244, .5);
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
-o-text-overflow: ellipsis;
|
||||
text-overflow: ellipsis
|
||||
}
|
||||
|
||||
.challenge .challenge__empty[data-v-82c5a256] {
|
||||
color: rgba(173, 252, 244, .5);
|
||||
font-size: 14px;
|
||||
line-height: 20px
|
||||
}
|
||||
|
||||
.subduing-collection[data-v-0aa49ec3] {
|
||||
color: #88ffe5
|
||||
}
|
||||
|
||||
.subduing-collection .collection-cnt[data-v-0aa49ec3] {
|
||||
-webkit-box-shadow: 0 0 4px 0 #74c4a6;
|
||||
box-shadow: 0 0 4px 0 #74c4a6;
|
||||
background: rgba(15, 43, 56, .8);
|
||||
-webkit-backdrop-filter: blur(2px);
|
||||
backdrop-filter: blur(2px);
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-box-direction: normal;
|
||||
-ms-flex-flow: column;
|
||||
flex-flow: column;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
min-height: 40px;
|
||||
width: 328px;
|
||||
margin: 78px 72px;
|
||||
padding: 12px 20px
|
||||
}
|
||||
|
||||
.subduing-collection .collection-cnt[data-v-0aa49ec3]:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
border-image-source: url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/cnt-bg.b6cf7d2e.png);
|
||||
border-image-slice: 22.2222222222% 10.5960264901% fill;
|
||||
border-image-width: 16px;
|
||||
border-width: 16px
|
||||
}
|
||||
|
||||
.subduing-collection .collection-cnt .cnt-label[data-v-0aa49ec3] {
|
||||
position: relative;
|
||||
color: #88ffe5;
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
font-weight: 700;
|
||||
line-height: 20px
|
||||
}
|
||||
|
||||
.subduing-collection .collection-cnt .cnt-value[data-v-0aa49ec3] {
|
||||
position: relative;
|
||||
color: #88ffe5;
|
||||
font-weight: 600;
|
||||
font-family: RPG_CN_Condensed;
|
||||
margin-top: 8px;
|
||||
font-size: 20px;
|
||||
line-height: 20px
|
||||
}
|
||||
|
||||
.subduing-collection .challenges[data-v-0aa49ec3] {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-box-direction: normal;
|
||||
-ms-flex-flow: column;
|
||||
flex-flow: column;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center
|
||||
}
|
||||
|
||||
.subduing-collection .challenges .challenge-card[data-v-0aa49ec3] {
|
||||
-webkit-box-flex: 0;
|
||||
-ms-flex: 0 0 auto;
|
||||
flex: 0 0 auto
|
||||
}
|
||||
|
||||
.subduing-collection .challenges .challenge-card[data-v-0aa49ec3]:not(:first-child) {
|
||||
margin-top: 16px
|
||||
}
|
||||
|
||||
.fox-story[data-v-3d759804] {
|
||||
position: relative;
|
||||
border-radius: 0 32px 0 0;
|
||||
padding: 40px 0 33px;
|
||||
background: url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/ghost-hunting-bg@pc.a0d95f61.png) no-repeat top/100% auto, url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/subduing-collection-bg@pc.b8815a7b.png) no-repeat bottom/100% auto, linear-gradient(180deg, #091523, #11323d)
|
||||
|
||||
}
|
||||
|
||||
.fox-story--subduing[data-v-3d759804] {
|
||||
background: url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/subduing-collection-bg@pc.b8815a7b.png) no-repeat top/100% auto, -webkit-gradient(linear, left top, left bottom, from(#091523), to(#11323d));
|
||||
background: url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/subduing-collection-bg@pc.b8815a7b.png) no-repeat top/100% auto, -webkit-linear-gradient(top, #091523, #11323d);
|
||||
background: url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/subduing-collection-bg@pc.b8815a7b.png) no-repeat top/100% auto, -o-linear-gradient(top, #091523 0, #11323d 100%);
|
||||
background: url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/subduing-collection-bg@pc.b8815a7b.png) no-repeat top/100% auto, linear-gradient(180deg, #091523, #11323d)
|
||||
}
|
||||
|
||||
.fox-story--empty[data-v-3d759804] {
|
||||
padding-top: 0
|
||||
}
|
||||
|
||||
.fox-story[data-v-3d759804]:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
pointer-events: none;
|
||||
top: 4px;
|
||||
left: 4px;
|
||||
right: 4px;
|
||||
bottom: 4px;
|
||||
border-radius: 0 32px 0 0;
|
||||
border: 1px solid hsla(0, 0%, 100%, .2)
|
||||
}
|
||||
|
||||
.fox-story .activity__body[data-v-3d759804] {
|
||||
width: 960px;
|
||||
overflow: hidden
|
||||
}
|
||||
|
||||
.fox-story .activity__body .tabs[data-v-3d759804] .van-tabs__wrap {
|
||||
width: -webkit-fit-content;
|
||||
width: -moz-fit-content;
|
||||
width: fit-content;
|
||||
height: auto !important;
|
||||
margin-left: 40px
|
||||
}
|
||||
|
||||
.fox-story .activity__body .tabs[data-v-3d759804] .van-tabs__nav {
|
||||
padding-bottom: 0 !important;
|
||||
background: transparent
|
||||
}
|
||||
|
||||
.fox-story .activity__body .tabs[data-v-3d759804] .van-tabs__line {
|
||||
display: none !important
|
||||
}
|
||||
|
||||
.fox-story .activity__body .tabs[data-v-3d759804] .van-tab {
|
||||
margin-right: 32px;
|
||||
padding: 0 !important;
|
||||
-webkit-box-flex: 0 !important;
|
||||
-ms-flex: 0 0 auto !important;
|
||||
flex: 0 0 auto !important;
|
||||
cursor: pointer;
|
||||
color: rgba(168, 209, 210, .4);
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
line-height: 24px;
|
||||
-webkit-transition: color .1s, opacity .1s;
|
||||
-o-transition: color .1s, opacity .1s;
|
||||
transition: color .1s, opacity .1s
|
||||
}
|
||||
|
||||
.fox-story .activity__body .tabs[data-v-3d759804] .van-tab:not(.van-tab--active):hover {
|
||||
color: rgba(196, 230, 255, .4)
|
||||
}
|
||||
|
||||
.fox-story .activity__body .tabs[data-v-3d759804] .van-tab--active {
|
||||
z-index: 2;
|
||||
color: #7cd4d6
|
||||
}
|
||||
|
||||
.fox-story .activity__empty[data-v-3d759804] {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-box-direction: normal;
|
||||
-ms-flex-flow: column;
|
||||
flex-flow: column;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
height: 796px
|
||||
}
|
||||
|
||||
.fox-story .activity__empty .no-content[data-v-3d759804] {
|
||||
-webkit-box-flex: 0;
|
||||
-ms-flex: 0 0 auto;
|
||||
flex: 0 0 auto;
|
||||
height: auto
|
||||
}
|
||||
|
||||
.fox-story .activity__empty .no-content[data-v-3d759804] .icon {
|
||||
width: 120px;
|
||||
height: 120px
|
||||
}
|
||||
|
||||
.fox-story .activity__empty .no-content[data-v-3d759804] .text {
|
||||
color: hsla(0, 0%, 100%, .65) !important;
|
||||
font-size: 12px !important;
|
||||
line-height: 14px;
|
||||
margin-top: 4px !important
|
||||
}
|
||||
|
||||
.fox-story .activity__empty[data-v-3d759804]:after {
|
||||
-webkit-box-flex: 2;
|
||||
-ms-flex: 2;
|
||||
flex: 2
|
||||
}
|
||||
|
||||
.fox-story .activity__footer[data-v-3d759804] {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
margin-top: 20px
|
||||
}
|
||||
|
||||
.fox-story .activity__footer .activity__link[data-v-3d759804] {
|
||||
cursor: pointer;
|
||||
width: 309px;
|
||||
height: 30px;
|
||||
padding: 0 16px;
|
||||
background: no-repeat 50%/contain url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/strategy-btn-bg.5af572e6.png);
|
||||
color: hsla(0, 0%, 100%, .85);
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
line-height: 30px
|
||||
}
|
@ -1,181 +0,0 @@
|
||||
/*! Copyright © 2011 - 2023 miHoYo. All Rights Reserved */
|
||||
.space-zoo[data-v-06359302] {
|
||||
width: 960px;
|
||||
height: 521px;
|
||||
overflow: hidden;
|
||||
background: no-repeat top/contain;
|
||||
background-image: url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/block-bg@pc.b5180fba.png);
|
||||
position: relative
|
||||
}
|
||||
|
||||
.space-zoo[data-v-06359302]:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
width: calc(100% - 4px);
|
||||
height: calc(100% - 4px);
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
top: 2px;
|
||||
left: 2px;
|
||||
border: 1px solid rgba(84, 164, 183, .48);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.space-zoo[empty][data-v-06359302] {
|
||||
background-image: url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/empty_bg@pc.4fd4912f.png)
|
||||
}
|
||||
|
||||
.empty-block[data-v-06359302] {
|
||||
margin-top: 161px
|
||||
}
|
||||
|
||||
.empty-block[data-v-06359302] img {
|
||||
width: 160px !important;
|
||||
height: 160px !important
|
||||
}
|
||||
|
||||
.empty-block[data-v-06359302] .text {
|
||||
font-size: 12px !important;
|
||||
margin-top: 4px !important;
|
||||
color: hsla(0, 0%, 100%, .65) !important
|
||||
}
|
||||
|
||||
.top[data-v-06359302] {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-box-pack: justify;
|
||||
-ms-flex-pack: justify;
|
||||
justify-content: space-between;
|
||||
height: 70px;
|
||||
margin: 44px 66px 0;
|
||||
width: 293px
|
||||
}
|
||||
|
||||
.name[data-v-06359302] {
|
||||
margin-left: 16px;
|
||||
color: #d0f4ff;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
line-height: 18px;
|
||||
max-width: 128px
|
||||
}
|
||||
|
||||
.level[data-v-06359302] {
|
||||
width: 39px;
|
||||
height: 39px;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
margin-right: 63px;
|
||||
color: #26f8ff;
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
font-family: RPG_CN_Condensed
|
||||
}
|
||||
|
||||
.summary[data-v-06359302] {
|
||||
position: absolute;
|
||||
top: 399px;
|
||||
left: 327px;
|
||||
width: 309px;
|
||||
color: #d0f4ff;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.summary-title[data-v-06359302] {
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
line-height: 18px
|
||||
}
|
||||
|
||||
.summary-btm[data-v-06359302] {
|
||||
width: -webkit-fit-content;
|
||||
width: -moz-fit-content;
|
||||
width: fit-content;
|
||||
min-width: 125px;
|
||||
margin: 8px auto 0;
|
||||
padding: 4px 8px;
|
||||
border-radius: 2px;
|
||||
border-right: 1px solid rgba(95, 183, 214, .83);
|
||||
border-left: 1px solid rgba(95, 183, 214, .83);
|
||||
background: rgba(95, 183, 214, .36)
|
||||
}
|
||||
|
||||
.summary-subtitle[data-v-06359302] {
|
||||
font-size: 12px;
|
||||
line-height: 16px
|
||||
}
|
||||
|
||||
.summary-progress[data-v-06359302] {
|
||||
margin-top: 4px;
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
line-height: 16px;
|
||||
font-family: RPG_CN_Condensed
|
||||
}
|
||||
|
||||
.feature[data-v-06359302] {
|
||||
position: absolute;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-box-direction: normal;
|
||||
-ms-flex-direction: column;
|
||||
flex-direction: column;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center
|
||||
}
|
||||
|
||||
.feature-bg[data-v-06359302] {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
-ms-flex-negative: 0;
|
||||
flex-shrink: 0
|
||||
}
|
||||
|
||||
.feature-progress[data-v-06359302] {
|
||||
margin-top: 0;
|
||||
color: #d0f4ff;
|
||||
text-align: center;
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
line-height: 15.789px;
|
||||
font-family: RPG_CN_Condensed
|
||||
}
|
||||
|
||||
.feature[index="0"][data-v-06359302] {
|
||||
top: 166px;
|
||||
right: 716px
|
||||
}
|
||||
|
||||
.feature[index="1"][data-v-06359302] {
|
||||
top: 52px;
|
||||
right: 240px
|
||||
}
|
||||
|
||||
.feature[index="2"][data-v-06359302] {
|
||||
top: 183px;
|
||||
right: 121px
|
||||
}
|
||||
|
||||
.feature[index="3"][data-v-06359302] {
|
||||
top: 334px;
|
||||
right: 676px
|
||||
}
|
||||
|
||||
.feature[index="4"][data-v-06359302] {
|
||||
top: 339px;
|
||||
right: 192px
|
||||
}
|
@ -1,321 +0,0 @@
|
||||
/*! Copyright © 2011 - 2023 miHoYo. All Rights Reserved */
|
||||
.hsr-role-medium[data-v-d07e5c4c] {
|
||||
width: -webkit-fit-content;
|
||||
width: -moz-fit-content;
|
||||
width: fit-content;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-box-direction: normal;
|
||||
-ms-flex-direction: column;
|
||||
flex-direction: column;
|
||||
font-size: 0;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center
|
||||
}
|
||||
|
||||
.hsr-role-medium-pos[data-v-d07e5c4c] {
|
||||
position: relative;
|
||||
width: 100px;
|
||||
height: 116px
|
||||
}
|
||||
|
||||
.hsr-role-medium .avatar[data-v-d07e5c4c] {
|
||||
width: 100%;
|
||||
height: calc(100% - 2px);
|
||||
-o-object-fit: cover;
|
||||
object-fit: cover;
|
||||
-o-object-position: top;
|
||||
object-position: top
|
||||
}
|
||||
|
||||
.hsr-role-medium .level[data-v-d07e5c4c] {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 18px;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
font-family: Microsoft YaHei, sans-serif;
|
||||
color: hsla(0, 0%, 100%, .85);
|
||||
line-height: 1;
|
||||
background: #030b0e;
|
||||
left: 0;
|
||||
bottom: 2px
|
||||
}
|
||||
|
||||
.hsr-role-medium.middle .hsr-role-medium-pos[data-v-d07e5c4c] {
|
||||
width: 90px;
|
||||
height: 104px
|
||||
}
|
||||
|
||||
.hsr-role-medium.middle .inner[data-v-d07e5c4c] {
|
||||
border-top-right-radius: 17px
|
||||
}
|
||||
|
||||
.hsr-role-medium.middle .level[data-v-d07e5c4c] {
|
||||
font-size: 14px;
|
||||
height: 16px
|
||||
}
|
||||
|
||||
.hsr-role-medium.middle .fate-level[data-v-d07e5c4c] {
|
||||
width: 22px;
|
||||
height: 26px;
|
||||
font-size: 16px
|
||||
}
|
||||
|
||||
.hsr-role-medium.middle .name[data-v-d07e5c4c] {
|
||||
width: 90px
|
||||
}
|
||||
|
||||
.hsr-role-medium.normal .hsr-role-medium-pos[data-v-d07e5c4c] {
|
||||
width: 62px;
|
||||
height: 72px
|
||||
}
|
||||
|
||||
.hsr-role-medium.normal .inner[data-v-d07e5c4c] {
|
||||
border-top-right-radius: 12px
|
||||
}
|
||||
|
||||
.hsr-role-medium.normal .select-box[data-v-d07e5c4c] {
|
||||
border-top-right-radius: 17px
|
||||
}
|
||||
|
||||
.hsr-role-medium.normal .level[data-v-d07e5c4c] {
|
||||
font-size: 12px;
|
||||
line-height: 12px;
|
||||
height: 12px
|
||||
}
|
||||
|
||||
.hsr-role-medium.normal .fate-level[data-v-d07e5c4c] {
|
||||
width: 16px;
|
||||
height: 20px;
|
||||
font-size: 14px
|
||||
}
|
||||
|
||||
.hsr-role-medium.normal .element[data-v-d07e5c4c] {
|
||||
font-size: 14px;
|
||||
top: 4px;
|
||||
left: 4px
|
||||
}
|
||||
|
||||
.hsr-role-medium.small .hsr-role-medium-pos[data-v-d07e5c4c] {
|
||||
width: 56px;
|
||||
height: 70px
|
||||
}
|
||||
|
||||
.hsr-role-medium.small .inner[data-v-d07e5c4c] {
|
||||
border-top-right-radius: 17px
|
||||
}
|
||||
|
||||
.hsr-role-medium.small .level[data-v-d07e5c4c] {
|
||||
font-size: 12px;
|
||||
line-height: 12px;
|
||||
height: 14px
|
||||
}
|
||||
|
||||
.hsr-role-medium.small .element[data-v-d07e5c4c] {
|
||||
font-size: 14px;
|
||||
top: 3px;
|
||||
left: 3px
|
||||
}
|
||||
|
||||
.hsr-role-medium.small .fate-level[data-v-d07e5c4c] {
|
||||
width: 14px;
|
||||
height: 18px;
|
||||
font-size: 12px
|
||||
}
|
||||
|
||||
.inner[data-v-d07e5c4c] {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-radius: 0 19px 0 0;
|
||||
overflow: hidden;
|
||||
background: transparent url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/character_r_1.52480cf3.png) no-repeat top/cover
|
||||
}
|
||||
|
||||
.role-rarity-1[data-v-d07e5c4c] {
|
||||
background-image: url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/character_r_1.52480cf3.png)
|
||||
}
|
||||
|
||||
.role-rarity-2[data-v-d07e5c4c] {
|
||||
background-image: url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/character_r_2.a172d549.png)
|
||||
}
|
||||
|
||||
.role-rarity-3[data-v-d07e5c4c] {
|
||||
background-image: url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/character_r_3.bdfa75d1.png)
|
||||
}
|
||||
|
||||
.role-rarity-4[data-v-d07e5c4c] {
|
||||
background-image: url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/character_r_4.24f329b7.png)
|
||||
}
|
||||
|
||||
.role-rarity-5[data-v-d07e5c4c] {
|
||||
background-image: url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/character_r_5.99d42eb7.png)
|
||||
}
|
||||
|
||||
.element[data-v-d07e5c4c] {
|
||||
position: absolute;
|
||||
font-size: 20px;
|
||||
width: 1em;
|
||||
height: 1em;
|
||||
top: 7px;
|
||||
left: 7px;
|
||||
border-radius: 50%;
|
||||
background-color: rgba(0, 0, 0, .4)
|
||||
}
|
||||
|
||||
.name[data-v-d07e5c4c] {
|
||||
width: 100px;
|
||||
font-size: 12px;
|
||||
font-weight: 400;
|
||||
color: hsla(0, 0%, 100%, .65);
|
||||
margin-top: 4px;
|
||||
text-align: center;
|
||||
overflow: hidden;
|
||||
-o-text-overflow: ellipsis;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap
|
||||
}
|
||||
|
||||
.fate-level[data-v-d07e5c4c] {
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 24px;
|
||||
height: 28px;
|
||||
background: rgba(0, 0, 0, .5);
|
||||
border-radius: 0 0 0 8px;
|
||||
text-align: center;
|
||||
font-size: 18px;
|
||||
font-family: Microsoft YaHei, sans-serif;
|
||||
font-weight: 400;
|
||||
line-height: 1
|
||||
}
|
||||
|
||||
.fate-level[data-v-d07e5c4c], .select-index[data-v-d07e5c4c] {
|
||||
position: absolute;
|
||||
color: #fff;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center
|
||||
}
|
||||
|
||||
.select-index[data-v-d07e5c4c] {
|
||||
top: 4px;
|
||||
right: 4px;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
font-style: normal;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background-color: hsla(0, 0%, 100%, .3);
|
||||
border: 2px solid #fff;
|
||||
border-radius: 50%
|
||||
}
|
||||
|
||||
.select-index.hasNumber[data-v-d07e5c4c] {
|
||||
background-color: #f69502
|
||||
}
|
||||
|
||||
.select-box[data-v-d07e5c4c] {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
left: 0;
|
||||
border: 2px solid #ffc870;
|
||||
border-top-right-radius: 12px;
|
||||
pointer-events: none
|
||||
}
|
||||
|
||||
.select-box[data-v-d07e5c4c]:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background: url(https://act.hoyolab.com/app/community-game-records-sea/rpg/images/select_arrow.f50d2b0c.png) no-repeat 50%/contain;
|
||||
-webkit-animation: arrowRun-d07e5c4c ease-in-out .4s alternate infinite;
|
||||
animation: arrowRun-d07e5c4c ease-in-out .4s alternate infinite;
|
||||
left: 50%;
|
||||
-webkit-transform: translate(-50%, -100%);
|
||||
-ms-transform: translate(-50%, -100%);
|
||||
transform: translate(-50%, -100%)
|
||||
}
|
||||
|
||||
.trial[data-v-d07e5c4c] {
|
||||
position: absolute;
|
||||
padding: 1px 4px;
|
||||
background: #ffc870;
|
||||
border-radius: 6px 10px 10px 0;
|
||||
font-size: 20px;
|
||||
color: #000;
|
||||
top: -8px;
|
||||
right: -17px;
|
||||
-webkit-transform-origin: top right;
|
||||
-ms-transform-origin: top right;
|
||||
transform-origin: top right;
|
||||
-webkit-transform: scale(.5);
|
||||
-ms-transform: scale(.5);
|
||||
transform: scale(.5);
|
||||
z-index: 1
|
||||
}
|
||||
|
||||
.hsr-role-medium-pos[data-v-d07e5c4c] {
|
||||
margin: auto
|
||||
}
|
||||
|
||||
.hsr-role-medium.hover-wrapper .hsr-role-medium-pos[data-v-d07e5c4c] {
|
||||
cursor: pointer;
|
||||
-webkit-transition: .1s ease-in;
|
||||
-o-transition: .1s ease-in;
|
||||
transition: .1s ease-in
|
||||
}
|
||||
|
||||
.select-index[data-v-d07e5c4c] {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
top: 6px;
|
||||
right: 6px;
|
||||
font-size: 13px
|
||||
}
|
||||
|
||||
@-webkit-keyframes arrowRun-d07e5c4c {
|
||||
0% {
|
||||
-webkit-transform: translate(-50%, -50%);
|
||||
transform: translate(-50%, -50%)
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes arrowRun-d07e5c4c {
|
||||
0% {
|
||||
-webkit-transform: translate(-50%, -50%);
|
||||
transform: translate(-50%, -50%)
|
||||
}
|
||||
}
|
||||
|
||||
.hsr-role-medium-popper {
|
||||
padding: 0 !important
|
||||
}
|
||||
|
||||
.hsr-role-medium-popper .activity-pop-text {
|
||||
display: none
|
||||
}
|
@ -1,69 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Title</title>
|
||||
<link href="css/pc_f95b4488.css" rel="stylesheet">
|
||||
<link href="css/c_hsr_act_Endless_28cca4fd.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<div style="width: 960px;" id="endless_side">
|
||||
<div data-v-287f8100="" data-v-8ee8631e="" class="endless">
|
||||
<p data-v-287f8100="" class="title">无尽位面 - {{ uid }}</p>
|
||||
<div data-v-287f8100="" class="summary">
|
||||
<p data-v-287f8100="" class="summary-p1">累计最高试炼点数 :</p>
|
||||
<p data-v-287f8100="" class="summary-p2">{{ info.total_score }}</p>
|
||||
</div>
|
||||
<div data-v-287f8100="" class="items">
|
||||
{% for record in info.records %}
|
||||
<div data-v-04e81689="" data-v-287f8100="" class="block">
|
||||
<img data-v-04e81689="" src="images/endless_side/card_bg_{{ loop.index0 }}.png" alt="" class="bg">
|
||||
<p data-v-04e81689="" class="title">{{ record.name }}</p>
|
||||
<img data-v-04e81689="" src="images/endless_side/level_{{ loop.index0 }}.png" alt="" class="icon">
|
||||
{% if record.finished %}
|
||||
<div data-v-04e81689="" class="mid-info">
|
||||
<div data-v-04e81689="" class="mid-info-line">
|
||||
<span data-v-04e81689="" class="mid-info-line-left">最终试炼</span>
|
||||
<span data-v-04e81689="" class="mid-info-line-right">{{ record.level }}</span>
|
||||
</div>
|
||||
<div data-v-04e81689="" class="mid-info-line">
|
||||
<span data-v-04e81689="" class="mid-info-line-left">试炼点数</span>
|
||||
<span data-v-04e81689="" class="mid-info-line-right">{{ record.point }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<img data-v-04e81689="" src="images/endless_side/rank_{{ record.rank }}.png" alt="" class="rank">
|
||||
<div data-v-04e81689="" class="btm">
|
||||
<div data-v-04e81689="" class="inner">
|
||||
<p data-v-04e81689="" class="role-title">已下载角色</p>
|
||||
<div data-v-04e81689="" class="roles">
|
||||
{% for avatar in record.avatars %}
|
||||
<div data-v-04e81689="" class="role">
|
||||
<img data-v-04e81689="" src="{{ avatar.icon }}" alt="">
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div data-v-04e81689="" class="inner-btm">
|
||||
<div data-v-04e81689="" class="ib ib-top">
|
||||
<img data-v-04e81689="" src="images/endless_side/{{ record.base_buff_id }}.png" alt=""
|
||||
class="buff-icon">
|
||||
<span data-v-04e81689="">{{ record.base_buff_name }}</span>
|
||||
</div>
|
||||
<div data-v-04e81689="" class="ib ib-mid">
|
||||
获得祝福 <span data-v-04e81689="">{{ record.buff_cnt }}</span>
|
||||
</div>
|
||||
<div data-v-04e81689="" class="ib ib-btm">
|
||||
获得奇物 <span data-v-04e81689="">{{ record.miracle_cnt }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% else %}
|
||||
<div data-v-04e81689="" class="empty">尚未挑战最终试炼</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,92 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Fantastic Story</title>
|
||||
<link href="css/7_1860676e902f99970620.css" rel="stylesheet">
|
||||
<link href="css/32_a6abfefd22b3d1a40162.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<div id="container">
|
||||
<div data-v-6cd4e78c="" data-v-056bcd56="" class="layout"
|
||||
style="background: url('images/story-bg.436f1d88.png') 0% 0% / 100% no-repeat rgb(71, 89, 131);">
|
||||
<div data-v-6cd4e78c="" class="header">
|
||||
<div data-v-6cd4e78c="" class="border">
|
||||
<div data-v-6cd4e78c="" class="left"><span data-v-6cd4e78c="">评书奇谭</span></div>
|
||||
<div data-v-e64e4972="" class="right">
|
||||
<span data-v-e64e4972="">UID:{{ uid }}</span>
|
||||
<span data-v-e64e4972=""> </span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div data-v-6cd4e78c="" class="container">
|
||||
<div data-v-6cd4e78c="" class="border">
|
||||
{% set bg = ['1.96e45c02', '2.3f186847', '3.f7c6b1e9', '4.32486a3e', '5.426291c0', '6.b4b0eadf'] %}
|
||||
{% set level_icon = ['', '1212', '1213', '1214', '1215'] %}
|
||||
{% for record in records %}
|
||||
{% set not_challenge = record.score == 0 %}
|
||||
<div data-v-44091bd3="" class="card" data-v-6cd4e78c="">
|
||||
<div data-v-44091bd3="" class="bg {% if not_challenge %}not-challenged{% endif %}">
|
||||
<img data-v-44091bd3="" src="images/{{ bg[loop.index0] }}.png" class="icon">
|
||||
</div>
|
||||
<div data-v-44091bd3="" class="inner {% if not_challenge %}not-challenged{% endif %}">
|
||||
<div data-v-44091bd3="" class="header">
|
||||
<div data-v-44091bd3="" class="name">
|
||||
{{ record.name }}
|
||||
{% if not not_challenge %}
|
||||
<span data-v-44091bd3="">{{ record.time_str }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if not not_challenge %}
|
||||
<div data-v-44091bd3="" class="info">
|
||||
<div data-v-44091bd3="" class="round">文段分数 {{ record.score }}</div>
|
||||
</div>
|
||||
<div data-v-44091bd3="" class="right">
|
||||
<img data-v-44091bd3="" src="images/{{ level_icon[record.score_rank] }}.png"
|
||||
class="icon">
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if not_challenge %}
|
||||
<div data-v-44091bd3="" class="not-challenged-text">尚未挑战</div>
|
||||
{% else %}
|
||||
<div data-v-44091bd3="" class="line"></div>
|
||||
<div data-v-44091bd3="" class="roles">
|
||||
{% for role in record.avatars %}
|
||||
<div data-v-03247942="" data-v-44091bd3=""
|
||||
class="role-item item unable-be-select">
|
||||
<div data-v-03247942="" class="inner">
|
||||
<div data-v-03247942="" class="avatar-box"
|
||||
style="width: 16.5333vw; height: 19.2vw;">
|
||||
<div data-v-03247942="" class="avatar-bg"
|
||||
style="background: url('{{ avatar_icons[role.id] }}') center center / 100% no-repeat;"></div>
|
||||
<div data-v-03247942="" class="level">等级 {{ role.level }}</div>
|
||||
</div>
|
||||
{% if role.is_trial %}
|
||||
<div data-v-03247942="" class="trial">试用</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div data-v-44091bd3="" class="buffs">
|
||||
{% for buff in record.buffs %}
|
||||
<div data-v-44091bd3="" class="buff-item">
|
||||
<div data-v-44091bd3="" class="icon"
|
||||
style="background-image: url('{{ buff.icon }}');"></div>
|
||||
<div data-v-44091bd3="" class="text">
|
||||
{{ buff.name }}:{{ buff.desc }}
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,218 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Title</title>
|
||||
<link href="css/pc_f95b4488.css" rel="stylesheet">
|
||||
<link href="css/c_hsr_act_FoxStory_4d8c2f06.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<div style="width: 1920px;" id="fox_story">
|
||||
<div style="display: flex; justify-content: space-between;">
|
||||
<div data-v-3d759804="" data-v-3dedffc2="" class="fox-story">
|
||||
<div data-v-3d759804="" class="activity__body">
|
||||
<div data-v-3d759804="" class="tabs van-tabs van-tabs--line">
|
||||
<div style="height: 30px"></div>
|
||||
<div class="van-tabs__wrap">
|
||||
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
|
||||
<div role="tab" class="van-tab van-tab--active" aria-selected="true">
|
||||
<span class="van-tab__text van-tab__text--ellipsis">
|
||||
狐斋志异 - {{ uid }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% set team = data.team %}
|
||||
<div class="van-tabs__content van-tabs__content--animated">
|
||||
<div class="van-tabs__track"
|
||||
style="transform: translate3d(0%, 0px, 0px); transition-duration: 0.3s;">
|
||||
<div data-v-3d759804="" role="tabpanel" class="van-tab__pane-wrapper">
|
||||
<div class="van-tab__pane">
|
||||
<div data-v-e688361a="" data-v-3d759804="" class="ghost-hunting">
|
||||
<div data-v-e688361a="" class="profile">
|
||||
<div data-v-e688361a="" class="profile-bg"></div>
|
||||
<div data-v-e688361a="" class="profile-fg">
|
||||
<div data-v-e688361a="" class="avatar avatar--stage-1"></div>
|
||||
<div data-v-e688361a="" class="info">
|
||||
<div data-v-e688361a="" class="nickname">小桂子Guinevere</div>
|
||||
<div data-v-e688361a="" class="info-divider"></div>
|
||||
<div data-v-e688361a="" class="fans">
|
||||
<div data-v-e688361a="" class="fans-label">粉丝</div>
|
||||
<div data-v-e688361a="" class="fans-num">{{ team.fans }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div data-v-e688361a="" class="subscription">订阅等级</div>
|
||||
<div data-v-e688361a="" class="fans-level">{{ team.level }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="height: 50px"></div>
|
||||
<div data-v-e688361a="" class="chart">
|
||||
<div data-v-e688361a="" class="popularity">
|
||||
<div data-v-e688361a="" class="popularity-label">人气阶段</div>
|
||||
<div data-v-e688361a="" class="popularity-num">{{ team.index_arrived }}级</div>
|
||||
</div>
|
||||
<div data-v-7734411a="" data-v-e688361a="" class="fans-figure">
|
||||
<div data-v-7734411a="" class="wrapper">
|
||||
<div data-v-7734411a="" class="main-wrapper">
|
||||
<div data-v-7734411a="" class="main">
|
||||
<div data-v-7734411a="" class="figure visible"
|
||||
style="--clip-right: {{ 100 - line[0] }}%;"></div>
|
||||
{% if line[1] %}
|
||||
<div data-v-7734411a="" class="progress-cursor"
|
||||
style="left: {{ line[0] }}%; height: {{ line[1] }}%;">
|
||||
<div data-v-7734411a="" class="cursor-label visible">
|
||||
<div data-v-7734411a="" class="cursor-label-bg">
|
||||
<svg data-v-7734411a="" viewBox="0 0 10 7"
|
||||
fill="none" class="cursor-label-arrow">
|
||||
<path data-v-7734411a=""
|
||||
d="M4.18627 5.86077L0 0H10L5.81373 5.86077C5.41491 6.41912 4.58509 6.41912 4.18627 5.86077Z"
|
||||
fill="#ECF4F7"></path>
|
||||
</svg>
|
||||
</div>
|
||||
<div data-v-7734411a="" class="cursor-label-txt">
|
||||
{{ team.fans_str }}
|
||||
</div>
|
||||
</div>
|
||||
<div data-v-7734411a="" class="cursor-dot">
|
||||
<div data-v-7734411a="" class="cursor-dot-center"></div>
|
||||
</div>
|
||||
<div data-v-7734411a="" class="cursor-line visible"></div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div data-v-7734411a="" class="base-line"></div>
|
||||
<div data-v-7734411a="" class="line-marks">
|
||||
{% for l in team.fans_range %}
|
||||
<div data-v-1b240865="" data-v-7734411a=""
|
||||
class="figure-line size--l">
|
||||
<img data-v-1b240865="" src="https://act.hoyolab.com/app/community-game-records-sea/rpg/images/line.32deff82.png" class="line size--l">
|
||||
<div data-v-1b240865="" class="label size--l">
|
||||
<div data-v-1b240865="" class="label__item size--l">
|
||||
{{ loop.index }}级
|
||||
</div>
|
||||
<div data-v-1b240865="" class="label__item size--l">
|
||||
{% if l > 10000 %}
|
||||
{{ l // 10000 }}万
|
||||
{% else %}
|
||||
{{ l }}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div data-v-7734411a="" class="medal-container">
|
||||
{% set first_get = "" %}
|
||||
{% set second_get = "" %}
|
||||
{% if team.real_index_arrived >= 2 %}
|
||||
{% set first_get = "medal--got" %}
|
||||
{% endif %}
|
||||
{% if team.real_index_arrived >= 4 %}
|
||||
{% set second_get = "medal--got" %}
|
||||
{% endif %}
|
||||
<div data-v-7734411a="" class="medal medal--"></div>
|
||||
<div data-v-7734411a="" class="medal medal--"></div>
|
||||
<div data-v-7734411a="" class="medal medal--silver {{ first_get }}"></div>
|
||||
<div data-v-7734411a="" class="medal medal--"></div>
|
||||
<div data-v-7734411a="" class="medal medal--gold {{ second_get }}"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div data-v-3d759804="" data-v-3dedffc2="" class="fox-story fox-story--subduing">
|
||||
<div data-v-3d759804="" class="activity__body">
|
||||
<div data-v-3d759804="" class="tabs van-tabs van-tabs--line">
|
||||
<div class="van-tabs__wrap">
|
||||
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
|
||||
<div role="tab" class="van-tab van-tab--active" aria-selected="true">
|
||||
<span class="van-tab__text van-tab__text--ellipsis">
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="van-tabs__content van-tabs__content--animated">
|
||||
<div class="van-tabs__track"
|
||||
style="transform: translate3d(0%, 0px, 0px); transition-duration: 0.3s;">
|
||||
<div data-v-3d759804="" role="tabpanel"
|
||||
class="van-tab__pane-wrapper van-tab__pane-wrapper--inactive" aria-hidden="true">
|
||||
<div class="van-tab__pane">
|
||||
<div data-v-0aa49ec3="" data-v-3d759804="" class="subduing-collection">
|
||||
<div data-v-0aa49ec3="" class="collection-cnt">
|
||||
<div data-v-0aa49ec3="" class="cnt-label">驱邪术收集</div>
|
||||
<div data-v-0aa49ec3="" class="cnt-value">
|
||||
{{ data.subdue_collect_cur }}/{{ data.subdue_collect_max }}
|
||||
</div>
|
||||
</div>
|
||||
<div data-v-0aa49ec3="" class="challenges">
|
||||
{% for subdue in data.subdues %}
|
||||
{% set sp = "" %}
|
||||
{% if loop.index == 5 %}
|
||||
{% set sp = "challenge--sp" %}
|
||||
{% endif %}
|
||||
<div data-v-82c5a256="" data-v-0aa49ec3="" class="challenge challenge-card {{ sp }}">
|
||||
<div data-v-82c5a256="" class="challenge__header relative">
|
||||
<div data-v-82c5a256="" class="challenge__name">{{ subdue.name_mi18n }}</div>
|
||||
<div data-v-82c5a256="" class="challenge__fire">
|
||||
{% for n in range(4) %}
|
||||
{% set active = "" %}
|
||||
{% if n < subdue.fire_cnt %}
|
||||
{% set active = "challenge__fire__icon--active" %}
|
||||
{% endif %}
|
||||
<div data-v-82c5a256=""
|
||||
class="challenge__fire__icon {{ active }}"></div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
<div data-v-82c5a256="" class="challenge__divider relative"></div>
|
||||
<div data-v-82c5a256="" class="challenge__stages relative">
|
||||
{% set n_index = loop.index %}
|
||||
{% for difficulty in subdue.difficulties %}
|
||||
<div data-v-82c5a256="" class="challenge__stage">
|
||||
<div data-v-82c5a256="" class="challenge__stage__label">难度 {{ loop.index }}</div>
|
||||
{% if difficulty.has_challenge %}
|
||||
<div data-v-82c5a256="" class="challenge__stage__stars">
|
||||
{% set stars = difficulty.stars %}
|
||||
{% if n_index == 5 %}
|
||||
{% set stars = difficulty.stars_sp %}
|
||||
{% endif %}
|
||||
{% for n in stars %}
|
||||
{% set active = "" %}
|
||||
{% if n %}
|
||||
{% set active = "challenge__stage__star--active" %}
|
||||
{% endif %}
|
||||
<div data-v-82c5a256=""
|
||||
class="challenge__stage__star {{ active }}"></div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% else %}
|
||||
<div data-v-82c5a256="" class="challenge__stage__empty">
|
||||
暂无挑战数据
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Before Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 5.6 KiB |
Before Width: | Height: | Size: 5.9 KiB |
Before Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 141 KiB |
Before Width: | Height: | Size: 464 B |
Before Width: | Height: | Size: 482 B |
Before Width: | Height: | Size: 448 B |
Before Width: | Height: | Size: 440 B |
Before Width: | Height: | Size: 408 B |
Before Width: | Height: | Size: 421 B |
Before Width: | Height: | Size: 477 B |
Before Width: | Height: | Size: 467 B |
Before Width: | Height: | Size: 166 B |
Before Width: | Height: | Size: 280 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 9.1 KiB |
Before Width: | Height: | Size: 8.7 KiB |
Before Width: | Height: | Size: 9.8 KiB |
Before Width: | Height: | Size: 8.8 KiB |
Before Width: | Height: | Size: 8.5 KiB |
Before Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 4.8 KiB |
Before Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 6.4 KiB |
Before Width: | Height: | Size: 81 KiB |
Before Width: | Height: | Size: 46 KiB |
@ -1,43 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Title</title>
|
||||
<link href="css/c_hsr_act_SpaceZoo_7ec2768b.css" rel="stylesheet">
|
||||
<style>
|
||||
#titleDiv {
|
||||
text-align: center;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
background-image: url('https://act.hoyolab.com/app/community-game-records-sea/rpg/images/activity_title_bg_pc.150f56ff.png');
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div style="width: 960px;" id="spaceZoo">
|
||||
<div id="titleDiv">
|
||||
<span style="color: white">异宠拾遗 UID: {{ uid }}</span>
|
||||
</div>
|
||||
<div data-v-06359302="" data-v-4cf6d55a="" class="space-zoo">
|
||||
<div data-v-06359302="" class="top">
|
||||
<div data-v-06359302="" class="name">研究等级</div>
|
||||
<div data-v-06359302="" class="level">{{ info.level }}</div>
|
||||
</div>
|
||||
<div data-v-06359302="" class="summary">
|
||||
<div data-v-06359302="" class="summary-title">稀有造物</div>
|
||||
<div data-v-06359302="" class="summary-btm">
|
||||
<div data-v-06359302="" class="summary-subtitle">收集进度</div>
|
||||
<div data-v-06359302="" class="summary-progress">{{ info.cur_xyzw }}/{{ info.max_xyzw }}</div>
|
||||
</div>
|
||||
</div>
|
||||
{% set badges = ["type_3.b3733680", "type_2.2d09b275", "type_45.cf79a7f3", "type_6.da55d1e9", "type_1.9120cf02"] %}
|
||||
{% for i in range(0, 5) %}
|
||||
<div data-v-06359302="" index="{{ loop.index0 }}" class="feature">
|
||||
<img data-v-06359302="" src="https://act.hoyolab.com/app/community-game-records-sea/rpg/images/{{ badges[loop.index0] }}.png" class="feature-bg">
|
||||
<span data-v-06359302="" class="feature-progress">{{ features[loop.index0].cur }}/{{ features[loop.index0].max }}</span>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,111 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Title</title>
|
||||
<link href="css/33_8822068204d7dabf8934.css" rel="stylesheet">
|
||||
<style>
|
||||
* {
|
||||
-webkit-box-sizing: border-box;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="container">
|
||||
<div data-v-6cd4e78c="" data-v-056bcd56="" class="layout"
|
||||
style="background: url('images/treasure-bg.4e14b9b5.png') 0% 0% / 100% no-repeat rgb(53, 47, 25);">
|
||||
<div data-v-6cd4e78c="" class="header">
|
||||
<div data-v-6cd4e78c="" class="border">
|
||||
<div data-v-6cd4e78c="" class="left"><span data-v-6cd4e78c="">地城探宝</span></div>
|
||||
<div data-v-e64e4972="" class="right">
|
||||
<span data-v-e64e4972="">UID:{{ uid }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div data-v-6cd4e78c="" class="container">
|
||||
<div data-v-6cd4e78c="" class="border">
|
||||
<div data-v-4c014de0="" class="card" data-v-6cd4e78c="">
|
||||
<div data-v-4c014de0="" class="inner">
|
||||
<div data-v-4c014de0="" class="header">
|
||||
<div data-v-4c014de0="" class="name">
|
||||
{{ record.name }}
|
||||
</div>
|
||||
<div data-v-4c014de0="" class="time">
|
||||
{{ record.time_str }}
|
||||
</div>
|
||||
<div data-v-4c014de0="" class="difficulty" style="background-color: rgb(214, 168, 94);">
|
||||
{% if record.difficulty_id == 0 %}
|
||||
浅层探索
|
||||
{% else %}
|
||||
深层探索
|
||||
{% endif %}
|
||||
</div>
|
||||
<div data-v-4c014de0="" class="right">
|
||||
<img data-v-4c014de0="" src="{{ record.icon }}" alt="" class="icon">
|
||||
</div>
|
||||
</div>
|
||||
<div data-v-4c014de0="" class="line"></div>
|
||||
<div data-v-4c014de0="" class="sub-title">参与角色</div>
|
||||
<div data-v-4c014de0="" class="roles">
|
||||
{% for role in record.avatars %}
|
||||
<div data-v-4c014de0="" class="avatar-item">
|
||||
<img data-v-4c014de0="" src="{{ avatar_icons[role.id] }}" class="icon">
|
||||
<span data-v-4c014de0="">等级{{ role.level }}</span>
|
||||
{% if role.is_trial %}
|
||||
<span data-v-4c014de0="" class="is-trial">试用</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div data-v-4c014de0="" class="expand-container is-expand">
|
||||
<div data-v-4c014de0="" class="expand-item half-width">
|
||||
<div data-v-4c014de0="" class="left">
|
||||
<img data-v-4c014de0="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAMAAADzapwJAAAAOVBMVEVHcEz///////////////////////////////////////////////////////////////////////99PJZNAAAAEnRSTlMAMJBg3xDPn4B/UKBvX0BwvyB19BZ7AAAAbklEQVQY063RSw6AIAwEUD5Fivid+x9WLMZY7dJZvpChBed+zpQls9aInqw0kckFFu8wmUyO+HIubgAodOZLR6B44t5Dy93Aza9ROD2axdvhzauZOUjPqtfOGIL06LXbGMyW17O/vp9Urh///qgDYFIHxdPoOxIAAAAASUVORK5CYII=" class="icon">
|
||||
伤害提高
|
||||
</div>
|
||||
<span data-v-4c014de0="">{{ record.atk_buff }}%</span></div>
|
||||
<div data-v-4c014de0="" class="expand-item half-width">
|
||||
<div data-v-4c014de0="" class="left">
|
||||
<img data-v-4c014de0="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAMAAADzapwJAAAARVBMVEVHcEz///////////////////////////////////////////////////////////////////////////////////////9X1DS3AAAAFnRSTlMAvxAwYECg3yDvkIBQr59ff49wb7DPw3T3cwAAAKBJREFUGBmdwVtiwyAMBMAFBJJ42E7a7v2P2sbBNO1nZvCeWNw3wz9ZvVbVHa/ijdWkW+EtYsnqPSmpJqqG6YPBDp4OKzxwymwWOKk1ZjwIoVwUFDwkRufixoST3guXTRRPNQiXPWx4ym5cjBmT58ApdMel1DunvXziIm7Kk5ruuETdbPBHsKL4lTksiaQ42PGiK0drw13wh5UvUlvEO74BTGUNgYPvMN8AAAAASUVORK5CYII=" class="icon">
|
||||
伤害减免
|
||||
</div>
|
||||
<span data-v-4c014de0="">{{ record.def_buff }}%</span></div>
|
||||
<div data-v-4c014de0="" class="expand-item">
|
||||
<div data-v-4c014de0="" class="left"><!---->
|
||||
持续伤害提高
|
||||
</div>
|
||||
<span data-v-4c014de0="">{{ record.special_buff }}%</span></div>
|
||||
<div data-v-4c014de0="" class="expand-item">
|
||||
<div data-v-4c014de0="" class="left"><!---->
|
||||
消耗耐力
|
||||
</div>
|
||||
<span data-v-4c014de0="">{{ record.used_stamina }}</span></div>
|
||||
<div data-v-4c014de0="" class="expand-item">
|
||||
<div data-v-4c014de0="" class="left"><!---->
|
||||
击败敌人数量
|
||||
</div>
|
||||
<span data-v-4c014de0="">{{ record.enemy_killed }}</span></div>
|
||||
<div data-v-4c014de0="" class="expand-item">
|
||||
<div data-v-4c014de0="" class="left"><!---->
|
||||
发现古代兵器
|
||||
</div>
|
||||
<span data-v-4c014de0="">{{ record.ancient_weapon }}</span></div>
|
||||
<div data-v-4c014de0="" class="expand-item">
|
||||
<div data-v-4c014de0="" class="left"><!---->
|
||||
发现古代防具
|
||||
</div>
|
||||
<span data-v-4c014de0="">{{ record.ancient_armor }}</span></div>
|
||||
<div data-v-4c014de0="" class="expand-item">
|
||||
<div data-v-4c014de0="" class="left"><!---->
|
||||
发现古代炸弹
|
||||
</div>
|
||||
<span data-v-4c014de0="">{{ record.ancient_bomb }}</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,208 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Title</title>
|
||||
<link href="css/yitai.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<div>
|
||||
<div id="DIV_1">
|
||||
<div id="DIV_2">
|
||||
<p id="P_3">
|
||||
以太战线
|
||||
</p>
|
||||
<div id="DIV_4">
|
||||
{% set gender_bg = ['', 'gender_1.019e84ed.png', 'gender_2.1ccf5d85.png'] %}
|
||||
{% set rank_bg = ['', 'rank_1.467cdd9b.png', 'rank_2.bb4cfb69.png', 'rank_3.e10030df.png', 'rank_4.e2a47f70.png', 'rank_5.5cd5c289.png', 'rank_6.1908893a.png'] %}
|
||||
<img src="https://act.hoyolab.com/app/community-game-records-sea/rpg/images/{{ gender_bg[data.basic.gender] }}"
|
||||
id="IMG_5" alt=''/>
|
||||
<div id="DIV_6">
|
||||
<div id="DIV_7">
|
||||
<img src="https://act.hoyolab.com/app/community-game-records-sea/rpg/images/{{ rank_bg[data.basic.rating_id] }}"
|
||||
id="IMG_8" alt=''/>
|
||||
<span id="SPAN_9">{{ data.basic.rating_name }} - {{ uid }}</span>
|
||||
</div>
|
||||
<div id="DIV_10">
|
||||
<p id="P_11" style="width: {{ data.basic.rating_cur / data.basic.rating_max * 100 }}%!important;">
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="DIV_12">
|
||||
<p id="P_13">
|
||||
{{ data.basic.collect_cur }}/{{ data.basic.collect_max }}
|
||||
</p>
|
||||
<p id="P_14">
|
||||
以太灵收集进度
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="DIV_15">
|
||||
<div id="DIV_16">
|
||||
<div id="DIV_17">
|
||||
<div id="DIV_18">
|
||||
<span id="SPAN_19">决胜乐园</span>
|
||||
</div>
|
||||
<div id="DIV_22">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="DIV_23">
|
||||
<div id="DIV_24">
|
||||
<div id="DIV_25">
|
||||
<div id="DIV_26">
|
||||
<div id="DIV_27">
|
||||
<div id="DIV_28">
|
||||
{% if data.fairy_land.is_open %}
|
||||
{% set land_bg = 'land.ec6f60ce.png' %}
|
||||
{% else %}
|
||||
{% set land_bg = 'land_lock.370dc35d.png' %}
|
||||
{% endif %}
|
||||
<img src="https://act.hoyolab.com/app/community-game-records-sea/rpg/images/{{ land_bg }}"
|
||||
alt="" id="IMG_29"/>
|
||||
{% if data.fairy_land.is_open %}
|
||||
<div id="DIV_201">
|
||||
<p id="P_202">
|
||||
已击败对手
|
||||
</p>
|
||||
{% set enemy = {108: 'enemy_108.f2f1a13a.png', 109: 'enemy_109.bca00e7a.png', 110: 'enemy_110.ae202ae9.png', 111: 'enemy_111.182fb3cb.png', 112: 'enemy_112.18b3f6b0.png', 113: 'enemy_113.d73aea7f.png'} %}
|
||||
<div id="DIV_203">
|
||||
{% for kill in data.fairy_land.kills %}
|
||||
<div id="DIV_204">
|
||||
<img src="https://act.hoyolab.com/app/community-game-records-sea/rpg/images/{{ enemy[kill] }}" alt="" id="IMG_205" />
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% else %}
|
||||
<div id="DIV_30">
|
||||
竞技场尚未开启
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div id="DIV_31">
|
||||
{% set city = data.fairy_land.cities[0] %}
|
||||
<div id="DIV_32">
|
||||
<img src="https://act.hoyolab.com/app/community-game-records-sea/rpg/images/city_1.0cafc249.png"
|
||||
alt="" id="IMG_33"/>
|
||||
<div id="DIV_34">
|
||||
<p id="P_35">
|
||||
残响回廊
|
||||
</p>
|
||||
{% if city.has_challenge %}
|
||||
<div id="DIV_301">
|
||||
{% for _ in range(city.stars_cur) %}
|
||||
<i class="star"></i>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% else %}
|
||||
<p id="P_36">
|
||||
暂无挑战数据
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% set city = data.fairy_land.cities[1] %}
|
||||
<div id="DIV_37">
|
||||
<img src="https://act.hoyolab.com/app/community-game-records-sea/rpg/images/city_2.91aacc34.png"
|
||||
alt="" id="IMG_38"/>
|
||||
<div id="DIV_39">
|
||||
<p id="P_40">
|
||||
流云渡
|
||||
</p>
|
||||
{% if city.has_challenge %}
|
||||
<div id="DIV_301">
|
||||
{% for _ in range(city.stars_cur) %}
|
||||
<i class="star"></i>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% else %}
|
||||
<p id="P_36">
|
||||
暂无挑战数据
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% set city = data.fairy_land.cities[2] %}
|
||||
<div id="DIV_42">
|
||||
<img src="https://act.hoyolab.com/app/community-game-records-sea/rpg/images/city_3.deb99fba.png"
|
||||
alt="" id="IMG_43"/>
|
||||
<div id="DIV_44">
|
||||
<p id="P_45">
|
||||
空间站「黑塔」
|
||||
</p>
|
||||
{% if city.has_challenge %}
|
||||
<div id="DIV_301">
|
||||
{% for _ in range(city.stars_cur) %}
|
||||
<i class="star"></i>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% else %}
|
||||
<p id="P_36">
|
||||
暂无挑战数据
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% set city = data.fairy_land.cities[3] %}
|
||||
<div id="DIV_47">
|
||||
<img src="https://act.hoyolab.com/app/community-game-records-sea/rpg/images/city_4.b8400d03.png"
|
||||
alt="" id="IMG_48"/>
|
||||
<div id="DIV_49">
|
||||
<p id="P_50">
|
||||
大矿区
|
||||
</p>
|
||||
{% if city.has_challenge %}
|
||||
<div id="DIV_301">
|
||||
{% for _ in range(city.stars_cur) %}
|
||||
<i class="star"></i>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% else %}
|
||||
<p id="P_36">
|
||||
暂无挑战数据
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="DIV_52">
|
||||
<div id="DIV_53">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="height: 100px"></div>
|
||||
<div id="DIV_15">
|
||||
<div id="DIV_16">
|
||||
<div id="DIV_17">
|
||||
<div id="DIV_18">
|
||||
<span id="SPAN_19">超链接对决</span>
|
||||
</div>
|
||||
<div id="DIV_22">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="DIV_23">
|
||||
<div id="DIV_24">
|
||||
<div id="DIV_101">
|
||||
{% for battle in data.link_battle %}
|
||||
<div id="DIV_102">
|
||||
<img src="https://act.hoyolab.com/app/community-game-records-sea/rpg/images/{{ rank_bg[battle.rank] }}"
|
||||
alt="" id="IMG_103"/> <span id="SPAN_104">{{ battle.rank_name }}</span> <span
|
||||
id="SPAN_105">{{ battle.challenge_cur }}/{{ battle.challenge_max }}</span>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
27
resources/starrail/rogue/css/pc.css
Normal file
@ -0,0 +1,27 @@
|
||||
/*! Copyright © 2011 - 2024 miHoYo. All Rights Reserved */
|
||||
|
||||
*, :after, :before {
|
||||
--tw-border-spacing-x: 0;
|
||||
--tw-border-spacing-y: 0;
|
||||
--tw-translate-x: 0;
|
||||
--tw-translate-y: 0;
|
||||
--tw-rotate: 0;
|
||||
--tw-skew-x: 0;
|
||||
--tw-skew-y: 0;
|
||||
--tw-scale-x: 1;
|
||||
--tw-scale-y: 1;
|
||||
--tw-scroll-snap-strictness: proximity;
|
||||
--tw-ring-offset-width: 0px;
|
||||
--tw-ring-offset-color: #fff;
|
||||
--tw-ring-color: rgb(59 130 246/0.5);
|
||||
--tw-ring-offset-shadow: 0 0 #0000;
|
||||
--tw-ring-shadow: 0 0 #0000;
|
||||
--tw-shadow: 0 0 #0000;
|
||||
--tw-shadow-colored: 0 0 #0000
|
||||
}
|
||||
|
||||
* {
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
margin: 0
|
||||
}
|
483
resources/starrail/rogue/css/rogue_tourn.css
Normal file
@ -0,0 +1,483 @@
|
||||
/*! Copyright © 2011 - 2024 miHoYo. All Rights Reserved */
|
||||
|
||||
.content-right-wrap .content-right[data-v-15e079f7], .content-right-wrap[data-v-15e079f7] {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center
|
||||
}
|
||||
|
||||
.content-right-wrap .content-right[data-v-15e079f7] {
|
||||
-webkit-box-pack: end;
|
||||
-ms-flex-pack: end;
|
||||
justify-content: flex-end;
|
||||
position: relative
|
||||
}
|
||||
|
||||
.content-right-wrap .content-right .finish-name[data-v-15e079f7] {
|
||||
color: #a7a7a7;
|
||||
text-align: right;
|
||||
font-size: 14px;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
line-height: 20px
|
||||
}
|
||||
|
||||
.content-right-wrap .difficult-img[data-v-15e079f7] {
|
||||
width: 46px;
|
||||
height: 46px
|
||||
}
|
||||
|
||||
.content-right-wrap .difficult-num[data-v-15e079f7] {
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 21px;
|
||||
color: #dbc291;
|
||||
text-align: right;
|
||||
font-size: 14px;
|
||||
font-weight: 650;
|
||||
line-height: 15.8px
|
||||
}
|
||||
|
||||
.content-right-wrap .difficult-level-img[data-v-15e079f7] {
|
||||
width: 46px;
|
||||
height: 46px
|
||||
}
|
||||
|
||||
.content-right-wrap .content-right-image[data-v-15e079f7] {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center
|
||||
}
|
||||
|
||||
.content-right-wrap .difficult-icon[data-v-15e079f7] {
|
||||
width: 56px;
|
||||
height: 56px;
|
||||
margin-left: 2px
|
||||
}
|
||||
|
||||
.content-right-wrap .difficult-desc[data-v-15e079f7] {
|
||||
margin-left: 2px;
|
||||
margin-top: 1px;
|
||||
color: #ac8560;
|
||||
text-align: right;
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
line-height: 20px;
|
||||
white-space: pre
|
||||
}
|
||||
|
||||
.content-right-wrap .finish-name[data-v-15e079f7] {
|
||||
color: #a7a7a7;
|
||||
text-align: right;
|
||||
font-size: 14px;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
line-height: 20px
|
||||
}
|
||||
|
||||
.content-right-wrap[size=m] .difficult-img[data-v-15e079f7] {
|
||||
width: 32px;
|
||||
height: 32px
|
||||
}
|
||||
|
||||
.content-right-wrap[size=m] .difficult-num[data-v-15e079f7] {
|
||||
right: 6px;
|
||||
top: 15px;
|
||||
font-size: 10px;
|
||||
line-height: 11px
|
||||
}
|
||||
|
||||
.content-right-detail .difficult-level-img[data-v-15e079f7] {
|
||||
width: 46px;
|
||||
height: 46px
|
||||
}
|
||||
|
||||
.content-right-detail .difficult-num[data-v-15e079f7] {
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 21px;
|
||||
font-size: 14px;
|
||||
font-weight: 650;
|
||||
line-height: 15px
|
||||
}
|
||||
|
||||
.content-right-detail .difficult-desc[data-v-15e079f7], .content-right-detail .difficult-icon[data-v-15e079f7] {
|
||||
display: none
|
||||
}
|
||||
|
||||
.simulate[data-v-5dedbd3c] {
|
||||
margin-top: 20px;
|
||||
padding: 4px;
|
||||
background: url(../img/pc-simulated-bg.00bf3090.png) no-repeat top/100% auto;
|
||||
/*border-radius: 0 30px 0 0*/
|
||||
}
|
||||
|
||||
.simulate-box[data-v-5dedbd3c] {
|
||||
border-radius: 0 28px 0 0;
|
||||
padding: 23px 37px 19px;
|
||||
border: 1px solid hsla(0, 0%, 100%, .2)
|
||||
}
|
||||
|
||||
.simulate-box-title[data-v-5dedbd3c] {
|
||||
color: #f3d28c;
|
||||
text-align: center;
|
||||
font-size: 18px;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
line-height: 26px
|
||||
}
|
||||
|
||||
.simulate-box-head[data-v-5dedbd3c] {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
margin: 22px 0 18px
|
||||
}
|
||||
|
||||
.simulate-box-head_list[data-v-5dedbd3c] {
|
||||
background-color: #1e1d1e;
|
||||
position: relative;
|
||||
padding: 9px 12px;
|
||||
border-image-source: url(../img/pc-list-bg.49c38e17.png);
|
||||
border-image-slice: 17.6470588235% 2.8103044496% fill;
|
||||
border-image-width: 12px;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-pack: justify;
|
||||
-ms-flex-pack: justify;
|
||||
justify-content: space-between;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.simulate-box-head_list[data-v-5dedbd3c]:first-child {
|
||||
margin-right: 22px;
|
||||
margin-bottom: 0
|
||||
}
|
||||
|
||||
.simulate-box-head_list[data-v-5dedbd3c]:before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: url(../img/pc-card-bg.74e68f40.png) no-repeat 100%/92px auto
|
||||
}
|
||||
|
||||
.simulate-box-head_desc[data-v-5dedbd3c] {
|
||||
text-align: right;
|
||||
margin-left: 12px
|
||||
}
|
||||
|
||||
.simulate-box-head_image[data-v-5dedbd3c] {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center
|
||||
}
|
||||
|
||||
.simulate-box-head_image img[data-v-5dedbd3c] {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
display: block;
|
||||
-ms-flex-negative: 0;
|
||||
flex-shrink: 0
|
||||
}
|
||||
|
||||
.simulate-box-head_name[data-v-5dedbd3c] {
|
||||
margin-left: 6px;
|
||||
display: inline-block;
|
||||
color: #d6bf96;
|
||||
font-size: 14px;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
line-height: 20px
|
||||
}
|
||||
|
||||
.simulate-box-head_name[mini][data-v-5dedbd3c] {
|
||||
font-size: 10px;
|
||||
line-height: 11px
|
||||
}
|
||||
|
||||
.simulate-box-head_num[data-v-5dedbd3c] {
|
||||
text-align: right;
|
||||
margin-top: 4px;
|
||||
color: #dfcb9d;
|
||||
font-size: 23px;
|
||||
font-style: normal;
|
||||
font-weight: 650;
|
||||
line-height: 24px
|
||||
}
|
||||
|
||||
.simulate-box-head_num.score[data-v-5dedbd3c] {
|
||||
font-size: 18px
|
||||
}
|
||||
|
||||
.simulate-box-center[data-v-5dedbd3c] {
|
||||
margin-bottom: 18px
|
||||
}
|
||||
|
||||
.simulate-box-center_title[data-v-5dedbd3c] {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-pack: justify;
|
||||
-ms-flex-pack: justify;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 12px
|
||||
}
|
||||
|
||||
.simulate-box-center_title .title-left[data-v-5dedbd3c] {
|
||||
color: #d6bf96;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
line-height: 24px;
|
||||
max-width: auto
|
||||
}
|
||||
|
||||
.simulate-box-center_title .title-left[mini][data-v-5dedbd3c] {
|
||||
font-size: 12px;
|
||||
line-height: 13px
|
||||
}
|
||||
|
||||
.simulate-box-center_title .title-right[data-v-5dedbd3c] {
|
||||
cursor: pointer;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
padding: 3px 7px 3px 11px;
|
||||
color: #f3d28c;
|
||||
font-size: 12px;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
border-radius: 20px;
|
||||
border: 1px solid hsla(0, 0%, 100%, .24);
|
||||
background: rgba(0, 0, 0, .2);
|
||||
line-height: 16px
|
||||
}
|
||||
|
||||
.simulate-box-center_title .title-right .arrow[data-v-5dedbd3c] {
|
||||
margin-left: 1px;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
color: #f3d28c
|
||||
}
|
||||
|
||||
.simulate-box-center_title .title-right .title-btn[mini][data-v-5dedbd3c] {
|
||||
font-size: 8px;
|
||||
line-height: 14px
|
||||
}
|
||||
|
||||
.simulate-box-center_content[data-v-5dedbd3c] {
|
||||
padding: 9px 12px;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-pack: justify;
|
||||
-ms-flex-pack: justify;
|
||||
justify-content: space-between;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
border-image-source: url(../img/pc-long-card.49e750f0.png);
|
||||
border-image-slice: 17.6470588235% 1.3698630137% fill;
|
||||
border-image-width: 12px
|
||||
}
|
||||
|
||||
.simulate-box-center_content[data-v-5dedbd3c]:before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: url(../img/pc-card-bg.74e68f40.png) no-repeat 100%/auto 100%
|
||||
}
|
||||
|
||||
.simulate-box-center_content.info[data-v-5dedbd3c] {
|
||||
padding: 14px 40px 13px;
|
||||
-webkit-box-align: start;
|
||||
-ms-flex-align: start;
|
||||
align-items: flex-start
|
||||
}
|
||||
|
||||
.simulate-box-center_content.info[data-v-5dedbd3c]:before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: url(../img/long-card-bg.d071f73a.png) no-repeat 50%/314px auto
|
||||
}
|
||||
|
||||
.simulate-box-center_content.week[data-v-5dedbd3c] {
|
||||
height: 68px
|
||||
}
|
||||
|
||||
.simulate-box-center_content.week[data-v-5dedbd3c]:last-child {
|
||||
margin-top: 12px
|
||||
}
|
||||
|
||||
.simulate-box-center_content.daily[data-v-5dedbd3c] {
|
||||
min-height: 68px;
|
||||
padding: 6.5px 12px
|
||||
}
|
||||
|
||||
.simulate-box-center_content .info-list[data-v-5dedbd3c] {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-box-direction: normal;
|
||||
-ms-flex-direction: column;
|
||||
flex-direction: column;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
width: 300px
|
||||
}
|
||||
|
||||
.simulate-box-center_content .info-num[data-v-5dedbd3c] {
|
||||
color: #dfcb9d;
|
||||
text-align: center;
|
||||
font-size: 20px;
|
||||
font-style: normal;
|
||||
font-weight: 650;
|
||||
line-height: 21px
|
||||
}
|
||||
|
||||
.simulate-box-center_content .info-border[data-v-5dedbd3c] {
|
||||
width: 53px;
|
||||
height: 3px;
|
||||
margin-top: 6px;
|
||||
margin-bottom: 4px
|
||||
}
|
||||
|
||||
.simulate-box-center_content .info-name[data-v-5dedbd3c] {
|
||||
color: #d6bf96;
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
line-height: 18px
|
||||
}
|
||||
|
||||
.simulate-box-center_content .info-name[mini][data-v-5dedbd3c] {
|
||||
font-size: 8px;
|
||||
line-height: 10px
|
||||
}
|
||||
|
||||
.simulate-box-center_content .content-left[data-v-5dedbd3c] {
|
||||
color: #d6bf96;
|
||||
font-size: 14px;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
line-height: 20px;
|
||||
margin-right: 0;
|
||||
max-width: auto
|
||||
}
|
||||
|
||||
.simulate-box-center_content .content-left[mini][data-v-5dedbd3c] {
|
||||
font-size: 10px;
|
||||
line-height: 13px
|
||||
}
|
||||
|
||||
.simulate-box-center_content .difficult[data-v-5dedbd3c] {
|
||||
position: relative
|
||||
}
|
||||
|
||||
.simulate-box-center_content .difficult .difficult-img[data-v-5dedbd3c] {
|
||||
width: 46px;
|
||||
height: 46px
|
||||
}
|
||||
|
||||
.simulate-box-center_content .difficult .difficult-num[data-v-5dedbd3c] {
|
||||
position: absolute;
|
||||
right: 6px;
|
||||
top: 15px;
|
||||
color: #dbc291;
|
||||
text-align: right;
|
||||
font-size: 10px;
|
||||
font-style: normal;
|
||||
font-weight: 650;
|
||||
line-height: 11px
|
||||
}
|
||||
|
||||
.simulate-box-center_content .difficult .difficult-level-img[data-v-5dedbd3c] {
|
||||
width: 46px;
|
||||
height: 46px
|
||||
}
|
||||
|
||||
.simulate-box-center_content .difficult .difficult-icon[data-v-5dedbd3c] {
|
||||
width: 46px;
|
||||
height: 46px;
|
||||
margin-left: 2px
|
||||
}
|
||||
|
||||
.simulate-box-center_content .difficult-desc[data-v-5dedbd3c] {
|
||||
margin-left: 2px;
|
||||
margin-top: 1px;
|
||||
color: #ac8560;
|
||||
text-align: right;
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
line-height: 20px
|
||||
}
|
||||
|
||||
.simulate-box-center_content .content-right[data-v-5dedbd3c] {
|
||||
-webkit-box-pack: end;
|
||||
-ms-flex-pack: end;
|
||||
justify-content: flex-end;
|
||||
position: relative
|
||||
}
|
||||
|
||||
.simulate-box-center_content .content-right-wrap[data-v-5dedbd3c], .simulate-box-center_content .content-right[data-v-5dedbd3c] {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center
|
||||
}
|
||||
|
||||
.simulate-box-center_content .finish-name[data-v-5dedbd3c] {
|
||||
color: #a7a7a7;
|
||||
text-align: right;
|
||||
font-size: 14px;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
line-height: 20px
|
||||
}
|
||||
|
||||
.simulate-box-center_content .finish-icon[data-v-5dedbd3c] {
|
||||
margin-left: 2px;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
background: url(../img/not-finish-icon.a769356e.png) no-repeat 50%/cover
|
||||
}
|
||||
|
||||
.simulate-box-center_content .finish .finish-icon[data-v-5dedbd3c] {
|
||||
background: url(../img/finish-icon.dee97c1a.png) no-repeat 50%/cover
|
||||
}
|
||||
|
||||
.simulate-box-center_content .finish .finish-name[data-v-5dedbd3c] {
|
||||
color: #d6bf96
|
||||
}
|
BIN
resources/starrail/rogue/img/finish-icon.dee97c1a.png
Normal file
After Width: | Height: | Size: 701 B |
BIN
resources/starrail/rogue/img/info-border.4ea24bf7.png
Normal file
After Width: | Height: | Size: 374 B |
BIN
resources/starrail/rogue/img/level-1.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
resources/starrail/rogue/img/level-2.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
resources/starrail/rogue/img/level-3.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
resources/starrail/rogue/img/level-4.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
resources/starrail/rogue/img/level-5.png
Normal file
After Width: | Height: | Size: 3.0 KiB |
BIN
resources/starrail/rogue/img/level-6.png
Normal file
After Width: | Height: | Size: 3.0 KiB |
BIN
resources/starrail/rogue/img/level-icon.f3d1f752.png
Normal file
After Width: | Height: | Size: 9.0 KiB |
BIN
resources/starrail/rogue/img/long-card-bg.d071f73a.png
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
resources/starrail/rogue/img/not-finish-icon.a769356e.png
Normal file
After Width: | Height: | Size: 688 B |
BIN
resources/starrail/rogue/img/pc-card-bg.74e68f40.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
resources/starrail/rogue/img/pc-list-bg.49c38e17.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
resources/starrail/rogue/img/pc-long-card.49e750f0.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
resources/starrail/rogue/img/pc-simulated-bg.00bf3090.png
Normal file
After Width: | Height: | Size: 486 KiB |
BIN
resources/starrail/rogue/img/score-icon.1742263a.png
Normal file
After Width: | Height: | Size: 8.6 KiB |
148
resources/starrail/rogue/rogue_tourn.html
Normal file
@ -0,0 +1,148 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Title</title>
|
||||
<link href="css/pc.css" rel="stylesheet">
|
||||
<link href="css/rogue_tourn.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<div>
|
||||
<div data-v-5dedbd3c="" data-v-0d3913e0="" class="simulate">
|
||||
<div data-v-5dedbd3c="" class="simulate-box">
|
||||
<div data-v-5dedbd3c="" class="simulate-box-title">差分宇宙•人间喜剧 - UID {{ uid }}</div>
|
||||
<div data-v-5dedbd3c="" class="simulate-box-head">
|
||||
<div data-v-5dedbd3c="" class="simulate-box-head_list">
|
||||
<div data-v-5dedbd3c="" class="simulate-box-head_image">
|
||||
<img data-v-5dedbd3c="" src="img/level-icon.f3d1f752.png" alt="">
|
||||
<div data-v-5dedbd3c="" class="simulate-box-head_name">拟合等级</div>
|
||||
</div>
|
||||
<div data-v-5dedbd3c="" class="simulate-box-head_desc">
|
||||
<div data-v-5dedbd3c="" class="simulate-box-head_num g--font-hsr">{{ basic.season_level }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div data-v-5dedbd3c="" class="simulate-box-head_list">
|
||||
<div data-v-5dedbd3c="" class="simulate-box-head_image">
|
||||
<img data-v-5dedbd3c="" src="img/score-icon.1742263a.png" alt="">
|
||||
<div data-v-5dedbd3c="" class="simulate-box-head_name">本周额外拟合值</div>
|
||||
</div>
|
||||
<div data-v-5dedbd3c="" class="simulate-box-head_desc">
|
||||
<div data-v-5dedbd3c="" class="simulate-box-head_num g--font-hsr score">
|
||||
{{ basic.weekly_score }}/{{ basic.weekly_score_max }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div data-v-5dedbd3c="" class="simulate-box-center">
|
||||
<div data-v-5dedbd3c="" class="simulate-box-center_title">
|
||||
<div data-v-5dedbd3c="" class="title-left">数据一览</div>
|
||||
</div>
|
||||
<div data-v-5dedbd3c="" class="simulate-box-center_content info">
|
||||
<div data-v-5dedbd3c="" class="info-list">
|
||||
<div data-v-5dedbd3c="" class="info-num g--font-hsr">{{ basic.possibility_gallery_progress }}%</div>
|
||||
<img data-v-5dedbd3c="" src="img/info-border.4ea24bf7.png" class="info-border" alt="">
|
||||
<div data-v-5dedbd3c="" class="info-name">可能性画廊</div>
|
||||
</div>
|
||||
<div data-v-5dedbd3c="" class="info-list">
|
||||
<div data-v-5dedbd3c="" class="info-num g--font-hsr">{{ basic.skill_tree_activated }}</div>
|
||||
<img data-v-5dedbd3c="" src="img/info-border.4ea24bf7.png" class="info-border" alt="">
|
||||
<div data-v-5dedbd3c="" class="info-name">已激活结点</div>
|
||||
</div>
|
||||
<div data-v-5dedbd3c="" class="info-list">
|
||||
<div data-v-5dedbd3c="" class="info-num g--font-hsr">
|
||||
{{ basic.season_task_finished }}/{{ basic.season_task_total }}
|
||||
</div>
|
||||
<img data-v-5dedbd3c="" src="img/info-border.4ea24bf7.png" class="info-border" alt="">
|
||||
<div data-v-5dedbd3c="" class="info-name">稳态数组</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div data-v-5dedbd3c="" class="simulate-box-center">
|
||||
<div data-v-5dedbd3c="" class="simulate-box-center_title">
|
||||
<div data-v-5dedbd3c="" class="title-left">常规演算</div>
|
||||
</div>
|
||||
{% set record = basic.normal_record_brief %}
|
||||
<div data-v-5dedbd3c="" class="simulate-box-center_content daily">
|
||||
<div data-v-5dedbd3c="" class="content-left">最高通关难度</div>
|
||||
{% if record.exist_data %}
|
||||
<div data-v-15e079f7="" data-v-5dedbd3c="" class="content-right-wrap content-right-undefined">
|
||||
<div data-v-15e079f7="" class="content-right-image">
|
||||
<div data-v-15e079f7="" class="content-right">
|
||||
{% set level = record.common_info.floor + 1 %}
|
||||
{% set diff = record.common_info.difficulty %}
|
||||
<img data-v-15e079f7="" src="img/level-{{ level }}.png" class="difficult-level-img" alt="">
|
||||
{% if level == 6 and diff > 0 %}
|
||||
<p data-v-15e079f7="" class="difficult-num g--font-hsr">
|
||||
{{ diff }}
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if record.icon %}
|
||||
<img data-v-15e079f7="" src="{{ record.icon }}" class="difficult-icon" alt="">
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if record.title %}
|
||||
<div data-v-15e079f7="" class="difficult-desc" style="color: {{ record.color }};">{{ record.title }}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% else %}
|
||||
<div data-v-15e079f7="" data-v-5dedbd3c="" class="content-right-wrap">
|
||||
<p data-v-15e079f7="" class="finish-name">尚未挑战</p>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div data-v-5dedbd3c="" class="simulate-box-center">
|
||||
<div data-v-5dedbd3c="" class="simulate-box-center_title">
|
||||
<div data-v-5dedbd3c="" class="title-left">周期演算</div>
|
||||
</div>
|
||||
<div data-v-5dedbd3c="" class="simulate-box-center_content week">
|
||||
<div data-v-5dedbd3c="" class="content-left">本周首通奖励</div>
|
||||
{% set finish_css = '' %}
|
||||
{% set finish_text = '未领取' %}
|
||||
{% if basic.finished_weekly %}
|
||||
{% set finish_css = 'finish' %}
|
||||
{% set finish_text = '已领取' %}
|
||||
{% endif %}
|
||||
<div data-v-5dedbd3c="" class="content-right {{ finish_css }}"><p data-v-5dedbd3c="" class="finish-name">
|
||||
{{ finish_text }}
|
||||
</p>
|
||||
<div data-v-5dedbd3c="" class="finish-icon"></div>
|
||||
</div>
|
||||
</div>
|
||||
{% set record = basic.weekly_record_brief %}
|
||||
<div data-v-5dedbd3c="" class="simulate-box-center_content week">
|
||||
<div data-v-5dedbd3c="" class="content-left">本周最高通关难度</div>
|
||||
{% if record.exist_data %}
|
||||
<div data-v-15e079f7="" data-v-5dedbd3c="" size="" class="content-right-wrap content-right-detail">
|
||||
<div data-v-15e079f7="" class="content-right-image">
|
||||
<div data-v-15e079f7="" class="content-right">
|
||||
{% set level = record.common_info.floor + 1 %}
|
||||
{% set diff = record.common_info.difficulty %}
|
||||
<img data-v-15e079f7="" src="img/level-{{ level }}.png" class="difficult-level-img" alt="">
|
||||
{% if level == 6 and diff > 0 %}
|
||||
<p data-v-15e079f7="" class="difficult-num g--font-hsr">
|
||||
{{ diff }}
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if record.icon %}
|
||||
<img data-v-15e079f7="" src="{{ record.icon }}" class="difficult-icon" alt="">
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if record.title %}
|
||||
<div data-v-15e079f7="" class="difficult-desc" style="color: {{ record.color }};">{{ record.title }}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% else %}
|
||||
<div data-v-15e079f7="" data-v-5dedbd3c="" class="content-right-wrap">
|
||||
<p data-v-15e079f7="" class="finish-name">尚未挑战</p>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|