diff --git a/docs/回调消息协议.md b/docs/回调消息协议.md index 69d5de4b57..290050b2e0 100644 --- a/docs/回调消息协议.md +++ b/docs/回调消息协议.md @@ -362,3 +362,13 @@ Todo "index": 0 // 设施序号 } ``` + +- `PenguinId` + 企鹅物流 ID + + ```jsonc + // 对应的 details 字段举例 + { + "id": string + } + ``` diff --git a/resource/config.json b/resource/config.json index 8ff486f960..5b91099429 100644 --- a/resource/config.json +++ b/resource/config.json @@ -17,7 +17,7 @@ "penguinReport": { "Doc": "企鹅数据汇报:每次到结算界面,汇报掉落数据至企鹅数据 https://penguin-stats.cn/。true-开启,false-关闭,默认true", "enable": true, - "cmdFormat": "curl -H \"Content-Type: application/json\" -d \"[body]\" \"https://penguin-stats.cn/PenguinStats/api/v2/report\" [extra]", + "cmdFormat": "curl -H \"Content-Type: application/json\" -s -i -d \"[body]\" \"https://penguin-stats.cn/PenguinStats/api/v2/report\" [extra]", "cmdFormat_Doc": "命令格式,想打印详细信息可以尝试添加 -v -i" } }, diff --git a/src/MeoAssistant/StageDropsTaskPlugin.cpp b/src/MeoAssistant/StageDropsTaskPlugin.cpp index c82a974af5..178c9568bb 100644 --- a/src/MeoAssistant/StageDropsTaskPlugin.cpp +++ b/src/MeoAssistant/StageDropsTaskPlugin.cpp @@ -2,6 +2,7 @@ #include #include +#include #include "Controller.h" #include "Resource.h" @@ -164,6 +165,14 @@ void asst::StageDropsTaskPlugin::upload_to_penguin() std::string response = utils::callcmd(cmd_line); + static const std::regex penguinid_regex(R"(X-Penguin-Set-Penguinid: (\d+))"); + std::smatch penguinid_sm; + if (std::regex_search(response, penguinid_sm, penguinid_regex)) { + json::value id_info = basic_info_with_what("PenguinId"); + id_info["details"]["id"] = std::string(penguinid_sm[1]); + callback(AsstMsg::SubTaskExtraInfo, id_info); + } + Log.trace("response:\n", response); callback(AsstMsg::SubTaskCompleted, info); diff --git a/src/MeoAsstGui/Helper/AsstProxy.cs b/src/MeoAsstGui/Helper/AsstProxy.cs index 10d55dbcac..d04b7ae3ad 100644 --- a/src/MeoAsstGui/Helper/AsstProxy.cs +++ b/src/MeoAsstGui/Helper/AsstProxy.cs @@ -1,4 +1,4 @@ -// MeoAsstGui - A part of the MeoAssistantArknights project +// MeoAsstGui - A part of the MeoAssistantArknights project // Copyright (C) 2021 MistEO and Contributors // // This program is free software: you can redistribute it and/or modify @@ -465,6 +465,18 @@ namespace MeoAsstGui mainModel.AddLog("关卡识别错误", "darkred"); } break; + + case "PenguinId": + { + var settings = _container.Get(); + if (settings.PenguinId == String.Empty) + { + string id = subTaskDetails["id"].ToString(); + settings.PenguinId = id; + AsstSetPenguinId(id); + } + } + break; } }