This commit is contained in:
parent
6a836b2505
commit
31e7242edc
52 changed files with 1043 additions and 856 deletions
|
@ -1 +1 @@
|
|||
Subproject commit 39e36ab39ed8df3a68e8e424a08ab17edc0f0b09
|
||||
Subproject commit 521d803b9647e42feb774630790adc703d75724c
|
|
@ -1 +1 @@
|
|||
Subproject commit d6bad2e63c9c8055db38f231ede203de1280dde3
|
||||
Subproject commit b29dbac9695b219094b0763018510b4bcc82ea6a
|
|
@ -1 +1 @@
|
|||
Subproject commit a4869a31c7fc316e9fe2b4f2c7c26d4842ef8450
|
||||
Subproject commit 83bf369929da847be61e7e9e2309028f4619260c
|
296
auto_get_res.py
296
auto_get_res.py
|
@ -27,29 +27,47 @@ def 加载json(file_path):
|
|||
class Arknights数据处理器:
|
||||
def __init__(self):
|
||||
self.当前时间戳 = datetime.now().timestamp()
|
||||
|
||||
仓库_1 = "ArknightsGameResource/gamedata/excel" # noqa: F841
|
||||
|
||||
仓库_2 = "ArknightsGameData/zh_CN/gamedata/excel" # noqa: F841
|
||||
|
||||
仓库_3 = "ArknightsResource/gamedata/excel" # noqa: F841
|
||||
|
||||
self.物品表 = 加载json(f"./{仓库_1}/item_table.json")
|
||||
self.干员表 = 加载json(f"./{仓库_1}/character_table.json")
|
||||
self.阿米娅表 = 加载json(f"./{仓库_1}/char_patch_table.json")
|
||||
self.抽卡表 = 加载json(f"./{仓库_1}/gacha_table.json")
|
||||
self.关卡表 = 加载json(f"./{仓库_1}/stage_table.json")
|
||||
self.活动表 = 加载json(f"./{仓库_1}/activity_table.json")
|
||||
self.基建表 = 加载json(f"./{仓库_1}/building_data.json")
|
||||
self.游戏变量 = 加载json(f"./{仓库_1}/gamedata_const.json")
|
||||
self.模组 = 加载json(f"./{仓库_1}/uniequip_table.json")
|
||||
self.战斗技能 = 加载json(f"./{仓库_1}/skill_table.json")
|
||||
self.物品表 = 加载json(f"./{仓库_2}/item_table.json")
|
||||
|
||||
self.干员表 = 加载json(f"./{仓库_2}/character_table.json")
|
||||
|
||||
self.阿米娅表 = 加载json(f"./{仓库_2}/char_patch_table.json")
|
||||
|
||||
self.抽卡表 = 加载json(f"./{仓库_2}/gacha_table.json")
|
||||
|
||||
self.关卡表 = 加载json(f"./{仓库_2}/stage_table.json")
|
||||
|
||||
self.活动表 = 加载json(f"./{仓库_2}/activity_table.json")
|
||||
|
||||
self.基建表 = 加载json(f"./{仓库_2}/building_data.json")
|
||||
|
||||
self.游戏变量 = 加载json(f"./{仓库_2}/gamedata_const.json")
|
||||
|
||||
self.模组 = 加载json(f"./{仓库_2}/uniequip_table.json")
|
||||
|
||||
self.战斗技能 = 加载json(f"./{仓库_2}/skill_table.json")
|
||||
|
||||
self.装仓库物品的字典 = {"NORMAL": [], "CONSUME": [], "MATERIAL": []}
|
||||
|
||||
self.常驻关卡 = 加载json("mower/data/stage_data.json")
|
||||
|
||||
self.所有buff = []
|
||||
|
||||
self.限定十连 = self.抽卡表["limitTenGachaItem"]
|
||||
|
||||
self.联动十连 = self.抽卡表["linkageTenGachaItem"]
|
||||
|
||||
self.普通十连 = self.抽卡表["normalGachaItem"]
|
||||
|
||||
self.所有卡池 = self.限定十连 + self.联动十连 + self.普通十连
|
||||
|
||||
self.总掉落表 = []
|
||||
|
||||
def 添加物品至前端文件(self):
|
||||
|
@ -57,16 +75,21 @@ class Arknights数据处理器:
|
|||
|
||||
def 检查图标代码匹配(目标图标代码, 物品类型, 分类类型, 排序代码):
|
||||
匹配结果 = False
|
||||
|
||||
for 池子限时物品 in self.所有卡池:
|
||||
if (
|
||||
池子限时物品["itemId"] == 目标图标代码
|
||||
and self.当前时间戳 > 池子限时物品["endTime"]
|
||||
):
|
||||
匹配结果 = True
|
||||
|
||||
break
|
||||
|
||||
分割部分 = 目标图标代码.split("_")
|
||||
|
||||
if len(分割部分) == 2 and 分割部分[0].endswith("recruitment10"):
|
||||
匹配结果 = True
|
||||
|
||||
if len(分割部分) == 6 and int(分割部分[5]) < 2023:
|
||||
匹配结果 = True
|
||||
|
||||
|
@ -75,91 +98,136 @@ class Arknights数据处理器:
|
|||
|
||||
if len(分割部分) == 3 and 目标图标代码.startswith("voucher_full"):
|
||||
匹配结果 = True
|
||||
|
||||
if 目标图标代码 == "ap_supply_lt_60":
|
||||
匹配结果 = True
|
||||
|
||||
抽卡 = self.抽卡表.get("gachaPoolClient", [])
|
||||
|
||||
for 卡池 in 抽卡:
|
||||
if 卡池["LMTGSID"] == 目标图标代码 and self.当前时间戳 > int(
|
||||
卡池["endTime"]
|
||||
):
|
||||
匹配结果 = True
|
||||
|
||||
if 分类类型 == "NONE":
|
||||
匹配结果 = True
|
||||
|
||||
if 排序代码 <= 0:
|
||||
匹配结果 = True
|
||||
|
||||
if 分类类型 == "NONE":
|
||||
for item in self.总掉落表:
|
||||
if 目标图标代码 == item["id"]:
|
||||
匹配结果 = False
|
||||
|
||||
return 匹配结果
|
||||
|
||||
self.物品_名称_输出用 = {}
|
||||
|
||||
self.物品_名称_模型用 = {}
|
||||
|
||||
if not os.path.exists("./ui/public/depot/理智.webp"):
|
||||
png_image = Image.open("./ArknightsGameResource/item/AP_GAMEPLAY.png")
|
||||
|
||||
png_image.save("./ui/public/depot/理智.webp", "WEBP")
|
||||
|
||||
if not os.path.exists("./ui/public/depot/EXP.webp"):
|
||||
png_image = Image.open("./ArknightsGameResource/item/EXP_PLAYER.png")
|
||||
|
||||
png_image.save("./ui/public/depot/EXP.webp", "WEBP")
|
||||
|
||||
for 物品代码, 物品数据 in self.物品表["items"].items():
|
||||
中文名称 = 物品数据.get("name", "")
|
||||
|
||||
图标代码 = 物品数据.get("iconId", "")
|
||||
|
||||
排序代码 = 物品数据.get("sortId", "")
|
||||
|
||||
分类类型 = 物品数据.get("classifyType", "")
|
||||
|
||||
物品类型 = 物品数据.get("itemType", "")
|
||||
|
||||
# 源文件路径 = f"./ArknightsGameResource/item/{图标代码}.png"
|
||||
|
||||
源文件路径 = f"./ArknightsResource/items/{图标代码}.png"
|
||||
|
||||
排除开关 = False
|
||||
|
||||
排除开关 = 检查图标代码匹配(图标代码, 物品类型, 分类类型, 排序代码)
|
||||
|
||||
if not 排除开关:
|
||||
if os.path.exists(源文件路径):
|
||||
目标文件路径 = f"./ui/public/depot/{中文名称}.webp"
|
||||
|
||||
if not os.path.exists(目标文件路径):
|
||||
png_image = Image.open(源文件路径)
|
||||
|
||||
png_image.save(目标文件路径, "WEBP")
|
||||
|
||||
if 分类类型 != "NONE":
|
||||
self.装仓库物品的字典[分类类型].append(
|
||||
[目标文件路径, 源文件路径]
|
||||
)
|
||||
|
||||
templist = [物品代码, 图标代码, 中文名称, 分类类型, 排序代码]
|
||||
|
||||
self.物品_名称_输出用[物品代码] = templist
|
||||
|
||||
self.物品_名称_模型用[中文名称] = templist
|
||||
|
||||
self.物品_名称_模型用[物品代码] = templist
|
||||
|
||||
print(f"复制 {源文件路径} 到 {目标文件路径}")
|
||||
|
||||
with open("./mower/data/key_mapping.json", "w", encoding="utf8") as json_file:
|
||||
json.dump(self.物品_名称_输出用, json_file, ensure_ascii=False, indent=4)
|
||||
print()
|
||||
|
||||
def 干员列表(self):
|
||||
"""读取干员列表并输出至./mower/data/agent.json"""
|
||||
|
||||
干员_名称字典 = {}
|
||||
|
||||
for 干员代码, 干员数据 in self.干员表.items():
|
||||
if not 干员数据["itemObtainApproach"]:
|
||||
continue
|
||||
|
||||
干员名 = 干员数据["name"]
|
||||
|
||||
干员_名称字典[干员名] = {
|
||||
"key": 干员代码,
|
||||
"profession": 干员数据["profession"],
|
||||
"name": 干员数据["appellation"],
|
||||
}
|
||||
|
||||
干员头像路径 = f"./ArknightsGameResource/avatar/{干员代码}.png"
|
||||
|
||||
# 干员头像路径 = f"./ArknightsResource/avatar/ASSISTANT/{干员代码}.png"
|
||||
|
||||
目标路径 = f"./ui/public/avatar/{干员数据['name']}.webp"
|
||||
|
||||
if os.path.exists(目标路径):
|
||||
continue
|
||||
|
||||
print(f"{干员名}: {干员代码}")
|
||||
|
||||
png_image = Image.open(干员头像路径)
|
||||
|
||||
png_image.save(目标路径, "WEBP")
|
||||
|
||||
干员_名称字典 = dict(
|
||||
sorted(干员_名称字典.items(), key=lambda item: len(item[0]))
|
||||
)
|
||||
|
||||
with open("./mower/data/agent.json", "w", encoding="utf-8") as f:
|
||||
json.dump(干员_名称字典, f, ensure_ascii=False, indent=4)
|
||||
|
||||
def 读取卡池(self):
|
||||
"""读取当前开放的卡池,暂无输出"""
|
||||
|
||||
抽卡 = self.抽卡表.get("gachaPoolClient", [])
|
||||
|
||||
卡池类型映射 = {
|
||||
"SINGLE": "单人池",
|
||||
"LIMITED": "限定池",
|
||||
|
@ -173,85 +241,121 @@ class Arknights数据处理器:
|
|||
|
||||
for 项 in 抽卡:
|
||||
卡池名称 = 项.get("gachaPoolName")
|
||||
|
||||
开始时间戳 = 项.get("openTime")
|
||||
|
||||
结束时间戳 = 项.get("endTime")
|
||||
|
||||
卡池类型代码 = 项.get("gachaPoolId")
|
||||
|
||||
卡池出人 = 项.get("dynMeta")
|
||||
|
||||
if self.当前时间戳 < 结束时间戳:
|
||||
卡池类型 = 卡池类型映射.get(卡池类型代码.split("_")[0], 卡池类型代码)
|
||||
|
||||
if 卡池类型代码.split("_")[1] == "ATTAIN":
|
||||
卡池类型 = "跨年中坚池"
|
||||
|
||||
if 卡池名称 == "适合多种场合的强力干员":
|
||||
卡池名称 = 卡池类型
|
||||
|
||||
开始时间 = datetime.fromtimestamp(开始时间戳)
|
||||
|
||||
结束时间 = datetime.fromtimestamp(结束时间戳 + 1)
|
||||
|
||||
print("卡池名称:", 卡池名称)
|
||||
|
||||
print("卡池类型:", 卡池类型)
|
||||
|
||||
if 卡池类型 == "中坚池":
|
||||
print(
|
||||
卡池出人["main6RarityCharId"],
|
||||
卡池出人["sub6RarityCharId"],
|
||||
卡池出人["rare5CharList"],
|
||||
)
|
||||
|
||||
if self.当前时间戳 > 开始时间戳:
|
||||
print("正在进行")
|
||||
|
||||
print("卡池结束时间:", 结束时间)
|
||||
|
||||
else:
|
||||
print("卡池开始时间:", 开始时间)
|
||||
|
||||
print("卡池结束时间:", 结束时间)
|
||||
|
||||
print(卡池类型代码)
|
||||
print()
|
||||
|
||||
def 输出_活动关卡和掉落(self):
|
||||
"""读取活动关卡及掉落物并写入./ui/src/pages/stage_data/event_data.json"""
|
||||
|
||||
关卡 = self.关卡表["stageValidInfo"]
|
||||
|
||||
还未结束的非常驻关卡 = {
|
||||
键: 值
|
||||
for 键, 值 in 关卡.items()
|
||||
if 值["endTs"] != -1 and 值["endTs"] > self.当前时间戳
|
||||
}
|
||||
|
||||
还未结束的非常驻关卡 = dict(sorted(还未结束的非常驻关卡.items()))
|
||||
|
||||
for 键, _ in 还未结束的非常驻关卡.items():
|
||||
关卡代码 = self.关卡表["stages"][键]["code"]
|
||||
|
||||
if 键.endswith("#f#"):
|
||||
关卡代码 += " 突袭"
|
||||
|
||||
关卡名称 = self.关卡表["stages"][键]["name"]
|
||||
|
||||
关卡开始时间戳 = 还未结束的非常驻关卡[键]["startTs"]
|
||||
|
||||
关卡结束时间戳 = 还未结束的非常驻关卡[键]["endTs"]
|
||||
|
||||
关卡消耗理智 = self.关卡表["stages"][键]["apCost"]
|
||||
|
||||
# 关卡结束时间 = datetime.fromtimestamp(还未结束的非常驻关卡[键]["endTs"] + 1)
|
||||
|
||||
关卡掉落表 = self.关卡表["stages"][键]["stageDropInfo"][
|
||||
"displayDetailRewards"
|
||||
]
|
||||
|
||||
# print(f"{关卡代码=}{关卡掉落表=}")
|
||||
|
||||
self.总掉落表.extend(关卡掉落表)
|
||||
|
||||
关卡掉落 = {}
|
||||
|
||||
突袭首次掉落 = [
|
||||
self.物品表.get("items", {}).get(item["id"], {}).get("name", item["id"])
|
||||
for item in 关卡掉落表
|
||||
if item["dropType"] in {1, "ONCE"}
|
||||
]
|
||||
|
||||
常规掉落 = [
|
||||
self.物品表.get("items", {}).get(item["id"], {}).get("name", item["id"])
|
||||
for item in 关卡掉落表
|
||||
if item["dropType"] in {2, "NORMAL"}
|
||||
]
|
||||
|
||||
特殊掉落 = [
|
||||
self.物品表.get("items", {}).get(item["id"], {}).get("name", item["id"])
|
||||
for item in 关卡掉落表
|
||||
if item["dropType"] in {3, "SPECIAL"}
|
||||
]
|
||||
|
||||
额外物资 = [
|
||||
self.物品表.get("items", {}).get(item["id"], {}).get("name", item["id"])
|
||||
for item in 关卡掉落表
|
||||
if item["dropType"] in {4, "ADDITIONAL"}
|
||||
]
|
||||
|
||||
首次掉落 = [
|
||||
self.物品表.get("items", {}).get(item["id"], {}).get("name", item["id"])
|
||||
for item in 关卡掉落表
|
||||
if item["dropType"] in {8, "COMPLETE"}
|
||||
]
|
||||
|
||||
关卡掉落 = {
|
||||
"突袭首次掉落": 突袭首次掉落,
|
||||
"常规掉落": 常规掉落,
|
||||
|
@ -278,10 +382,14 @@ class Arknights数据处理器:
|
|||
"周日": 1,
|
||||
}
|
||||
)
|
||||
|
||||
unkey = 0
|
||||
|
||||
for item in self.常驻关卡:
|
||||
item["key"] = unkey
|
||||
|
||||
unkey += 1
|
||||
|
||||
with open(
|
||||
"./ui/src/pages/stage_data/event_data.json", "w", encoding="utf-8"
|
||||
) as f:
|
||||
|
@ -289,6 +397,7 @@ class Arknights数据处理器:
|
|||
|
||||
def 输出_公招资源(self):
|
||||
recruit_data = {}
|
||||
|
||||
recruit_result_data = {
|
||||
4: [],
|
||||
3: [],
|
||||
|
@ -296,29 +405,47 @@ class Arknights数据处理器:
|
|||
1: [],
|
||||
-1: [],
|
||||
}
|
||||
|
||||
# for 干员代码, 干员数据 in self.干员表.items():
|
||||
|
||||
# print(干员代码,干员数据)
|
||||
|
||||
recruit_list = self.抽卡表["recruitDetail"].replace("\\n<@rc.eml>", "")
|
||||
|
||||
recruit_list = recruit_list.replace("\\n", "")
|
||||
|
||||
recruit_list = recruit_list.replace("\r", "")
|
||||
|
||||
recruit_list = recruit_list.replace("★", "")
|
||||
|
||||
recruit_list = recruit_list.replace("<@rc.eml>", "")
|
||||
|
||||
recruit_list = recruit_list.replace("</>", "")
|
||||
|
||||
recruit_list = recruit_list.replace("/", "")
|
||||
|
||||
recruit_list = recruit_list.replace(" ", "\n")
|
||||
|
||||
recruit_list = recruit_list.replace("--------------------", "")
|
||||
|
||||
recruit_list = recruit_list.replace("<@rc.title>公开招募说明", "")
|
||||
|
||||
recruit_list = recruit_list.replace("<@rc.em>※稀有职业需求招募说明※", "")
|
||||
|
||||
recruit_list = recruit_list.replace(
|
||||
"<@rc.em>当职业需求包含高级资深干员,且招募时限为9小时时,招募必得6星干员",
|
||||
"",
|
||||
)
|
||||
|
||||
recruit_list = recruit_list.replace(
|
||||
"<@rc.em>当职业需求包含资深干员同时不包含高级资深干员,且招募时限为9小时,则该次招募必得5星干员",
|
||||
"",
|
||||
)
|
||||
|
||||
recruit_list = recruit_list.replace("<@rc.subtitle>※全部可能出现的干员※", "")
|
||||
|
||||
recruit_list = recruit_list.replace("绿色高亮的不可寻访干员,可以在此招募", "")
|
||||
|
||||
recruit_list = recruit_list.split("\n")
|
||||
|
||||
profession = {
|
||||
|
@ -340,28 +467,37 @@ class Arknights数据处理器:
|
|||
|
||||
if 干员名 in recruit_list:
|
||||
tag = 干员数据["tagList"]
|
||||
|
||||
# 数据中稀有度从0-5
|
||||
|
||||
if isinstance(干员数据["rarity"], str) and 干员数据[
|
||||
"rarity"
|
||||
].startswith("TIER_"):
|
||||
干员数据["rarity"] = int(干员数据["rarity"][-1]) # 减一没了
|
||||
|
||||
elif isinstance(干员数据["rarity"], int):
|
||||
干员数据["rarity"] += 1
|
||||
|
||||
else:
|
||||
raise ValueError(
|
||||
f"出错:数据结构不对,内容是 {干员数据['rarity']},类型是 {type(干员数据['rarity'])}"
|
||||
)
|
||||
|
||||
if len(干员名) <= 4:
|
||||
recruit_result_data[len(干员名)].append(干员代码)
|
||||
|
||||
else:
|
||||
recruit_result_data[-1].append(干员代码)
|
||||
|
||||
if 干员数据["rarity"] == 5:
|
||||
tag.append("资深干员")
|
||||
|
||||
elif 干员数据["rarity"] == 6:
|
||||
tag.append("高级资深干员")
|
||||
|
||||
if 干员数据["position"] == "MELEE":
|
||||
tag.append("近战位")
|
||||
|
||||
elif 干员数据["position"] == "RANGED":
|
||||
tag.append("远程位")
|
||||
|
||||
|
@ -377,13 +513,16 @@ class Arknights数据处理器:
|
|||
干员名, 干员数据["rarity"], 干员数据["tagList"]
|
||||
)
|
||||
)
|
||||
|
||||
print("载入公招干员数据{}个".format(len(recruit_data)))
|
||||
|
||||
with open("./mower/data/recruit.json", "w", encoding="utf-8") as f:
|
||||
json.dump(recruit_data, f, ensure_ascii=False, indent=4)
|
||||
|
||||
def 训练仓库的knn模型(self, 模板文件夹, 模型保存路径):
|
||||
def 提取特征点(模板):
|
||||
模板 = 模板[40:173, 40:173]
|
||||
|
||||
hog_features = hog(
|
||||
模板,
|
||||
orientations=18,
|
||||
|
@ -398,20 +537,29 @@ class Arknights数据处理器:
|
|||
|
||||
def 加载图片特征点_标签(模板类型):
|
||||
特征点列表 = []
|
||||
|
||||
标签列表 = []
|
||||
|
||||
for [目标文件路径, 源文件路径] in self.装仓库物品的字典[模板类型]:
|
||||
模板 = cv2.imread(源文件路径)
|
||||
|
||||
模板 = cv2.resize(模板, (213, 213))
|
||||
|
||||
特征点 = 提取特征点(模板)
|
||||
|
||||
特征点列表.append(特征点)
|
||||
|
||||
标签列表.append(self.物品_名称_模型用[目标文件路径[18:-5]][2])
|
||||
|
||||
return 特征点列表, 标签列表
|
||||
|
||||
def 训练knn模型(images, labels):
|
||||
knn_classifier = KNeighborsClassifier(
|
||||
weights="distance", n_neighbors=1, n_jobs=1
|
||||
)
|
||||
|
||||
knn_classifier.fit(images, labels)
|
||||
|
||||
return knn_classifier
|
||||
|
||||
def 保存knn模型(classifier, filename):
|
||||
|
@ -419,16 +567,21 @@ class Arknights数据处理器:
|
|||
pickle.dump(classifier, f)
|
||||
|
||||
模板特征点, 模板标签 = 加载图片特征点_标签(模板文件夹)
|
||||
|
||||
knn模型 = 训练knn模型(模板特征点, 模板标签)
|
||||
|
||||
保存knn模型(knn模型, 模型保存路径)
|
||||
|
||||
def 输出_扫仓库模型(self):
|
||||
"""输出扫描仓库的Knn模型
|
||||
|
||||
|
||||
和添加物品至前端文件() 有联动 , 添加物品提供了分类的图片位置"""
|
||||
|
||||
self.训练仓库的knn模型("NORMAL", "./mower/static/NORMAL.pkl")
|
||||
|
||||
self.训练仓库的knn模型("CONSUME", "./mower/static/CONSUME.pkl")
|
||||
|
||||
self.训练仓库的knn模型("MATERIAL", "./mower/static/MATERIAL.pkl")
|
||||
|
||||
def 输出_在房间内的干员名的模型(self):
|
||||
|
@ -440,22 +593,36 @@ class Arknights数据处理器:
|
|||
|
||||
with open("./mower/data/agent.json", "r", encoding="utf-8") as f:
|
||||
agent_list = json.load(f)
|
||||
|
||||
for operator in sorted(agent_list, key=lambda x: len(x), reverse=True):
|
||||
img = Image.new(mode="L", size=(400, 100))
|
||||
|
||||
draw = ImageDraw.Draw(img)
|
||||
|
||||
draw.text((50, 20), operator, fill=(255,), font=font)
|
||||
|
||||
img = np.array(img, dtype=np.uint8)
|
||||
|
||||
img = thres2(img, 200)
|
||||
|
||||
dilation = cv2.dilate(img, kernel, iterations=1)
|
||||
|
||||
contours, _ = cv2.findContours(
|
||||
dilation, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE
|
||||
)
|
||||
|
||||
rect = map(lambda c: cv2.boundingRect(c), contours)
|
||||
|
||||
x, y, w, h = sorted(rect, key=lambda c: c[0])[0]
|
||||
|
||||
img = img[y : y + h, x : x + w]
|
||||
|
||||
tpl = np.zeros((46, 265), dtype=np.uint8)
|
||||
|
||||
tpl[: img.shape[0], : img.shape[1]] = img
|
||||
|
||||
# cv2.imwrite(f"/home/zhao/Desktop/data/{operator}.png", tpl)
|
||||
|
||||
data[operator] = tpl
|
||||
|
||||
with lzma.open("mower/static/operator_room.model", "wb") as f:
|
||||
|
@ -463,70 +630,109 @@ class Arknights数据处理器:
|
|||
|
||||
def avatar_and_portrait(self, save_img=False):
|
||||
mapping = {} # char_285_medic2 -> Lancet-2
|
||||
|
||||
for name, data in self.干员表.items():
|
||||
mapping[name] = data["name"]
|
||||
|
||||
for name in self.阿米娅表["infos"]["char_002_amiya"]["tmplIds"]:
|
||||
mapping[name] = "阿米娅"
|
||||
|
||||
def extract(name, scope):
|
||||
data_path = f"./ArknightsGameResource/{name}"
|
||||
|
||||
# data_path = f"./ArknightsResource/{name}"
|
||||
|
||||
file_list = os.listdir(data_path)
|
||||
|
||||
h, w = loadimg(os.path.join(data_path, file_list[0]), True).shape
|
||||
total = len(file_list)
|
||||
|
||||
col = math.ceil(math.sqrt(total * h / w))
|
||||
|
||||
row = math.ceil(total / col)
|
||||
|
||||
full = np.zeros((row * h, col * w), dtype=np.uint8)
|
||||
|
||||
mask = full.copy()
|
||||
|
||||
name_list = []
|
||||
|
||||
i = 0
|
||||
|
||||
trap_list = []
|
||||
|
||||
for filename in file_list:
|
||||
if filename == "char_017_huang2.png":
|
||||
continue
|
||||
|
||||
x = (i % col) * w
|
||||
|
||||
y = (i // col) * h
|
||||
|
||||
mx, my = sa(scope, (x, y))
|
||||
|
||||
# filename: char_285_medic2_1.png
|
||||
|
||||
for j, k in mapping.items():
|
||||
# j: char_285_medic2
|
||||
|
||||
# k: Lancet-2
|
||||
|
||||
if filename.startswith(j):
|
||||
if filename.startswith("trap_"):
|
||||
if k in trap_list:
|
||||
break
|
||||
|
||||
trap_list.append(k)
|
||||
|
||||
img = loadimg(os.path.join(data_path, filename), True)
|
||||
|
||||
if img.shape != (h, w):
|
||||
img = cv2.resize(img, (w, h))
|
||||
|
||||
full[y : y + h, x : x + w] = img
|
||||
|
||||
cv2.rectangle(mask, mx, my, (255,), -1)
|
||||
|
||||
name_list.append(k)
|
||||
|
||||
i += 1
|
||||
|
||||
break
|
||||
|
||||
if save_img:
|
||||
disp = cv2.bitwise_and(full, mask)
|
||||
|
||||
cv2.imwrite(f"{name}.png", disp)
|
||||
|
||||
kp, des = fast_keypoints(full, mask)
|
||||
|
||||
pt = [p.pt for p in kp]
|
||||
|
||||
data = {"w": w, "h": h, "col": col, "name": name_list, "pt": pt, "des": des}
|
||||
|
||||
if name == "avatar/ASSISTANT":
|
||||
name = "avatar"
|
||||
|
||||
if name == "charpor":
|
||||
name = "portrait"
|
||||
|
||||
with lzma.open(f"./mower/static/{name}.pkl", "wb") as f:
|
||||
pickle.dump(data, f)
|
||||
|
||||
extract("avatar", ((20, 51), (160, 146)))
|
||||
|
||||
extract("portrait", ((20, 115), (160, 190)))
|
||||
|
||||
# extract("avatar/ASSISTANT", ((20, 51), (160, 146)))
|
||||
|
||||
# extract("charpor", ((20, 51), (160, 146)))
|
||||
|
||||
def 获得干员基建描述(self):
|
||||
buff描述 = self.基建表["buffs"]
|
||||
|
||||
buff_table = {}
|
||||
|
||||
for buff名称, 相关buff in buff描述.items():
|
||||
buff_table[buff名称] = [
|
||||
相关buff["buffName"],
|
||||
|
@ -541,6 +747,7 @@ class Arknights数据处理器:
|
|||
干员技能列表 = []
|
||||
|
||||
name_key = 0
|
||||
|
||||
for 角色id, 相关buff in self.基建表["chars"].items():
|
||||
干员技能字典 = {
|
||||
"key": 0,
|
||||
|
@ -549,11 +756,20 @@ class Arknights数据处理器:
|
|||
"child_skill": [],
|
||||
}
|
||||
|
||||
干员技能字典["name"] = self.干员表[角色id]["name"]
|
||||
try:
|
||||
干员技能字典["name"] = self.干员表[角色id]["name"]
|
||||
|
||||
except KeyError:
|
||||
print(f"警告:在干员表中找不到 角色id '{角色id}',已跳过。")
|
||||
|
||||
continue
|
||||
|
||||
skill_key = 0
|
||||
|
||||
name_key += 1
|
||||
|
||||
干员技能字典["key"] = name_key
|
||||
|
||||
for item in 相关buff["buffChar"]:
|
||||
skill_level = 0
|
||||
|
||||
|
@ -562,8 +778,11 @@ class Arknights数据处理器:
|
|||
干员技能详情 = {}
|
||||
|
||||
干员技能详情["skill_key"] = skill_key
|
||||
|
||||
干员技能详情["skill_level"] = skill_level
|
||||
|
||||
skill_level += 1
|
||||
|
||||
phase = (
|
||||
item2["cond"]["phase"][-1]
|
||||
if isinstance(item2["cond"]["phase"], (list, str))
|
||||
|
@ -573,55 +792,84 @@ class Arknights数据处理器:
|
|||
干员技能详情["phase_level"] = (
|
||||
f"精{phase} {item2['cond']['level']}级"
|
||||
)
|
||||
|
||||
干员技能详情["skillname"] = buff_table[item2["buffId"]][0]
|
||||
|
||||
text = buff_table[item2["buffId"]][1]
|
||||
|
||||
pattern = r"<\$(.*?)>"
|
||||
|
||||
matches = re.findall(pattern, text)
|
||||
|
||||
ex_string = []
|
||||
|
||||
干员技能详情["buffer"] = False
|
||||
|
||||
干员技能详情["buffer_des"] = []
|
||||
|
||||
if matches:
|
||||
干员技能详情["buffer"] = True
|
||||
|
||||
ex_string = list(
|
||||
set([match.replace(".", "_") for match in matches])
|
||||
)
|
||||
|
||||
ex_string.sort()
|
||||
|
||||
干员技能详情["buffer_des"] = ex_string
|
||||
|
||||
self.所有buff.extend(ex_string)
|
||||
|
||||
干员技能详情["des"] = text
|
||||
|
||||
干员技能详情["roomType"] = roomType[
|
||||
buff_table[item2["buffId"]][2]
|
||||
]
|
||||
|
||||
干员技能详情["buffCategory"] = buff_table[item2["buffId"]][3]
|
||||
|
||||
干员技能详情["skillIcon"] = buff_table[item2["buffId"]][4]
|
||||
|
||||
干员技能详情["buffColor"] = buff_table[item2["buffId"]][5]
|
||||
|
||||
干员技能详情["textColor"] = buff_table[item2["buffId"]][6]
|
||||
|
||||
干员技能字典["child_skill"].append(干员技能详情)
|
||||
|
||||
干员技能详情 = []
|
||||
|
||||
干员技能字典["span"] = len(干员技能字典["child_skill"])
|
||||
|
||||
skill_key += 1
|
||||
|
||||
干员技能列表.append(干员技能字典.copy())
|
||||
|
||||
干员技能列表 = sorted(干员技能列表, key=lambda x: (-x["key"]))
|
||||
|
||||
# print(干员技能列表)
|
||||
|
||||
with open("./mower/data/building_skill/skill.json", "w", encoding="utf-8") as f:
|
||||
json.dump(干员技能列表, f, ensure_ascii=False, indent=4)
|
||||
|
||||
def 转换输出基建buff(self):
|
||||
buff_table = {}
|
||||
|
||||
pattern = r"<\$(.*?)>"
|
||||
|
||||
for item in self.游戏变量["termDescriptionDict"]:
|
||||
matches = re.findall(
|
||||
pattern, self.游戏变量["termDescriptionDict"][item]["description"]
|
||||
)
|
||||
|
||||
matches = [match.replace(".", "_") for match in matches]
|
||||
|
||||
dict1 = self.游戏变量["termDescriptionDict"][item]
|
||||
|
||||
dict1["buffer"] = []
|
||||
|
||||
if item.startswith("cc") and matches:
|
||||
dict1["buffer"] = matches
|
||||
|
||||
buff_table[item.replace(".", "_")] = dict1
|
||||
|
||||
with open(
|
||||
|
@ -631,41 +879,58 @@ class Arknights数据处理器:
|
|||
|
||||
def 添加基建技能图标(self):
|
||||
# 源目录和目标目录
|
||||
|
||||
source_dir = "./ArknightsGameResource/building_skill"
|
||||
|
||||
destination_dir = "./ui/public/building_skill"
|
||||
|
||||
# 创建目标目录(如果不存在)
|
||||
|
||||
os.makedirs(destination_dir, exist_ok=True)
|
||||
|
||||
# 遍历源目录中的所有文件
|
||||
|
||||
for root, dirs, files in os.walk(source_dir):
|
||||
for file in files:
|
||||
if file.endswith(".png"):
|
||||
src_file_path = os.path.join(root, file)
|
||||
|
||||
# 修改文件扩展名为 .webp
|
||||
|
||||
dest_file_name = os.path.splitext(file)[0] + ".webp"
|
||||
|
||||
dest_file_path = os.path.join(destination_dir, dest_file_name)
|
||||
|
||||
if not os.path.exists(dest_file_path):
|
||||
with Image.open(src_file_path) as img:
|
||||
img.save(dest_file_path, "webp")
|
||||
|
||||
print(f"转换: {src_file_path} 到 {dest_file_path}")
|
||||
|
||||
else:
|
||||
print(f"跳过: {dest_file_path} 已存在")
|
||||
|
||||
def 输出_前端基建资源(self):
|
||||
self.获得干员基建描述()
|
||||
|
||||
self.转换输出基建buff()
|
||||
|
||||
self.添加基建技能图标()
|
||||
|
||||
def levels(self):
|
||||
levels_json = 加载json("./ArknightsGameResource/levels.json")
|
||||
|
||||
LEVELS = [Level.from_json(data) for data in levels_json]
|
||||
|
||||
with lzma.open("mower/static/levels.pkl", "wb") as f:
|
||||
pickle.dump(LEVELS, f)
|
||||
|
||||
def 读取模组(self):
|
||||
_ = []
|
||||
|
||||
for item in self.模组["missionList"]:
|
||||
_.append(self.模组["missionList"][item]["template"])
|
||||
|
||||
template_list = list({}.fromkeys(_).keys())
|
||||
print(template_list)
|
||||
|
||||
|
@ -673,21 +938,30 @@ class Arknights数据处理器:
|
|||
for 干员代码, 干员数据 in self.干员表.items():
|
||||
if not 干员数据["itemObtainApproach"]:
|
||||
continue
|
||||
|
||||
干员名 = 干员数据["name"]
|
||||
|
||||
print(干员名)
|
||||
|
||||
for 技能数, item in enumerate(干员数据["skills"]):
|
||||
技能图标名 = self.战斗技能[item["skillId"]]["iconId"] or item["skillId"]
|
||||
|
||||
干员技能路径 = f"./ArknightsResource/skills/skill_icon_{技能图标名}.png"
|
||||
|
||||
os.makedirs(
|
||||
f"./mower/static/avatar_skill/{干员数据['name']}", exist_ok=True
|
||||
)
|
||||
|
||||
目标路径 = (
|
||||
f"./mower/static/avatar_skill/{干员数据['name']}/{技能数 + 1}.png"
|
||||
)
|
||||
|
||||
if not os.path.exists(目标路径):
|
||||
try:
|
||||
shutil.copy(干员技能路径, 目标路径)
|
||||
|
||||
print(目标路径)
|
||||
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
|
|
|
@ -1394,6 +1394,11 @@
|
|||
"profession": "MEDIC",
|
||||
"name": "Warfarin"
|
||||
},
|
||||
"录武官": {
|
||||
"key": "char_4196_reckpr",
|
||||
"profession": "MEDIC",
|
||||
"name": "Record Keeper"
|
||||
},
|
||||
"诺威尔": {
|
||||
"key": "char_4173_nowell",
|
||||
"profession": "MEDIC",
|
||||
|
@ -1719,6 +1724,11 @@
|
|||
"profession": "WARRIOR",
|
||||
"name": "Entelechia"
|
||||
},
|
||||
"司霆惊蛰": {
|
||||
"key": "char_1043_leizi2",
|
||||
"profession": "WARRIOR",
|
||||
"name": "Leizi the Thunderbringer"
|
||||
},
|
||||
"正义骑士号": {
|
||||
"key": "char_4000_jnight",
|
||||
"profession": "SNIPER",
|
||||
|
|
|
@ -1,4 +1,74 @@
|
|||
[
|
||||
{
|
||||
"key": 376,
|
||||
"name": "司霆惊蛰",
|
||||
"span": 2,
|
||||
"child_skill": [
|
||||
{
|
||||
"skill_key": 0,
|
||||
"skill_level": 0,
|
||||
"phase_level": "精0 1级",
|
||||
"skillname": "雷法专精",
|
||||
"buffer": false,
|
||||
"buffer_des": [],
|
||||
"des": "进驻发电站时,无人机充能速度<@cc.vup>+10%</>",
|
||||
"roomType": "发电站",
|
||||
"buffCategory": "OUTPUT",
|
||||
"skillIcon": "bskill_pow_spd1",
|
||||
"buffColor": "#8fc31f",
|
||||
"textColor": "#ffffff"
|
||||
},
|
||||
{
|
||||
"skill_key": 1,
|
||||
"skill_level": 0,
|
||||
"phase_level": "精2 1级",
|
||||
"skillname": "克己严修",
|
||||
"buffer": false,
|
||||
"buffer_des": [],
|
||||
"des": "进驻加工站加工<@cc.kw>技巧概要</>时,副产品的产出概率提升<@cc.vup>80%</>",
|
||||
"roomType": "加工站",
|
||||
"buffCategory": "FUNCTION",
|
||||
"skillIcon": "bskill_ws_skill3",
|
||||
"buffColor": "#e3eb00",
|
||||
"textColor": "#333333"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": 375,
|
||||
"name": "录武官",
|
||||
"span": 2,
|
||||
"child_skill": [
|
||||
{
|
||||
"skill_key": 0,
|
||||
"skill_level": 0,
|
||||
"phase_level": "精0 1级",
|
||||
"skillname": "医疗专精·α",
|
||||
"buffer": false,
|
||||
"buffer_des": [],
|
||||
"des": "进驻训练室协助位时,<@cc.kw>医疗</>干员的专精技能训练速度<@cc.vup>+30%</>",
|
||||
"roomType": "训练室",
|
||||
"buffCategory": "FUNCTION",
|
||||
"skillIcon": "bskill_train_medic1",
|
||||
"buffColor": "#7d0022",
|
||||
"textColor": "#ffffff"
|
||||
},
|
||||
{
|
||||
"skill_key": 1,
|
||||
"skill_level": 0,
|
||||
"phase_level": "精2 1级",
|
||||
"skillname": "学无不精·α",
|
||||
"buffer": false,
|
||||
"buffer_des": [],
|
||||
"des": "进驻训练室协助位时,干员的专精技能训练速度<@cc.vup>+25%</>",
|
||||
"roomType": "训练室",
|
||||
"buffCategory": "FUNCTION",
|
||||
"skillIcon": "bskill_train_all",
|
||||
"buffColor": "#7d0022",
|
||||
"textColor": "#ffffff"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": 374,
|
||||
"name": "Miss.Christine",
|
||||
|
|
|
@ -3625,6 +3625,13 @@
|
|||
"MATERIAL",
|
||||
700169
|
||||
],
|
||||
"p_char_4196_reckpr": [
|
||||
"p_char_4196_reckpr",
|
||||
"p_char_4196_reckpr",
|
||||
"录武官的信物",
|
||||
"MATERIAL",
|
||||
700170
|
||||
],
|
||||
"p_char_103_angel": [
|
||||
"p_char_103_angel",
|
||||
"p_char_103_angel",
|
||||
|
@ -4409,6 +4416,13 @@
|
|||
"MATERIAL",
|
||||
600112
|
||||
],
|
||||
"p_char_1043_leizi2": [
|
||||
"p_char_1043_leizi2",
|
||||
"p_char_1043_leizi2",
|
||||
"司霆惊蛰的信物",
|
||||
"MATERIAL",
|
||||
600113
|
||||
],
|
||||
"class_p_char_123_fang": [
|
||||
"class_p_char_123_fang",
|
||||
"class_p_char_123_fang",
|
||||
|
|
BIN
mower/static/MATERIAL.pkl
(Stored with Git LFS)
BIN
mower/static/MATERIAL.pkl
(Stored with Git LFS)
Binary file not shown.
BIN
mower/static/avatar.pkl
(Stored with Git LFS)
BIN
mower/static/avatar.pkl
(Stored with Git LFS)
Binary file not shown.
BIN
mower/static/avatar_skill/司霆惊蛰/1.png
(Stored with Git LFS)
Normal file
BIN
mower/static/avatar_skill/司霆惊蛰/1.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
mower/static/avatar_skill/司霆惊蛰/2.png
(Stored with Git LFS)
Normal file
BIN
mower/static/avatar_skill/司霆惊蛰/2.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
mower/static/avatar_skill/司霆惊蛰/3.png
(Stored with Git LFS)
Normal file
BIN
mower/static/avatar_skill/司霆惊蛰/3.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
mower/static/avatar_skill/录武官/1.png
(Stored with Git LFS)
Normal file
BIN
mower/static/avatar_skill/录武官/1.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
mower/static/avatar_skill/录武官/2.png
(Stored with Git LFS)
Normal file
BIN
mower/static/avatar_skill/录武官/2.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
mower/static/operator_room.model
(Stored with Git LFS)
BIN
mower/static/operator_room.model
(Stored with Git LFS)
Binary file not shown.
BIN
mower/static/portrait.pkl
(Stored with Git LFS)
BIN
mower/static/portrait.pkl
(Stored with Git LFS)
Binary file not shown.
2
ui/dist/assets/BasementSkill.js
vendored
2
ui/dist/assets/BasementSkill.js
vendored
|
@ -106,7 +106,7 @@ const cc_c_abyssal2_3 = { "termId": "cc.c.abyssal2_3", "termName": "特殊叠加
|
|||
const cc_c_room1 = { "termId": "cc.c.room1", "termName": "部分设施", "description": "包含以下设施\n发电站、人力办公室、会客室", "buffer": [] };
|
||||
const cc_c_room2 = { "termId": "cc.c.room2", "termName": "其他设施", "description": "包含以下设施\n发电站、制造站、贸易站、人力办公室、会客室", "buffer": [] };
|
||||
const cc_c_room3 = { "termId": "cc.c.room3", "termName": "工作场所", "description": "包含以下设施\n发电站、制造站、贸易站、人力办公室、会客室、控制中枢、训练室", "buffer": [] };
|
||||
const cc_c_skill = { "termId": "cc.c.skill", "termName": "部分技能", "description": "包含以下技能\n左膀右臂、S.W.E.E.P.、零食网络、清理协议、替身、必要责任、护卫、小小的领袖、独善其身、笑靥如春、金盏花诗会、捍卫之道、博识生手", "buffer": [] };
|
||||
const cc_c_skill = { "termId": "cc.c.skill", "termName": "部分技能", "description": "包含以下技能\r\n左膀右臂、S.W.E.E.P.、零食网络、清理协议、替身、必要责任、护卫、小小的领袖、独善其身、笑靥如春、金盏花诗会、捍卫之道、博识生手、点滴关照", "buffer": [] };
|
||||
const cc_t_strong2 = { "termId": "cc.t.strong2", "termName": "特殊叠加规则", "description": "无法单独与<$cc.t.snsant1><@cc.rem>天道酬勤·α</></>、<$cc.t.snsant2><@cc.rem>天道酬勤·β</></>进行叠加,且优先生效\n当<$cc.t.snsant1><@cc.rem>天道酬勤·α</></>、<$cc.t.snsant2><@cc.rem>天道酬勤·β</></>与其他技能进行叠加时,该技能会对此叠加效果进行叠加", "buffer": ["cc_t_snsant1", "cc_t_snsant2", "cc_t_snsant1", "cc_t_snsant2"] };
|
||||
const cc_c_sui2_1 = { "termId": "cc.c.sui2_1", "termName": "特殊比较规则", "description": "在<@cc.kw>公事公办</>,<@cc.kw>孤光共照</>,<@cc.kw>巴别塔之帜</>提供的<$cc.c.room2><@cc.kw>其他设施</></>每小时心情恢复值中取最高生效", "buffer": ["cc_c_room2"] };
|
||||
const cc_m_pow1 = { "termId": "cc.m.pow1", "termName": "自动化·α", "description": "由以下干员提供\n温蒂、森蚺、异客", "buffer": [] };
|
||||
|
|
6
ui/dist/assets/DesktopSettings.css
vendored
6
ui/dist/assets/DesktopSettings.css
vendored
|
@ -8,10 +8,10 @@
|
|||
}
|
||||
|
||||
/* Styles 部分保持不变 */
|
||||
.float-btn[data-v-249c7f74] {
|
||||
.float-btn[data-v-0185b520] {
|
||||
z-index: 9999;
|
||||
}
|
||||
.settings-panel[data-v-249c7f74] {
|
||||
.settings-panel[data-v-0185b520] {
|
||||
width: 850px;
|
||||
height: calc(min(100vh - 70px, 630px));
|
||||
background-color: #f8f8f8;
|
||||
|
@ -19,7 +19,7 @@
|
|||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
||||
overflow: hidden;
|
||||
}
|
||||
.settings-content-area[data-v-249c7f74] {
|
||||
.settings-content-area[data-v-0185b520] {
|
||||
height: 100%;
|
||||
overflow-y: auto;
|
||||
background-color: #fff;
|
||||
|
|
2
ui/dist/assets/DesktopSettings.js
vendored
2
ui/dist/assets/DesktopSettings.js
vendored
|
@ -1327,7 +1327,7 @@ const _sfc_main = {
|
|||
};
|
||||
}
|
||||
};
|
||||
const DesktopSettings = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-249c7f74"]]);
|
||||
const DesktopSettings = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-0185b520"]]);
|
||||
export {
|
||||
DesktopSettings as default
|
||||
};
|
||||
|
|
2
ui/dist/assets/Doc.css
vendored
2
ui/dist/assets/Doc.css
vendored
|
@ -1,5 +1,5 @@
|
|||
|
||||
.loading[data-v-f9ae5a23] {
|
||||
.loading[data-v-69c55212] {
|
||||
position: absolute;
|
||||
top: 48px;
|
||||
font-size: 28px;
|
||||
|
|
2
ui/dist/assets/Doc.js
vendored
2
ui/dist/assets/Doc.js
vendored
|
@ -46,7 +46,7 @@ const _sfc_main = {
|
|||
};
|
||||
}
|
||||
};
|
||||
const Doc = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f9ae5a23"]]);
|
||||
const Doc = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-69c55212"]]);
|
||||
export {
|
||||
Doc as default
|
||||
};
|
||||
|
|
2
ui/dist/assets/HelpText.css
vendored
2
ui/dist/assets/HelpText.css
vendored
|
@ -1,4 +1,4 @@
|
|||
|
||||
.help[data-v-e18814d8] {
|
||||
.help[data-v-587b8b4b] {
|
||||
z-index: 100;
|
||||
}
|
||||
|
|
2
ui/dist/assets/HelpText.js
vendored
2
ui/dist/assets/HelpText.js
vendored
|
@ -53,7 +53,7 @@ function _sfc_render(_ctx, _cache) {
|
|||
_: 3
|
||||
});
|
||||
}
|
||||
const __unplugin_components_0 = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-e18814d8"]]);
|
||||
const __unplugin_components_0 = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-587b8b4b"]]);
|
||||
export {
|
||||
__unplugin_components_0
|
||||
};
|
||||
|
|
24
ui/dist/assets/Log.css
vendored
24
ui/dist/assets/Log.css
vendored
|
@ -1,38 +1,38 @@
|
|||
.log[data-v-06f47113] {
|
||||
.log[data-v-bb8daf92] {
|
||||
overflow: hidden;
|
||||
flex: 1;
|
||||
}
|
||||
.task-table[data-v-06f47113] {
|
||||
.task-table[data-v-bb8daf92] {
|
||||
position: relative;
|
||||
max-width: 600px;
|
||||
}
|
||||
.task-table th[data-v-06f47113] {
|
||||
.task-table th[data-v-bb8daf92] {
|
||||
padding: 2px 16px;
|
||||
}
|
||||
.task-table td[data-v-06f47113] {
|
||||
.task-table td[data-v-bb8daf92] {
|
||||
height: 24px;
|
||||
padding: 2px 8px;
|
||||
}
|
||||
.task-table td[data-v-06f47113]:last-child {
|
||||
.task-table td[data-v-bb8daf92]:last-child {
|
||||
width: 100%;
|
||||
}
|
||||
.action-container[data-v-06f47113] {
|
||||
.action-container[data-v-bb8daf92] {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
z-index: 15;
|
||||
}
|
||||
.toggle-table-collapse-btn[data-v-06f47113] {
|
||||
.toggle-table-collapse-btn[data-v-bb8daf92] {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
}
|
||||
.toggle-fullscreen-btn[data-v-06f47113] {
|
||||
.toggle-fullscreen-btn[data-v-bb8daf92] {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 38px;
|
||||
}
|
||||
.log-bg[data-v-06f47113] {
|
||||
.log-bg[data-v-bb8daf92] {
|
||||
content: "";
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
@ -42,12 +42,12 @@
|
|||
opacity: 0.25;
|
||||
background-image: url(/bg1.webp), url(/bg2.webp);
|
||||
background-repeat: no-repeat;
|
||||
background-size: var(--d21ecd16);
|
||||
background-position: var(--0bab789d);
|
||||
background-size: var(--72ac3b4a);
|
||||
background-position: var(--8bac42fa);
|
||||
pointer-events: none;
|
||||
z-index: 14;
|
||||
}
|
||||
.sc[data-v-06f47113] {
|
||||
.sc[data-v-bb8daf92] {
|
||||
max-width: 480px;
|
||||
max-height: 270px;
|
||||
border-radius: 6px;
|
||||
|
|
6
ui/dist/assets/Log.js
vendored
6
ui/dist/assets/Log.js
vendored
|
@ -829,8 +829,8 @@ const _sfc_main = {
|
|||
__name: "Log",
|
||||
setup(__props) {
|
||||
useCssVars((_ctx) => ({
|
||||
"d21ecd16": unref(bg_size),
|
||||
"0bab789d": unref(bg_position)
|
||||
"72ac3b4a": unref(bg_size),
|
||||
"8bac42fa": unref(bg_position)
|
||||
}));
|
||||
const mower_store = useMowerStore();
|
||||
const { ws, log, log_mobile, thread_status, task_list, get_task_id, sc_uri } = storeToRefs(mower_store);
|
||||
|
@ -1037,7 +1037,7 @@ const _sfc_main = {
|
|||
};
|
||||
}
|
||||
};
|
||||
const Log = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-06f47113"]]);
|
||||
const Log = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-bb8daf92"]]);
|
||||
export {
|
||||
Log as default
|
||||
};
|
||||
|
|
192
ui/dist/assets/LongTasks.css
vendored
192
ui/dist/assets/LongTasks.css
vendored
|
@ -1,44 +1,44 @@
|
|||
@charset "UTF-8";
|
||||
.coord-label[data-v-bd41e82d] {
|
||||
.coord-label[data-v-f4ed7511] {
|
||||
width: 40px;
|
||||
padding-left: 8px;
|
||||
}
|
||||
.card-title[data-v-bd41e82d] {
|
||||
.card-title[data-v-f4ed7511] {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.threshold[data-v-9ffc8196] {
|
||||
.threshold[data-v-17303244] {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 14px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.email-title[data-v-f611d9fe] {
|
||||
.email-title[data-v-3b2776a3] {
|
||||
width: 100%;
|
||||
}
|
||||
.expand[data-v-f611d9fe] {
|
||||
.expand[data-v-3b2776a3] {
|
||||
flex-grow: 1;
|
||||
}
|
||||
.email-table[data-v-f611d9fe] {
|
||||
.email-table[data-v-3b2776a3] {
|
||||
width: 100%;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
.email-test[data-v-f611d9fe] {
|
||||
.email-test[data-v-3b2776a3] {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 16px;
|
||||
}
|
||||
.email-mode[data-v-f611d9fe] {
|
||||
.email-mode[data-v-3b2776a3] {
|
||||
margin-left: 20px;
|
||||
}
|
||||
.email-label[data-v-f611d9fe] {
|
||||
.email-label[data-v-3b2776a3] {
|
||||
width: 68px;
|
||||
}
|
||||
p[data-v-f611d9fe] {
|
||||
p[data-v-3b2776a3] {
|
||||
margin: 0 0 10px 0;
|
||||
}
|
||||
.mt-16[data-v-f611d9fe] {
|
||||
.mt-16[data-v-3b2776a3] {
|
||||
margin-top: 16px;
|
||||
}
|
||||
|
||||
|
@ -49,122 +49,122 @@ p[data-v-f611d9fe] {
|
|||
gap: 12px;
|
||||
}
|
||||
|
||||
.subtitle[data-v-e24fdfe6] {
|
||||
.subtitle[data-v-4f64e716] {
|
||||
margin: 12px 0 6px;
|
||||
}
|
||||
|
||||
.scale[data-v-60093aec] {
|
||||
.scale[data-v-26ad4730] {
|
||||
width: 60px;
|
||||
text-align: right;
|
||||
}
|
||||
.scale-apply[data-v-60093aec] {
|
||||
.scale-apply[data-v-26ad4730] {
|
||||
margin-left: 24px;
|
||||
}
|
||||
.waiting-table {
|
||||
th,
|
||||
td {
|
||||
&[data-v-60093aec] {
|
||||
&[data-v-26ad4730] {
|
||||
padding: 4px;
|
||||
min-width: 70px;
|
||||
width: 100px;
|
||||
}
|
||||
&[data-v-60093aec]:first-child {
|
||||
&[data-v-26ad4730]:first-child {
|
||||
width: auto;
|
||||
padding: 4px 8px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.item[data-v-2ceb271c] {
|
||||
.item[data-v-9889efe8] {
|
||||
font-weight: 500;
|
||||
font-size: 16px;
|
||||
}
|
||||
.n-divider[data-v-2ceb271c]:not(.n-divider--vertical) {
|
||||
.n-divider[data-v-9889efe8]:not(.n-divider--vertical) {
|
||||
margin: 6px 0;
|
||||
}
|
||||
.telemetry[data-v-2ceb271c] {
|
||||
.telemetry[data-v-9889efe8] {
|
||||
border-collapse: collapse;
|
||||
table-layout: fixed;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
th[data-v-2ceb271c],
|
||||
td[data-v-2ceb271c] {
|
||||
th[data-v-9889efe8],
|
||||
td[data-v-9889efe8] {
|
||||
border: 1px solid white;
|
||||
padding: 2px 6px;
|
||||
}
|
||||
p[data-v-e83a44f6] {
|
||||
p[data-v-46384f04] {
|
||||
margin: 0 0 8px 0;
|
||||
}
|
||||
h4[data-v-e83a44f6] {
|
||||
h4[data-v-46384f04] {
|
||||
margin: 12px 0 10px 0;
|
||||
}
|
||||
.big-table[data-v-e83a44f6] {
|
||||
.big-table[data-v-46384f04] {
|
||||
margin-top: 10px;
|
||||
max-width: 320px;
|
||||
}
|
||||
.big-table th[data-v-e83a44f6] {
|
||||
.big-table th[data-v-46384f04] {
|
||||
text-align: center;
|
||||
}
|
||||
.big-table tr[data-v-e83a44f6] {
|
||||
.big-table tr[data-v-46384f04] {
|
||||
width: 70px;
|
||||
}
|
||||
.big-table td[data-v-e83a44f6] {
|
||||
.big-table td[data-v-46384f04] {
|
||||
height: 24px;
|
||||
}
|
||||
.big-table td[data-v-e83a44f6]:nth-child(1) {
|
||||
.big-table td[data-v-46384f04]:nth-child(1) {
|
||||
width: 70px;
|
||||
text-align: center;
|
||||
}
|
||||
.big-table td[data-v-e83a44f6]:nth-child(2) {
|
||||
.big-table td[data-v-46384f04]:nth-child(2) {
|
||||
width: 420px;
|
||||
}
|
||||
.final[data-v-e83a44f6] {
|
||||
.final[data-v-46384f04] {
|
||||
margin: 16px 0 0;
|
||||
}p[data-v-70be2e67] {
|
||||
}p[data-v-83ca4317] {
|
||||
margin: 2px 0;
|
||||
}
|
||||
h4[data-v-70be2e67] {
|
||||
h4[data-v-83ca4317] {
|
||||
margin: 12px 0 8px 0;
|
||||
}
|
||||
table[data-v-70be2e67] {
|
||||
table[data-v-83ca4317] {
|
||||
width: 100%;
|
||||
}
|
||||
td[data-v-70be2e67]:nth-child(1) {
|
||||
td[data-v-83ca4317]:nth-child(1) {
|
||||
width: 80px;
|
||||
}
|
||||
.ignore-blacklist[data-v-70be2e67] {
|
||||
.ignore-blacklist[data-v-83ca4317] {
|
||||
margin-bottom: 10px;
|
||||
display: flex;
|
||||
gap: 12px;
|
||||
}
|
||||
.h4[data-v-70be2e67] {
|
||||
.h4[data-v-83ca4317] {
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
}
|
||||
.maa-shop[data-v-70be2e67] {
|
||||
.maa-shop[data-v-83ca4317] {
|
||||
margin: 8px 0;
|
||||
}
|
||||
.item[data-v-70be2e67] {
|
||||
.item[data-v-83ca4317] {
|
||||
font-weight: 500;
|
||||
font-size: 16px;
|
||||
}
|
||||
/* 表单和活动区域样式调整 (可选) */
|
||||
.form-item .n-flex[data-v-1081049d] {
|
||||
.form-item .n-flex[data-v-d720c1de] {
|
||||
gap: 8px 12px;
|
||||
}
|
||||
.activity .n-tag[data-v-1081049d] {
|
||||
.activity .n-tag[data-v-d720c1de] {
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
/* 周计划表格容器 */
|
||||
.plan-container[data-v-1081049d] {
|
||||
.plan-container[data-v-d720c1de] {
|
||||
border: 1px solid var(--n-border-color);
|
||||
border-radius: var(--n-border-radius);
|
||||
margin-top: 12px;
|
||||
}
|
||||
|
||||
/* 表头行样式 */
|
||||
.plan-header[data-v-1081049d] {
|
||||
.plan-header[data-v-d720c1de] {
|
||||
font-size: 12px;
|
||||
color: var(--n-text-color-2);
|
||||
padding: 6px 10px;
|
||||
|
@ -173,7 +173,7 @@ td[data-v-70be2e67]:nth-child(1) {
|
|||
}
|
||||
|
||||
/* 表头 - 关卡列 */
|
||||
.header-stage[data-v-1081049d] {
|
||||
.header-stage[data-v-d720c1de] {
|
||||
width: 120px; /* 固定宽度 */
|
||||
flex-shrink: 0;
|
||||
text-align: left;
|
||||
|
@ -182,22 +182,22 @@ td[data-v-70be2e67]:nth-child(1) {
|
|||
}
|
||||
|
||||
/* 表头 - 日期列 */
|
||||
.header-days[data-v-1081049d] {
|
||||
.header-days[data-v-d720c1de] {
|
||||
flex-grow: 1;
|
||||
text-align: center;
|
||||
min-width: 210px; /* 保证容纳7个按钮的宽度 */
|
||||
}
|
||||
.header-days .today-header[data-v-1081049d] {
|
||||
.header-days .today-header[data-v-d720c1de] {
|
||||
font-weight: normal;
|
||||
color: var(--n-text-color-1);
|
||||
}
|
||||
.header-days .today-name[data-v-1081049d] {
|
||||
.header-days .today-name[data-v-d720c1de] {
|
||||
font-weight: bold;
|
||||
color: var(--n-color-error); /* 高亮当天星期名称 */
|
||||
}
|
||||
|
||||
/* 表头 - 操作列 */
|
||||
.header-action[data-v-1081049d] {
|
||||
.header-action[data-v-d720c1de] {
|
||||
width: 40px; /* 固定宽度 */
|
||||
flex-shrink: 0;
|
||||
text-align: center;
|
||||
|
@ -206,19 +206,19 @@ td[data-v-70be2e67]:nth-child(1) {
|
|||
}
|
||||
|
||||
/* 计划项目行样式 */
|
||||
.plan-item[data-v-1081049d] {
|
||||
.plan-item[data-v-d720c1de] {
|
||||
padding: 6px 10px;
|
||||
border-bottom: 1px solid var(--n-border-color);
|
||||
}
|
||||
.plan-item[data-v-1081049d]:last-child {
|
||||
.plan-item[data-v-d720c1de]:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
.plan-item[data-v-1081049d]:nth-child(even) {
|
||||
.plan-item[data-v-d720c1de]:nth-child(even) {
|
||||
background-color: var(--n-action-color); /* 斑马条纹 */
|
||||
}
|
||||
|
||||
/* 行内 - 关卡区域 */
|
||||
.stage-area[data-v-1081049d] {
|
||||
.stage-area[data-v-d720c1de] {
|
||||
width: 120px; /* 同表头宽度 */
|
||||
flex-shrink: 0;
|
||||
display: flex;
|
||||
|
@ -227,7 +227,7 @@ td[data-v-70be2e67]:nth-child(1) {
|
|||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.stage-area .stage-name[data-v-1081049d] {
|
||||
.stage-area .stage-name[data-v-d720c1de] {
|
||||
font-size: 14px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
|
@ -235,18 +235,18 @@ td[data-v-70be2e67]:nth-child(1) {
|
|||
padding-left: 4px;
|
||||
cursor: default; /* 显示 title 提示 */
|
||||
}
|
||||
.stage-area .stage-name[title][data-v-1081049d] {
|
||||
.stage-area .stage-name[title][data-v-d720c1de] {
|
||||
/* 确保 title 属性生效 */
|
||||
cursor: default;
|
||||
}
|
||||
.stage-area .custom-stage-input[data-v-1081049d],
|
||||
.stage-area .custom-stage-tag[data-v-1081049d] {
|
||||
.stage-area .custom-stage-input[data-v-d720c1de],
|
||||
.stage-area .custom-stage-tag[data-v-d720c1de] {
|
||||
width: 100%;
|
||||
}
|
||||
.stage-area .custom-stage-tag[data-v-1081049d] {
|
||||
.stage-area .custom-stage-tag[data-v-d720c1de] {
|
||||
justify-content: space-between;
|
||||
}
|
||||
.stage-area .custom-stage-tag[data-v-1081049d] .n-tag__content {
|
||||
.stage-area .custom-stage-tag[data-v-d720c1de] .n-tag__content {
|
||||
/* 确保标签内容不溢出 */
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
|
@ -255,14 +255,14 @@ td[data-v-70be2e67]:nth-child(1) {
|
|||
}
|
||||
|
||||
/* 行内 - 每日切换按钮区域 */
|
||||
.day-toggles[data-v-1081049d] {
|
||||
.day-toggles[data-v-d720c1de] {
|
||||
flex-grow: 1;
|
||||
justify-content: space-around; /* 均匀分布按钮 */
|
||||
min-width: 210px; /* 同表头估算宽度 */
|
||||
/* 每个按钮的占位容器 */
|
||||
/* 每日切换按钮样式 */
|
||||
}
|
||||
.day-toggles .day-toggle-placeholder[data-v-1081049d] {
|
||||
.day-toggles .day-toggle-placeholder[data-v-d720c1de] {
|
||||
width: 28px; /* 固定宽度 */
|
||||
height: 28px; /* 固定高度 */
|
||||
display: flex;
|
||||
|
@ -270,7 +270,7 @@ td[data-v-70be2e67]:nth-child(1) {
|
|||
align-items: center;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
.day-toggles .day-toggle[data-v-1081049d] {
|
||||
.day-toggles .day-toggle[data-v-d720c1de] {
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
padding: 0;
|
||||
|
@ -283,7 +283,7 @@ td[data-v-70be2e67]:nth-child(1) {
|
|||
/* 未选中按钮 (ghost) active 状态 */
|
||||
/* 选中按钮 (success) active 状态 */
|
||||
}
|
||||
.day-toggles .day-toggle.today-button[data-v-1081049d] {
|
||||
.day-toggles .day-toggle.today-button[data-v-d720c1de] {
|
||||
font-weight: bold; /* !!! 新增:当天按钮字体加粗 !!! */
|
||||
/* 当天且未选中的按钮,边框高亮 */
|
||||
/* 当天且未选中的按钮 (ghost 状态),文字颜色也高亮 */
|
||||
|
@ -291,56 +291,56 @@ td[data-v-70be2e67]:nth-child(1) {
|
|||
/* 当天且选中的按钮 (success 状态),添加外边框 */
|
||||
/* 当天且未选中的按钮 (ghost 状态) active */
|
||||
}
|
||||
.day-toggles .day-toggle.today-button[data-v-1081049d]:not(.n-button--success) {
|
||||
.day-toggles .day-toggle.today-button[data-v-d720c1de]:not(.n-button--success) {
|
||||
border-color: var(--n-color-info);
|
||||
}
|
||||
.day-toggles .day-toggle.today-button.n-button--ghost[data-v-1081049d]:not(:disabled) {
|
||||
.day-toggles .day-toggle.today-button.n-button--ghost[data-v-d720c1de]:not(:disabled) {
|
||||
color: var(--n-color-info);
|
||||
}
|
||||
.day-toggles .day-toggle.today-button.n-button--ghost[data-v-1081049d]:not(:disabled):hover {
|
||||
.day-toggles .day-toggle.today-button.n-button--ghost[data-v-d720c1de]:not(:disabled):hover {
|
||||
border-color: var(--n-color-info-hover);
|
||||
color: var(--n-color-info-hover);
|
||||
}
|
||||
.day-toggles .day-toggle.today-button.n-button--success[data-v-1081049d] {
|
||||
.day-toggles .day-toggle.today-button.n-button--success[data-v-d720c1de] {
|
||||
outline: 1px solid var(--n-color-info-hover);
|
||||
outline-offset: 1px;
|
||||
}
|
||||
.day-toggles .day-toggle.today-button.n-button--ghost[data-v-1081049d]:not(:disabled):active {
|
||||
.day-toggles .day-toggle.today-button.n-button--ghost[data-v-d720c1de]:not(:disabled):active {
|
||||
background-color: var(--n-color-info-pressed);
|
||||
color: #fff;
|
||||
border-color: var(--n-color-info-pressed);
|
||||
}
|
||||
.day-toggles .day-toggle.n-button--ghost[data-v-1081049d]:not(:disabled) {
|
||||
.day-toggles .day-toggle.n-button--ghost[data-v-d720c1de]:not(:disabled) {
|
||||
color: var(--n-text-color-3); /* 稍暗的颜色 */
|
||||
border-color: var(--n-border-color); /* 标准边框 */
|
||||
}
|
||||
.day-toggles .day-toggle.n-button--ghost[data-v-1081049d]:not(:disabled):hover {
|
||||
.day-toggles .day-toggle.n-button--ghost[data-v-d720c1de]:not(:disabled):hover {
|
||||
border-color: var(--n-color-primary-hover);
|
||||
color: var(--n-color-primary-hover);
|
||||
}
|
||||
.day-toggles .day-toggle.n-button--success[data-v-1081049d] {
|
||||
.day-toggles .day-toggle.n-button--success[data-v-d720c1de] {
|
||||
background-color: var(--n-color-success-suppl); /* 浅成功色背景 */
|
||||
color: var(--n-color-success-hover); /* 深成功色文字 */
|
||||
border-color: var(--n-color-success-hover); /* 成功色边框 */
|
||||
}
|
||||
.day-toggles .day-toggle.n-button--success[data-v-1081049d]:hover {
|
||||
.day-toggles .day-toggle.n-button--success[data-v-d720c1de]:hover {
|
||||
background-color: var(--n-color-success-hover);
|
||||
color: #fff;
|
||||
border-color: var(--n-color-success-hover);
|
||||
}
|
||||
.day-toggles .day-toggle.n-button--ghost[data-v-1081049d]:not(:disabled):active {
|
||||
.day-toggles .day-toggle.n-button--ghost[data-v-d720c1de]:not(:disabled):active {
|
||||
background-color: var(--n-color-primary-pressed);
|
||||
color: #fff;
|
||||
border-color: var(--n-color-primary-pressed);
|
||||
}
|
||||
.day-toggles .day-toggle.n-button--success[data-v-1081049d]:active {
|
||||
.day-toggles .day-toggle.n-button--success[data-v-d720c1de]:active {
|
||||
background-color: var(--n-color-success-pressed);
|
||||
color: #fff;
|
||||
border-color: var(--n-color-success-pressed);
|
||||
}
|
||||
|
||||
/* 行内 - 操作按钮区域 */
|
||||
.action-area[data-v-1081049d] {
|
||||
.action-area[data-v-d720c1de] {
|
||||
width: 40px; /* 同表头宽度 */
|
||||
flex-shrink: 0;
|
||||
text-align: right;
|
||||
|
@ -348,12 +348,12 @@ td[data-v-70be2e67]:nth-child(1) {
|
|||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.action-area .n-button[data-v-1081049d] {
|
||||
.action-area .n-button[data-v-d720c1de] {
|
||||
padding: 0 4px; /* 图标按钮减小内边距 */
|
||||
}
|
||||
|
||||
/* 活动标签进度条样式 (与原版一致) */
|
||||
.progress-tag[data-v-1081049d] {
|
||||
.progress-tag[data-v-d720c1de] {
|
||||
position: relative;
|
||||
padding-bottom: 5px;
|
||||
height: auto;
|
||||
|
@ -364,7 +364,7 @@ td[data-v-70be2e67]:nth-child(1) {
|
|||
align-items: center;
|
||||
overflow: hidden;
|
||||
}
|
||||
.progress[data-v-1081049d] {
|
||||
.progress[data-v-d720c1de] {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
|
@ -372,7 +372,7 @@ td[data-v-70be2e67]:nth-child(1) {
|
|||
background-color: var(--n-color-success);
|
||||
transition: width 0.3s ease;
|
||||
}
|
||||
.progress-bar[data-v-1081049d] {
|
||||
.progress-bar[data-v-d720c1de] {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
|
@ -382,84 +382,84 @@ td[data-v-70be2e67]:nth-child(1) {
|
|||
}
|
||||
|
||||
/* 禁用状态标题样式 */
|
||||
.card-title.disabled[data-v-1081049d] {
|
||||
.card-title.disabled[data-v-d720c1de] {
|
||||
color: var(--n-text-color-disabled);
|
||||
}
|
||||
.container[data-v-16974522] {
|
||||
.container[data-v-350b6de3] {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
gap: 8px;
|
||||
}
|
||||
.wrapper[data-v-16974522] {
|
||||
.wrapper[data-v-350b6de3] {
|
||||
white-space: pre-wrap;
|
||||
user-select: text;
|
||||
}
|
||||
.title[data-v-16974522] {
|
||||
.title[data-v-350b6de3] {
|
||||
font-size: 18px;
|
||||
font-weight: 500;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
.operator-grid[data-v-16974522] {
|
||||
.operator-grid[data-v-350b6de3] {
|
||||
display: grid;
|
||||
gap: 8px 16px;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
/* 非干员组的干员列表 - 桌面端 */
|
||||
:not(.mobile) .operator-grid[data-v-16974522]:not([class*='operator-group-']) {
|
||||
:not(.mobile) .operator-grid[data-v-350b6de3]:not([class*='operator-group-']) {
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
}
|
||||
|
||||
/* 非干员组的干员列表 - 移动端 */
|
||||
.mobile .operator-grid[data-v-16974522]:not([class*='operator-group-']) {
|
||||
.mobile .operator-grid[data-v-350b6de3]:not([class*='operator-group-']) {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
}
|
||||
|
||||
/* 干员组内样式 */
|
||||
.n-card .operator-grid.operator-group-desktop[data-v-16974522] {
|
||||
.n-card .operator-grid.operator-group-desktop[data-v-350b6de3] {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
.n-card .operator-grid.operator-group-mobile[data-v-16974522] {
|
||||
.n-card .operator-grid.operator-group-mobile[data-v-350b6de3] {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
}
|
||||
.operator-item[data-v-16974522] {
|
||||
.operator-item[data-v-350b6de3] {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin: 0;
|
||||
}
|
||||
.operator-info[data-v-16974522] {
|
||||
.operator-info[data-v-350b6de3] {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin-left: 8px;
|
||||
}
|
||||
.operator-name[data-v-16974522] {
|
||||
.operator-name[data-v-350b6de3] {
|
||||
font-weight: bold;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
.operator-skill[data-v-16974522] {
|
||||
.operator-skill[data-v-350b6de3] {
|
||||
font-size: 1em;
|
||||
}
|
||||
p[data-v-d479d5bf] {
|
||||
p[data-v-b2d35691] {
|
||||
margin: 0 0 10px 0;
|
||||
}
|
||||
.misc-container[data-v-d479d5bf] {
|
||||
.misc-container[data-v-b2d35691] {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
}
|
||||
.header[data-v-d479d5bf] {
|
||||
.header[data-v-b2d35691] {
|
||||
margin: 12px 0;
|
||||
}
|
||||
.trials-container[data-v-a4610cbf] {
|
||||
.trials-container[data-v-a113295f] {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
gap: 8px;
|
||||
}
|
||||
.wrapper[data-v-a4610cbf] {
|
||||
.wrapper[data-v-a113295f] {
|
||||
white-space: pre-wrap;
|
||||
user-select: text;
|
||||
}
|
||||
.title[data-v-a4610cbf] {
|
||||
.title[data-v-a113295f] {
|
||||
font-size: 18px;
|
||||
font-weight: 500;
|
||||
margin-bottom: 6px;
|
||||
|
|
24
ui/dist/assets/LongTasks.js
vendored
24
ui/dist/assets/LongTasks.js
vendored
|
@ -1822,7 +1822,7 @@ const _sfc_main$j = {
|
|||
};
|
||||
}
|
||||
};
|
||||
const Device = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-bd41e82d"]]);
|
||||
const Device = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-f4ed7511"]]);
|
||||
const _hoisted_1$7 = { class: "threshold" };
|
||||
const _sfc_main$i = {
|
||||
__name: "RIIC",
|
||||
|
@ -2117,7 +2117,7 @@ const _sfc_main$i = {
|
|||
};
|
||||
}
|
||||
};
|
||||
const RIIC = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-9ffc8196"]]);
|
||||
const RIIC = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-17303244"]]);
|
||||
const _hoisted_1$6 = { key: 0 };
|
||||
const _hoisted_2$5 = { key: 1 };
|
||||
const _hoisted_3$2 = { key: 0 };
|
||||
|
@ -2372,7 +2372,7 @@ const _sfc_main$h = {
|
|||
};
|
||||
}
|
||||
};
|
||||
const Email = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-f611d9fe"]]);
|
||||
const Email = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-3b2776a3"]]);
|
||||
const _hoisted_1$5 = { style: { "display": "flex", "align-items": "center", "width": "100%" } };
|
||||
const _hoisted_2$4 = { class: "misc-container" };
|
||||
const _sfc_main$g = {
|
||||
|
@ -2604,7 +2604,7 @@ const _sfc_main$f = {
|
|||
};
|
||||
}
|
||||
};
|
||||
const AutoFight = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-e24fdfe6"]]);
|
||||
const AutoFight = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-4f64e716"]]);
|
||||
const _sfc_main$e = {
|
||||
__name: "Appearance",
|
||||
setup(__props) {
|
||||
|
@ -2727,7 +2727,7 @@ const _sfc_main$e = {
|
|||
};
|
||||
}
|
||||
};
|
||||
const Appearance = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-60093aec"]]);
|
||||
const Appearance = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-26ad4730"]]);
|
||||
const _sfc_main$d = {
|
||||
__name: "DailyMission",
|
||||
setup(__props) {
|
||||
|
@ -3044,7 +3044,7 @@ const _sfc_main$d = {
|
|||
};
|
||||
}
|
||||
};
|
||||
const DailyMission = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-2ceb271c"]]);
|
||||
const DailyMission = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-9889efe8"]]);
|
||||
const _sfc_main$c = {
|
||||
__name: "Recruit",
|
||||
setup(__props) {
|
||||
|
@ -3197,7 +3197,7 @@ const _sfc_main$c = {
|
|||
};
|
||||
}
|
||||
};
|
||||
const Recruit = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-e83a44f6"]]);
|
||||
const Recruit = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-46384f04"]]);
|
||||
const _hoisted_1$4 = { style: { "display": "flex", "align-items": "center", "width": "100%" } };
|
||||
const _hoisted_2$3 = { style: { "margin-right": "24px" } };
|
||||
const _sfc_main$b = {
|
||||
|
@ -3682,7 +3682,7 @@ const _sfc_main$9 = {
|
|||
};
|
||||
}
|
||||
};
|
||||
const Clue = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-70be2e67"]]);
|
||||
const Clue = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-83ca4317"]]);
|
||||
class LuxonError extends Error {
|
||||
}
|
||||
class InvalidDateTimeError extends LuxonError {
|
||||
|
@ -10701,7 +10701,7 @@ const _sfc_main$8 = {
|
|||
};
|
||||
}
|
||||
};
|
||||
const WeeklyPlan = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-1081049d"]]);
|
||||
const WeeklyPlan = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-d720c1de"]]);
|
||||
const _sfc_main$7 = {
|
||||
__name: "ReclamationAlgorithm",
|
||||
setup(__props) {
|
||||
|
@ -10969,7 +10969,7 @@ const _sfc_main$6 = {
|
|||
};
|
||||
}
|
||||
};
|
||||
const MaaCopilotImporter = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-16974522"]]);
|
||||
const MaaCopilotImporter = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-350b6de3"]]);
|
||||
const _sfc_main$5 = {
|
||||
__name: "Sss",
|
||||
setup(__props) {
|
||||
|
@ -11203,7 +11203,7 @@ const _sfc_main$4 = {
|
|||
};
|
||||
}
|
||||
};
|
||||
const __unplugin_components_0 = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-d479d5bf"]]);
|
||||
const __unplugin_components_0 = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-b2d35691"]]);
|
||||
const _sfc_main$3 = {
|
||||
__name: "MaaRogue",
|
||||
setup(__props) {
|
||||
|
@ -11630,7 +11630,7 @@ const _sfc_main$1 = {
|
|||
};
|
||||
}
|
||||
};
|
||||
const Trials = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-a4610cbf"]]);
|
||||
const Trials = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-a113295f"]]);
|
||||
const _sfc_main = {
|
||||
__name: "LongTasks",
|
||||
setup(__props) {
|
||||
|
|
482
ui/dist/assets/Material_all_in_one.js
vendored
482
ui/dist/assets/Material_all_in_one.js
vendored
File diff suppressed because one or more lines are too long
100
ui/dist/assets/Plan.css
vendored
100
ui/dist/assets/Plan.css
vendored
|
@ -1,56 +1,56 @@
|
|||
.select-label[data-v-ef0a8ed8] {
|
||||
.select-label[data-v-5c30c73a] {
|
||||
width: 44px;
|
||||
}
|
||||
.type-select[data-v-ef0a8ed8] {
|
||||
.type-select[data-v-5c30c73a] {
|
||||
width: 100px;
|
||||
margin-right: 8px;
|
||||
}
|
||||
.product-select[data-v-ef0a8ed8] {
|
||||
.product-select[data-v-5c30c73a] {
|
||||
width: 180px;
|
||||
margin-right: 8px;
|
||||
}
|
||||
.operator-select[data-v-ef0a8ed8] {
|
||||
.operator-select[data-v-5c30c73a] {
|
||||
width: 220px;
|
||||
}
|
||||
.replacement-select[data-v-ef0a8ed8] {
|
||||
.replacement-select[data-v-5c30c73a] {
|
||||
min-width: 400px;
|
||||
}
|
||||
.plan-container[data-v-ef0a8ed8] {
|
||||
.plan-container[data-v-5c30c73a] {
|
||||
width: 980px;
|
||||
min-width: 980px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 12px;
|
||||
}
|
||||
.group[data-v-ef0a8ed8] {
|
||||
.group[data-v-5c30c73a] {
|
||||
width: 160px;
|
||||
}
|
||||
.facility-2[data-v-ef0a8ed8] {
|
||||
.facility-2[data-v-5c30c73a] {
|
||||
width: 124px;
|
||||
height: 76px;
|
||||
margin: 2px 3px;
|
||||
}
|
||||
.facility-3[data-v-ef0a8ed8] {
|
||||
.facility-3[data-v-5c30c73a] {
|
||||
width: 175px;
|
||||
height: 76px;
|
||||
margin: 2px 3px;
|
||||
}
|
||||
.facility-5[data-v-ef0a8ed8] {
|
||||
.facility-5[data-v-5c30c73a] {
|
||||
width: 277px;
|
||||
height: 76px;
|
||||
margin: 2px 3px;
|
||||
}
|
||||
.avatars[data-v-ef0a8ed8] {
|
||||
.avatars[data-v-5c30c73a] {
|
||||
display: flex;
|
||||
gap: 6px;
|
||||
z-index: 5;
|
||||
}
|
||||
.avatars img[data-v-ef0a8ed8] {
|
||||
.avatars img[data-v-5c30c73a] {
|
||||
box-sizing: content-box;
|
||||
border-radius: 2px;
|
||||
background: lightgray;
|
||||
}
|
||||
.facility-name[data-v-ef0a8ed8] {
|
||||
.facility-name[data-v-5c30c73a] {
|
||||
margin-bottom: 4px;
|
||||
text-align: center;
|
||||
line-height: 1;
|
||||
|
@ -58,83 +58,83 @@
|
|||
justify-content: space-around;
|
||||
z-index: 5;
|
||||
}
|
||||
.outer[data-v-ef0a8ed8] {
|
||||
.outer[data-v-5c30c73a] {
|
||||
display: flex;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.left_box[data-v-ef0a8ed8] {
|
||||
.left_box[data-v-5c30c73a] {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
padding-top: 82px;
|
||||
padding-right: 2px;
|
||||
}
|
||||
.left_box .left_contain[data-v-ef0a8ed8] {
|
||||
.left_box .left_contain[data-v-5c30c73a] {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr 1fr;
|
||||
gap: 4px;
|
||||
}
|
||||
.left_box .left_contain > div[data-v-ef0a8ed8] {
|
||||
.left_box .left_contain > div[data-v-5c30c73a] {
|
||||
box-sizing: border-box;
|
||||
width: 175px;
|
||||
height: 76px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.left_box .left_contain .info[data-v-ef0a8ed8] {
|
||||
.left_box .left_contain .info[data-v-5c30c73a] {
|
||||
background-color: rgba(32, 128, 240, 0.16);
|
||||
border-radius: 3px;
|
||||
border: 1px solid transparent;
|
||||
transition: all 0.3s;
|
||||
position: relative;
|
||||
}
|
||||
.left_box .left_contain .info[data-v-ef0a8ed8]:hover {
|
||||
.left_box .left_contain .info[data-v-5c30c73a]:hover {
|
||||
background-color: rgba(32, 128, 240, 0.22);
|
||||
}
|
||||
.left_box .left_contain .info.true[data-v-ef0a8ed8] {
|
||||
.left_box .left_contain .info.true[data-v-5c30c73a] {
|
||||
background-color: var(--n-color);
|
||||
border: 1px solid rgb(32, 128, 240);
|
||||
}
|
||||
.left_box .left_contain .info .facility-name[data-v-ef0a8ed8] {
|
||||
.left_box .left_contain .info .facility-name[data-v-5c30c73a] {
|
||||
color: #2080f0;
|
||||
}
|
||||
.left_box .left_contain .warning[data-v-ef0a8ed8] {
|
||||
.left_box .left_contain .warning[data-v-5c30c73a] {
|
||||
background-color: rgba(240, 160, 32, 0.16);
|
||||
border-radius: 3px;
|
||||
border: 1px solid transparent;
|
||||
transition: all 0.3s;
|
||||
position: relative;
|
||||
}
|
||||
.left_box .left_contain .warning[data-v-ef0a8ed8]:hover {
|
||||
.left_box .left_contain .warning[data-v-5c30c73a]:hover {
|
||||
background-color: rgba(240, 160, 32, 0.22);
|
||||
}
|
||||
.left_box .left_contain .warning.true[data-v-ef0a8ed8] {
|
||||
.left_box .left_contain .warning.true[data-v-5c30c73a] {
|
||||
background-color: var(--n-color);
|
||||
border: 1px solid rgb(240, 160, 32);
|
||||
}
|
||||
.left_box .left_contain .warning .facility-name[data-v-ef0a8ed8] {
|
||||
.left_box .left_contain .warning .facility-name[data-v-5c30c73a] {
|
||||
color: #f0a020;
|
||||
}
|
||||
.left_box .left_contain .primary[data-v-ef0a8ed8] {
|
||||
.left_box .left_contain .primary[data-v-5c30c73a] {
|
||||
background-color: rgba(24, 160, 88, 0.16);
|
||||
border-radius: 3px;
|
||||
border: 1px solid transparent;
|
||||
transition: all 0.3s;
|
||||
}
|
||||
.left_box .left_contain .primary[data-v-ef0a8ed8]:hover {
|
||||
.left_box .left_contain .primary[data-v-5c30c73a]:hover {
|
||||
background-color: rgba(24, 160, 88, 0.22);
|
||||
}
|
||||
.left_box .left_contain .primary.true[data-v-ef0a8ed8] {
|
||||
.left_box .left_contain .primary.true[data-v-5c30c73a] {
|
||||
background-color: var(--n-color);
|
||||
border: 1px solid rgb(24, 160, 88);
|
||||
}
|
||||
.left_box .left_contain .primary .facility-name[data-v-ef0a8ed8] {
|
||||
.left_box .left_contain .primary .facility-name[data-v-5c30c73a] {
|
||||
color: #18a058;
|
||||
}
|
||||
.mid_box[data-v-ef0a8ed8] {
|
||||
.mid_box[data-v-5c30c73a] {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.waiting[data-v-ef0a8ed8] {
|
||||
.waiting[data-v-5c30c73a] {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
|
@ -146,15 +146,15 @@
|
|||
cursor: pointer;
|
||||
border-radius: 3px;
|
||||
}
|
||||
.waiting[data-v-ef0a8ed8]:hover {
|
||||
.waiting[data-v-5c30c73a]:hover {
|
||||
opacity: 1;
|
||||
border: 1px dashed rgb(54, 173, 106);
|
||||
color: rgb(54, 173, 106);
|
||||
}
|
||||
.waiting div[data-v-ef0a8ed8] {
|
||||
.waiting div[data-v-5c30c73a] {
|
||||
text-align: center;
|
||||
}
|
||||
.draggable[data-v-ef0a8ed8] {
|
||||
.draggable[data-v-5c30c73a] {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
|
@ -162,7 +162,7 @@
|
|||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.product-bg[data-v-ef0a8ed8] {
|
||||
.product-bg[data-v-5c30c73a] {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
|
@ -176,10 +176,10 @@
|
|||
z-index: 3;
|
||||
pointer-events: none;
|
||||
}
|
||||
.avatar-wrapper[data-v-ef0a8ed8] {
|
||||
.avatar-wrapper[data-v-5c30c73a] {
|
||||
position: relative;
|
||||
}
|
||||
.workaholic[data-v-ef0a8ed8] {
|
||||
.workaholic[data-v-5c30c73a] {
|
||||
position: absolute;
|
||||
content: "";
|
||||
top: 0;
|
||||
|
@ -194,18 +194,18 @@
|
|||
display: none;
|
||||
}
|
||||
|
||||
.dropdown[data-v-c4c4a151] {
|
||||
padding-left: var(--179f97e8);
|
||||
padding-right: var(--179f97e8);
|
||||
.dropdown[data-v-01fc4d7e] {
|
||||
padding-left: var(--5dbb34be);
|
||||
padding-right: var(--5dbb34be);
|
||||
}
|
||||
.n-table[data-v-ab1299ac] {
|
||||
.n-table[data-v-1ad93d71] {
|
||||
min-width: 100%;
|
||||
}
|
||||
.n-table th[data-v-ab1299ac] {
|
||||
.n-table th[data-v-1ad93d71] {
|
||||
width: 124px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.label[data-v-ab1299ac] {
|
||||
.label[data-v-1ad93d71] {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
|
@ -223,26 +223,26 @@
|
|||
.dropdown-select {
|
||||
flex: 1;
|
||||
}
|
||||
.w-980[data-v-d06834f4] {
|
||||
.w-980[data-v-a3e17cad] {
|
||||
width: 100%;
|
||||
max-width: 980px;
|
||||
}
|
||||
.mx-auto[data-v-d06834f4] {
|
||||
.mx-auto[data-v-a3e17cad] {
|
||||
margin: 0 auto;
|
||||
}
|
||||
.mt-12[data-v-d06834f4] {
|
||||
.mt-12[data-v-a3e17cad] {
|
||||
margin-top: 12px;
|
||||
}
|
||||
.mb-12[data-v-d06834f4] {
|
||||
.mb-12[data-v-a3e17cad] {
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
.px-12[data-v-d06834f4] {
|
||||
.px-12[data-v-a3e17cad] {
|
||||
padding: 0 12px;
|
||||
}
|
||||
.mw-980[data-v-d06834f4] {
|
||||
.mw-980[data-v-a3e17cad] {
|
||||
min-width: 980px;
|
||||
}
|
||||
.plan-bar[data-v-d06834f4] {
|
||||
.plan-bar[data-v-a3e17cad] {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-grow: 0;
|
||||
|
|
10
ui/dist/assets/Plan.js
vendored
10
ui/dist/assets/Plan.js
vendored
|
@ -1430,7 +1430,7 @@ const _sfc_main$5 = {
|
|||
};
|
||||
}
|
||||
};
|
||||
const __unplugin_components_9 = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-ef0a8ed8"]]);
|
||||
const __unplugin_components_9 = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-5c30c73a"]]);
|
||||
var MdArrowDropup = {};
|
||||
var hasRequiredMdArrowDropup;
|
||||
function requireMdArrowDropup() {
|
||||
|
@ -1527,7 +1527,7 @@ const _sfc_main$4 = {
|
|||
},
|
||||
setup(__props) {
|
||||
useCssVars((_ctx) => ({
|
||||
"179f97e8": unref(btn_pad)
|
||||
"5dbb34be": unref(btn_pad)
|
||||
}));
|
||||
const mobile = inject("mobile");
|
||||
const btn_pad = computed(() => {
|
||||
|
@ -1577,7 +1577,7 @@ const _sfc_main$4 = {
|
|||
};
|
||||
}
|
||||
};
|
||||
const __unplugin_components_8 = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-c4c4a151"]]);
|
||||
const __unplugin_components_8 = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-01fc4d7e"]]);
|
||||
const _sfc_main$3 = {
|
||||
__name: "TriggerString",
|
||||
props: ["data"],
|
||||
|
@ -1834,7 +1834,7 @@ const _sfc_main$2 = {
|
|||
};
|
||||
}
|
||||
};
|
||||
const __unplugin_components_2 = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-ab1299ac"]]);
|
||||
const __unplugin_components_2 = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-1ad93d71"]]);
|
||||
const _hoisted_1$1 = { class: "dropdown-container" };
|
||||
const _hoisted_2 = { class: "dropdown-label" };
|
||||
const _sfc_main$1 = {
|
||||
|
@ -5474,7 +5474,7 @@ const _sfc_main = {
|
|||
};
|
||||
}
|
||||
};
|
||||
const Plan = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d06834f4"]]);
|
||||
const Plan = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-a3e17cad"]]);
|
||||
export {
|
||||
Plan as default
|
||||
};
|
||||
|
|
4
ui/dist/assets/RecordLine.css
vendored
4
ui/dist/assets/RecordLine.css
vendored
|
@ -1,8 +1,8 @@
|
|||
|
||||
[data-v-b9b10beb] .n-modal-container {
|
||||
[data-v-b9d6a27e] .n-modal-container {
|
||||
top: 0 !important;
|
||||
left: 0 !important;
|
||||
}
|
||||
[data-v-b9b10beb] .n-card__content {
|
||||
[data-v-b9d6a27e] .n-card__content {
|
||||
height: calc(100% - 60px); /* 60px为header高度 */
|
||||
}
|
||||
|
|
2
ui/dist/assets/RecordLine.js
vendored
2
ui/dist/assets/RecordLine.js
vendored
|
@ -169,7 +169,7 @@ const _sfc_main = {
|
|||
};
|
||||
}
|
||||
};
|
||||
const RecordLine = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b9b10beb"]]);
|
||||
const RecordLine = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b9d6a27e"]]);
|
||||
export {
|
||||
RecordLine as default
|
||||
};
|
||||
|
|
2
ui/dist/assets/SlickOperatorSelect.css
vendored
2
ui/dist/assets/SlickOperatorSelect.css
vendored
|
@ -1,4 +1,4 @@
|
|||
|
||||
.width100[data-v-67be031c] {
|
||||
.width100[data-v-2ee926d4] {
|
||||
width: 100%;
|
||||
}
|
||||
|
|
2
ui/dist/assets/SlickOperatorSelect.js
vendored
2
ui/dist/assets/SlickOperatorSelect.js
vendored
|
@ -4754,7 +4754,7 @@ const _sfc_main = {
|
|||
};
|
||||
}
|
||||
};
|
||||
const __unplugin_components_16 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-67be031c"]]);
|
||||
const __unplugin_components_16 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-2ee926d4"]]);
|
||||
export {
|
||||
__unplugin_components_14,
|
||||
__unplugin_components_16,
|
||||
|
|
16
ui/dist/assets/TaskDialog.css
vendored
16
ui/dist/assets/TaskDialog.css
vendored
|
@ -1,35 +1,35 @@
|
|||
.button_row[data-v-c3862e91] {
|
||||
.button_row[data-v-9e1304bf] {
|
||||
margin-top: 8px;
|
||||
}
|
||||
.task_row[data-v-c3862e91] {
|
||||
.task_row[data-v-9e1304bf] {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
width: 100%;
|
||||
}
|
||||
.task_row .n-input[data-v-c3862e91] {
|
||||
.task_row .n-input[data-v-9e1304bf] {
|
||||
width: 140px;
|
||||
}
|
||||
.outer[data-v-c3862e91] {
|
||||
.outer[data-v-9e1304bf] {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
gap: 18px;
|
||||
}
|
||||
.inner[data-v-c3862e91] {
|
||||
.inner[data-v-9e1304bf] {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
}
|
||||
.task-col[data-v-c3862e91] {
|
||||
.task-col[data-v-9e1304bf] {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
gap: 8px;
|
||||
align-items: center;
|
||||
}
|
||||
.n-dynamic-tags[data-v-c3862e91] {
|
||||
.n-dynamic-tags[data-v-9e1304bf] {
|
||||
align-items: center;
|
||||
}
|
||||
.ml[data-v-c3862e91] {
|
||||
.ml[data-v-9e1304bf] {
|
||||
margin-left: 16px;
|
||||
}
|
2
ui/dist/assets/TaskDialog.js
vendored
2
ui/dist/assets/TaskDialog.js
vendored
|
@ -10340,7 +10340,7 @@ const _sfc_main = {
|
|||
};
|
||||
}
|
||||
};
|
||||
const __unplugin_components_1 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c3862e91"]]);
|
||||
const __unplugin_components_1 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-9e1304bf"]]);
|
||||
export {
|
||||
__unplugin_components_1,
|
||||
__unplugin_components_4,
|
||||
|
|
24
ui/dist/assets/depot.css
vendored
24
ui/dist/assets/depot.css
vendored
|
@ -1,46 +1,46 @@
|
|||
|
||||
.info-container[data-v-6f42e5d7] {
|
||||
.info-container[data-v-f632a889] {
|
||||
margin-top: 2rem;
|
||||
gap: 12px;
|
||||
}
|
||||
.scan-time[data-v-6f42e5d7] {
|
||||
.scan-time[data-v-f632a889] {
|
||||
font-size: 0.95rem;
|
||||
color: var(--n-text-color);
|
||||
}
|
||||
.notes[data-v-6f42e5d7] {
|
||||
.notes[data-v-f632a889] {
|
||||
font-size: 0.9rem;
|
||||
line-height: 1.5;
|
||||
}
|
||||
.action-group[data-v-6f42e5d7] {
|
||||
.action-group[data-v-f632a889] {
|
||||
padding: 8px 0;
|
||||
}
|
||||
.action-btn[data-v-6f42e5d7] {
|
||||
.action-btn[data-v-f632a889] {
|
||||
transition: transform 0.2s ease;
|
||||
}
|
||||
.action-btn[data-v-6f42e5d7]:hover {
|
||||
.action-btn[data-v-f632a889]:hover {
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
.category-title[data-v-6f42e5d7] {
|
||||
.category-title[data-v-f632a889] {
|
||||
margin: 1rem 0;
|
||||
color: var(--n-title-text-color);
|
||||
}
|
||||
.material-grid[data-v-6f42e5d7] {
|
||||
.material-grid[data-v-f632a889] {
|
||||
padding: 0 8px;
|
||||
}
|
||||
.material-card[data-v-6f42e5d7] {
|
||||
.material-card[data-v-f632a889] {
|
||||
padding: 4px;
|
||||
background: var(--n-color-modal);
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
|
||||
transition: box-shadow 0.2s ease;
|
||||
}
|
||||
.material-card[data-v-6f42e5d7]:hover {
|
||||
.material-card[data-v-f632a889]:hover {
|
||||
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
.material-name[data-v-6f42e5d7] {
|
||||
.material-name[data-v-f632a889] {
|
||||
font-weight: 500;
|
||||
font-size: 1rem;
|
||||
}
|
||||
.material-count[data-v-6f42e5d7] {
|
||||
.material-count[data-v-f632a889] {
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
|
2
ui/dist/assets/depot.js
vendored
2
ui/dist/assets/depot.js
vendored
|
@ -386,7 +386,7 @@ const _sfc_main = {
|
|||
};
|
||||
}
|
||||
};
|
||||
const depot = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-6f42e5d7"]]);
|
||||
const depot = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f632a889"]]);
|
||||
export {
|
||||
depot as default
|
||||
};
|
||||
|
|
4
ui/dist/assets/index.css
vendored
4
ui/dist/assets/index.css
vendored
|
@ -7,10 +7,10 @@
|
|||
pointer-events: none !important;
|
||||
}
|
||||
|
||||
.tabs[data-v-c1c8fa28] {
|
||||
.tabs[data-v-92d60a24] {
|
||||
height: 100%;
|
||||
}
|
||||
.layout-container[data-v-c1c8fa28] {
|
||||
.layout-container[data-v-92d60a24] {
|
||||
height: 100%;
|
||||
}
|
||||
html,
|
||||
|
|
2
ui/dist/assets/index.js
vendored
2
ui/dist/assets/index.js
vendored
|
@ -28142,7 +28142,7 @@ const _sfc_main = {
|
|||
};
|
||||
}
|
||||
};
|
||||
const App = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c1c8fa28"]]);
|
||||
const App = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-92d60a24"]]);
|
||||
/*!
|
||||
* vue-router v4.5.0
|
||||
* (c) 2024 Eduardo San Martin Morote
|
||||
|
|
8
ui/dist/assets/paomadeng.css
vendored
8
ui/dist/assets/paomadeng.css
vendored
|
@ -1,17 +1,17 @@
|
|||
|
||||
/* Alert 样式 */
|
||||
.custom-alert[data-v-01ea1f7d] {
|
||||
.custom-alert[data-v-a64db44c] {
|
||||
position: fixed;
|
||||
z-index: 5000;
|
||||
|
||||
margin-top: 10px;
|
||||
left: var(--abe189c8);
|
||||
right: var(--abe189c8);
|
||||
left: var(--1b8e3d43);
|
||||
right: var(--1b8e3d43);
|
||||
|
||||
background: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 255, 0.5), rgba(0, 0, 0, 0));
|
||||
}
|
||||
|
||||
/* Marquee 样式 */
|
||||
.custom-marquee[data-v-01ea1f7d] {
|
||||
.custom-marquee[data-v-a64db44c] {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
|
4
ui/dist/assets/paomadeng.js
vendored
4
ui/dist/assets/paomadeng.js
vendored
|
@ -294,7 +294,7 @@ const _sfc_main = {
|
|||
__name: "paomadeng",
|
||||
setup(__props) {
|
||||
useCssVars((_ctx) => ({
|
||||
"abe189c8": margin_x.value
|
||||
"1b8e3d43": margin_x.value
|
||||
}));
|
||||
const mower_store = useMowerStore();
|
||||
const { speed_msg } = storeToRefs(mower_store);
|
||||
|
@ -343,7 +343,7 @@ const _sfc_main = {
|
|||
};
|
||||
}
|
||||
};
|
||||
const paomadeng = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-01ea1f7d"]]);
|
||||
const paomadeng = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-a64db44c"]]);
|
||||
export {
|
||||
paomadeng as default
|
||||
};
|
||||
|
|
4
ui/dist/assets/report.css
vendored
4
ui/dist/assets/report.css
vendored
|
@ -1,8 +1,8 @@
|
|||
|
||||
.chart[data-v-291ce212] {
|
||||
.chart[data-v-d6be4beb] {
|
||||
height: 400px;
|
||||
}
|
||||
.report-card_1[data-v-291ce212] {
|
||||
.report-card_1[data-v-d6be4beb] {
|
||||
display: gird;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
|
2
ui/dist/assets/report.js
vendored
2
ui/dist/assets/report.js
vendored
|
@ -565,7 +565,7 @@ const _sfc_main = {
|
|||
};
|
||||
}
|
||||
};
|
||||
const report = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-291ce212"]]);
|
||||
const report = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d6be4beb"]]);
|
||||
export {
|
||||
report as default
|
||||
};
|
||||
|
|
24
ui/dist/index.html
vendored
24
ui/dist/index.html
vendored
|
@ -1,14 +1,14 @@
|
|||
<!doctype html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" href="/favicon.ico" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>mower-ng webui</title>
|
||||
<!doctype html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" href="/favicon.ico" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>mower-ng webui</title>
|
||||
<script type="module" crossorigin src="/assets/index.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="/assets/index.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
</body>
|
||||
</html>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
BIN
ui/public/avatar/司霆惊蛰.webp
(Stored with Git LFS)
Normal file
BIN
ui/public/avatar/司霆惊蛰.webp
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
ui/public/avatar/录武官.webp
(Stored with Git LFS)
Normal file
BIN
ui/public/avatar/录武官.webp
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
ui/public/depot/“棠梨儿”.webp
(Stored with Git LFS)
Normal file
BIN
ui/public/depot/“棠梨儿”.webp
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
ui/public/depot/司霆惊蛰的信物.webp
(Stored with Git LFS)
Normal file
BIN
ui/public/depot/司霆惊蛰的信物.webp
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
ui/public/depot/录武官的信物.webp
(Stored with Git LFS)
Normal file
BIN
ui/public/depot/录武官的信物.webp
(Stored with Git LFS)
Normal file
Binary file not shown.
|
@ -628,7 +628,7 @@
|
|||
"cc_c_skill": {
|
||||
"termId": "cc.c.skill",
|
||||
"termName": "部分技能",
|
||||
"description": "包含以下技能\n左膀右臂、S.W.E.E.P.、零食网络、清理协议、替身、必要责任、护卫、小小的领袖、独善其身、笑靥如春、金盏花诗会、捍卫之道、博识生手",
|
||||
"description": "包含以下技能\r\n左膀右臂、S.W.E.E.P.、零食网络、清理协议、替身、必要责任、护卫、小小的领袖、独善其身、笑靥如春、金盏花诗会、捍卫之道、博识生手、点滴关照",
|
||||
"buffer": []
|
||||
},
|
||||
"cc_t_strong2": {
|
||||
|
|
|
@ -180,19 +180,31 @@
|
|||
"key": 11
|
||||
},
|
||||
{
|
||||
"id": "TN-1",
|
||||
"id_key": "act5bossrush_01",
|
||||
"name": "严寒骤血",
|
||||
"id": "FM-1",
|
||||
"id_key": "act19mini_01",
|
||||
"name": "求同则塞",
|
||||
"drop": {
|
||||
"突袭首次掉落": [],
|
||||
"常规掉落": [],
|
||||
"首次掉落": [],
|
||||
"特殊掉落": [],
|
||||
"常规掉落": [
|
||||
"酯原料",
|
||||
"破损装置",
|
||||
"异铁碎片",
|
||||
"双酮",
|
||||
"代糖",
|
||||
"源岩"
|
||||
],
|
||||
"首次掉落": [
|
||||
"“棠梨儿”",
|
||||
"至纯源石"
|
||||
],
|
||||
"特殊掉落": [
|
||||
"“棠梨儿”"
|
||||
],
|
||||
"额外物资": []
|
||||
},
|
||||
"start": 1750752000,
|
||||
"end": 1751918399,
|
||||
"理智消耗": 0,
|
||||
"start": 1751947200,
|
||||
"end": 1752523199,
|
||||
"理智消耗": 9,
|
||||
"周一": 1,
|
||||
"周二": 1,
|
||||
"周三": 1,
|
||||
|
@ -203,19 +215,23 @@
|
|||
"key": 12
|
||||
},
|
||||
{
|
||||
"id": "TN-2",
|
||||
"id_key": "act5bossrush_02",
|
||||
"name": "无声破裂",
|
||||
"id": "FM-1 突袭",
|
||||
"id_key": "act19mini_01#f#",
|
||||
"name": "求同则塞",
|
||||
"drop": {
|
||||
"突袭首次掉落": [],
|
||||
"突袭首次掉落": [
|
||||
"“棠梨儿”"
|
||||
],
|
||||
"常规掉落": [],
|
||||
"首次掉落": [],
|
||||
"首次掉落": [
|
||||
"至纯源石"
|
||||
],
|
||||
"特殊掉落": [],
|
||||
"额外物资": []
|
||||
},
|
||||
"start": 1750752000,
|
||||
"end": 1751918399,
|
||||
"理智消耗": 0,
|
||||
"start": 1751947200,
|
||||
"end": 1752523199,
|
||||
"理智消耗": 9,
|
||||
"周一": 1,
|
||||
"周二": 1,
|
||||
"周三": 1,
|
||||
|
@ -226,19 +242,31 @@
|
|||
"key": 13
|
||||
},
|
||||
{
|
||||
"id": "TN-3",
|
||||
"id_key": "act5bossrush_03",
|
||||
"name": "幕间重影",
|
||||
"id": "FM-2",
|
||||
"id_key": "act19mini_02",
|
||||
"name": "求异则悖",
|
||||
"drop": {
|
||||
"突袭首次掉落": [],
|
||||
"常规掉落": [],
|
||||
"首次掉落": [],
|
||||
"特殊掉落": [],
|
||||
"常规掉落": [
|
||||
"酯原料",
|
||||
"破损装置",
|
||||
"异铁碎片",
|
||||
"双酮",
|
||||
"代糖",
|
||||
"源岩"
|
||||
],
|
||||
"首次掉落": [
|
||||
"“棠梨儿”",
|
||||
"至纯源石"
|
||||
],
|
||||
"特殊掉落": [
|
||||
"“棠梨儿”"
|
||||
],
|
||||
"额外物资": []
|
||||
},
|
||||
"start": 1750752000,
|
||||
"end": 1751918399,
|
||||
"理智消耗": 0,
|
||||
"start": 1751947200,
|
||||
"end": 1752523199,
|
||||
"理智消耗": 9,
|
||||
"周一": 1,
|
||||
"周二": 1,
|
||||
"周三": 1,
|
||||
|
@ -249,19 +277,23 @@
|
|||
"key": 14
|
||||
},
|
||||
{
|
||||
"id": "TN-4",
|
||||
"id_key": "act5bossrush_04",
|
||||
"name": "沸海遮日",
|
||||
"id": "FM-2 突袭",
|
||||
"id_key": "act19mini_02#f#",
|
||||
"name": "求异则悖",
|
||||
"drop": {
|
||||
"突袭首次掉落": [],
|
||||
"突袭首次掉落": [
|
||||
"“棠梨儿”"
|
||||
],
|
||||
"常规掉落": [],
|
||||
"首次掉落": [],
|
||||
"首次掉落": [
|
||||
"至纯源石"
|
||||
],
|
||||
"特殊掉落": [],
|
||||
"额外物资": []
|
||||
},
|
||||
"start": 1750752000,
|
||||
"end": 1751918399,
|
||||
"理智消耗": 0,
|
||||
"start": 1751947200,
|
||||
"end": 1752523199,
|
||||
"理智消耗": 9,
|
||||
"周一": 1,
|
||||
"周二": 1,
|
||||
"周三": 1,
|
||||
|
@ -272,19 +304,31 @@
|
|||
"key": 15
|
||||
},
|
||||
{
|
||||
"id": "TN-1",
|
||||
"id_key": "act5bossrush_ex01",
|
||||
"name": "严寒骤血",
|
||||
"id": "FM-3",
|
||||
"id_key": "act19mini_03",
|
||||
"name": "求遐则失",
|
||||
"drop": {
|
||||
"突袭首次掉落": [],
|
||||
"常规掉落": [],
|
||||
"首次掉落": [],
|
||||
"特殊掉落": [],
|
||||
"常规掉落": [
|
||||
"酯原料",
|
||||
"破损装置",
|
||||
"异铁碎片",
|
||||
"双酮",
|
||||
"代糖",
|
||||
"源岩"
|
||||
],
|
||||
"首次掉落": [
|
||||
"“棠梨儿”",
|
||||
"至纯源石"
|
||||
],
|
||||
"特殊掉落": [
|
||||
"“棠梨儿”"
|
||||
],
|
||||
"额外物资": []
|
||||
},
|
||||
"start": 1750752000,
|
||||
"end": 1751918399,
|
||||
"理智消耗": 0,
|
||||
"start": 1751947200,
|
||||
"end": 1752523199,
|
||||
"理智消耗": 12,
|
||||
"周一": 1,
|
||||
"周二": 1,
|
||||
"周三": 1,
|
||||
|
@ -295,19 +339,23 @@
|
|||
"key": 16
|
||||
},
|
||||
{
|
||||
"id": "TN-2",
|
||||
"id_key": "act5bossrush_ex02",
|
||||
"name": "无声破裂",
|
||||
"id": "FM-3 突袭",
|
||||
"id_key": "act19mini_03#f#",
|
||||
"name": "求遐则失",
|
||||
"drop": {
|
||||
"突袭首次掉落": [],
|
||||
"突袭首次掉落": [
|
||||
"“棠梨儿”"
|
||||
],
|
||||
"常规掉落": [],
|
||||
"首次掉落": [],
|
||||
"首次掉落": [
|
||||
"至纯源石"
|
||||
],
|
||||
"特殊掉落": [],
|
||||
"额外物资": []
|
||||
},
|
||||
"start": 1750752000,
|
||||
"end": 1751918399,
|
||||
"理智消耗": 0,
|
||||
"start": 1751947200,
|
||||
"end": 1752523199,
|
||||
"理智消耗": 12,
|
||||
"周一": 1,
|
||||
"周二": 1,
|
||||
"周三": 1,
|
||||
|
@ -318,19 +366,31 @@
|
|||
"key": 17
|
||||
},
|
||||
{
|
||||
"id": "TN-3",
|
||||
"id_key": "act5bossrush_ex03",
|
||||
"name": "幕间重影",
|
||||
"id": "FM-4",
|
||||
"id_key": "act19mini_04",
|
||||
"name": "求迩则乱",
|
||||
"drop": {
|
||||
"突袭首次掉落": [],
|
||||
"常规掉落": [],
|
||||
"首次掉落": [],
|
||||
"特殊掉落": [],
|
||||
"常规掉落": [
|
||||
"酯原料",
|
||||
"破损装置",
|
||||
"异铁碎片",
|
||||
"双酮",
|
||||
"代糖",
|
||||
"源岩"
|
||||
],
|
||||
"首次掉落": [
|
||||
"“棠梨儿”",
|
||||
"至纯源石"
|
||||
],
|
||||
"特殊掉落": [
|
||||
"“棠梨儿”"
|
||||
],
|
||||
"额外物资": []
|
||||
},
|
||||
"start": 1750752000,
|
||||
"end": 1751918399,
|
||||
"理智消耗": 0,
|
||||
"start": 1751947200,
|
||||
"end": 1752523199,
|
||||
"理智消耗": 12,
|
||||
"周一": 1,
|
||||
"周二": 1,
|
||||
"周三": 1,
|
||||
|
@ -341,19 +401,23 @@
|
|||
"key": 18
|
||||
},
|
||||
{
|
||||
"id": "TN-4",
|
||||
"id_key": "act5bossrush_ex04",
|
||||
"name": "沸海遮日",
|
||||
"id": "FM-4 突袭",
|
||||
"id_key": "act19mini_04#f#",
|
||||
"name": "求迩则乱",
|
||||
"drop": {
|
||||
"突袭首次掉落": [],
|
||||
"突袭首次掉落": [
|
||||
"“棠梨儿”"
|
||||
],
|
||||
"常规掉落": [],
|
||||
"首次掉落": [],
|
||||
"首次掉落": [
|
||||
"至纯源石"
|
||||
],
|
||||
"特殊掉落": [],
|
||||
"额外物资": []
|
||||
},
|
||||
"start": 1750752000,
|
||||
"end": 1751918399,
|
||||
"理智消耗": 0,
|
||||
"start": 1751947200,
|
||||
"end": 1752523199,
|
||||
"理智消耗": 12,
|
||||
"周一": 1,
|
||||
"周二": 1,
|
||||
"周三": 1,
|
||||
|
@ -364,19 +428,34 @@
|
|||
"key": 19
|
||||
},
|
||||
{
|
||||
"id": "TN-4",
|
||||
"id_key": "act5bossrush_fin04",
|
||||
"name": "沸海遮日",
|
||||
"id": "FM-5",
|
||||
"id_key": "act19mini_05",
|
||||
"name": "求缓则迟",
|
||||
"drop": {
|
||||
"突袭首次掉落": [],
|
||||
"常规掉落": [],
|
||||
"首次掉落": [],
|
||||
"特殊掉落": [],
|
||||
"额外物资": []
|
||||
"常规掉落": [
|
||||
"装置"
|
||||
],
|
||||
"首次掉落": [
|
||||
"“棠梨儿”",
|
||||
"至纯源石"
|
||||
],
|
||||
"特殊掉落": [
|
||||
"“棠梨儿”"
|
||||
],
|
||||
"额外物资": [
|
||||
"源岩",
|
||||
"酯原料",
|
||||
"破损装置",
|
||||
"赤金",
|
||||
"固源岩",
|
||||
"聚酸酯",
|
||||
"装置"
|
||||
]
|
||||
},
|
||||
"start": 1750752000,
|
||||
"end": 1751918399,
|
||||
"理智消耗": 0,
|
||||
"start": 1751947200,
|
||||
"end": 1752523199,
|
||||
"理智消耗": 15,
|
||||
"周一": 1,
|
||||
"周二": 1,
|
||||
"周三": 1,
|
||||
|
@ -387,19 +466,23 @@
|
|||
"key": 20
|
||||
},
|
||||
{
|
||||
"id": "TN-1",
|
||||
"id_key": "act5bossrush_tm01",
|
||||
"name": "严寒骤血",
|
||||
"id": "FM-5 突袭",
|
||||
"id_key": "act19mini_05#f#",
|
||||
"name": "求缓则迟",
|
||||
"drop": {
|
||||
"突袭首次掉落": [],
|
||||
"突袭首次掉落": [
|
||||
"“棠梨儿”"
|
||||
],
|
||||
"常规掉落": [],
|
||||
"首次掉落": [],
|
||||
"首次掉落": [
|
||||
"至纯源石"
|
||||
],
|
||||
"特殊掉落": [],
|
||||
"额外物资": []
|
||||
},
|
||||
"start": 1750752000,
|
||||
"end": 1751918399,
|
||||
"理智消耗": 0,
|
||||
"start": 1751947200,
|
||||
"end": 1752523199,
|
||||
"理智消耗": 15,
|
||||
"周一": 1,
|
||||
"周二": 1,
|
||||
"周三": 1,
|
||||
|
@ -410,19 +493,35 @@
|
|||
"key": 21
|
||||
},
|
||||
{
|
||||
"id": "TN-2",
|
||||
"id_key": "act5bossrush_tm02",
|
||||
"name": "无声破裂",
|
||||
"id": "FM-6",
|
||||
"id_key": "act19mini_06",
|
||||
"name": "求速则贪",
|
||||
"drop": {
|
||||
"突袭首次掉落": [],
|
||||
"常规掉落": [],
|
||||
"首次掉落": [],
|
||||
"特殊掉落": [],
|
||||
"额外物资": []
|
||||
"常规掉落": [
|
||||
"酮凝集"
|
||||
],
|
||||
"首次掉落": [
|
||||
"“棠梨儿”",
|
||||
"至纯源石"
|
||||
],
|
||||
"特殊掉落": [
|
||||
"“棠梨儿”"
|
||||
],
|
||||
"额外物资": [
|
||||
"代糖",
|
||||
"异铁碎片",
|
||||
"双酮",
|
||||
"基础作战记录",
|
||||
"糖",
|
||||
"异铁",
|
||||
"酮凝集",
|
||||
"初级作战记录"
|
||||
]
|
||||
},
|
||||
"start": 1750752000,
|
||||
"end": 1751918399,
|
||||
"理智消耗": 0,
|
||||
"start": 1751947200,
|
||||
"end": 1752523199,
|
||||
"理智消耗": 15,
|
||||
"周一": 1,
|
||||
"周二": 1,
|
||||
"周三": 1,
|
||||
|
@ -433,19 +532,23 @@
|
|||
"key": 22
|
||||
},
|
||||
{
|
||||
"id": "TN-3",
|
||||
"id_key": "act5bossrush_tm03",
|
||||
"name": "幕间重影",
|
||||
"id": "FM-6 突袭",
|
||||
"id_key": "act19mini_06#f#",
|
||||
"name": "求速则贪",
|
||||
"drop": {
|
||||
"突袭首次掉落": [],
|
||||
"突袭首次掉落": [
|
||||
"“棠梨儿”"
|
||||
],
|
||||
"常规掉落": [],
|
||||
"首次掉落": [],
|
||||
"首次掉落": [
|
||||
"至纯源石"
|
||||
],
|
||||
"特殊掉落": [],
|
||||
"额外物资": []
|
||||
},
|
||||
"start": 1750752000,
|
||||
"end": 1751918399,
|
||||
"理智消耗": 0,
|
||||
"start": 1751947200,
|
||||
"end": 1752523199,
|
||||
"理智消耗": 15,
|
||||
"周一": 1,
|
||||
"周二": 1,
|
||||
"周三": 1,
|
||||
|
@ -456,19 +559,39 @@
|
|||
"key": 23
|
||||
},
|
||||
{
|
||||
"id": "TN-4",
|
||||
"id_key": "act5bossrush_tm04",
|
||||
"name": "沸海遮日",
|
||||
"id": "FM-7",
|
||||
"id_key": "act19mini_07",
|
||||
"name": "求退则惘",
|
||||
"drop": {
|
||||
"突袭首次掉落": [],
|
||||
"常规掉落": [],
|
||||
"首次掉落": [],
|
||||
"特殊掉落": [],
|
||||
"额外物资": []
|
||||
"常规掉落": [
|
||||
"RMA70-12"
|
||||
],
|
||||
"首次掉落": [
|
||||
"“棠梨儿”",
|
||||
"至纯源石"
|
||||
],
|
||||
"特殊掉落": [
|
||||
"“棠梨儿”"
|
||||
],
|
||||
"额外物资": [
|
||||
"酯原料",
|
||||
"双酮",
|
||||
"聚酸酯",
|
||||
"酮凝集",
|
||||
"聚酸酯组",
|
||||
"酮凝集组",
|
||||
"研磨石",
|
||||
"晶体元件",
|
||||
"RMA70-12",
|
||||
"化合切削液",
|
||||
"半自然溶剂",
|
||||
"环烃聚质"
|
||||
]
|
||||
},
|
||||
"start": 1750752000,
|
||||
"end": 1751918399,
|
||||
"理智消耗": 0,
|
||||
"start": 1751947200,
|
||||
"end": 1752523199,
|
||||
"理智消耗": 21,
|
||||
"周一": 1,
|
||||
"周二": 1,
|
||||
"周三": 1,
|
||||
|
@ -477,5 +600,151 @@
|
|||
"周六": 1,
|
||||
"周日": 1,
|
||||
"key": 24
|
||||
},
|
||||
{
|
||||
"id": "FM-7 突袭",
|
||||
"id_key": "act19mini_07#f#",
|
||||
"name": "求退则惘",
|
||||
"drop": {
|
||||
"突袭首次掉落": [
|
||||
"“棠梨儿”"
|
||||
],
|
||||
"常规掉落": [],
|
||||
"首次掉落": [
|
||||
"至纯源石"
|
||||
],
|
||||
"特殊掉落": [],
|
||||
"额外物资": []
|
||||
},
|
||||
"start": 1751947200,
|
||||
"end": 1752523199,
|
||||
"理智消耗": 21,
|
||||
"周一": 1,
|
||||
"周二": 1,
|
||||
"周三": 1,
|
||||
"周四": 1,
|
||||
"周五": 1,
|
||||
"周六": 1,
|
||||
"周日": 1,
|
||||
"key": 25
|
||||
},
|
||||
{
|
||||
"id": "FM-8",
|
||||
"id_key": "act19mini_08",
|
||||
"name": "求进则愎",
|
||||
"drop": {
|
||||
"突袭首次掉落": [],
|
||||
"常规掉落": [
|
||||
"转质盐组"
|
||||
],
|
||||
"首次掉落": [
|
||||
"“棠梨儿”",
|
||||
"至纯源石"
|
||||
],
|
||||
"特殊掉落": [
|
||||
"“棠梨儿”"
|
||||
],
|
||||
"额外物资": [
|
||||
"源岩",
|
||||
"破损装置",
|
||||
"固源岩",
|
||||
"装置",
|
||||
"固源岩组",
|
||||
"全新装置",
|
||||
"扭转醇",
|
||||
"凝胶",
|
||||
"褐素纤维",
|
||||
"赤金"
|
||||
]
|
||||
},
|
||||
"start": 1751947200,
|
||||
"end": 1752523199,
|
||||
"理智消耗": 21,
|
||||
"周一": 1,
|
||||
"周二": 1,
|
||||
"周三": 1,
|
||||
"周四": 1,
|
||||
"周五": 1,
|
||||
"周六": 1,
|
||||
"周日": 1,
|
||||
"key": 26
|
||||
},
|
||||
{
|
||||
"id": "FM-8 突袭",
|
||||
"id_key": "act19mini_08#f#",
|
||||
"name": "求进则愎",
|
||||
"drop": {
|
||||
"突袭首次掉落": [
|
||||
"furni_terracommericials_SuisGarden_01",
|
||||
"“棠梨儿”"
|
||||
],
|
||||
"常规掉落": [],
|
||||
"首次掉落": [
|
||||
"至纯源石"
|
||||
],
|
||||
"特殊掉落": [],
|
||||
"额外物资": []
|
||||
},
|
||||
"start": 1751947200,
|
||||
"end": 1752523199,
|
||||
"理智消耗": 21,
|
||||
"周一": 1,
|
||||
"周二": 1,
|
||||
"周三": 1,
|
||||
"周四": 1,
|
||||
"周五": 1,
|
||||
"周六": 1,
|
||||
"周日": 1,
|
||||
"key": 27
|
||||
},
|
||||
{
|
||||
"id": "FM-S-1",
|
||||
"id_key": "act19mini_s01",
|
||||
"name": "有求则苦",
|
||||
"drop": {
|
||||
"突袭首次掉落": [],
|
||||
"常规掉落": [],
|
||||
"首次掉落": [
|
||||
"至纯源石"
|
||||
],
|
||||
"特殊掉落": [],
|
||||
"额外物资": []
|
||||
},
|
||||
"start": 1751947200,
|
||||
"end": 1752523199,
|
||||
"理智消耗": 0,
|
||||
"周一": 1,
|
||||
"周二": 1,
|
||||
"周三": 1,
|
||||
"周四": 1,
|
||||
"周五": 1,
|
||||
"周六": 1,
|
||||
"周日": 1,
|
||||
"key": 28
|
||||
},
|
||||
{
|
||||
"id": "FM-S-2",
|
||||
"id_key": "act19mini_s02",
|
||||
"name": "莫向外求",
|
||||
"drop": {
|
||||
"突袭首次掉落": [],
|
||||
"常规掉落": [],
|
||||
"首次掉落": [
|
||||
"至纯源石"
|
||||
],
|
||||
"特殊掉落": [],
|
||||
"额外物资": []
|
||||
},
|
||||
"start": 1751947200,
|
||||
"end": 1752523199,
|
||||
"理智消耗": 0,
|
||||
"周一": 1,
|
||||
"周二": 1,
|
||||
"周三": 1,
|
||||
"周四": 1,
|
||||
"周五": 1,
|
||||
"周六": 1,
|
||||
"周日": 1,
|
||||
"key": 29
|
||||
}
|
||||
]
|
Loading…
Add table
Add a link
Reference in a new issue