Compare commits
18 commits
ca6d7eafae
...
eae8926fdc
Author | SHA1 | Date | |
---|---|---|---|
eae8926fdc | |||
af51fbd349 | |||
8b0004363b | |||
d8c1beb86c | |||
0a136afbf4 | |||
21a32de5f8 | |||
2664144160 | |||
dcc48dc0fb | |||
1abb32645c | |||
9e2e902a80 | |||
9bffc270c7 | |||
ca5dc08e6d | |||
f02a81681c | |||
0222fa5517 | |||
65278f8009 | |||
7e4ff61fc4 | |||
764247407c | |||
e616efda56 |
1644 changed files with 10417 additions and 1178 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -41,7 +41,7 @@ __pycache__/
|
|||
mower/
|
||||
build/
|
||||
develop-eggs/
|
||||
dist/
|
||||
/dist/
|
||||
downloads/
|
||||
eggs/
|
||||
.eggs/
|
||||
|
@ -192,7 +192,6 @@ dmypy.json
|
|||
|
||||
# End of https://www.toptal.com/developers/gitignore/api/visualstudiocode
|
||||
/*.json
|
||||
dist
|
||||
MAA
|
||||
/*.yml
|
||||
|
||||
|
|
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -1,3 +1,6 @@
|
|||
[submodule "ArknightsGameResource"]
|
||||
path = ArknightsGameResource
|
||||
url = https://github.com/yuanyan3060/ArknightsGameResource
|
||||
[submodule "ArknightsGameData"]
|
||||
path = ArknightsGameData
|
||||
url = https://github.com/Kengxxiao/ArknightsGameData.git
|
||||
|
|
1
ArknightsGameData
Submodule
1
ArknightsGameData
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 9a47cf12ea076eeb9a6b622bc5523451d1b8cc63
|
|
@ -1 +1 @@
|
|||
Subproject commit 394b0bc717df173eff1d9880f2ac0249dfedcfd2
|
||||
Subproject commit 9826fca7f304b5f3e39bd42f4406a27b1015bf2c
|
|
@ -1 +1 @@
|
|||
["芬", "梅", "宴", "砾", "孑", "吽", "红", "空", "黑", "W", "夕", "林", "令", "阿", "黍", "年", "山", "陈", "锏", "煌", "夜刀", "黑角", "杜林", "香草", "翎羽", "卡缇", "斑点", "炎熔", "芙蓉", "梓兰", "夜烟", "远山", "卡达", "深靛", "布丁", "流星", "红云", "白雪", "松果", "酸糖", "铅踝", "跃跃", "讯使", "红豆", "豆苗", "杜宾", "缠丸", "霜叶", "慕斯", "刻刀", "芳汀", "石英", "暗索", "末药", "清流", "褐果", "角峰", "泡泡", "露托", "古米", "坚雷", "地灵", "伊桑", "阿消", "维荻", "微风", "凛冬", "贾维", "青枳", "红隼", "苇草", "野鬃", "极境", "万顷", "夜半", "渡桥", "晓歌", "谜图", "鞭刃", "苍苔", "医生", "炎客", "摩根", "燧石", "断崖", "烈夏", "铎铃", "柏喙", "战车", "星极", "铸铁", "赤冬", "海沫", "奥达", "蓝毒", "白金", "灰喉", "四月", "隐现", "陨星", "慑砂", "截云", "苦艾", "雪绒", "天火", "惊蛰", "星源", "蜜蜡", "寒檀", "薄绿", "和弦", "蚀清", "耶拉", "洛洛", "至简", "折光", "温米", "梅尔", "稀音", "衡沙", "赫默", "亚叶", "锡兰", "絮雨", "图耶", "桑葚", "蜜莓", "刺玫", "明椒", "莎草", "临光", "深律", "槐琥", "乌有", "雷蛇", "深巡", "可颂", "拜松", "火神", "石棉", "暮落", "闪击", "暴雨", "灰毫", "火哨", "极光", "洋灰", "玫拉", "子月", "熔泉", "冰酿", "空构", "崖心", "雪雉", "杏仁", "初雪", "巫恋", "海霓", "真理", "但书", "小满", "掠风", "海蒂", "月禾", "夏栎", "凛视", "狮蝎", "绮良", "罗宾", "霜华", "贝娜", "风丸", "双月", "锡人", "空弦", "灰烬", "鸿雪", "远牙", "早露", "提丰", "莱伊", "风笛", "嵯峨", "琴柳", "焰尾", "伺夜", "异客", "澄闪", "黑键", "妮芙", "灵知", "铃兰", "魔王", "白铁", "塑心", "傀影", "老鲤", "温蒂", "水月", "艾拉", "闪灵", "夜莺", "流明", "星熊", "瑕光", "泥岩", "斥罪", "森蚺", "号角", "重岳", "银灰", "棘刺", "仇白", "佩佩", "左乐", "止颂", "暴行", "空爆", "猎蜂", "杰克", "夜魔", "巡林者", "12F", "玫兰莎", "泡普卡", "米格鲁", "克洛丝", "安赛尔", "格雷伊", "杰西卡", "安比尔", "清道夫", "桃金娘", "断罪者", "罗小黑", "休谟斯", "嘉维尔", "苏苏洛", "调香师", "蛇屠箱", "深海色", "波登可", "白面鸮", "诗怀雅", "芙兰卡", "因陀罗", "达格达", "幽灵鲨", "布洛卡", "导火索", "羽毛笔", "龙舌兰", "送葬人", "奥斯塔", "阿米娅", "特米米", "爱丽丝", "戴菲恩", "阿罗玛", "华法琳", "哈洛德", "卡夫卡", "车尔尼", "守林人", "安哲拉", "埃拉托", "九色鹿", "食铁兽", "见行者", "能天使", "迷迭香", "伊内丝", "刻俄柏", "逻各斯", "麦哲伦", "多萝西", "凯尔希", "塞雷娅", "赫德雷", "艾丽妮", "赫拉格", "帕拉斯", "玛恩纳", "月见夜", "格拉尼", "斯卡蒂", "安德切尔", "史都华德", "艾丝黛尔", "罗比菈塔", "德克萨斯", "拉普兰德", "莱恩哈特", "炎狱炎熔", "濯尘芙蓉", "普罗旺斯", "格劳克斯", "菲亚梅塔", "维什戴尔", "娜仁图亚", "推进之王", "缪尔赛思", "伊芙利特", "莫斯提马", "艾雅法拉", "霍尔海雅", "卡涅利安", "安洁莉娜", "淬羽赫默", "歌蕾蒂娅", "阿斯卡纶", "焰影苇草", "乌尔比安", "史尔特尔", "薇薇安娜", "正义骑士号", "历阵锐枪芬", "火龙S黑角", "寒芒克洛丝", "承曦格雷伊", "假日威龙陈", "浊心斯卡蒂", "麒麟R夜刀", "琳琅诗怀雅", "归溟幽灵鲨", "涤火杰西卡", "百炼嘉维尔", "耀骑士临光", "圣约送葬人", "缄默德克萨斯", "纯烬艾雅法拉", "THRM-EX", "泰拉大陆调查团", "Lancet-2", "Castle-3", "PhonoR-0", "Friston-3", "U-Official"]
|
||||
["芬", "梅", "宴", "砾", "孑", "吽", "红", "空", "黑", "W", "夕", "林", "令", "阿", "黍", "年", "山", "陈", "锏", "煌", "夜刀", "黑角", "杜林", "香草", "翎羽", "卡缇", "斑点", "炎熔", "芙蓉", "梓兰", "夜烟", "远山", "卡达", "深靛", "布丁", "流星", "红云", "白雪", "松果", "酸糖", "铅踝", "跃跃", "讯使", "红豆", "豆苗", "杜宾", "缠丸", "霜叶", "慕斯", "刻刀", "芳汀", "石英", "暗索", "末药", "清流", "褐果", "角峰", "泡泡", "露托", "古米", "坚雷", "地灵", "伊桑", "阿消", "维荻", "微风", "凛冬", "贾维", "青枳", "红隼", "苇草", "野鬃", "极境", "万顷", "夜半", "渡桥", "晓歌", "谜图", "鞭刃", "苍苔", "医生", "炎客", "摩根", "燧石", "断崖", "烈夏", "铎铃", "柏喙", "战车", "星极", "铸铁", "赤冬", "海沫", "奥达", "蓝毒", "白金", "灰喉", "四月", "隐现", "陨星", "慑砂", "截云", "苦艾", "雪绒", "天火", "惊蛰", "星源", "蜜蜡", "寒檀", "薄绿", "和弦", "蚀清", "耶拉", "洛洛", "至简", "折光", "温米", "梅尔", "稀音", "衡沙", "赫默", "亚叶", "锡兰", "絮雨", "图耶", "桑葚", "蜜莓", "刺玫", "明椒", "莎草", "临光", "深律", "森西", "槐琥", "乌有", "雷蛇", "深巡", "可颂", "拜松", "火神", "石棉", "暮落", "闪击", "暴雨", "灰毫", "火哨", "极光", "洋灰", "玫拉", "子月", "熔泉", "冰酿", "空构", "崖心", "雪雉", "杏仁", "初雪", "巫恋", "海霓", "真理", "但书", "小满", "掠风", "海蒂", "月禾", "夏栎", "凛视", "狮蝎", "绮良", "罗宾", "霜华", "贝娜", "风丸", "双月", "锡人", "空弦", "灰烬", "鸿雪", "远牙", "早露", "提丰", "莱伊", "风笛", "嵯峨", "琴柳", "焰尾", "伺夜", "异客", "澄闪", "黑键", "妮芙", "灵知", "铃兰", "魔王", "白铁", "塑心", "傀影", "老鲤", "温蒂", "水月", "艾拉", "闪灵", "夜莺", "流明", "星熊", "瑕光", "泥岩", "斥罪", "森蚺", "号角", "重岳", "银灰", "棘刺", "仇白", "佩佩", "左乐", "止颂", "暴行", "空爆", "猎蜂", "杰克", "夜魔", "巡林者", "12F", "玫兰莎", "泡普卡", "米格鲁", "克洛丝", "安赛尔", "格雷伊", "杰西卡", "安比尔", "清道夫", "桃金娘", "断罪者", "罗小黑", "休谟斯", "嘉维尔", "苏苏洛", "调香师", "蛇屠箱", "深海色", "波登可", "白面鸮", "诗怀雅", "芙兰卡", "莱欧斯", "因陀罗", "达格达", "幽灵鲨", "布洛卡", "导火索", "羽毛笔", "龙舌兰", "送葬人", "奥斯塔", "阿米娅", "特米米", "爱丽丝", "戴菲恩", "阿罗玛", "华法琳", "哈洛德", "卡夫卡", "车尔尼", "守林人", "安哲拉", "埃拉托", "九色鹿", "食铁兽", "见行者", "能天使", "迷迭香", "伊内丝", "刻俄柏", "逻各斯", "麦哲伦", "多萝西", "凯尔希", "塞雷娅", "赫德雷", "艾丽妮", "赫拉格", "帕拉斯", "玛恩纳", "月见夜", "格拉尼", "斯卡蒂", "安德切尔", "史都华德", "艾丝黛尔", "罗比菈塔", "德克萨斯", "齐尔查克", "拉普兰德", "莱恩哈特", "炎狱炎熔", "濯尘芙蓉", "普罗旺斯", "格劳克斯", "菲亚梅塔", "维什戴尔", "娜仁图亚", "推进之王", "缪尔赛思", "伊芙利特", "莫斯提马", "艾雅法拉", "霍尔海雅", "玛露西尔", "卡涅利安", "安洁莉娜", "淬羽赫默", "歌蕾蒂娅", "阿斯卡纶", "焰影苇草", "乌尔比安", "史尔特尔", "薇薇安娜", "正义骑士号", "历阵锐枪芬", "火龙S黑角", "寒芒克洛丝", "承曦格雷伊", "假日威龙陈", "浊心斯卡蒂", "麒麟R夜刀", "琳琅诗怀雅", "归溟幽灵鲨", "涤火杰西卡", "百炼嘉维尔", "耀骑士临光", "圣约送葬人", "缄默德克萨斯", "纯烬艾雅法拉", "THRM-EX", "泰拉大陆调查团", "Lancet-2", "Castle-3", "PhonoR-0", "Friston-3", "U-Official"]
|
|
@ -377,6 +377,20 @@
|
|||
"NORMAL",
|
||||
40001
|
||||
],
|
||||
"LINKAGE_TKT_GACHA_10_5401": [
|
||||
"LINKAGE_TKT_GACHA_10_5401",
|
||||
"LINKAGE_TKT_GACHA_10_5401",
|
||||
"好好吃饭寻访凭证",
|
||||
"NORMAL",
|
||||
40003
|
||||
],
|
||||
"好好吃饭寻访凭证": [
|
||||
"LINKAGE_TKT_GACHA_10_5401",
|
||||
"LINKAGE_TKT_GACHA_10_5401",
|
||||
"好好吃饭寻访凭证",
|
||||
"NORMAL",
|
||||
40003
|
||||
],
|
||||
"7003": [
|
||||
"7003",
|
||||
"TKT_GACHA",
|
||||
|
@ -6551,6 +6565,48 @@
|
|||
"MATERIAL",
|
||||
700151
|
||||
],
|
||||
"p_char_4142_laios": [
|
||||
"p_char_4142_laios",
|
||||
"p_char_4142_laios",
|
||||
"莱欧斯的信物",
|
||||
"MATERIAL",
|
||||
700152
|
||||
],
|
||||
"莱欧斯的信物": [
|
||||
"p_char_4142_laios",
|
||||
"p_char_4142_laios",
|
||||
"莱欧斯的信物",
|
||||
"MATERIAL",
|
||||
700152
|
||||
],
|
||||
"p_char_4143_sensi": [
|
||||
"p_char_4143_sensi",
|
||||
"p_char_4143_sensi",
|
||||
"森西的信物",
|
||||
"MATERIAL",
|
||||
700153
|
||||
],
|
||||
"森西的信物": [
|
||||
"p_char_4143_sensi",
|
||||
"p_char_4143_sensi",
|
||||
"森西的信物",
|
||||
"MATERIAL",
|
||||
700153
|
||||
],
|
||||
"p_char_4144_chilc": [
|
||||
"p_char_4144_chilc",
|
||||
"p_char_4144_chilc",
|
||||
"齐尔查克的信物",
|
||||
"MATERIAL",
|
||||
700154
|
||||
],
|
||||
"齐尔查克的信物": [
|
||||
"p_char_4144_chilc",
|
||||
"p_char_4144_chilc",
|
||||
"齐尔查克的信物",
|
||||
"MATERIAL",
|
||||
700154
|
||||
],
|
||||
"p_char_103_angel": [
|
||||
"p_char_103_angel",
|
||||
"p_char_103_angel",
|
||||
|
@ -7895,6 +7951,20 @@
|
|||
"MATERIAL",
|
||||
600096
|
||||
],
|
||||
"p_char_4141_marcil": [
|
||||
"p_char_4141_marcil",
|
||||
"p_char_4141_marcil",
|
||||
"玛露西尔的信物",
|
||||
"MATERIAL",
|
||||
600097
|
||||
],
|
||||
"玛露西尔的信物": [
|
||||
"p_char_4141_marcil",
|
||||
"p_char_4141_marcil",
|
||||
"玛露西尔的信物",
|
||||
"MATERIAL",
|
||||
600097
|
||||
],
|
||||
"class_p_char_123_fang": [
|
||||
"class_p_char_123_fang",
|
||||
"class_p_char_123_fang",
|
||||
|
|
|
@ -555,6 +555,18 @@
|
|||
"label": "DEPOT",
|
||||
"comment": "仓库"
|
||||
},
|
||||
"1401": {
|
||||
"label": "ACTIVITY_MAIN",
|
||||
"comment": "活动主界面"
|
||||
},
|
||||
"1402": {
|
||||
"label": "ACTIVITY_CHOOSE_LEVEL",
|
||||
"comment": "活动关选择"
|
||||
},
|
||||
"1501": {
|
||||
"label": "SIGN_IN_DAILY",
|
||||
"comment": "签到活动"
|
||||
},
|
||||
"9998": {
|
||||
"label": "LOADING",
|
||||
"comment": "场景跳转时的等待界面"
|
||||
|
|
BIN
arknights_mower/models/CONSUME.pkl
(Stored with Git LFS)
BIN
arknights_mower/models/CONSUME.pkl
(Stored with Git LFS)
Binary file not shown.
BIN
arknights_mower/models/NORMAL.pkl
(Stored with Git LFS)
BIN
arknights_mower/models/NORMAL.pkl
(Stored with Git LFS)
Binary file not shown.
BIN
arknights_mower/models/avatar.pkl
(Stored with Git LFS)
BIN
arknights_mower/models/avatar.pkl
(Stored with Git LFS)
Binary file not shown.
BIN
arknights_mower/models/levels.pkl
(Stored with Git LFS)
BIN
arknights_mower/models/levels.pkl
(Stored with Git LFS)
Binary file not shown.
BIN
arknights_mower/models/operator_room.model
(Stored with Git LFS)
BIN
arknights_mower/models/operator_room.model
(Stored with Git LFS)
Binary file not shown.
BIN
arknights_mower/models/portrait.pkl
(Stored with Git LFS)
BIN
arknights_mower/models/portrait.pkl
(Stored with Git LFS)
Binary file not shown.
BIN
arknights_mower/resources/collection_small.png
(Stored with Git LFS)
BIN
arknights_mower/resources/collection_small.png
(Stored with Git LFS)
Binary file not shown.
BIN
arknights_mower/resources/login_new.png
(Stored with Git LFS)
BIN
arknights_mower/resources/login_new.png
(Stored with Git LFS)
Binary file not shown.
BIN
arknights_mower/resources/main_theme_small.png
(Stored with Git LFS)
BIN
arknights_mower/resources/main_theme_small.png
(Stored with Git LFS)
Binary file not shown.
BIN
arknights_mower/resources/navigation/activity/DT-1.png
(Stored with Git LFS)
Normal file
BIN
arknights_mower/resources/navigation/activity/DT-1.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
arknights_mower/resources/navigation/activity/DT-2.png
(Stored with Git LFS)
Normal file
BIN
arknights_mower/resources/navigation/activity/DT-2.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
arknights_mower/resources/navigation/activity/DT-3.png
(Stored with Git LFS)
Normal file
BIN
arknights_mower/resources/navigation/activity/DT-3.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
arknights_mower/resources/navigation/activity/DT-4.png
(Stored with Git LFS)
Normal file
BIN
arknights_mower/resources/navigation/activity/DT-4.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
arknights_mower/resources/navigation/activity/DT-5.png
(Stored with Git LFS)
Normal file
BIN
arknights_mower/resources/navigation/activity/DT-5.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
arknights_mower/resources/navigation/activity/DT-6.png
(Stored with Git LFS)
Normal file
BIN
arknights_mower/resources/navigation/activity/DT-6.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
arknights_mower/resources/navigation/activity/DT-7.png
(Stored with Git LFS)
Normal file
BIN
arknights_mower/resources/navigation/activity/DT-7.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
arknights_mower/resources/navigation/activity/DT-8.png
(Stored with Git LFS)
Normal file
BIN
arknights_mower/resources/navigation/activity/DT-8.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
arknights_mower/resources/navigation/activity/banner.png
(Stored with Git LFS)
Normal file
BIN
arknights_mower/resources/navigation/activity/banner.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
arknights_mower/resources/navigation/activity/entry.png
(Stored with Git LFS)
Normal file
BIN
arknights_mower/resources/navigation/activity/entry.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
arknights_mower/resources/navigation/activity/terminal.jpg
Normal file
BIN
arknights_mower/resources/navigation/activity/terminal.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 276 KiB |
BIN
arknights_mower/resources/sign_in/banner.png
(Stored with Git LFS)
Normal file
BIN
arknights_mower/resources/sign_in/banner.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
arknights_mower/resources/sign_in/entry.png
(Stored with Git LFS)
Normal file
BIN
arknights_mower/resources/sign_in/entry.png
(Stored with Git LFS)
Normal file
Binary file not shown.
|
@ -25,9 +25,10 @@ from arknights_mower.solvers.recruit import RecruitSolver
|
|||
from arknights_mower.solvers.report import ReportSolver
|
||||
from arknights_mower.solvers.secret_front import SecretFront
|
||||
from arknights_mower.solvers.shop import CreditShop
|
||||
from arknights_mower.solvers.sign_in import SignInSolver
|
||||
from arknights_mower.solvers.skland import SKLand
|
||||
from arknights_mower.solvers.sss_navi import SSSNaviSolver
|
||||
from arknights_mower.utils import config, detector, hot_update, rapidocr
|
||||
from arknights_mower.utils import config, detector, rapidocr
|
||||
from arknights_mower.utils import typealias as tp
|
||||
from arknights_mower.utils.csleep import MowerExit, csleep
|
||||
from arknights_mower.utils.datetime import format_time, get_server_weekday
|
||||
|
@ -3213,7 +3214,7 @@ class BaseSchedulerSolver(SceneGraphSolver, BaseMixin):
|
|||
"SSSCopilot",
|
||||
{"filename": str(copilot), "loop_times": 9999999},
|
||||
)
|
||||
logger.info("启动")
|
||||
logger.info("启动肉鸽/保全")
|
||||
self.MAA.start()
|
||||
maa_crash = True
|
||||
while self.MAA.running():
|
||||
|
@ -3315,17 +3316,13 @@ class BaseSchedulerSolver(SceneGraphSolver, BaseMixin):
|
|||
def sign_in_plan_solver(self):
|
||||
if not config.conf.sign_in.enable:
|
||||
return
|
||||
hot_update.update()
|
||||
try:
|
||||
import sign_in
|
||||
|
||||
sign_in_solver = sign_in.SignInSolver()
|
||||
return sign_in_solver.run()
|
||||
return SignInSolver().run()
|
||||
except MowerExit:
|
||||
raise
|
||||
except Exception as e:
|
||||
logger.exception(e)
|
||||
return True
|
||||
return False
|
||||
|
||||
def 仓库扫描(self):
|
||||
try:
|
||||
|
|
|
@ -3,13 +3,15 @@ import re
|
|||
import cv2
|
||||
|
||||
from arknights_mower.models import navigation
|
||||
from arknights_mower.utils import config, hot_update
|
||||
from arknights_mower.utils import config
|
||||
from arknights_mower.utils.graph import SceneGraphSolver
|
||||
from arknights_mower.utils.image import thres2
|
||||
from arknights_mower.utils.log import logger
|
||||
from arknights_mower.utils.scene import Scene
|
||||
from arknights_mower.utils.vector import va, vs
|
||||
|
||||
from .activity import ActivityNavigation
|
||||
|
||||
location = {
|
||||
1: {
|
||||
"1-1": (0, 0),
|
||||
|
@ -146,15 +148,12 @@ difficulty_str = [
|
|||
|
||||
class NavigationSolver(SceneGraphSolver):
|
||||
def run(self, name: str):
|
||||
logger.info("Start: 关卡导航")
|
||||
self.success = False
|
||||
self.act = None
|
||||
|
||||
hot_update.update()
|
||||
if name in hot_update.navigation.NavigationSolver.location:
|
||||
hot_update.navigation.NavigationSolver().run(name)
|
||||
if name in ActivityNavigation.location():
|
||||
ActivityNavigation().run(name)
|
||||
return True
|
||||
|
||||
self.success = False
|
||||
self.act = None
|
||||
self.name = name
|
||||
prefix = name.split("-")[0]
|
||||
pr_prefix = ""
|
75
arknights_mower/solvers/navigation/activity.py
Normal file
75
arknights_mower/solvers/navigation/activity.py
Normal file
|
@ -0,0 +1,75 @@
|
|||
from datetime import datetime
|
||||
|
||||
import cv2
|
||||
|
||||
from arknights_mower.utils import config
|
||||
from arknights_mower.utils.graph import SceneGraphSolver
|
||||
from arknights_mower.utils.image import loadres, saveimg
|
||||
from arknights_mower.utils.log import logger
|
||||
from arknights_mower.utils.matcher import (
|
||||
GOOD_DISTANCE_LIMIT,
|
||||
flann,
|
||||
keypoints_scale_invariant,
|
||||
)
|
||||
from arknights_mower.utils.scene import Scene
|
||||
|
||||
|
||||
class ActivityNavigation(SceneGraphSolver):
|
||||
@classmethod
|
||||
def location(cls):
|
||||
if datetime.now() > datetime(2024, 9, 16, 4):
|
||||
return {}
|
||||
return [f"DT-{i}" for i in range(1, 9)]
|
||||
|
||||
def run(self, name: str) -> None:
|
||||
logger.info("Start: 活动关卡导航")
|
||||
self.name = name
|
||||
super().run()
|
||||
return True
|
||||
|
||||
def current_level(self):
|
||||
for i in self.location():
|
||||
if self.find(f"navigation/activity/{i}"):
|
||||
return int(i[-1])
|
||||
|
||||
def transition(self) -> bool:
|
||||
if (scene := self.scene()) == Scene.TERMINAL_MAIN:
|
||||
img = loadres("navigation/activity/terminal.jpg", True)
|
||||
kp1, des1 = keypoints_scale_invariant(img)
|
||||
kp2, des2 = config.recog.matcher.kp, config.recog.matcher.des
|
||||
matches = flann.knnMatch(des1, des2, k=2)
|
||||
good = []
|
||||
for pair in matches:
|
||||
if (len_pair := len(pair)) == 2:
|
||||
x, y = pair
|
||||
if x.distance < GOOD_DISTANCE_LIMIT * y.distance:
|
||||
good.append(x)
|
||||
elif len_pair == 1:
|
||||
good.append(pair[0])
|
||||
good = sorted(good, key=lambda x: x.distance)
|
||||
debug_img = cv2.drawMatches(
|
||||
img,
|
||||
kp1,
|
||||
config.recog.gray,
|
||||
kp2,
|
||||
good[:10],
|
||||
None,
|
||||
flags=cv2.DrawMatchesFlags_NOT_DRAW_SINGLE_POINTS,
|
||||
)
|
||||
saveimg(debug_img, "navigation")
|
||||
self.tap(kp2[good[0].trainIdx].pt, interval=4)
|
||||
elif scene == Scene.ACTIVITY_MAIN:
|
||||
self.tap_element("navigation/activity/entry", interval=2)
|
||||
elif scene == Scene.ACTIVITY_CHOOSE_LEVEL:
|
||||
current_level = self.current_level()
|
||||
target_level = int(self.name[-1])
|
||||
if current_level < target_level:
|
||||
self.tap((1840, 563))
|
||||
elif current_level > target_level:
|
||||
self.tap((78, 562))
|
||||
else:
|
||||
self.tap_element(f"navigation/activity/{self.name}")
|
||||
elif self.find("ope_start"):
|
||||
return True
|
||||
else:
|
||||
self.scene_graph_step(Scene.TERMINAL_MAIN)
|
13
arknights_mower/solvers/sign_in/__init__.py
Normal file
13
arknights_mower/solvers/sign_in/__init__.py
Normal file
|
@ -0,0 +1,13 @@
|
|||
from datetime import datetime
|
||||
|
||||
from arknights_mower.utils.graph import SceneGraphSolver
|
||||
|
||||
from .sign_in import SignIn
|
||||
|
||||
|
||||
class SignInSolver(SceneGraphSolver):
|
||||
def run(self):
|
||||
success = True
|
||||
if datetime.now() < datetime(2024, 9, 16):
|
||||
success = success and SignIn().run()
|
||||
return success
|
60
arknights_mower/solvers/sign_in/sign_in.py
Normal file
60
arknights_mower/solvers/sign_in/sign_in.py
Normal file
|
@ -0,0 +1,60 @@
|
|||
from datetime import datetime, timedelta
|
||||
|
||||
import cv2
|
||||
import numpy as np
|
||||
|
||||
from arknights_mower.utils import config
|
||||
from arknights_mower.utils.graph import SceneGraphSolver
|
||||
from arknights_mower.utils.image import cropimg
|
||||
from arknights_mower.utils.log import logger
|
||||
from arknights_mower.utils.scene import Scene
|
||||
from arknights_mower.utils.vector import va
|
||||
|
||||
from .utils import notify
|
||||
|
||||
activity_name = "品鉴泰拉魔物"
|
||||
|
||||
|
||||
class SignIn(SceneGraphSolver):
|
||||
def run(self):
|
||||
logger.info(f"Start: {activity_name}签到")
|
||||
self.in_progress = False
|
||||
self.start_time = datetime.now()
|
||||
self.success = False
|
||||
super().run()
|
||||
return self.success
|
||||
|
||||
def transition(self) -> bool:
|
||||
if datetime.now() - self.start_time > timedelta(minutes=2):
|
||||
notify(f"{activity_name}签到超时", level="ERROR")
|
||||
return True
|
||||
elif (scene := self.scene()) == Scene.MATERIEL:
|
||||
self.sleep()
|
||||
notify(f"{activity_name}奖励领取")
|
||||
self.tap((960, 960))
|
||||
|
||||
elif scene == Scene.INDEX:
|
||||
if pos := self.find("sign_in/entry"):
|
||||
self.tap(pos)
|
||||
else:
|
||||
notify(f"未找到{activity_name}签到入口")
|
||||
self.success = True
|
||||
return True
|
||||
elif scene == Scene.SIGN_IN_DAILY:
|
||||
img = cropimg(config.recog.img, ((680, 360), (1800, 540)))
|
||||
img = cv2.cvtColor(img, cv2.COLOR_RGB2HSV)
|
||||
img = cv2.inRange(img, (0, 10, 150), (5, 255, 255))
|
||||
tpl = np.ones((100, 100), dtype=np.uint8) * 255
|
||||
result = cv2.matchTemplate(img, tpl, cv2.TM_CCORR_NORMED)
|
||||
min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(result)
|
||||
if max_val > 0.9:
|
||||
self.in_progress = True
|
||||
self.ctap(va(max_loc, (730, 410)))
|
||||
else:
|
||||
if not self.in_progress:
|
||||
notify(f"{activity_name}签到奖励已领完")
|
||||
self.in_progress = False
|
||||
self.success = True
|
||||
return True
|
||||
else:
|
||||
self.scene_graph_step(Scene.INDEX)
|
8
arknights_mower/solvers/sign_in/utils.py
Normal file
8
arknights_mower/solvers/sign_in/utils.py
Normal file
|
@ -0,0 +1,8 @@
|
|||
from arknights_mower.utils import config
|
||||
from arknights_mower.utils.email import send_message
|
||||
from arknights_mower.utils.log import logger
|
||||
|
||||
|
||||
def notify(msg, level="INFO"):
|
||||
logger.info(msg)
|
||||
send_message(msg, level=level, attach_image=config.recog.img)
|
|
@ -49,6 +49,7 @@ def edge(v_from: int, v_to: int, interval: int = 1):
|
|||
@edge(Scene.DEPOT, Scene.INDEX)
|
||||
@edge(Scene.HEADHUNTING, Scene.INDEX)
|
||||
@edge(Scene.MAIL, Scene.INDEX)
|
||||
@edge(Scene.SIGN_IN_DAILY, Scene.INDEX)
|
||||
def back_to_index(solver: BaseSolver):
|
||||
solver.back()
|
||||
|
||||
|
@ -190,6 +191,8 @@ def index_to_headhunting(solver: BaseSolver):
|
|||
@edge(Scene.UNKNOWN_WITH_NAVBAR, Scene.NAVIGATION_BAR)
|
||||
@edge(Scene.SSS_MAIN, Scene.NAVIGATION_BAR)
|
||||
@edge(Scene.SSS_START, Scene.NAVIGATION_BAR)
|
||||
@edge(Scene.ACTIVITY_MAIN, Scene.NAVIGATION_BAR)
|
||||
@edge(Scene.ACTIVITY_CHOOSE_LEVEL, Scene.NAVIGATION_BAR)
|
||||
def index_nav(solver: BaseSolver):
|
||||
solver.tap_element("nav_button")
|
||||
|
||||
|
@ -324,6 +327,8 @@ for s in range(501, 509):
|
|||
@edge(Scene.OPERATOR_CHOOSE_LEVEL, Scene.TERMINAL_MAIN_THEME)
|
||||
@edge(Scene.OPERATOR_CHOOSE_LEVEL, Scene.TERMINAL_BIOGRAPHY)
|
||||
@edge(Scene.OPERATOR_CHOOSE_LEVEL, Scene.TERMINAL_COLLECTION)
|
||||
@edge(Scene.ACTIVITY_MAIN, Scene.TERMINAL_MAIN)
|
||||
@edge(Scene.ACTIVITY_CHOOSE_LEVEL, Scene.ACTIVITY_MAIN)
|
||||
@edge(Scene.OPERATOR_SUPPORT, Scene.OPERATOR_SELECT)
|
||||
@edge(Scene.OPERATOR_STRANGER_SUPPORT, Scene.OPERATOR_SUPPORT)
|
||||
@edge(Scene.OPERATOR_ELIMINATE_AGENCY, Scene.OPERATOR_ELIMINATE)
|
||||
|
|
|
@ -1,76 +0,0 @@
|
|||
import os
|
||||
import sys
|
||||
from datetime import datetime, timedelta
|
||||
from importlib import reload
|
||||
from io import BytesIO
|
||||
from shutil import rmtree
|
||||
from zipfile import ZipFile
|
||||
|
||||
import requests
|
||||
|
||||
from arknights_mower.utils.image import loadimg
|
||||
from arknights_mower.utils.log import logger
|
||||
from arknights_mower.utils.path import get_path
|
||||
|
||||
extract_path = get_path("@install/tmp/hot_update")
|
||||
sign_in = None
|
||||
navigation = None
|
||||
|
||||
last_listing = None, []
|
||||
last_update = None
|
||||
|
||||
|
||||
def load_module(download_update):
|
||||
global sign_in
|
||||
global navigation
|
||||
if "sign_in" in sys.modules and "navigation" in sys.modules:
|
||||
if download_update:
|
||||
loadimg.cache_clear()
|
||||
reload(sign_in)
|
||||
reload(navigation)
|
||||
else:
|
||||
if extract_path not in sys.path:
|
||||
sys.path.append(str(extract_path))
|
||||
import navigation
|
||||
import sign_in
|
||||
|
||||
|
||||
def update():
|
||||
global last_update
|
||||
|
||||
if last_update and datetime.now() - last_update < timedelta(minutes=30):
|
||||
logger.info("跳过热更新检查")
|
||||
load_module(False)
|
||||
return
|
||||
|
||||
logger.info("检查热更新资源")
|
||||
r = requests.get("https://git.zhaozuohong.vip/api/v1/repos/mower-ng/hot_update")
|
||||
remote_time = datetime.fromisoformat(r.json()["updated_at"])
|
||||
download_update = True
|
||||
if extract_path.exists():
|
||||
local_time = datetime.fromtimestamp(os.path.getctime(extract_path)).astimezone()
|
||||
if local_time > remote_time:
|
||||
download_update = False
|
||||
else:
|
||||
rmtree(extract_path)
|
||||
if download_update:
|
||||
logger.info("开始下载热更新资源")
|
||||
retry_times = 3
|
||||
for i in range(retry_times):
|
||||
try:
|
||||
r = requests.get(
|
||||
"https://git.zhaozuohong.vip/mower-ng/hot_update/archive/main.zip"
|
||||
)
|
||||
ZipFile(BytesIO(r.content)).extractall(extract_path.parent)
|
||||
break
|
||||
except Exception as e:
|
||||
logger.exception(f"热更新出错:{e}")
|
||||
if i >= retry_times:
|
||||
logger.error("热更新失败!")
|
||||
return
|
||||
logger.info("热更新成功")
|
||||
else:
|
||||
logger.info("本地资源已是最新")
|
||||
|
||||
last_update = datetime.now()
|
||||
load_module(download_update)
|
|
@ -1,11 +1,11 @@
|
|||
import time
|
||||
from typing import List, Optional, Tuple
|
||||
from typing import Optional, Tuple
|
||||
|
||||
import cv2
|
||||
import numpy as np
|
||||
from skimage.metrics import structural_similarity
|
||||
|
||||
from arknights_mower import __rootdir__
|
||||
from arknights_mower import __rootdir__ as __rootdir__
|
||||
from arknights_mower.utils import config
|
||||
from arknights_mower.utils import typealias as tp
|
||||
from arknights_mower.utils.csleep import MowerExit
|
||||
|
@ -16,6 +16,8 @@ from arknights_mower.utils.matcher import Matcher
|
|||
from arknights_mower.utils.scene import Scene, SceneComment
|
||||
from arknights_mower.utils.vector import va
|
||||
|
||||
from .data import color, template_matching, template_matching_score
|
||||
|
||||
|
||||
class RecognizeError(Exception):
|
||||
pass
|
||||
|
@ -282,7 +284,12 @@ class Recognizer:
|
|||
self.scene = Scene.SSS_TERMINATED
|
||||
elif self.find("login_captcha"):
|
||||
self.scene = Scene.LOGIN_CAPTCHA
|
||||
|
||||
elif self.find("sign_in/banner"):
|
||||
self.scene = Scene.SIGN_IN_DAILY
|
||||
elif self.find("navigation/activity/entry"):
|
||||
self.scene = Scene.ACTIVITY_MAIN
|
||||
elif self.find("navigation/activity/banner"):
|
||||
self.scene = Scene.ACTIVITY_CHOOSE_LEVEL
|
||||
elif self.is_black():
|
||||
self.scene = Scene.LOADING
|
||||
|
||||
|
@ -619,96 +626,6 @@ class Recognizer:
|
|||
:return ret: 若匹配成功,则返回元素在游戏界面中出现的位置,否则返回 None
|
||||
"""
|
||||
|
||||
color = {
|
||||
"1800": (158, 958),
|
||||
"12cadpa": (1810, 21),
|
||||
"arrange_confirm": (755, 903),
|
||||
"arrange_order_options": (1652, 23),
|
||||
"arrange_order_options_scene": (369, 199),
|
||||
"clue": (1740, 855),
|
||||
"clue/daily": (526, 623),
|
||||
"clue/filter_all": (1297, 99),
|
||||
"clue/give_away": (25, 18),
|
||||
"clue/receive": (1295, 15),
|
||||
"clue/summary": (59, 153),
|
||||
"confirm": (0, 683),
|
||||
"control_central_assistants": (39, 560),
|
||||
"credit_shop_countdown": (1511, 1017),
|
||||
"depot": (0, 955),
|
||||
"double_confirm/exit": (940, 464),
|
||||
"double_confirm/friend": (978, 465),
|
||||
"double_confirm/give_up": (574, 716),
|
||||
"double_confirm/infrastructure": (1077, 435),
|
||||
"double_confirm/main": (835, 683),
|
||||
"double_confirm/network": (708, 435),
|
||||
"double_confirm/recruit": (981, 464),
|
||||
"double_confirm/voice": (745, 435),
|
||||
"drone": (274, 437),
|
||||
"factory_collect": (1542, 886),
|
||||
"fight/refresh": (1639, 22),
|
||||
"hypergryph": (0, 961),
|
||||
"infra_overview": (54, 135),
|
||||
"infra_overview_in": (64, 705),
|
||||
"infra_overview_top_right": (1820, 0),
|
||||
"infra_todo": (13, 1013),
|
||||
"loading2": (620, 247),
|
||||
"loading7": (106, 635),
|
||||
"login_account": (622, 703),
|
||||
"login_awake": (888, 743),
|
||||
"login_bilibili": (870, 282),
|
||||
"login_captcha": (651, 814),
|
||||
"login_connecting": (760, 881),
|
||||
"login_loading": (920, 388),
|
||||
"login_logo": (601, 332),
|
||||
"mail": (307, 39),
|
||||
"mission_trainee_on": (690, 17),
|
||||
"nav_bar": (655, 0),
|
||||
"nav_button": (26, 20),
|
||||
"navigation/collection/AP-1": (203, 821),
|
||||
"navigation/collection/CA-1": (203, 821),
|
||||
"navigation/collection/CE-1": (243, 822),
|
||||
"navigation/collection/LS-1": (240, 822),
|
||||
"navigation/collection/SK-1": (204, 821),
|
||||
"navigation/collection/PR-A-1": (550, 629),
|
||||
"navigation/collection/PR-B-1": (496, 629),
|
||||
"navigation/collection/PR-C-1": (487, 586),
|
||||
"navigation/collection/PR-D-1": (516, 619),
|
||||
"navigation/ope_hard_small": (819, 937),
|
||||
"navigation/ope_normal_small": (494, 930),
|
||||
"navigation/record_restoration": (274, 970),
|
||||
"next_step": (915, 811),
|
||||
"notice": (155, 132),
|
||||
"ope_agency_lock": [(1565, 856), (1565, 875)],
|
||||
"ope_elimi_agency_confirm": (1554, 941),
|
||||
"ope_elimi_agency_panel": (1409, 612),
|
||||
"ope_eliminate": (1332, 938),
|
||||
"ope_recover_originite_on": (1514, 124),
|
||||
"ope_recover_potion_on": (1046, 127),
|
||||
"ope_select_start": (1579, 701),
|
||||
"open_recruitment": (192, 143),
|
||||
"order_label": (404, 137),
|
||||
"pull_once": (1260, 950),
|
||||
"read_and_agree": (1115, 767),
|
||||
"recruiting_instructions": (343, 179),
|
||||
"riic/exp": (1385, 239),
|
||||
"riic/manufacture": (1328, 126),
|
||||
"riic/report_title": (1712, 25),
|
||||
"room_detail": (1291, 33),
|
||||
"spent_credit": (332, 264),
|
||||
"shop_cart": (1252, 842),
|
||||
"shop_credit_2": (1657, 135),
|
||||
"skip": (1803, 32),
|
||||
"sss/deploy": (1645, 971),
|
||||
"sss/device": (1644, 969),
|
||||
"sss/ec": (1644, 969),
|
||||
"sss/loading": (1642, 517),
|
||||
"sss/main": (1224, 60),
|
||||
"sss/redeploy": (1644, 970),
|
||||
"sss/start": (1547, 968),
|
||||
"sss/squad": (1645, 970),
|
||||
"sss/terminated": (29, 241),
|
||||
}
|
||||
|
||||
if res in color:
|
||||
res_img = loadres(res)
|
||||
h, w, _ = res_img.shape
|
||||
|
@ -729,110 +646,15 @@ class Recognizer:
|
|||
|
||||
return None
|
||||
|
||||
template_matching = {
|
||||
"arrange_check_in": ((30, 300), (175, 700)),
|
||||
"arrange_check_in_on": ((30, 300), (175, 700)),
|
||||
"biography": (768, 934),
|
||||
"business_card": (55, 165),
|
||||
"collection": (1005, 943),
|
||||
"collection_small": (1053, 982),
|
||||
"connecting": (1087, 978),
|
||||
"episode": (535, 937),
|
||||
"fight/use": (858, 864),
|
||||
"friend_list": (61, 306),
|
||||
"credit_visiting": (78, 220),
|
||||
"loading": (736, 333),
|
||||
"loading2": (620, 247),
|
||||
"loading3": (1681, 1000),
|
||||
"loading4": (828, 429),
|
||||
"main_theme": (283, 945),
|
||||
"main_theme_small": (321, 973),
|
||||
"materiel_ico": (892, 61),
|
||||
"mission_daily_on": ((685, 15), (1910, 100)),
|
||||
"mission_weekly_on": ((685, 15), (1910, 100)),
|
||||
"navigation/collection/AP_entry": ((0, 170), (1920, 870)),
|
||||
"navigation/collection/CA_entry": ((0, 170), (1920, 870)),
|
||||
"navigation/collection/CE_entry": ((0, 170), (1920, 870)),
|
||||
"navigation/collection/LS_entry": ((0, 170), (1920, 870)),
|
||||
"navigation/collection/SK_entry": ((0, 170), (1920, 870)),
|
||||
"navigation/collection/PR-A_entry": ((0, 170), (1920, 870)),
|
||||
"navigation/collection/PR-B_entry": ((0, 170), (1920, 870)),
|
||||
"navigation/collection/PR-C_entry": ((0, 170), (1920, 870)),
|
||||
"navigation/collection/PR-D_entry": ((0, 170), (1920, 870)),
|
||||
"navigation/episode": (1560, 944),
|
||||
"navigation/ope_difficulty": [(0, 920), (120, 1080)],
|
||||
"navigation/ope_normal": (172, 950),
|
||||
"navigation/ope_normal_small": (494, 930),
|
||||
"navigation/ope_hard": (172, 950),
|
||||
"navigation/ope_hard_small": (819, 937),
|
||||
"ope_agency_going": ((508, 941), (715, 1021)),
|
||||
"ope_agency_fail": (809, 959),
|
||||
"ope_failed": (183, 465),
|
||||
"ope_finish": (87, 265),
|
||||
"ope_plan": (1278, 24),
|
||||
"ope_select_start_empty": ((0, 0), (400, 400)),
|
||||
"recruit/agent_token": ((1740, 765), (1920, 805)),
|
||||
"recruit/agent_token_first": ((1700, 760), (1920, 810)),
|
||||
"recruit/available_level": (1294, 234),
|
||||
"recruit/begin_recruit": scope,
|
||||
"recruit/career_needs": (350, 593),
|
||||
"recruit/lmb": (945, 27),
|
||||
"recruit/recruit_done": scope,
|
||||
"recruit/recruit_lock": scope,
|
||||
"recruit/job_requirements": scope,
|
||||
"recruit/ticket": ((900, 0), (1920, 120)),
|
||||
"recruit/time": (1304, 112),
|
||||
"recruit/refresh": (1366, 560),
|
||||
"recruit/refresh_comfirm": (1237, 714),
|
||||
"recruit/riic_res/CASTER": ((750, 730), (1920, 860)),
|
||||
"recruit/riic_res/MEDIC": ((750, 730), (1920, 860)),
|
||||
"recruit/riic_res/PIONEER": ((750, 730), (1920, 860)),
|
||||
"recruit/riic_res/SPECIAL": ((750, 730), (1920, 860)),
|
||||
"recruit/riic_res/SNIPER": ((750, 730), (1920, 860)),
|
||||
"recruit/riic_res/SUPPORT": ((750, 730), (1920, 860)),
|
||||
"recruit/riic_res/TANK": ((750, 730), (1920, 860)),
|
||||
"recruit/riic_res/WARRIOR": ((750, 730), (1920, 860)),
|
||||
"recruit/start_recruit": (1438, 849),
|
||||
"recruit/stone": ((900, 0), (1920, 120)),
|
||||
"riic/assistants": ((1320, 400), (1600, 650)),
|
||||
"riic/iron": ((1570, 230), (1630, 340)),
|
||||
"riic/orundum": ((1500, 320), (1800, 550)),
|
||||
"riic/trade": ((1320, 250), (1600, 500)),
|
||||
"terminal_main": (73, 959),
|
||||
"terminal_regular": (1247, 980),
|
||||
"upgrade": (997, 501),
|
||||
}
|
||||
|
||||
template_matching_score = {
|
||||
"connecting": 0.7,
|
||||
"navigation/ope_hard": 0.7,
|
||||
"navigation/ope_hard_small": 0.7,
|
||||
"navigation/ope_normal": 0.7,
|
||||
"navigation/ope_normal_small": 0.7,
|
||||
"recruit/agent_token": 0.8,
|
||||
"recruit/agent_token_first": 0.8,
|
||||
"recruit/lmb": 0.7,
|
||||
"recruit/riic_res/CASTER": 0.7,
|
||||
"recruit/riic_res/MEDIC": 0.7,
|
||||
"recruit/riic_res/PIONEER": 0.7,
|
||||
"recruit/riic_res/SPECIAL": 0.7,
|
||||
"recruit/riic_res/SNIPER": 0.7,
|
||||
"recruit/riic_res/SUPPORT": 0.7,
|
||||
"recruit/riic_res/TANK": 0.7,
|
||||
"recruit/riic_res/WARRIOR": 0.7,
|
||||
"recruit/time": 0.8,
|
||||
"recruit/stone": 0.7,
|
||||
}
|
||||
|
||||
if res in template_matching:
|
||||
threshold = 0.9
|
||||
if res in template_matching_score:
|
||||
threshold = template_matching_score[res]
|
||||
|
||||
pos = template_matching[res]
|
||||
res_img = loadres(res, True)
|
||||
h, w = res_img.shape
|
||||
|
||||
pos = template_matching[res] or scope
|
||||
if isinstance(pos[0], tuple):
|
||||
scope = pos
|
||||
else:
|
||||
|
@ -877,37 +699,6 @@ class Recognizer:
|
|||
raise RecognizeError(f"Can't find '{res}'")
|
||||
return ret
|
||||
|
||||
def score(
|
||||
self,
|
||||
res: str,
|
||||
draw: bool = False,
|
||||
scope: tp.Scope = None,
|
||||
thres: int | None = None,
|
||||
) -> Optional[List[float]]:
|
||||
"""
|
||||
查找元素是否出现在画面中,并返回分数
|
||||
|
||||
:param res: 待识别元素资源文件名
|
||||
:param draw: 是否将识别结果输出到屏幕
|
||||
:param scope: ((x0, y0), (x1, y1)),提前限定元素可能出现的范围
|
||||
:param thres: 是否在匹配前对图像进行二值化处理
|
||||
|
||||
:return ret: 若匹配成功,则返回元素在游戏界面中出现的位置,否则返回 None
|
||||
"""
|
||||
logger.debug(res)
|
||||
res = f"{__rootdir__}/resources/{res}.png"
|
||||
|
||||
res_img = loadres(res, True)
|
||||
if thres is not None:
|
||||
# 对图像二值化处理
|
||||
res_img = thres2(res_img, thres)
|
||||
gray_img = cropimg(self.gray, scope)
|
||||
matcher = Matcher(thres2(gray_img, thres))
|
||||
else:
|
||||
matcher = self.matcher
|
||||
score = matcher.score(res_img, draw=draw, scope=scope, only_score=True)
|
||||
return score
|
||||
|
||||
def template_match(
|
||||
self,
|
||||
res: str,
|
195
arknights_mower/utils/recognize/data.py
Normal file
195
arknights_mower/utils/recognize/data.py
Normal file
|
@ -0,0 +1,195 @@
|
|||
color = {
|
||||
"1800": (158, 958),
|
||||
"12cadpa": (1810, 21),
|
||||
"arrange_confirm": (755, 903),
|
||||
"arrange_order_options": (1652, 23),
|
||||
"arrange_order_options_scene": (369, 199),
|
||||
"clue": (1740, 855),
|
||||
"clue/daily": (526, 623),
|
||||
"clue/filter_all": (1297, 99),
|
||||
"clue/give_away": (25, 18),
|
||||
"clue/receive": (1295, 15),
|
||||
"clue/summary": (59, 153),
|
||||
"confirm": (0, 683),
|
||||
"control_central_assistants": (39, 560),
|
||||
"credit_shop_countdown": (1511, 1017),
|
||||
"depot": (0, 955),
|
||||
"double_confirm/exit": (940, 464),
|
||||
"double_confirm/friend": (978, 465),
|
||||
"double_confirm/give_up": (574, 716),
|
||||
"double_confirm/infrastructure": (1077, 435),
|
||||
"double_confirm/main": (835, 683),
|
||||
"double_confirm/network": (708, 435),
|
||||
"double_confirm/recruit": (981, 464),
|
||||
"double_confirm/voice": (745, 435),
|
||||
"drone": (274, 437),
|
||||
"factory_collect": (1542, 886),
|
||||
"fight/refresh": (1639, 22),
|
||||
"hypergryph": (0, 961),
|
||||
"infra_overview": (54, 135),
|
||||
"infra_overview_in": (64, 705),
|
||||
"infra_overview_top_right": (1820, 0),
|
||||
"infra_todo": (13, 1013),
|
||||
"loading2": (620, 247),
|
||||
"loading7": (106, 635),
|
||||
"login_account": (622, 703),
|
||||
"login_awake": (888, 743),
|
||||
"login_bilibili": (870, 282),
|
||||
"login_captcha": (651, 814),
|
||||
"login_connecting": (760, 881),
|
||||
"login_loading": (920, 388),
|
||||
"login_logo": (601, 332),
|
||||
"mail": (307, 39),
|
||||
"mission_trainee_on": (690, 17),
|
||||
"nav_bar": (655, 0),
|
||||
"nav_button": (26, 20),
|
||||
"navigation/activity/banner": (24, 894),
|
||||
"navigation/activity/DT-1": (466, 270),
|
||||
"navigation/activity/DT-2": (1131, 318),
|
||||
"navigation/activity/DT-3": (1125, 401),
|
||||
"navigation/activity/DT-4": (1117, 430),
|
||||
"navigation/activity/DT-5": (1109, 512),
|
||||
"navigation/activity/DT-6": (1104, 540),
|
||||
"navigation/activity/DT-7": (1100, 588),
|
||||
"navigation/activity/DT-8": (1094, 596),
|
||||
"navigation/activity/entry": (1555, 700),
|
||||
"navigation/collection/AP-1": (203, 821),
|
||||
"navigation/collection/CA-1": (203, 821),
|
||||
"navigation/collection/CE-1": (243, 822),
|
||||
"navigation/collection/LS-1": (240, 822),
|
||||
"navigation/collection/SK-1": (204, 821),
|
||||
"navigation/collection/PR-A-1": (550, 629),
|
||||
"navigation/collection/PR-B-1": (496, 629),
|
||||
"navigation/collection/PR-C-1": (487, 586),
|
||||
"navigation/collection/PR-D-1": (516, 619),
|
||||
"navigation/ope_hard_small": (819, 937),
|
||||
"navigation/ope_normal_small": (494, 930),
|
||||
"navigation/record_restoration": (274, 970),
|
||||
"next_step": (915, 811),
|
||||
"notice": (155, 132),
|
||||
"ope_agency_lock": [(1565, 856), (1565, 875)],
|
||||
"ope_elimi_agency_confirm": (1554, 941),
|
||||
"ope_elimi_agency_panel": (1409, 612),
|
||||
"ope_eliminate": (1332, 938),
|
||||
"ope_recover_originite_on": (1514, 124),
|
||||
"ope_recover_potion_on": (1046, 127),
|
||||
"ope_select_start": (1579, 701),
|
||||
"open_recruitment": (192, 143),
|
||||
"order_label": (404, 137),
|
||||
"pull_once": (1260, 950),
|
||||
"read_and_agree": (1115, 767),
|
||||
"recruiting_instructions": (343, 179),
|
||||
"riic/exp": (1385, 239),
|
||||
"riic/manufacture": (1328, 126),
|
||||
"riic/report_title": (1712, 25),
|
||||
"room_detail": (1291, 33),
|
||||
"spent_credit": (332, 264),
|
||||
"shop_cart": (1252, 842),
|
||||
"shop_credit_2": (1657, 135),
|
||||
"sign_in/banner": (147, 746),
|
||||
"skip": (1803, 32),
|
||||
"sss/deploy": (1645, 971),
|
||||
"sss/device": (1644, 969),
|
||||
"sss/ec": (1644, 969),
|
||||
"sss/loading": (1642, 517),
|
||||
"sss/main": (1224, 60),
|
||||
"sss/redeploy": (1644, 970),
|
||||
"sss/start": (1547, 968),
|
||||
"sss/squad": (1645, 970),
|
||||
"sss/terminated": (29, 241),
|
||||
}
|
||||
|
||||
template_matching = {
|
||||
"arrange_check_in": ((30, 300), (175, 700)),
|
||||
"arrange_check_in_on": ((30, 300), (175, 700)),
|
||||
"biography": (768, 934),
|
||||
"business_card": (55, 165),
|
||||
"collection": (1005, 943),
|
||||
"collection_small": (1053, 982),
|
||||
"connecting": (1087, 978),
|
||||
"episode": (535, 937),
|
||||
"fight/use": (858, 864),
|
||||
"friend_list": (61, 306),
|
||||
"credit_visiting": (78, 220),
|
||||
"loading": (736, 333),
|
||||
"loading2": (620, 247),
|
||||
"loading3": (1681, 1000),
|
||||
"loading4": (828, 429),
|
||||
"main_theme": (283, 945),
|
||||
"main_theme_small": (321, 973),
|
||||
"materiel_ico": (892, 61),
|
||||
"mission_daily_on": ((685, 15), (1910, 100)),
|
||||
"mission_weekly_on": ((685, 15), (1910, 100)),
|
||||
"navigation/collection/AP_entry": ((0, 170), (1920, 870)),
|
||||
"navigation/collection/CA_entry": ((0, 170), (1920, 870)),
|
||||
"navigation/collection/CE_entry": ((0, 170), (1920, 870)),
|
||||
"navigation/collection/LS_entry": ((0, 170), (1920, 870)),
|
||||
"navigation/collection/SK_entry": ((0, 170), (1920, 870)),
|
||||
"navigation/collection/PR-A_entry": ((0, 170), (1920, 870)),
|
||||
"navigation/collection/PR-B_entry": ((0, 170), (1920, 870)),
|
||||
"navigation/collection/PR-C_entry": ((0, 170), (1920, 870)),
|
||||
"navigation/collection/PR-D_entry": ((0, 170), (1920, 870)),
|
||||
"navigation/episode": (1560, 944),
|
||||
"navigation/ope_difficulty": [(0, 920), (120, 1080)],
|
||||
"navigation/ope_normal": (172, 950),
|
||||
"navigation/ope_normal_small": (494, 930),
|
||||
"navigation/ope_hard": (172, 950),
|
||||
"navigation/ope_hard_small": (819, 937),
|
||||
"ope_agency_going": ((508, 941), (715, 1021)),
|
||||
"ope_agency_fail": (809, 959),
|
||||
"ope_failed": (183, 465),
|
||||
"ope_finish": (87, 265),
|
||||
"ope_plan": (1278, 24),
|
||||
"ope_select_start_empty": ((0, 0), (400, 400)),
|
||||
"recruit/agent_token": ((1740, 765), (1920, 805)),
|
||||
"recruit/agent_token_first": ((1700, 760), (1920, 810)),
|
||||
"recruit/available_level": (1294, 234),
|
||||
"recruit/begin_recruit": None,
|
||||
"recruit/career_needs": (350, 593),
|
||||
"recruit/lmb": (945, 27),
|
||||
"recruit/recruit_done": None,
|
||||
"recruit/recruit_lock": None,
|
||||
"recruit/job_requirements": None,
|
||||
"recruit/ticket": ((900, 0), (1920, 120)),
|
||||
"recruit/time": (1304, 112),
|
||||
"recruit/refresh": (1366, 560),
|
||||
"recruit/refresh_comfirm": (1237, 714),
|
||||
"recruit/riic_res/CASTER": ((750, 730), (1920, 860)),
|
||||
"recruit/riic_res/MEDIC": ((750, 730), (1920, 860)),
|
||||
"recruit/riic_res/PIONEER": ((750, 730), (1920, 860)),
|
||||
"recruit/riic_res/SPECIAL": ((750, 730), (1920, 860)),
|
||||
"recruit/riic_res/SNIPER": ((750, 730), (1920, 860)),
|
||||
"recruit/riic_res/SUPPORT": ((750, 730), (1920, 860)),
|
||||
"recruit/riic_res/TANK": ((750, 730), (1920, 860)),
|
||||
"recruit/riic_res/WARRIOR": ((750, 730), (1920, 860)),
|
||||
"recruit/start_recruit": (1438, 849),
|
||||
"recruit/stone": ((900, 0), (1920, 120)),
|
||||
"riic/assistants": ((1320, 400), (1600, 650)),
|
||||
"riic/iron": ((1570, 230), (1630, 340)),
|
||||
"riic/orundum": ((1500, 320), (1800, 550)),
|
||||
"riic/trade": ((1320, 250), (1600, 500)),
|
||||
"terminal_main": (73, 959),
|
||||
"terminal_regular": (1247, 980),
|
||||
"upgrade": (997, 501),
|
||||
}
|
||||
|
||||
template_matching_score = {
|
||||
"connecting": 0.7,
|
||||
"navigation/ope_hard": 0.7,
|
||||
"navigation/ope_hard_small": 0.7,
|
||||
"navigation/ope_normal": 0.7,
|
||||
"navigation/ope_normal_small": 0.7,
|
||||
"recruit/agent_token": 0.8,
|
||||
"recruit/agent_token_first": 0.8,
|
||||
"recruit/lmb": 0.7,
|
||||
"recruit/riic_res/CASTER": 0.7,
|
||||
"recruit/riic_res/MEDIC": 0.7,
|
||||
"recruit/riic_res/PIONEER": 0.7,
|
||||
"recruit/riic_res/SPECIAL": 0.7,
|
||||
"recruit/riic_res/SNIPER": 0.7,
|
||||
"recruit/riic_res/SUPPORT": 0.7,
|
||||
"recruit/riic_res/TANK": 0.7,
|
||||
"recruit/riic_res/WARRIOR": 0.7,
|
||||
"recruit/time": 0.8,
|
||||
"recruit/stone": 0.7,
|
||||
}
|
|
@ -277,6 +277,12 @@ class Scene:
|
|||
"干员寻访"
|
||||
DEPOT = 1301
|
||||
"仓库"
|
||||
ACTIVITY_MAIN = 1401
|
||||
"活动主界面"
|
||||
ACTIVITY_CHOOSE_LEVEL = 1402
|
||||
"活动关选择"
|
||||
SIGN_IN_DAILY = 1501
|
||||
"签到活动"
|
||||
LOADING = 9998
|
||||
"场景跳转时的等待界面"
|
||||
CONFIRM = 9999
|
||||
|
@ -423,6 +429,9 @@ SceneComment = {
|
|||
1111: "抵达终点",
|
||||
1201: "干员寻访",
|
||||
1301: "仓库",
|
||||
1401: "活动主界面",
|
||||
1402: "活动关选择",
|
||||
1501: "签到活动",
|
||||
9998: "场景跳转时的等待界面",
|
||||
9999: "确认对话框",
|
||||
}
|
||||
|
|
|
@ -17,7 +17,6 @@ Res = Literal[
|
|||
"clue",
|
||||
"clue_next",
|
||||
"collection",
|
||||
"collection_small",
|
||||
"confirm",
|
||||
"confirm_blue",
|
||||
"connecting",
|
||||
|
@ -62,10 +61,8 @@ Res = Literal[
|
|||
"login_connecting",
|
||||
"login_loading",
|
||||
"login_logo",
|
||||
"login_new",
|
||||
"mail",
|
||||
"main_theme",
|
||||
"main_theme_small",
|
||||
"materiel_ico",
|
||||
"mission_collect",
|
||||
"mission_daily",
|
||||
|
@ -471,6 +468,8 @@ Res = Literal[
|
|||
"recruit/stone",
|
||||
"recruit/ticket",
|
||||
"recruit/time",
|
||||
"sign_in/banner",
|
||||
"sign_in/entry",
|
||||
"navigation/act/0",
|
||||
"navigation/act/1",
|
||||
"navigation/act/2",
|
||||
|
@ -517,6 +516,16 @@ Res = Literal[
|
|||
"navigation/main/7",
|
||||
"navigation/main/8",
|
||||
"navigation/main/9",
|
||||
"navigation/activity/banner",
|
||||
"navigation/activity/entry",
|
||||
"navigation/activity/DT-1",
|
||||
"navigation/activity/DT-2",
|
||||
"navigation/activity/DT-3",
|
||||
"navigation/activity/DT-4",
|
||||
"navigation/activity/DT-5",
|
||||
"navigation/activity/DT-6",
|
||||
"navigation/activity/DT-7",
|
||||
"navigation/activity/DT-8",
|
||||
"ra/map/base",
|
||||
"ra/map/冲突区_丢失的订单",
|
||||
"ra/map/后舍_众人会聚之地",
|
||||
|
|
|
@ -20,7 +20,10 @@ with open("arknights_mower/utils/typealias/res.py", "w", encoding="utf-8") as f:
|
|||
|
||||
for py_file in sorted(Path("arknights_mower").glob("**/*.py")):
|
||||
posix_path = py_file.as_posix()
|
||||
if posix_path == "arknights_mower/utils/typealias/res.py":
|
||||
if posix_path in [
|
||||
"arknights_mower/utils/typealias/res.py",
|
||||
"arknights_mower/utils/recognize/data.py",
|
||||
]:
|
||||
continue
|
||||
with py_file.open("r", encoding="utf-8") as f:
|
||||
content = f.read()
|
||||
|
|
13
manager.py
13
manager.py
|
@ -45,19 +45,10 @@ class Api:
|
|||
return folder
|
||||
|
||||
def start(self, idx):
|
||||
import platform
|
||||
import sys
|
||||
from subprocess import Popen
|
||||
|
||||
is_win = platform.system() == "Windows"
|
||||
frozen = getattr(sys, "frozen", False) and hasattr(sys, "_MEIPASS")
|
||||
if is_win and frozen:
|
||||
Popen(["mower.exe", self.instances[idx]["path"]])
|
||||
else:
|
||||
if is_win:
|
||||
Popen(["python.exe", "webview_ui.py", self.instances[idx]["path"]])
|
||||
else:
|
||||
Popen(["python3", "webview_ui.py", self.instances[idx]["path"]])
|
||||
Popen([sys.executable, "webview_ui.py", self.instances[idx]["path"]])
|
||||
|
||||
|
||||
def jump_to_index(window):
|
||||
|
@ -68,7 +59,7 @@ if __name__ == "__main__":
|
|||
api = Api()
|
||||
window = webview.create_window(
|
||||
title="多开管理器",
|
||||
url="dist/index.html",
|
||||
url="ui/dist/index.html",
|
||||
js_api=api,
|
||||
min_size=(400, 500),
|
||||
width=400,
|
||||
|
|
|
@ -26,7 +26,7 @@ mimetypes.add_type("text/html", ".html")
|
|||
mimetypes.add_type("text/css", ".css")
|
||||
mimetypes.add_type("application/javascript", ".js")
|
||||
|
||||
app = Flask(__name__, static_folder="dist", static_url_path="")
|
||||
app = Flask(__name__, static_folder="ui/dist", static_url_path="")
|
||||
sock = Sock(app)
|
||||
CORS(app)
|
||||
|
||||
|
@ -62,17 +62,17 @@ def require_token(f):
|
|||
|
||||
@app.route("/<path:path>")
|
||||
def serve_index(path):
|
||||
return send_from_directory("dist", path)
|
||||
return send_from_directory("ui/dist", path)
|
||||
|
||||
|
||||
@app.errorhandler(404)
|
||||
def not_found(e):
|
||||
if (path := request.path).startswith("/docs"):
|
||||
try:
|
||||
return send_from_directory("dist" + path, "index.html")
|
||||
return send_from_directory("ui/dist" + path, "index.html")
|
||||
except NotFound:
|
||||
return "<h1>404 Not Found</h1>", 404
|
||||
return send_from_directory("dist", "index.html")
|
||||
return send_from_directory("ui/dist", "index.html")
|
||||
|
||||
|
||||
@app.route("/conf", methods=["GET", "POST"])
|
||||
|
|
1
ui/.gitignore
vendored
1
ui/.gitignore
vendored
|
@ -9,7 +9,6 @@ lerna-debug.log*
|
|||
|
||||
node_modules
|
||||
.DS_Store
|
||||
dist
|
||||
dist-ssr
|
||||
coverage
|
||||
*.local
|
||||
|
|
30
ui/dist/assets/Avatar.js
vendored
Normal file
30
ui/dist/assets/Avatar.js
vendored
Normal file
|
@ -0,0 +1,30 @@
|
|||
import{N as W,z as N,as as k,a_ as G,ar as P,bQ as K,au as C,B as V,ax as Y,r as y,d as T,j as x,ay as B,aY as q,aA as D,c3 as Q,s as U,az as X,u as J,w as Z,b4 as ee,H as R,aG as re,bf as oe}from"./_plugin-vue_export-helper.js";import{a as te}from"./Tag.js";import{au as ne}from"./main.js";const se=W&&"loading"in document.createElement("img"),ae=(e={})=>{var a;const{root:l=null}=e;return{hash:`${e.rootMargin||"0px 0px 0px 0px"}-${Array.isArray(e.threshold)?e.threshold.join(","):(a=e.threshold)!==null&&a!==void 0?a:"0"}`,options:Object.assign(Object.assign({},e),{root:(typeof l=="string"?document.querySelector(l):l)||document.documentElement})}},F=new WeakMap,_=new WeakMap,H=new WeakMap,ie=(e,a,l)=>{if(!e)return()=>{};const i=ae(a),{root:d}=i.options;let n;const c=F.get(d);c?n=c:(n=new Map,F.set(d,n));let h,t;n.has(i.hash)?(t=n.get(i.hash),t[1].has(e)||(h=t[0],t[1].add(e),h.observe(e))):(h=new IntersectionObserver(p=>{p.forEach(f=>{if(f.isIntersecting){const b=_.get(f.target),O=H.get(f.target);b&&b(),O&&(O.value=!0)}})},i.options),h.observe(e),t=[h,new Set([e])],n.set(i.hash,t));let u=!1;const g=()=>{u||(_.delete(e),H.delete(e),u=!0,t[1].has(e)&&(t[0].unobserve(e),t[1].delete(e)),t[1].size<=0&&n.delete(i.hash),n.size||F.delete(d))};return _.set(e,g),H.set(e,l),g},le=N("n-avatar-group"),de=k("avatar",`
|
||||
width: var(--n-merged-size);
|
||||
height: var(--n-merged-size);
|
||||
color: #FFF;
|
||||
font-size: var(--n-font-size);
|
||||
display: inline-flex;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
text-align: center;
|
||||
border: var(--n-border);
|
||||
border-radius: var(--n-border-radius);
|
||||
--n-merged-color: var(--n-color);
|
||||
background-color: var(--n-merged-color);
|
||||
transition:
|
||||
border-color .3s var(--n-bezier),
|
||||
background-color .3s var(--n-bezier),
|
||||
color .3s var(--n-bezier);
|
||||
`,[G(P("&","--n-merged-color: var(--n-color-modal);")),K(P("&","--n-merged-color: var(--n-color-popover);")),P("img",`
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
`),C("text",`
|
||||
white-space: nowrap;
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
`),k("icon",`
|
||||
vertical-align: bottom;
|
||||
font-size: calc(var(--n-merged-size) - 6px);
|
||||
`),C("text","line-height: 1.25")]),ce=Object.assign(Object.assign({},B.props),{size:[String,Number],src:String,circle:{type:Boolean,default:void 0},objectFit:String,round:{type:Boolean,default:void 0},bordered:{type:Boolean,default:void 0},onError:Function,fallbackSrc:String,intersectionObserverOptions:Object,lazy:Boolean,onLoad:Function,renderPlaceholder:Function,renderFallback:Function,imgProps:Object,color:String}),he=V({name:"Avatar",props:ce,setup(e){const{mergedClsPrefixRef:a,inlineThemeDisabled:l}=Y(e),i=y(!1);let d=null;const n=y(null),c=y(null),h=()=>{const{value:r}=n;if(r&&(d===null||d!==r.innerHTML)){d=r.innerHTML;const{value:o}=c;if(o){const{offsetWidth:s,offsetHeight:m}=o,{offsetWidth:v,offsetHeight:E}=r,S=.9,L=Math.min(s/v*S,m/E*S,1);r.style.transform=`translateX(-50%) translateY(-50%) scale(${L})`}}},t=T(le,null),u=x(()=>{const{size:r}=e;if(r)return r;const{size:o}=t||{};return o||"medium"}),g=B("Avatar","-avatar",de,ne,e,a),p=T(te,null),f=x(()=>{if(t)return!0;const{round:r,circle:o}=e;return r!==void 0||o!==void 0?r||o:p?p.roundRef.value:!1}),b=x(()=>t?!0:e.bordered||!1),O=x(()=>{const r=u.value,o=f.value,s=b.value,{color:m}=e,{self:{borderRadius:v,fontSize:E,color:S,border:L,colorModal:$,colorPopover:A},common:{cubicBezierEaseInOut:I}}=g.value;let w;return typeof r=="number"?w=`${r}px`:w=g.value.self[q("height",r)],{"--n-font-size":E,"--n-border":s?L:"none","--n-border-radius":o?"50%":v,"--n-color":m||S,"--n-color-modal":m||$,"--n-color-popover":m||A,"--n-bezier":I,"--n-merged-size":`var(--n-avatar-size-override, ${w})`}}),z=l?D("avatar",x(()=>{const r=u.value,o=f.value,s=b.value,{color:m}=e;let v="";return r&&(typeof r=="number"?v+=`a${r}`:v+=r[0]),o&&(v+="b"),s&&(v+="c"),m&&(v+=Q(m)),v}),O,e):void 0,j=y(!e.lazy);U(()=>{if(e.lazy&&e.intersectionObserverOptions){let r;const o=X(()=>{r==null||r(),r=void 0,e.lazy&&(r=ie(c.value,e.intersectionObserverOptions,j))});J(()=>{o(),r==null||r()})}}),Z(()=>{var r;return e.src||((r=e.imgProps)===null||r===void 0?void 0:r.src)},()=>{i.value=!1});const M=y(!e.lazy);return{textRef:n,selfRef:c,mergedRoundRef:f,mergedClsPrefix:a,fitTextTransform:h,cssVars:l?void 0:O,themeClass:z==null?void 0:z.themeClass,onRender:z==null?void 0:z.onRender,hasLoadError:i,shouldStartLoading:j,loaded:M,mergedOnError:r=>{if(!j.value)return;i.value=!0;const{onError:o,imgProps:{onError:s}={}}=e;o==null||o(r),s==null||s(r)},mergedOnLoad:r=>{const{onLoad:o,imgProps:{onLoad:s}={}}=e;o==null||o(r),s==null||s(r),M.value=!0}}},render(){var e,a;const{$slots:l,src:i,mergedClsPrefix:d,lazy:n,onRender:c,loaded:h,hasLoadError:t,imgProps:u={}}=this;c==null||c();let g;const p=!h&&!t&&(this.renderPlaceholder?this.renderPlaceholder():(a=(e=this.$slots).placeholder)===null||a===void 0?void 0:a.call(e));return this.hasLoadError?g=this.renderFallback?this.renderFallback():ee(l.fallback,()=>[R("img",{src:this.fallbackSrc,style:{objectFit:this.objectFit}})]):g=re(l.default,f=>{if(f)return R(oe,{onResize:this.fitTextTransform},{default:()=>R("span",{ref:"textRef",class:`${d}-avatar__text`},f)});if(i||u.src){const b=this.src||u.src;return R("img",Object.assign(Object.assign({},u),{loading:se&&!this.intersectionObserverOptions&&n?"lazy":"eager",src:n&&this.intersectionObserverOptions?this.shouldStartLoading?b:void 0:b,"data-image-src":b,onLoad:this.mergedOnLoad,onError:this.mergedOnError,style:[u.style||"",{objectFit:this.objectFit},p?{height:"0",width:"0",visibility:"hidden",position:"absolute"}:""]}))}}),R("span",{ref:"selfRef",class:[`${d}-avatar`,this.themeClass],style:this.cssVars},g,n&&p)}});export{he as _,se as i,ie as o};
|
1
ui/dist/assets/BasementSkill.css
vendored
Normal file
1
ui/dist/assets/BasementSkill.css
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
.cc-vup{color:#0098dc}.cc-vdown{color:#ff6237}.cc-rem{color:#f49800}.cc-kw{color:#00b0ff}.riic-term{text-decoration:underline}
|
67
ui/dist/assets/BasementSkill.js
vendored
Normal file
67
ui/dist/assets/BasementSkill.js
vendored
Normal file
File diff suppressed because one or more lines are too long
42
ui/dist/assets/Divider.js
vendored
Normal file
42
ui/dist/assets/Divider.js
vendored
Normal file
|
@ -0,0 +1,42 @@
|
|||
import{as as p,at as c,au as n,av as t,B as u,ax as f,ay as v,j as x,aA as b,H as d,F as _}from"./_plugin-vue_export-helper.js";import{at as C}from"./main.js";const $=p("divider",`
|
||||
position: relative;
|
||||
display: flex;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
font-size: 16px;
|
||||
color: var(--n-text-color);
|
||||
transition:
|
||||
color .3s var(--n-bezier),
|
||||
background-color .3s var(--n-bezier);
|
||||
`,[c("vertical",`
|
||||
margin-top: 24px;
|
||||
margin-bottom: 24px;
|
||||
`,[c("no-title",`
|
||||
display: flex;
|
||||
align-items: center;
|
||||
`)]),n("title",`
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-left: 12px;
|
||||
margin-right: 12px;
|
||||
white-space: nowrap;
|
||||
font-weight: var(--n-font-weight);
|
||||
`),t("title-position-left",[n("line",[t("left",{width:"28px"})])]),t("title-position-right",[n("line",[t("right",{width:"28px"})])]),t("dashed",[n("line",`
|
||||
background-color: #0000;
|
||||
height: 0px;
|
||||
width: 100%;
|
||||
border-style: dashed;
|
||||
border-width: 1px 0 0;
|
||||
`)]),t("vertical",`
|
||||
display: inline-block;
|
||||
height: 1em;
|
||||
margin: 0 8px;
|
||||
vertical-align: middle;
|
||||
width: 1px;
|
||||
`),n("line",`
|
||||
border: none;
|
||||
transition: background-color .3s var(--n-bezier), border-color .3s var(--n-bezier);
|
||||
height: 1px;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
`),c("dashed",[n("line",{backgroundColor:"var(--n-color)"})]),t("dashed",[n("line",{borderColor:"var(--n-color)"})]),t("vertical",{backgroundColor:"var(--n-color)"})]),w=Object.assign(Object.assign({},v.props),{titlePlacement:{type:String,default:"center"},dashed:Boolean,vertical:Boolean}),k=u({name:"Divider",props:w,setup(r){const{mergedClsPrefixRef:o,inlineThemeDisabled:l}=f(r),s=v("Divider","-divider",$,C,r,o),a=x(()=>{const{common:{cubicBezierEaseInOut:e},self:{color:h,textColor:g,fontWeight:m}}=s.value;return{"--n-bezier":e,"--n-color":h,"--n-text-color":g,"--n-font-weight":m}}),i=l?b("divider",void 0,a,r):void 0;return{mergedClsPrefix:o,cssVars:l?void 0:a,themeClass:i==null?void 0:i.themeClass,onRender:i==null?void 0:i.onRender}},render(){var r;const{$slots:o,titlePlacement:l,vertical:s,dashed:a,cssVars:i,mergedClsPrefix:e}=this;return(r=this.onRender)===null||r===void 0||r.call(this),d("div",{role:"separator",class:[`${e}-divider`,this.themeClass,{[`${e}-divider--vertical`]:s,[`${e}-divider--no-title`]:!o.default,[`${e}-divider--dashed`]:a,[`${e}-divider--title-position-${l}`]:o.default&&l}],style:i},s?null:d("div",{class:`${e}-divider__line ${e}-divider__line--left`}),!s&&o.default?d(_,null,d("div",{class:`${e}-divider__title`},this.$slots),d("div",{class:`${e}-divider__line ${e}-divider__line--right`})):null)}});export{k as _};
|
1
ui/dist/assets/Doc.css
vendored
Normal file
1
ui/dist/assets/Doc.css
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
.link-container[data-v-4abe2846]{width:100%;padding:6px 12px 0;box-sizing:border-box}
|
1
ui/dist/assets/Doc.js
vendored
Normal file
1
ui/dist/assets/Doc.js
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
import{br as a,bs as r,bC as n,bx as t,k as o,bv as c,bu as i,F as _,bF as l,bG as p}from"./_plugin-vue_export-helper.js";import{_ as d}from"./a.js";import"./main.js";const h={},m=e=>(l("data-v-4abe2846"),e=e(),p(),e),b={class:"link-container"},u=m(()=>t("iframe",{src:"/docs/index.html",sandbox:"allow-popups allow-scripts allow-same-origin allow-forms",style:{width:"100%",height:"100vh",border:"none"}},null,-1));function f(e,w){const s=d;return r(),n(_,null,[t("div",b,[o(" 在线文档地址: "),c(s,{href:"https://arkmowers.github.io/arknights-mower/",target:"_blank"},{default:i(()=>[o(" https://arkmowers.github.io/arknights-mower/ ")]),_:1})]),u],64)}const v=a(h,[["render",f],["__scopeId","data-v-4abe2846"]]);export{v as default};
|
1
ui/dist/assets/DropDown.css
vendored
Normal file
1
ui/dist/assets/DropDown.css
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
.button_row[data-v-0b959ed7]{margin-top:8px}.task_row[data-v-0b959ed7]{display:flex;align-items:center;gap:8px;width:100%}.task_row .n-input[data-v-0b959ed7]{width:140px}.outer[data-v-0b959ed7]{display:flex;flex-direction:row;align-items:center;gap:18px}.inner[data-v-0b959ed7]{display:flex;flex-direction:column;gap:8px}.task-col[data-v-0b959ed7]{display:flex;flex-direction:row;gap:8px;align-items:center}.n-dynamic-tags[data-v-0b959ed7]{align-items:center}.ml[data-v-0b959ed7]{margin-left:16px}.dropdown[data-v-751873a1]{padding-left:var(--3750a4ee);padding-right:var(--3750a4ee)}
|
341
ui/dist/assets/DropDown.js
vendored
Normal file
341
ui/dist/assets/DropDown.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
ui/dist/assets/Forward.js
vendored
Normal file
1
ui/dist/assets/Forward.js
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
import{B as e,H as r}from"./_plugin-vue_export-helper.js";function t(n){switch(n){case"tiny":return"mini";case"small":return"tiny";case"medium":return"small";case"large":return"medium";case"huge":return"large"}throw Error(`${n} has no smaller size.`)}const l=e({name:"Backward",render(){return r("svg",{viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r("path",{d:"M12.2674 15.793C11.9675 16.0787 11.4927 16.0672 11.2071 15.7673L6.20572 10.5168C5.9298 10.2271 5.9298 9.7719 6.20572 9.48223L11.2071 4.23177C11.4927 3.93184 11.9675 3.92031 12.2674 4.206C12.5673 4.49169 12.5789 4.96642 12.2932 5.26634L7.78458 9.99952L12.2932 14.7327C12.5789 15.0326 12.5673 15.5074 12.2674 15.793Z",fill:"currentColor"}))}}),s=e({name:"FastBackward",render(){return r("svg",{viewBox:"0 0 20 20",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},r("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},r("g",{fill:"currentColor","fill-rule":"nonzero"},r("path",{d:"M8.73171,16.7949 C9.03264,17.0795 9.50733,17.0663 9.79196,16.7654 C10.0766,16.4644 10.0634,15.9897 9.76243,15.7051 L4.52339,10.75 L17.2471,10.75 C17.6613,10.75 17.9971,10.4142 17.9971,10 C17.9971,9.58579 17.6613,9.25 17.2471,9.25 L4.52112,9.25 L9.76243,4.29275 C10.0634,4.00812 10.0766,3.53343 9.79196,3.2325 C9.50733,2.93156 9.03264,2.91834 8.73171,3.20297 L2.31449,9.27241 C2.14819,9.4297 2.04819,9.62981 2.01448,9.8386 C2.00308,9.89058 1.99707,9.94459 1.99707,10 C1.99707,10.0576 2.00356,10.1137 2.01585,10.1675 C2.05084,10.3733 2.15039,10.5702 2.31449,10.7254 L8.73171,16.7949 Z"}))))}}),a=e({name:"FastForward",render(){return r("svg",{viewBox:"0 0 20 20",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},r("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},r("g",{fill:"currentColor","fill-rule":"nonzero"},r("path",{d:"M11.2654,3.20511 C10.9644,2.92049 10.4897,2.93371 10.2051,3.23464 C9.92049,3.53558 9.93371,4.01027 10.2346,4.29489 L15.4737,9.25 L2.75,9.25 C2.33579,9.25 2,9.58579 2,10.0000012 C2,10.4142 2.33579,10.75 2.75,10.75 L15.476,10.75 L10.2346,15.7073 C9.93371,15.9919 9.92049,16.4666 10.2051,16.7675 C10.4897,17.0684 10.9644,17.0817 11.2654,16.797 L17.6826,10.7276 C17.8489,10.5703 17.9489,10.3702 17.9826,10.1614 C17.994,10.1094 18,10.0554 18,10.0000012 C18,9.94241 17.9935,9.88633 17.9812,9.83246 C17.9462,9.62667 17.8467,9.42976 17.6826,9.27455 L11.2654,3.20511 Z"}))))}}),C=e({name:"Forward",render(){return r("svg",{viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r("path",{d:"M7.73271 4.20694C8.03263 3.92125 8.50737 3.93279 8.79306 4.23271L13.7944 9.48318C14.0703 9.77285 14.0703 10.2281 13.7944 10.5178L8.79306 15.7682C8.50737 16.0681 8.03263 16.0797 7.73271 15.794C7.43279 15.5083 7.42125 15.0336 7.70694 14.7336L12.2155 10.0005L7.70694 5.26729C7.42125 4.96737 7.43279 4.49264 7.73271 4.20694Z",fill:"currentColor"}))}});export{l as B,s as F,C as a,a as b,t as s};
|
1
ui/dist/assets/Grid.js
vendored
Normal file
1
ui/dist/assets/Grid.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
ui/dist/assets/HelpText.css
vendored
Normal file
1
ui/dist/assets/HelpText.css
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
.help[data-v-a623cdce]{z-index:100}
|
1
ui/dist/assets/HelpText.js
vendored
Normal file
1
ui/dist/assets/HelpText.js
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
import{br as _,bs as a,bt as i,bu as t,bv as n,K as l,aX as p,b3 as d,bF as u,bG as m,bx as e}from"./_plugin-vue_export-helper.js";import{N as f}from"./main.js";const w={},g=o=>(u("data-v-a623cdce"),o=o(),m(),o),h=g(()=>e("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},[e("path",{d:"M160 164s1.44-33 33.54-59.46C212.6 88.83 235.49 84.28 256 84c18.73-.23 35.47 2.94 45.48 7.82C318.59 100.2 352 120.6 352 164c0 45.67-29.18 66.37-62.35 89.18S248 298.36 248 324",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"40"}),e("circle",{cx:"248",cy:"399.99",r:"32",fill:"currentColor"})],-1));function b(o,x){const c=p,s=d,r=f;return a(),i(r,{trigger:"hover"},{trigger:t(()=>[n(s,{tertiary:"",circle:"",class:"help",size:"tiny"},{icon:t(()=>[n(c,null,{default:t(()=>[h]),_:1})]),_:1})]),default:t(()=>[l(o.$slots,"default",{},void 0,!0)]),_:3})}const C=_(w,[["render",b],["__scopeId","data-v-a623cdce"]]);export{C as _};
|
258
ui/dist/assets/Input.js
vendored
Normal file
258
ui/dist/assets/Input.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
ui/dist/assets/Log.css
vendored
Normal file
1
ui/dist/assets/Log.css
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
.log[data-v-9d004220]{overflow:hidden;flex:1}.task-table[data-v-9d004220]{max-width:600px}.task-table th[data-v-9d004220]{padding:2px 16px}.task-table td[data-v-9d004220]{height:24px;padding:2px 8px}.task-table td[data-v-9d004220]:last-child{width:100%}.action-container[data-v-9d004220]{display:flex;align-items:center;gap:12px}.scroll-container[data-v-9d004220]{display:flex;align-items:center;gap:4px}.expand[data-v-9d004220]{flex-grow:1}.toggle-table-collapse-btn[data-v-9d004220]{position:absolute;top:12px;right:12px}.log-bg[data-v-9d004220]{content:"";width:100%;height:100%;position:absolute;top:0;left:0;opacity:var(--3d2cf20e);background-image:url(/bg.webp);background-repeat:no-repeat;background-size:cover;background-position:65% 50%;pointer-events:none}.hljs-date{color:#f0a020!important;font-weight:700}.hljs-time{color:#2080f0!important;font-weight:700}.hljs-room{color:#18a058!important;font-weight:700}.hljs-operator{color:#d03050!important}.hljs-info{font-weight:700}.hljs-warning{color:#f0a020!important;font-weight:700}.hljs-error{color:#d03050!important;font-weight:700}.hljs-scene{font-style:italic}
|
145
ui/dist/assets/Log.js
vendored
Normal file
145
ui/dist/assets/Log.js
vendored
Normal file
File diff suppressed because one or more lines are too long
478
ui/dist/assets/Material_all_in_one.js
vendored
Normal file
478
ui/dist/assets/Material_all_in_one.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
ui/dist/assets/NotFound.js
vendored
Normal file
1
ui/dist/assets/NotFound.js
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
import{br as o,bs as e,bt as n,bu as r,k as c}from"./_plugin-vue_export-helper.js";import{a}from"./headers.js";import"./main.js";const s={};function _(f,u){const t=a;return e(),n(t,null,{default:r(()=>[c("404 Not Found")]),_:1})}const i=o(s,[["render",_]]);export{i as default};
|
1
ui/dist/assets/Plan.css
vendored
Normal file
1
ui/dist/assets/Plan.css
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
.select-label[data-v-78258008]{width:44px}.type-select[data-v-78258008]{width:100px;margin-right:8px}.product-select[data-v-78258008]{width:180px;margin-right:8px}.operator-select[data-v-78258008]{width:220px}.replacement-select[data-v-78258008]{min-width:400px}.plan-container[data-v-78258008]{width:980px;min-width:980px;display:flex;flex-direction:column;gap:12px}.group[data-v-78258008]{width:160px}.facility-2[data-v-78258008]{width:124px;height:76px;margin:2px 3px}.facility-3[data-v-78258008]{width:175px;height:76px;margin:2px 3px}.facility-5[data-v-78258008]{width:277px;height:76px;margin:2px 3px}.avatars[data-v-78258008]{display:flex;gap:6px;z-index:5}.avatars img[data-v-78258008]{box-sizing:content-box;border-radius:2px;background:var(--3a9b0e51)}.facility-name[data-v-78258008]{margin-bottom:4px;text-align:center;line-height:1;display:flex;justify-content:space-around;z-index:5}.outer[data-v-78258008]{display:flex;margin:0 auto}.left_box[data-v-78258008]{display:flex;flex-direction:column;gap:4px;padding-top:82px;padding-right:2px}.left_box .left_contain[data-v-78258008]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px}.left_box .left_contain>div[data-v-78258008]{box-sizing:border-box;width:175px;height:76px;cursor:pointer}.left_box .left_contain .info[data-v-78258008]{background-color:#2080f029;border-radius:3px;border:1px solid transparent;transition:all .3s;position:relative}.left_box .left_contain .info[data-v-78258008]:hover{background-color:#2080f038}.left_box .left_contain .info.true[data-v-78258008]{background-color:var(--n-color);border:1px solid rgb(32,128,240)}.left_box .left_contain .info .facility-name[data-v-78258008]{color:#2080f0}.left_box .left_contain .warning[data-v-78258008]{background-color:#f0a02029;border-radius:3px;border:1px solid transparent;transition:all .3s;position:relative}.left_box .left_contain .warning[data-v-78258008]:hover{background-color:#f0a02038}.left_box .left_contain .warning.true[data-v-78258008]{background-color:var(--n-color);border:1px solid rgb(240,160,32)}.left_box .left_contain .warning .facility-name[data-v-78258008]{color:#f0a020}.left_box .left_contain .primary[data-v-78258008]{background-color:#18a05829;border-radius:3px;border:1px solid transparent;transition:all .3s}.left_box .left_contain .primary[data-v-78258008]:hover{background-color:#18a05838}.left_box .left_contain .primary.true[data-v-78258008]{background-color:var(--n-color);border:1px solid rgb(24,160,88)}.left_box .left_contain .primary .facility-name[data-v-78258008]{color:#18a058}.mid_box[data-v-78258008]{display:flex;flex-direction:column}.waiting[data-v-78258008]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border:1px dashed rgb(51,54,57);opacity:.6;transition:all .3s;cursor:pointer;border-radius:3px}.waiting[data-v-78258008]:hover{opacity:1;border:1px dashed rgb(54,173,106);color:#36ad6a}.waiting div[data-v-78258008]{text-align:center}.draggable[data-v-78258008]{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.product-bg[data-v-78258008]{content:"";position:absolute;top:0;left:0;width:173px;height:74px;opacity:var(--7f05acbb);background-repeat:no-repeat;background-size:100%;background-position:110px -20px;z-index:3;pointer-events:none}.avatar-wrapper[data-v-78258008]{position:relative}.workaholic[data-v-78258008]{position:absolute;content:"";top:0;left:0;width:45px;height:45px;opacity:.35;background-color:red;pointer-events:none}.n-base-selection-placeholder .n-avatar{display:none}.n-table[data-v-d70a169d]{min-width:100%}.n-table th[data-v-d70a169d]{width:124px;box-sizing:border-box}.label[data-v-d70a169d]{display:flex;flex-direction:row;align-items:center;gap:6px}.dropdown-container{display:flex;align-items:center;margin-top:5px}.dropdown-label{flex:0 0 40%;max-width:125px}.dropdown-select{flex:1}.w-980[data-v-53621c35]{width:100%;max-width:980px}.mx-auto[data-v-53621c35]{margin:0 auto}.mt-12[data-v-53621c35]{margin-top:12px}.mb-12[data-v-53621c35]{margin-bottom:12px}.px-12[data-v-53621c35]{padding:0 12px}.mw-980[data-v-53621c35]{min-width:980px}.plan-bar[data-v-53621c35]{display:flex;flex-direction:row;flex-grow:0;gap:6px;padding:0 12px}
|
17
ui/dist/assets/Plan.js
vendored
Normal file
17
ui/dist/assets/Plan.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
ui/dist/assets/Play.js
vendored
Normal file
1
ui/dist/assets/Play.js
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
import{bm as o}from"./_plugin-vue_export-helper.js";var n={};Object.defineProperty(n,"__esModule",{value:!0});const e=o,c={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},a=(0,e.createElementVNode)("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M256 112v288"},null,-1),i=(0,e.createElementVNode)("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M400 256H112"},null,-1),u=[a,i];var k=n.default=(0,e.defineComponent)({name:"Add",render:function(d,s){return(0,e.openBlock)(),(0,e.createElementBlock)("svg",c,u)}}),r={};Object.defineProperty(r,"__esModule",{value:!0});const t=o,_={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},w=(0,t.createElementVNode)("path",{d:"M133 440a35.37 35.37 0 0 1-17.5-4.67c-12-6.8-19.46-20-19.46-34.33V111c0-14.37 7.46-27.53 19.46-34.33a35.13 35.13 0 0 1 35.77.45l247.85 148.36a36 36 0 0 1 0 61l-247.89 148.4A35.5 35.5 0 0 1 133 440z",fill:"currentColor"},null,-1),h=[w];var m=r.default=(0,t.defineComponent)({name:"Play",render:function(d,s){return(0,t.openBlock)(),(0,t.createElementBlock)("svg",_,h)}});export{k as _,m as a};
|
157
ui/dist/assets/RadioGroup.js
vendored
Normal file
157
ui/dist/assets/RadioGroup.js
vendored
Normal file
|
@ -0,0 +1,157 @@
|
|||
import{z as ne,bH as O,r as I,d as ae,b as U,aI as N,A as G,ax as j,aL as F,as as _,av as f,au as s,ar as R,at as H,B as M,ay as D,j as $,aY as V,b0 as K,aA as L,H as y,aG as ie,D as de}from"./_plugin-vue_export-helper.js";import{ad as W,C as se}from"./main.js";import{g as le}from"./get-slot.js";const Re=(e,o)=>{if(!e)return;const t=document.createElement("a");t.href=e,o!==void 0&&(t.download=o),document.body.appendChild(t),t.click(),document.body.removeChild(t)},ce={name:String,value:{type:[String,Number,Boolean],default:"on"},checked:{type:Boolean,default:void 0},defaultChecked:Boolean,disabled:{type:Boolean,default:void 0},label:String,size:String,onUpdateChecked:[Function,Array],"onUpdate:checked":[Function,Array],checkedValue:{type:Boolean,default:void 0}},Y=ne("n-radio-group");function ue(e){const o=O(e,{mergedSize(a){const{size:l}=e;if(l!==void 0)return l;if(r){const{mergedSizeRef:{value:u}}=r;if(u!==void 0)return u}return a?a.mergedSize.value:"medium"},mergedDisabled(a){return!!(e.disabled||r!=null&&r.disabledRef.value||a!=null&&a.disabled.value)}}),{mergedSizeRef:t,mergedDisabledRef:i}=o,n=I(null),g=I(null),r=ae(Y,null),b=I(e.defaultChecked),d=U(e,"checked"),p=N(d,b),m=G(()=>r?r.valueRef.value===e.value:p.value),w=G(()=>{const{name:a}=e;if(a!==void 0)return a;if(r)return r.nameRef.value}),v=I(!1);function C(){if(r){const{doUpdateValue:a}=r,{value:l}=e;F(a,l)}else{const{onUpdateChecked:a,"onUpdate:checked":l}=e,{nTriggerFormInput:u,nTriggerFormChange:c}=o;a&&F(a,!0),l&&F(l,!0),u(),c(),b.value=!0}}function x(){i.value||m.value||C()}function k(){x(),n.value&&(n.value.checked=m.value)}function z(){v.value=!1}function S(){v.value=!0}return{mergedClsPrefix:r?r.mergedClsPrefixRef:j(e).mergedClsPrefixRef,inputRef:n,labelRef:g,mergedName:w,mergedDisabled:i,renderSafeChecked:m,focus:v,mergedSize:t,handleRadioInputChange:k,handleRadioInputBlur:z,handleRadioInputFocus:S}}const be=_("radio",`
|
||||
line-height: var(--n-label-line-height);
|
||||
outline: none;
|
||||
position: relative;
|
||||
user-select: none;
|
||||
-webkit-user-select: none;
|
||||
display: inline-flex;
|
||||
align-items: flex-start;
|
||||
flex-wrap: nowrap;
|
||||
font-size: var(--n-font-size);
|
||||
word-break: break-word;
|
||||
`,[f("checked",[s("dot",`
|
||||
background-color: var(--n-color-active);
|
||||
`)]),s("dot-wrapper",`
|
||||
position: relative;
|
||||
flex-shrink: 0;
|
||||
flex-grow: 0;
|
||||
width: var(--n-radio-size);
|
||||
`),_("radio-input",`
|
||||
position: absolute;
|
||||
border: 0;
|
||||
border-radius: inherit;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
opacity: 0;
|
||||
z-index: 1;
|
||||
cursor: pointer;
|
||||
`),s("dot",`
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 0;
|
||||
transform: translateY(-50%);
|
||||
height: var(--n-radio-size);
|
||||
width: var(--n-radio-size);
|
||||
background: var(--n-color);
|
||||
box-shadow: var(--n-box-shadow);
|
||||
border-radius: 50%;
|
||||
transition:
|
||||
background-color .3s var(--n-bezier),
|
||||
box-shadow .3s var(--n-bezier);
|
||||
`,[R("&::before",`
|
||||
content: "";
|
||||
opacity: 0;
|
||||
position: absolute;
|
||||
left: 4px;
|
||||
top: 4px;
|
||||
height: calc(100% - 8px);
|
||||
width: calc(100% - 8px);
|
||||
border-radius: 50%;
|
||||
transform: scale(.8);
|
||||
background: var(--n-dot-color-active);
|
||||
transition:
|
||||
opacity .3s var(--n-bezier),
|
||||
background-color .3s var(--n-bezier),
|
||||
transform .3s var(--n-bezier);
|
||||
`),f("checked",{boxShadow:"var(--n-box-shadow-active)"},[R("&::before",`
|
||||
opacity: 1;
|
||||
transform: scale(1);
|
||||
`)])]),s("label",`
|
||||
color: var(--n-text-color);
|
||||
padding: var(--n-label-padding);
|
||||
font-weight: var(--n-label-font-weight);
|
||||
display: inline-block;
|
||||
transition: color .3s var(--n-bezier);
|
||||
`),H("disabled",`
|
||||
cursor: pointer;
|
||||
`,[R("&:hover",[s("dot",{boxShadow:"var(--n-box-shadow-hover)"})]),f("focus",[R("&:not(:active)",[s("dot",{boxShadow:"var(--n-box-shadow-focus)"})])])]),f("disabled",`
|
||||
cursor: not-allowed;
|
||||
`,[s("dot",{boxShadow:"var(--n-box-shadow-disabled)",backgroundColor:"var(--n-color-disabled)"},[R("&::before",{backgroundColor:"var(--n-dot-color-disabled)"}),f("checked",`
|
||||
opacity: 1;
|
||||
`)]),s("label",{color:"var(--n-text-color-disabled)"}),_("radio-input",`
|
||||
cursor: not-allowed;
|
||||
`)])]),he=Object.assign(Object.assign({},D.props),ce),we=M({name:"Radio",props:he,setup(e){const o=ue(e),t=D("Radio","-radio",be,W,e,o.mergedClsPrefix),i=$(()=>{const{mergedSize:{value:p}}=o,{common:{cubicBezierEaseInOut:m},self:{boxShadow:w,boxShadowActive:v,boxShadowDisabled:C,boxShadowFocus:x,boxShadowHover:k,color:z,colorDisabled:S,colorActive:a,textColor:l,textColorDisabled:u,dotColorActive:c,dotColorDisabled:h,labelPadding:B,labelLineHeight:T,labelFontWeight:E,[V("fontSize",p)]:A,[V("radioSize",p)]:P}}=t.value;return{"--n-bezier":m,"--n-label-line-height":T,"--n-label-font-weight":E,"--n-box-shadow":w,"--n-box-shadow-active":v,"--n-box-shadow-disabled":C,"--n-box-shadow-focus":x,"--n-box-shadow-hover":k,"--n-color":z,"--n-color-active":a,"--n-color-disabled":S,"--n-dot-color-active":c,"--n-dot-color-disabled":h,"--n-font-size":A,"--n-radio-size":P,"--n-text-color":l,"--n-text-color-disabled":u,"--n-label-padding":B}}),{inlineThemeDisabled:n,mergedClsPrefixRef:g,mergedRtlRef:r}=j(e),b=K("Radio",r,g),d=n?L("radio",$(()=>o.mergedSize.value[0]),i,e):void 0;return Object.assign(o,{rtlEnabled:b,cssVars:n?void 0:i,themeClass:d==null?void 0:d.themeClass,onRender:d==null?void 0:d.onRender})},render(){const{$slots:e,mergedClsPrefix:o,onRender:t,label:i}=this;return t==null||t(),y("label",{class:[`${o}-radio`,this.themeClass,this.rtlEnabled&&`${o}-radio--rtl`,this.mergedDisabled&&`${o}-radio--disabled`,this.renderSafeChecked&&`${o}-radio--checked`,this.focus&&`${o}-radio--focus`],style:this.cssVars},y("input",{ref:"inputRef",type:"radio",class:`${o}-radio-input`,value:this.value,name:this.mergedName,checked:this.renderSafeChecked,disabled:this.mergedDisabled,onChange:this.handleRadioInputChange,onFocus:this.handleRadioInputFocus,onBlur:this.handleRadioInputBlur}),y("div",{class:`${o}-radio__dot-wrapper`}," ",y("div",{class:[`${o}-radio__dot`,this.renderSafeChecked&&`${o}-radio__dot--checked`]})),ie(e.default,n=>!n&&!i?null:y("div",{ref:"labelRef",class:`${o}-radio__label`},n||i)))}}),ve=_("radio-group",`
|
||||
display: inline-block;
|
||||
font-size: var(--n-font-size);
|
||||
`,[s("splitor",`
|
||||
display: inline-block;
|
||||
vertical-align: bottom;
|
||||
width: 1px;
|
||||
transition:
|
||||
background-color .3s var(--n-bezier),
|
||||
opacity .3s var(--n-bezier);
|
||||
background: var(--n-button-border-color);
|
||||
`,[f("checked",{backgroundColor:"var(--n-button-border-color-active)"}),f("disabled",{opacity:"var(--n-opacity-disabled)"})]),f("button-group",`
|
||||
white-space: nowrap;
|
||||
height: var(--n-height);
|
||||
line-height: var(--n-height);
|
||||
`,[_("radio-button",{height:"var(--n-height)",lineHeight:"var(--n-height)"}),s("splitor",{height:"var(--n-height)"})]),_("radio-button",`
|
||||
vertical-align: bottom;
|
||||
outline: none;
|
||||
position: relative;
|
||||
user-select: none;
|
||||
-webkit-user-select: none;
|
||||
display: inline-block;
|
||||
box-sizing: border-box;
|
||||
padding-left: 14px;
|
||||
padding-right: 14px;
|
||||
white-space: nowrap;
|
||||
transition:
|
||||
background-color .3s var(--n-bezier),
|
||||
opacity .3s var(--n-bezier),
|
||||
border-color .3s var(--n-bezier),
|
||||
color .3s var(--n-bezier);
|
||||
background: var(--n-button-color);
|
||||
color: var(--n-button-text-color);
|
||||
border-top: 1px solid var(--n-button-border-color);
|
||||
border-bottom: 1px solid var(--n-button-border-color);
|
||||
`,[_("radio-input",`
|
||||
pointer-events: none;
|
||||
position: absolute;
|
||||
border: 0;
|
||||
border-radius: inherit;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
opacity: 0;
|
||||
z-index: 1;
|
||||
`),s("state-border",`
|
||||
z-index: 1;
|
||||
pointer-events: none;
|
||||
position: absolute;
|
||||
box-shadow: var(--n-button-box-shadow);
|
||||
transition: box-shadow .3s var(--n-bezier);
|
||||
left: -1px;
|
||||
bottom: -1px;
|
||||
right: -1px;
|
||||
top: -1px;
|
||||
`),R("&:first-child",`
|
||||
border-top-left-radius: var(--n-button-border-radius);
|
||||
border-bottom-left-radius: var(--n-button-border-radius);
|
||||
border-left: 1px solid var(--n-button-border-color);
|
||||
`,[s("state-border",`
|
||||
border-top-left-radius: var(--n-button-border-radius);
|
||||
border-bottom-left-radius: var(--n-button-border-radius);
|
||||
`)]),R("&:last-child",`
|
||||
border-top-right-radius: var(--n-button-border-radius);
|
||||
border-bottom-right-radius: var(--n-button-border-radius);
|
||||
border-right: 1px solid var(--n-button-border-color);
|
||||
`,[s("state-border",`
|
||||
border-top-right-radius: var(--n-button-border-radius);
|
||||
border-bottom-right-radius: var(--n-button-border-radius);
|
||||
`)]),H("disabled",`
|
||||
cursor: pointer;
|
||||
`,[R("&:hover",[s("state-border",`
|
||||
transition: box-shadow .3s var(--n-bezier);
|
||||
box-shadow: var(--n-button-box-shadow-hover);
|
||||
`),H("checked",{color:"var(--n-button-text-color-hover)"})]),f("focus",[R("&:not(:active)",[s("state-border",{boxShadow:"var(--n-button-box-shadow-focus)"})])])]),f("checked",`
|
||||
background: var(--n-button-color-active);
|
||||
color: var(--n-button-text-color-active);
|
||||
border-color: var(--n-button-border-color-active);
|
||||
`),f("disabled",`
|
||||
cursor: not-allowed;
|
||||
opacity: var(--n-opacity-disabled);
|
||||
`)])]);function fe(e,o,t){var i;const n=[];let g=!1;for(let r=0;r<e.length;++r){const b=e[r],d=(i=b.type)===null||i===void 0?void 0:i.name;d==="RadioButton"&&(g=!0);const p=b.props;if(d!=="RadioButton"){n.push(b);continue}if(r===0)n.push(b);else{const m=n[n.length-1].props,w=o===m.value,v=m.disabled,C=o===p.value,x=p.disabled,k=(w?2:0)+(v?0:1),z=(C?2:0)+(x?0:1),S={[`${t}-radio-group__splitor--disabled`]:v,[`${t}-radio-group__splitor--checked`]:w},a={[`${t}-radio-group__splitor--disabled`]:x,[`${t}-radio-group__splitor--checked`]:C},l=k<z?a:S;n.push(y("div",{class:[`${t}-radio-group__splitor`,l]}),b)}}return{children:n,isButtonGroup:g}}const ge=Object.assign(Object.assign({},D.props),{name:String,value:[String,Number,Boolean],defaultValue:{type:[String,Number,Boolean],default:null},size:String,disabled:{type:Boolean,default:void 0},"onUpdate:value":[Function,Array],onUpdateValue:[Function,Array]}),Ce=M({name:"RadioGroup",props:ge,setup(e){const o=I(null),{mergedSizeRef:t,mergedDisabledRef:i,nTriggerFormChange:n,nTriggerFormInput:g,nTriggerFormBlur:r,nTriggerFormFocus:b}=O(e),{mergedClsPrefixRef:d,inlineThemeDisabled:p,mergedRtlRef:m}=j(e),w=D("Radio","-radio-group",ve,W,e,d),v=I(e.defaultValue),C=U(e,"value"),x=N(C,v);function k(c){const{onUpdateValue:h,"onUpdate:value":B}=e;h&&F(h,c),B&&F(B,c),v.value=c,n(),g()}function z(c){const{value:h}=o;h&&(h.contains(c.relatedTarget)||b())}function S(c){const{value:h}=o;h&&(h.contains(c.relatedTarget)||r())}de(Y,{mergedClsPrefixRef:d,nameRef:U(e,"name"),valueRef:x,disabledRef:i,mergedSizeRef:t,doUpdateValue:k});const a=K("Radio",m,d),l=$(()=>{const{value:c}=t,{common:{cubicBezierEaseInOut:h},self:{buttonBorderColor:B,buttonBorderColorActive:T,buttonBorderRadius:E,buttonBoxShadow:A,buttonBoxShadowFocus:P,buttonBoxShadowHover:q,buttonColor:J,buttonColorActive:Q,buttonTextColor:X,buttonTextColorActive:Z,buttonTextColorHover:ee,opacityDisabled:oe,[V("buttonHeight",c)]:te,[V("fontSize",c)]:re}}=w.value;return{"--n-font-size":re,"--n-bezier":h,"--n-button-border-color":B,"--n-button-border-color-active":T,"--n-button-border-radius":E,"--n-button-box-shadow":A,"--n-button-box-shadow-focus":P,"--n-button-box-shadow-hover":q,"--n-button-color":J,"--n-button-color-active":Q,"--n-button-text-color":X,"--n-button-text-color-hover":ee,"--n-button-text-color-active":Z,"--n-height":te,"--n-opacity-disabled":oe}}),u=p?L("radio-group",$(()=>t.value[0]),l,e):void 0;return{selfElRef:o,rtlEnabled:a,mergedClsPrefix:d,mergedValue:x,handleFocusout:S,handleFocusin:z,cssVars:p?void 0:l,themeClass:u==null?void 0:u.themeClass,onRender:u==null?void 0:u.onRender}},render(){var e;const{mergedValue:o,mergedClsPrefix:t,handleFocusin:i,handleFocusout:n}=this,{children:g,isButtonGroup:r}=fe(se(le(this)),o,t);return(e=this.onRender)===null||e===void 0||e.call(this),y("div",{onFocusin:i,onFocusout:n,ref:"selfElRef",class:[`${t}-radio-group`,this.rtlEnabled&&`${t}-radio-group--rtl`,this.themeClass,r&&`${t}-radio-group--button-group`],style:this.cssVars},g)}});export{we as _,Ce as a,Re as d,ce as r,ue as s};
|
1
ui/dist/assets/RecordLine.css
vendored
Normal file
1
ui/dist/assets/RecordLine.css
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
h2[data-v-a94ff07f]{margin:0;font-size:1.2rem;text-align:center}.page-title[data-v-a94ff07f]{text-align:center;font-size:24px;margin-bottom:20px}.report-card[data-v-a94ff07f]{position:relative;background-color:var(--n-color);padding:10px 20px 16px;height:300px;box-sizing:border-box;border-radius:8px}.report-card-expand[data-v-a94ff07f]{position:absolute;width:calc(100% - 24px);height:calc(100% - 24px);top:12px;left:12px;box-sizing:border-box;z-index:9}.toggle[data-v-a94ff07f]{position:absolute;top:10px}.toggle-size[data-v-a94ff07f]{right:10px}.toggle-width[data-v-a94ff07f]{left:10px}.line-outer-container[data-v-a94ff07f]{width:100%;overflow-x:scroll;flex:1}.line-inner-container[data-v-a94ff07f]{padding:0 12px 16px;height:100%;box-sizing:border-box}
|
1
ui/dist/assets/RecordLine.js
vendored
Normal file
1
ui/dist/assets/RecordLine.js
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
import{u as z,C as N,a as V,L,T as j,b as D,P as I,c as P,p as R,d as O,e as F,f as H,A as T,g as q,h as G}from"./record.js";import{bm as f,br as K,r as u,s as X,bs as r,bC as x,bv as o,bu as l,F as Z,bD as J,bF as Q,bG as U,bx as _,bt as v,bK as W,bE as Y,bL as ee,bo as d,aX as te,b3 as oe}from"./_plugin-vue_export-helper.js";import{b as ae,_ as ne}from"./Grid.js";import"./main.js";import"./get-slot.js";var M={};Object.defineProperty(M,"__esModule",{value:!0});const h=f,se={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},le=(0,h.createStaticVNode)('<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 4h4v4"></path><path d="M14 10l6-6"></path><path d="M8 20H4v-4"></path><path d="M4 20l6-6"></path></g>',1),re=[le];var ce=M.default=(0,h.defineComponent)({name:"ArrowsDiagonal",render:function(c,i){return(0,h.openBlock)(),(0,h.createElementBlock)("svg",se,re)}}),y={};Object.defineProperty(y,"__esModule",{value:!0});const m=f,ie={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},pe=(0,m.createStaticVNode)('<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 10h-4V6"></path><path d="M20 4l-6 6"></path><path d="M6 14h4v4"></path><path d="M10 14l-6 6"></path></g>',1),ue=[pe];var de=y.default=(0,m.defineComponent)({name:"ArrowsDiagonalMinimize2",render:function(c,i){return(0,m.openBlock)(),(0,m.createElementBlock)("svg",ie,ue)}}),C={};Object.defineProperty(C,"__esModule",{value:!0});const a=f,_e={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},he=(0,a.createElementVNode)("g",{fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[(0,a.createElementVNode)("path",{d:"M7 8l-4 4l4 4"}),(0,a.createElementVNode)("path",{d:"M17 8l4 4l-4 4"}),(0,a.createElementVNode)("path",{d:"M3 12h18"})],-1),me=[he];var ge=C.default=(0,a.defineComponent)({name:"ArrowsHorizontal",render:function(c,i){return(0,a.openBlock)(),(0,a.createElementBlock)("svg",_e,me)}});const ve=e=>(Q("data-v-a94ff07f"),e=e(),U(),e),fe=ve(()=>_("h1",{class:"page-title"},"干员心情折线表",-1)),we={class:"line-outer-container"},ke={__name:"RecordLine",setup(e){const c=z(),{getMoodRatios:i}=c;N.register(V,L,j,D,I,P,R,O,F,H,T,q);const p=u(-1),t=u([]),g=u([]);X(async()=>{g.value=await i(),t.value=new Array(g.value.length).fill(100)});const S=u({responsive:!0,maintainAspectRatio:!1,scales:{x:{autoSkip:!0,type:"time",time:{unit:"day"}},y:{beginAtZero:!0,ticks:{min:0,max:24,stepSize:4}}},plugins:{datalabels:{display:!1}}});function $(n){t.value[n]==100?t.value[n]=300:t.value[n]==300?t.value[n]=700:t.value[n]=100}return(n,be)=>{const w=te,k=oe,B=ne,E=ae;return r(),x("div",null,[fe,o(E,{"x-gap":12,"y-gap":8,collapsed:!1,cols:"1 s:1 m:2 l:3 xl:4 2xl:5",responsive:"screen"},{default:l(()=>[(r(!0),x(Z,null,J(g.value,(b,s)=>(r(),v(B,{key:s,class:W(["report-card",{"report-card-expand":p.value==s}])},{default:l(()=>[_("h2",null,Y(b.groupName),1),_("div",we,[_("div",{class:"line-inner-container",style:ee({width:t.value[s]+"%"})},[o(d(G),{data:b.moodData,options:S.value},null,8,["data","options"])],4)]),o(k,{class:"toggle toggle-size",size:"small",onClick:A=>p.value=p.value==-1?s:-1,focusable:!1},{icon:l(()=>[o(w,null,{default:l(()=>[p.value==s?(r(),v(d(de),{key:0})):(r(),v(d(ce),{key:1}))]),_:2},1024)]),_:2},1032,["onClick"]),o(k,{class:"toggle toggle-width",size:"small",onClick:A=>$(s),focusable:!1},{icon:l(()=>[o(w,null,{default:l(()=>[o(d(ge))]),_:1})]),_:2},1032,["onClick"])]),_:2},1032,["class"]))),128))]),_:1})])}}},$e=K(ke,[["__scopeId","data-v-a94ff07f"]]);export{$e as default};
|
1
ui/dist/assets/RecordPie.css
vendored
Normal file
1
ui/dist/assets/RecordPie.css
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
h2[data-v-2cc4b433]{margin-bottom:10px;font-size:1.2rem;text-align:center}.page-title[data-v-2cc4b433]{text-align:center;font-size:24px;margin-bottom:20px}
|
1
ui/dist/assets/RecordPie.js
vendored
Normal file
1
ui/dist/assets/RecordPie.js
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
import{u as f,C as S,a as h,L as x,T as k,b as v,P as y,c as C,p as E,d as P,e as R,f as w,A as B,g as I,i as L}from"./record.js";import{br as D,r as l,s as F,bs as n,bC as i,bv as p,bu as _,F as M,bD as N,bF as T,bG as A,bx as d,bt as V,bE as G,bo as O}from"./_plugin-vue_export-helper.js";import{b as j,_ as q}from"./Grid.js";import"./main.js";import"./get-slot.js";const z=a=>(T("data-v-2cc4b433"),a=a(),A(),a),H=z(()=>d("h1",{class:"page-title"},"工作休息比例报表",-1)),J={__name:"RecordPie",setup(a){const u=f(),{getMoodRatios:m}=u;S.register(h,x,k,v,y,C,E,P,R,w,B,I);const r=l([]);F(async()=>{r.value=await m()});const g=l({plugins:{datalabels:{color:"black",formatter:function(t,c){let e=c.dataset.data.reduce((o,s)=>o+s,0);return console.log(t,e,t/e),Math.round(t/e*100)+"%"}},legend:{display:!1}}});return(t,c)=>{const e=q,o=j;return n(),i("div",null,[H,p(o,{"x-gap":12,"y-gap":8,collapsed:!1,cols:"1 s:1 m:2 l:3 xl:4 2xl:5",responsive:"screen"},{default:_(()=>[(n(!0),i(M,null,N(r.value,(s,b)=>(n(),V(e,{key:b,class:"report-card"},{default:_(()=>[d("h2",null,G(s.groupName),1),p(O(L),{data:s.workRestData,options:g.value},null,8,["data","options"])]),_:2},1024))),128))]),_:1})])}}},Y=D(J,[["__scopeId","data-v-2cc4b433"]]);export{Y as default};
|
443
ui/dist/assets/Select.js
vendored
Normal file
443
ui/dist/assets/Select.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
ui/dist/assets/Settings.css
vendored
Normal file
1
ui/dist/assets/Settings.css
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
@charset "UTF-8";.sss-container[data-v-19f9e9b9]{display:flex;width:100%;gap:8px}.wrapper[data-v-19f9e9b9]{white-space:pre-wrap;-webkit-user-select:text;user-select:text}.title[data-v-19f9e9b9]{font-size:18px;font-weight:500;margin-bottom:6px}p[data-v-666d3ffa]{margin:0 0 10px}.misc-container[data-v-666d3ffa]{margin-top:12px;display:flex;align-items:center;gap:12px}@media screen and (max-width: 1399px){.tasktable[data-v-10266f44]{height:300px;overflow-y:auto}.tasktable table[data-v-10266f44]{border-collapse:collapse}.tasktable td[data-v-10266f44]:first-child{width:10%}.tasktable td[data-v-10266f44]:nth-child(2){width:18%}.tasktable td[data-v-10266f44]:not(:first-child):not(:nth-child(2)){width:10.2857142857%}.tasktable thead[data-v-10266f44]{position:sticky;top:0;background-color:#7ea5b4;z-index:1}}@media screen and (min-width: 1400px){.tasktable[data-v-10266f44]{height:auto}.tasktable table[data-v-10266f44]{border-collapse:collapse}.tasktable td[data-v-10266f44]:first-child{width:10%}.tasktable td[data-v-10266f44]:nth-child(2){width:18%}.tasktable td[data-v-10266f44]:not(:first-child):not(:nth-child(2)){width:10.2857142857%}.tasktable thead[data-v-10266f44]{background-color:#7ea5b4}}.class1[data-v-10266f44]{background-color:#efe9e1;text-align:center;vertical-align:middle}.class2[data-v-10266f44]{background-color:#55c1f6;text-align:center;vertical-align:middle}table[data-v-0c5dc699]{width:100%}table td[data-v-0c5dc699]:nth-child(1){width:40px;text-align:left}table td[data-v-0c5dc699]:nth-child(3){width:80px}.tag-mr[data-v-0c5dc699]{margin-right:4px}.prts-wiki-link[data-v-0c5dc699]{margin:8px 0;flex-shrink:1;min-width:0}.prts-wiki-link-text[data-v-0c5dc699]{overflow:hidden;text-overflow:ellipsis}p[data-v-c062d730]{margin:0 0 8px}h4[data-v-c062d730]{margin:12px 0 10px}.big-table[data-v-c062d730]{margin-top:10px;max-width:320px}.big-table th[data-v-c062d730]{text-align:center}.big-table tr[data-v-c062d730]{width:70px}.big-table td[data-v-c062d730]{height:24px}.big-table td[data-v-c062d730]:nth-child(1){width:70px;text-align:center}.big-table td[data-v-c062d730]:nth-child(2){width:420px}.final[data-v-c062d730]{margin:16px 0 0}p[data-v-72c0637f]{margin:2px 0}h4[data-v-72c0637f]{margin:12px 0 8px}table[data-v-72c0637f]{width:100%}td[data-v-72c0637f]:nth-child(1){width:80px}.ignore-blacklist[data-v-72c0637f]{margin-bottom:10px;display:flex;gap:12px}.h4[data-v-72c0637f]{font-size:16px;font-weight:500}.maa-shop[data-v-72c0637f]{margin:8px 0}.item[data-v-72c0637f]{font-weight:500;font-size:16px}.email-title[data-v-9528d27c]{width:100%}.expand[data-v-9528d27c]{flex-grow:1}.email-table[data-v-9528d27c]{width:100%;margin-bottom:12px}.email-test[data-v-9528d27c]{display:flex;align-items:center;gap:16px}.email-mode[data-v-9528d27c]{margin-left:20px}.email-label[data-v-9528d27c]{width:68px}p[data-v-9528d27c]{margin:0 0 10px}.mt-16[data-v-9528d27c]{margin-top:16px}.item[data-v-65920527]{font-weight:500;font-size:16px}.n-divider[data-v-65920527]:not(.n-divider--vertical){margin:6px 0}.misc-container{margin-top:12px;display:flex;align-items:center;gap:12px}.threshold[data-v-7b9369bc]{display:flex;align-items:center;gap:14px;width:100%}.mower-basic[data-v-7b9369bc]{width:100%}.mower-basic td[data-v-7b9369bc]:nth-child(1){width:120px}.mower-basic td[data-v-7b9369bc]:nth-child(3){padding-left:6px;width:40px}.riic-conf[data-v-7b9369bc]{width:100%}.riic-conf td[data-v-7b9369bc]:nth-child(1){width:130px}.riic-conf td[data-v-7b9369bc]:nth-child(3){padding-left:12px;width:120px}.coord td[data-v-7b9369bc]{width:120px}.coord td[data-v-7b9369bc]:nth-child(1),.coord td[data-v-7b9369bc]:nth-child(3){width:30px}.coord td[data-v-7b9369bc]:nth-child(2){padding-right:30px}.coord-label[data-v-7b9369bc]{width:40px;padding-left:8px}p[data-v-7b9369bc]{margin:0 0 8px}h4[data-v-7b9369bc]{margin:12px 0 10px}.time-table[data-v-7b9369bc]{width:100%;margin-bottom:12px}.time-table td[data-v-7b9369bc]:nth-child(1){width:40px}.scale[data-v-7b9369bc]{width:60px;text-align:right}.scale-apply[data-v-7b9369bc]{margin-left:24px}.waiting-table th[data-v-7b9369bc],.waiting-table td[data-v-7b9369bc]{padding:4px;min-width:70px;width:100px}.waiting-table th[data-v-7b9369bc]:first-child,.waiting-table td[data-v-7b9369bc]:first-child{width:auto;padding:4px 8px}@media (max-width: 1399px){.grid-two{margin:0 0 -10px;width:100%;max-width:600px}.grid-left{display:grid;row-gap:10px;grid-template-columns:100%}.grid-right{display:grid;row-gap:10px;grid-template-columns:100%;margin-top:10px}}@media (min-width: 1400px){.grid-two{display:grid;grid-template-columns:minmax(0px,1fr) minmax(0px,1fr);align-items:flex-start;gap:5px}.grid-left,.grid-right{display:grid;gap:5px;grid-template-columns:100%;max-width:600px}}.n-divider:not(.n-divider--vertical){margin:14px 0 8px}
|
303
ui/dist/assets/Settings.js
vendored
Normal file
303
ui/dist/assets/Settings.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
ui/dist/assets/SlickOperatorSelect.css
vendored
Normal file
1
ui/dist/assets/SlickOperatorSelect.css
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
.width100[data-v-b1322d95]{width:100%}
|
549
ui/dist/assets/SlickOperatorSelect.js
vendored
Normal file
549
ui/dist/assets/SlickOperatorSelect.js
vendored
Normal file
File diff suppressed because one or more lines are too long
71
ui/dist/assets/Tag.js
vendored
Normal file
71
ui/dist/assets/Tag.js
vendored
Normal file
|
@ -0,0 +1,71 @@
|
|||
import{an as co,aM as o,as as no,av as p,au as x,at as I,ar as z,B as so,r as to,ax as io,ay as N,D as ho,b as go,b0 as bo,j as L,aA as Co,aG as D,H as y,b5 as vo,z as uo,aL as po,aY as d,b1 as fo,c3 as U}from"./_plugin-vue_export-helper.js";import{av as ko}from"./main.js";const mo=a=>{const{textColor2:h,primaryColorHover:r,primaryColorPressed:f,primaryColor:c,infoColor:i,successColor:s,warningColor:n,errorColor:t,baseColor:k,borderColor:m,opacityDisabled:g,tagColor:v,closeIconColor:e,closeIconColorHover:l,closeIconColorPressed:u,borderRadiusSmall:b,fontSizeMini:C,fontSizeTiny:S,fontSizeSmall:B,fontSizeMedium:$,heightMini:H,heightTiny:R,heightSmall:M,heightMedium:_,closeColorHover:T,closeColorPressed:E,buttonColor2Hover:W,buttonColor2Pressed:j,fontWeightStrong:w}=a;return Object.assign(Object.assign({},ko),{closeBorderRadius:b,heightTiny:H,heightSmall:R,heightMedium:M,heightLarge:_,borderRadius:b,opacityDisabled:g,fontSizeTiny:C,fontSizeSmall:S,fontSizeMedium:B,fontSizeLarge:$,fontWeightStrong:w,textColorCheckable:h,textColorHoverCheckable:h,textColorPressedCheckable:h,textColorChecked:k,colorCheckable:"#0000",colorHoverCheckable:W,colorPressedCheckable:j,colorChecked:c,colorCheckedHover:r,colorCheckedPressed:f,border:`1px solid ${m}`,textColor:h,color:v,colorBordered:"rgb(250, 250, 252)",closeIconColor:e,closeIconColorHover:l,closeIconColorPressed:u,closeColorHover:T,closeColorPressed:E,borderPrimary:`1px solid ${o(c,{alpha:.3})}`,textColorPrimary:c,colorPrimary:o(c,{alpha:.12}),colorBorderedPrimary:o(c,{alpha:.1}),closeIconColorPrimary:c,closeIconColorHoverPrimary:c,closeIconColorPressedPrimary:c,closeColorHoverPrimary:o(c,{alpha:.12}),closeColorPressedPrimary:o(c,{alpha:.18}),borderInfo:`1px solid ${o(i,{alpha:.3})}`,textColorInfo:i,colorInfo:o(i,{alpha:.12}),colorBorderedInfo:o(i,{alpha:.1}),closeIconColorInfo:i,closeIconColorHoverInfo:i,closeIconColorPressedInfo:i,closeColorHoverInfo:o(i,{alpha:.12}),closeColorPressedInfo:o(i,{alpha:.18}),borderSuccess:`1px solid ${o(s,{alpha:.3})}`,textColorSuccess:s,colorSuccess:o(s,{alpha:.12}),colorBorderedSuccess:o(s,{alpha:.1}),closeIconColorSuccess:s,closeIconColorHoverSuccess:s,closeIconColorPressedSuccess:s,closeColorHoverSuccess:o(s,{alpha:.12}),closeColorPressedSuccess:o(s,{alpha:.18}),borderWarning:`1px solid ${o(n,{alpha:.35})}`,textColorWarning:n,colorWarning:o(n,{alpha:.15}),colorBorderedWarning:o(n,{alpha:.12}),closeIconColorWarning:n,closeIconColorHoverWarning:n,closeIconColorPressedWarning:n,closeColorHoverWarning:o(n,{alpha:.12}),closeColorPressedWarning:o(n,{alpha:.18}),borderError:`1px solid ${o(t,{alpha:.23})}`,textColorError:t,colorError:o(t,{alpha:.1}),colorBorderedError:o(t,{alpha:.08}),closeIconColorError:t,closeIconColorHoverError:t,closeIconColorPressedError:t,closeColorHoverError:o(t,{alpha:.12}),closeColorPressedError:o(t,{alpha:.18})})},xo={name:"Tag",common:co,self:mo},yo=xo,Po={color:Object,type:{type:String,default:"default"},round:Boolean,size:{type:String,default:"medium"},closable:Boolean,disabled:{type:Boolean,default:void 0}},Io=no("tag",`
|
||||
--n-close-margin: var(--n-close-margin-top) var(--n-close-margin-right) var(--n-close-margin-bottom) var(--n-close-margin-left);
|
||||
white-space: nowrap;
|
||||
position: relative;
|
||||
box-sizing: border-box;
|
||||
cursor: default;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
flex-wrap: nowrap;
|
||||
padding: var(--n-padding);
|
||||
border-radius: var(--n-border-radius);
|
||||
color: var(--n-text-color);
|
||||
background-color: var(--n-color);
|
||||
transition:
|
||||
border-color .3s var(--n-bezier),
|
||||
background-color .3s var(--n-bezier),
|
||||
color .3s var(--n-bezier),
|
||||
box-shadow .3s var(--n-bezier),
|
||||
opacity .3s var(--n-bezier);
|
||||
line-height: 1;
|
||||
height: var(--n-height);
|
||||
font-size: var(--n-font-size);
|
||||
`,[p("strong",`
|
||||
font-weight: var(--n-font-weight-strong);
|
||||
`),x("border",`
|
||||
pointer-events: none;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
border-radius: inherit;
|
||||
border: var(--n-border);
|
||||
transition: border-color .3s var(--n-bezier);
|
||||
`),x("icon",`
|
||||
display: flex;
|
||||
margin: 0 4px 0 0;
|
||||
color: var(--n-text-color);
|
||||
transition: color .3s var(--n-bezier);
|
||||
font-size: var(--n-avatar-size-override);
|
||||
`),x("avatar",`
|
||||
display: flex;
|
||||
margin: 0 6px 0 0;
|
||||
`),x("close",`
|
||||
margin: var(--n-close-margin);
|
||||
transition:
|
||||
background-color .3s var(--n-bezier),
|
||||
color .3s var(--n-bezier);
|
||||
`),p("round",`
|
||||
padding: 0 calc(var(--n-height) / 3);
|
||||
border-radius: calc(var(--n-height) / 2);
|
||||
`,[x("icon",`
|
||||
margin: 0 4px 0 calc((var(--n-height) - 8px) / -2);
|
||||
`),x("avatar",`
|
||||
margin: 0 6px 0 calc((var(--n-height) - 8px) / -2);
|
||||
`),p("closable",`
|
||||
padding: 0 calc(var(--n-height) / 4) 0 calc(var(--n-height) / 3);
|
||||
`)]),p("icon, avatar",[p("round",`
|
||||
padding: 0 calc(var(--n-height) / 3) 0 calc(var(--n-height) / 2);
|
||||
`)]),p("disabled",`
|
||||
cursor: not-allowed !important;
|
||||
opacity: var(--n-opacity-disabled);
|
||||
`),p("checkable",`
|
||||
cursor: pointer;
|
||||
box-shadow: none;
|
||||
color: var(--n-text-color-checkable);
|
||||
background-color: var(--n-color-checkable);
|
||||
`,[I("disabled",[z("&:hover","background-color: var(--n-color-hover-checkable);",[I("checked","color: var(--n-text-color-hover-checkable);")]),z("&:active","background-color: var(--n-color-pressed-checkable);",[I("checked","color: var(--n-text-color-pressed-checkable);")])]),p("checked",`
|
||||
color: var(--n-text-color-checked);
|
||||
background-color: var(--n-color-checked);
|
||||
`,[I("disabled",[z("&:hover","background-color: var(--n-color-checked-hover);"),z("&:active","background-color: var(--n-color-checked-pressed);")])])])]),zo=Object.assign(Object.assign(Object.assign({},N.props),Po),{bordered:{type:Boolean,default:void 0},checked:Boolean,checkable:Boolean,strong:Boolean,triggerClickOnClose:Boolean,onClose:[Array,Function],onMouseenter:Function,onMouseleave:Function,"onUpdate:checked":Function,onUpdateChecked:Function,internalCloseFocusable:{type:Boolean,default:!0},internalCloseIsButtonTag:{type:Boolean,default:!0},onCheckedChange:Function}),So=uo("n-tag"),Ho=so({name:"Tag",props:zo,setup(a){const h=to(null),{mergedBorderedRef:r,mergedClsPrefixRef:f,inlineThemeDisabled:c,mergedRtlRef:i}=io(a),s=N("Tag","-tag",Io,yo,a,f);ho(So,{roundRef:go(a,"round")});function n(e){if(!a.disabled&&a.checkable){const{checked:l,onCheckedChange:u,onUpdateChecked:b,"onUpdate:checked":C}=a;b&&b(!l),C&&C(!l),u&&u(!l)}}function t(e){if(a.triggerClickOnClose||e.stopPropagation(),!a.disabled){const{onClose:l}=a;l&&po(l,e)}}const k={setTextContent(e){const{value:l}=h;l&&(l.textContent=e)}},m=bo("Tag",i,f),g=L(()=>{const{type:e,size:l,color:{color:u,textColor:b}={}}=a,{common:{cubicBezierEaseInOut:C},self:{padding:S,closeMargin:B,borderRadius:$,opacityDisabled:H,textColorCheckable:R,textColorHoverCheckable:M,textColorPressedCheckable:_,textColorChecked:T,colorCheckable:E,colorHoverCheckable:W,colorPressedCheckable:j,colorChecked:w,colorCheckedHover:V,colorCheckedPressed:K,closeBorderRadius:A,fontWeightStrong:G,[d("colorBordered",e)]:Y,[d("closeSize",l)]:q,[d("closeIconSize",l)]:J,[d("fontSize",l)]:Q,[d("height",l)]:O,[d("color",e)]:X,[d("textColor",e)]:Z,[d("border",e)]:oo,[d("closeIconColor",e)]:F,[d("closeIconColorHover",e)]:eo,[d("closeIconColorPressed",e)]:ro,[d("closeColorHover",e)]:lo,[d("closeColorPressed",e)]:ao}}=s.value,P=fo(B);return{"--n-font-weight-strong":G,"--n-avatar-size-override":`calc(${O} - 8px)`,"--n-bezier":C,"--n-border-radius":$,"--n-border":oo,"--n-close-icon-size":J,"--n-close-color-pressed":ao,"--n-close-color-hover":lo,"--n-close-border-radius":A,"--n-close-icon-color":F,"--n-close-icon-color-hover":eo,"--n-close-icon-color-pressed":ro,"--n-close-icon-color-disabled":F,"--n-close-margin-top":P.top,"--n-close-margin-right":P.right,"--n-close-margin-bottom":P.bottom,"--n-close-margin-left":P.left,"--n-close-size":q,"--n-color":u||(r.value?Y:X),"--n-color-checkable":E,"--n-color-checked":w,"--n-color-checked-hover":V,"--n-color-checked-pressed":K,"--n-color-hover-checkable":W,"--n-color-pressed-checkable":j,"--n-font-size":Q,"--n-height":O,"--n-opacity-disabled":H,"--n-padding":S,"--n-text-color":b||Z,"--n-text-color-checkable":R,"--n-text-color-checked":T,"--n-text-color-hover-checkable":M,"--n-text-color-pressed-checkable":_}}),v=c?Co("tag",L(()=>{let e="";const{type:l,size:u,color:{color:b,textColor:C}={}}=a;return e+=l[0],e+=u[0],b&&(e+=`a${U(b)}`),C&&(e+=`b${U(C)}`),r.value&&(e+="c"),e}),g,a):void 0;return Object.assign(Object.assign({},k),{rtlEnabled:m,mergedClsPrefix:f,contentRef:h,mergedBordered:r,handleClick:n,handleCloseClick:t,cssVars:c?void 0:g,themeClass:v==null?void 0:v.themeClass,onRender:v==null?void 0:v.onRender})},render(){var a,h;const{mergedClsPrefix:r,rtlEnabled:f,closable:c,color:{borderColor:i}={},round:s,onRender:n,$slots:t}=this;n==null||n();const k=D(t.avatar,g=>g&&y("div",{class:`${r}-tag__avatar`},g)),m=D(t.icon,g=>g&&y("div",{class:`${r}-tag__icon`},g));return y("div",{class:[`${r}-tag`,this.themeClass,{[`${r}-tag--rtl`]:f,[`${r}-tag--strong`]:this.strong,[`${r}-tag--disabled`]:this.disabled,[`${r}-tag--checkable`]:this.checkable,[`${r}-tag--checked`]:this.checkable&&this.checked,[`${r}-tag--round`]:s,[`${r}-tag--avatar`]:k,[`${r}-tag--icon`]:m,[`${r}-tag--closable`]:c}],style:this.cssVars,onClick:this.handleClick,onMouseenter:this.onMouseenter,onMouseleave:this.onMouseleave},m||k,y("span",{class:`${r}-tag__content`,ref:"contentRef"},(h=(a=this.$slots).default)===null||h===void 0?void 0:h.call(a)),!this.checkable&&c?y(vo,{clsPrefix:r,class:`${r}-tag__close`,disabled:this.disabled,onClick:this.handleCloseClick,focusable:this.internalCloseFocusable,round:s,isButtonTag:this.internalCloseIsButtonTag,absolute:!0}):null,!this.checkable&&this.mergedBordered?y("div",{class:`${r}-tag__border`,style:{borderColor:i}}):null)}});export{Ho as _,So as a,Po as c,yo as t};
|
1
ui/dist/assets/TrashOutline.js
vendored
Normal file
1
ui/dist/assets/TrashOutline.js
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
import{bm as t}from"./_plugin-vue_export-helper.js";var o={};Object.defineProperty(o,"__esModule",{value:!0});const e=t,r={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},n=(0,e.createStaticVNode)('<path d="M112 112l20 320c.95 18.49 14.4 32 32 32h184c17.67 0 30.87-13.51 32-32l20-320" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="32"></path><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="32" d="M80 112h352" fill="currentColor"></path><path d="M192 112V72h0a23.93 23.93 0 0 1 24-24h80a23.93 23.93 0 0 1 24 24h0v40" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="32"></path><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="32" d="M256 176v224"></path><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="32" d="M184 176l8 224"></path><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="32" d="M328 176l-8 224"></path>',6),l=[n];var h=o.default=(0,e.defineComponent)({name:"TrashOutline",render:function(s,a){return(0,e.openBlock)(),(0,e.createElementBlock)("svg",r,l)}});export{h as _};
|
1
ui/dist/assets/VirtualList.js
vendored
Normal file
1
ui/dist/assets/VirtualList.js
vendored
Normal file
File diff suppressed because one or more lines are too long
377
ui/dist/assets/_plugin-vue_export-helper.js
vendored
Normal file
377
ui/dist/assets/_plugin-vue_export-helper.js
vendored
Normal file
File diff suppressed because one or more lines are too long
8
ui/dist/assets/a.js
vendored
Normal file
8
ui/dist/assets/a.js
vendored
Normal file
|
@ -0,0 +1,8 @@
|
|||
import{as as c,B as d,ax as m,ay as r,j as u,aA as h,H as f}from"./_plugin-vue_export-helper.js";import{an as p}from"./main.js";const v=c("a",`
|
||||
cursor: pointer;
|
||||
transition:
|
||||
color .3s var(--n-bezier),
|
||||
text-decoration-color .3s var(--n-bezier);
|
||||
text-decoration-color: var(--n-text-color);
|
||||
color: var(--n-text-color);
|
||||
`),x=Object.assign({},r.props),y=d({name:"A",props:x,setup(e){const{mergedClsPrefixRef:o,inlineThemeDisabled:n}=m(e),a=r("Typography","-a",v,p,e,o),t=u(()=>{const{common:{cubicBezierEaseInOut:i},self:{aTextColor:l}}=a.value;return{"--n-text-color":l,"--n-bezier":i}}),s=n?h("a",void 0,t,e):void 0;return{mergedClsPrefix:o,cssVars:n?void 0:t,themeClass:s==null?void 0:s.themeClass,onRender:s==null?void 0:s.onRender}},render(){var e;return(e=this.onRender)===null||e===void 0||e.call(this),f("a",{class:[`${this.mergedClsPrefix}-a`,this.themeClass],style:this.cssVars},this.$slots)}});export{y as _};
|
1
ui/dist/assets/depot.css
vendored
Normal file
1
ui/dist/assets/depot.css
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
.card-container{display:flex;margin:10px,0px,0px,50px;flex-wrap:wrap}
|
34
ui/dist/assets/depot.js
vendored
Normal file
34
ui/dist/assets/depot.js
vendored
Normal file
|
@ -0,0 +1,34 @@
|
|||
import{ar as I,as as F,y as N}from"./main.js";import{N as P}from"./headers.js";import{as as h,au as f,ar as b,B as V,ax as H,ay as B,b0 as L,j as A,aA as M,H as a,F as S,r as T,s as W,bs as m,bC as C,bv as o,bu as l,b3 as q,k as _,bE as y,bD as z,bo as G,bx as J,bt as R}from"./_plugin-vue_export-helper.js";import{b as K,_ as Q}from"./Grid.js";import{_ as U}from"./Divider.js";import{_ as X}from"./Avatar.js";import"./get-slot.js";import"./Tag.js";const Y=h("thing",`
|
||||
display: flex;
|
||||
transition: color .3s var(--n-bezier);
|
||||
font-size: var(--n-font-size);
|
||||
color: var(--n-text-color);
|
||||
`,[h("thing-avatar",`
|
||||
margin-right: 12px;
|
||||
margin-top: 2px;
|
||||
`),h("thing-avatar-header-wrapper",`
|
||||
display: flex;
|
||||
flex-wrap: nowrap;
|
||||
`,[h("thing-header-wrapper",`
|
||||
flex: 1;
|
||||
`)]),h("thing-main",`
|
||||
flex-grow: 1;
|
||||
`,[h("thing-header",`
|
||||
display: flex;
|
||||
margin-bottom: 4px;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
`,[f("title",`
|
||||
font-size: 16px;
|
||||
font-weight: var(--n-title-font-weight);
|
||||
transition: color .3s var(--n-bezier);
|
||||
color: var(--n-title-text-color);
|
||||
`)]),f("description",[b("&:not(:last-child)",`
|
||||
margin-bottom: 4px;
|
||||
`)]),f("content",[b("&:not(:first-child)",`
|
||||
margin-top: 12px;
|
||||
`)]),f("footer",[b("&:not(:first-child)",`
|
||||
margin-top: 12px;
|
||||
`)]),f("action",[b("&:not(:first-child)",`
|
||||
margin-top: 12px;
|
||||
`)])])]),Z=Object.assign(Object.assign({},B.props),{title:String,titleExtra:String,description:String,descriptionClass:String,descriptionStyle:[String,Object],content:String,contentClass:String,contentStyle:[String,Object],contentIndented:Boolean}),ee=V({name:"Thing",props:Z,setup(t,{slots:e}){const{mergedClsPrefixRef:g,inlineThemeDisabled:d,mergedRtlRef:s}=H(t),$=B("Thing","-thing",Y,I,t,g),v=L("Thing",s,g),p=A(()=>{const{self:{titleTextColor:u,textColor:n,titleFontWeight:r,fontSize:c},common:{cubicBezierEaseInOut:w}}=$.value;return{"--n-bezier":w,"--n-font-size":c,"--n-text-color":n,"--n-title-font-weight":r,"--n-title-text-color":u}}),i=d?M("thing",void 0,p,t):void 0;return()=>{var u;const{value:n}=g,r=v?v.value:!1;return(u=i==null?void 0:i.onRender)===null||u===void 0||u.call(i),a("div",{class:[`${n}-thing`,i==null?void 0:i.themeClass,r&&`${n}-thing--rtl`],style:d?void 0:p.value},e.avatar&&t.contentIndented?a("div",{class:`${n}-thing-avatar`},e.avatar()):null,a("div",{class:`${n}-thing-main`},!t.contentIndented&&(e.header||t.title||e["header-extra"]||t.titleExtra||e.avatar)?a("div",{class:`${n}-thing-avatar-header-wrapper`},e.avatar?a("div",{class:`${n}-thing-avatar`},e.avatar()):null,e.header||t.title||e["header-extra"]||t.titleExtra?a("div",{class:`${n}-thing-header-wrapper`},a("div",{class:`${n}-thing-header`},e.header||t.title?a("div",{class:`${n}-thing-header__title`},e.header?e.header():t.title):null,e["header-extra"]||t.titleExtra?a("div",{class:`${n}-thing-header__extra`},e["header-extra"]?e["header-extra"]():t.titleExtra):null),e.description||t.description?a("div",{class:[`${n}-thing-main__description`,t.descriptionClass],style:t.descriptionStyle},e.description?e.description():t.description):null):null):a(S,null,e.header||t.title||e["header-extra"]||t.titleExtra?a("div",{class:`${n}-thing-header`},e.header||t.title?a("div",{class:`${n}-thing-header__title`},e.header?e.header():t.title):null,e["header-extra"]||t.titleExtra?a("div",{class:`${n}-thing-header__extra`},e["header-extra"]?e["header-extra"]():t.titleExtra):null):null,e.description||t.description?a("div",{class:[`${n}-thing-main__description`,t.descriptionClass],style:t.descriptionStyle},e.description?e.description():t.description):null),e.default||t.content?a("div",{class:[`${n}-thing-main__content`,t.contentClass],style:t.contentStyle},e.default?e.default():t.content):null,e.footer?a("div",{class:`${n}-thing-main__footer`},e.footer()):null,e.action?a("div",{class:`${n}-thing-main__action`},e.action()):null))}}}),te=F("depot",()=>{async function t(){return(await N.get("/depot/readdepot")).data}return{getDepotinfo:t}}),ne={class:"card-container"},ae=J("br",null,null,-1),he={__name:"depot",setup(t){const e=te(),{getDepotinfo:g}=e,d=T([]);let s=T([]);async function $(){d.value=await g(),v()}function v(){s.value={...d.value[0]};for(const i in s.value)if(s.value.hasOwnProperty(i)){const u=s.value[i],n=Object.entries(u).map(([r,c])=>({key:r,...c})).sort((r,c)=>r.sort-c.sort);s.value[i]=n}}W($);const p=async()=>{try{await navigator.clipboard.writeText(d.value[1]),console.log("Text copied:",d.value[1])}catch(i){console.error("Failed to copy text:",i)}};return(i,u)=>{const n=q,r=U,c=Q,w=P,D=X,j=ee,E=K;return m(),C("div",ne,[o(n,{onClick:p,tag:"a",href:"https://arkntools.app/#/material",target:"_blank"},{default:l(()=>[_(" 明日方舟工具箱代码 点击复制 ")]),_:1}),o(r),o(E,{cols:"1",responsive:"screen"},{default:l(()=>[o(c,null,{default:l(()=>[_(" 扫描时间:"+y(d.value[2])+" ",1),ae,_(" 注:万以下的数字并不会计入,如“龙门币 245万” “资质凭证 2万”"),o(r)]),_:1}),(m(!0),C(S,null,z(G(s),(O,k)=>(m(),R(c,{key:k},{default:l(()=>[o(w,null,{default:l(()=>[_(y(k.slice(1)),1)]),_:2},1024),o(E,{"x-gap":"10px","y-gap":"10px",cols:"2 m:6 l:6 ",responsive:"screen"},{default:l(()=>[(m(!0),C(S,null,z(O,x=>(m(),R(c,{key:x},{default:l(()=>[o(j,null,{avatar:l(()=>[o(D,{color:"000",size:"large",src:"/depot/"+x.icon+".webp"},null,8,["src"])]),header:l(()=>[_(y(x.key),1)]),description:l(()=>[_("拥有:"+y(x.number),1)]),_:2},1024)]),_:2},1024))),128))]),_:2},1024),o(r)]),_:2},1024))),128))]),_:1})])}}};export{he as default};
|
1
ui/dist/assets/get-slot.js
vendored
Normal file
1
ui/dist/assets/get-slot.js
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
function l(s,o="default",n=[]){const t=s.$slots[o];return t===void 0?n:t()}export{l as g};
|
16
ui/dist/assets/headers.js
vendored
Normal file
16
ui/dist/assets/headers.js
vendored
Normal file
|
@ -0,0 +1,16 @@
|
|||
import{as as w,ar as h,av as c,B as z,ax as $,ay as l,j as f,aY as i,aA as T,H as B}from"./_plugin-vue_export-helper.js";import{an as H}from"./main.js";const R=w("h",`
|
||||
font-size: var(--n-font-size);
|
||||
font-weight: var(--n-font-weight);
|
||||
margin: var(--n-margin);
|
||||
transition: color .3s var(--n-bezier);
|
||||
color: var(--n-text-color);
|
||||
`,[h("&:first-child",{marginTop:0}),c("prefix-bar",{position:"relative",paddingLeft:"var(--n-prefix-width)"},[c("align-text",{paddingLeft:0},[h("&::before",{left:"calc(-1 * var(--n-prefix-width))"})]),h("&::before",`
|
||||
content: "";
|
||||
width: var(--n-bar-width);
|
||||
border-radius: calc(var(--n-bar-width) / 2);
|
||||
transition: background-color .3s var(--n-bezier);
|
||||
left: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
position: absolute;
|
||||
`),h("&::before",{backgroundColor:"var(--n-bar-color)"})])]),P=Object.assign(Object.assign({},l.props),{type:{type:String,default:"default"},prefix:String,alignText:Boolean}),n=r=>z({name:`H${r}`,props:P,setup(e){const{mergedClsPrefixRef:o,inlineThemeDisabled:s}=$(e),a=l("Typography","-h",R,H,e,o),d=f(()=>{const{type:g}=e,{common:{cubicBezierEaseInOut:m},self:{headerFontWeight:p,headerTextColor:b,[i("headerPrefixWidth",r)]:u,[i("headerFontSize",r)]:x,[i("headerMargin",r)]:v,[i("headerBarWidth",r)]:C,[i("headerBarColor",g)]:y}}=a.value;return{"--n-bezier":m,"--n-font-size":x,"--n-margin":v,"--n-bar-color":y,"--n-bar-width":C,"--n-font-weight":p,"--n-text-color":b,"--n-prefix-width":u}}),t=s?T(`h${r}`,f(()=>e.type[0]),d,e):void 0;return{mergedClsPrefix:o,cssVars:s?void 0:d,themeClass:t==null?void 0:t.themeClass,onRender:t==null?void 0:t.onRender}},render(){var e;const{prefix:o,alignText:s,mergedClsPrefix:a,cssVars:d,$slots:t}=this;return(e=this.onRender)===null||e===void 0||e.call(this),B(`h${r}`,{class:[`${a}-h`,`${a}-h${r}`,this.themeClass,{[`${a}-h--prefix-bar`]:o,[`${a}-h--align-text`]:s}],style:d},t)}}),j=n("1"),L=n("2");n("3");n("4");n("5");n("6");export{L as N,j as a};
|
1
ui/dist/assets/index.js
vendored
Normal file
1
ui/dist/assets/index.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
ui/dist/assets/main.css
vendored
Normal file
1
ui/dist/assets/main.css
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
@charset "UTF-8";.n-avatar,.img{pointer-events:none!important}.tabs[data-v-a37af22d],.provider[data-v-a37af22d],.layout-container[data-v-a37af22d]{height:100%}#app{height:var(--app-height, 100vh);width:var(--app-width, 100vw);transform-origin:0 0}.n-tab-pane{flex-grow:1;display:flex;flex-direction:column;overflow:auto}.n-card-header__main{display:flex;align-items:center;gap:6px}td{height:34px}.table-space{padding-right:20px}.external-container{max-width:600px;margin:0 auto}.n-checkbox{align-items:center}.n-form-item{margin-top:12px}.n-form-item:first-child{margin-top:0}.dialog-btn{margin-left:4px}.report-card{display:flex;flex-direction:column;align-items:center;justify-content:center;width:300px;height:200px;padding:20px 20px 80px;border:1px solid #ccc;box-shadow:0 2px 4px #0000001a}.n-checkbox .n-checkbox__label{flex-grow:1;display:flex;align-items:center;padding-right:0}.outer-layout{height:100%}.outer-layout>.n-layout-scroll-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.layout-content-container>.n-layout-scroll-container{width:100%;height:100%;display:flex;flex-direction:column;overflow:auto;gap:8px;align-items:center}.home-container{padding:12px;flex-grow:1;display:flex;flex-direction:column;gap:8px;width:calc(100% - 24px);height:calc(100% - 24px);position:relative}pre{word-break:break-all!important;font-family:Cascadia Mono,Consolas,Microsoft YaHei,SF Mono,Menlo,PingFang SC,monospace!important}.n-dynamic-input-item__action{align-self:center!important}ul,ol{padding-left:18px;margin:0}.card-title{font-weight:500;font-size:18px;white-space:nowrap}
|
1190
ui/dist/assets/main.js
vendored
Normal file
1190
ui/dist/assets/main.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
ui/dist/assets/manager.css
vendored
Normal file
1
ui/dist/assets/manager.css
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
.mower-list[data-v-50f5626a]{box-sizing:border-box;width:100vw;padding:12px;display:flex;flex-direction:column;gap:8px}.header[data-v-50f5626a]{display:flex;gap:6px;align-items:center;height:28px}.expand[data-v-50f5626a]{flex-grow:1}.folder[data-v-50f5626a]{display:flex;gap:6px;align-items:center}.folder-content[data-v-50f5626a]{word-break:break-all}
|
24
ui/dist/assets/manager.js
vendored
Normal file
24
ui/dist/assets/manager.js
vendored
Normal file
File diff suppressed because one or more lines are too long
228
ui/dist/assets/op_select.js
vendored
Normal file
228
ui/dist/assets/op_select.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
ui/dist/assets/readme.css
vendored
Normal file
1
ui/dist/assets/readme.css
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
.readme[data-v-25ca14dd]{word-break:break-all;max-width:800px}
|
1
ui/dist/assets/readme.js
vendored
Normal file
1
ui/dist/assets/readme.js
vendored
Normal file
File diff suppressed because one or more lines are too long
29
ui/dist/assets/record.js
vendored
Normal file
29
ui/dist/assets/record.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
ui/dist/assets/report.css
vendored
Normal file
1
ui/dist/assets/report.css
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
.chart[data-v-1e64842f]{height:400px}.report-card_1[data-v-1e64842f]{display:gird;flex-direction:column;align-items:center;justify-content:center;width:800px;height:400px;padding:20px 20px 80px;border:1px solid #ccc}
|
125
ui/dist/assets/report.js
vendored
Normal file
125
ui/dist/assets/report.js
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
ui/dist/avatar/.webp
(Stored with Git LFS)
vendored
Normal file
BIN
ui/dist/avatar/.webp
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
BIN
ui/dist/avatar/12F.webp
(Stored with Git LFS)
vendored
Normal file
BIN
ui/dist/avatar/12F.webp
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
BIN
ui/dist/avatar/Castle-3.webp
(Stored with Git LFS)
vendored
Normal file
BIN
ui/dist/avatar/Castle-3.webp
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
BIN
ui/dist/avatar/Current.webp
(Stored with Git LFS)
vendored
Normal file
BIN
ui/dist/avatar/Current.webp
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
BIN
ui/dist/avatar/Free.webp
(Stored with Git LFS)
vendored
Normal file
BIN
ui/dist/avatar/Free.webp
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue