mirror of
https://github.com/MaaAssistantArknights/MaaAssistantArknights.git
synced 2026-07-15 17:30:27 +08:00
chore.更新企鹅数据相关配置字段
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"version": "0.7",
|
||||
"version": "0.8",
|
||||
"options": {
|
||||
"connectType": 0,
|
||||
"connectType_Doc": "连接类型:0-连接电脑上的模拟器,1-连接USB连接的安卓设备,2-连接局域网中的安卓设备。默认0",
|
||||
@@ -8,11 +8,11 @@
|
||||
"taskDelay": 1000,
|
||||
"taskDelay_Doc": "识别的延迟:越快识别频率越快,但会增加CPU消耗。单位毫秒,默认1000",
|
||||
"printWindow": false,
|
||||
"printWindow_Doc": "截图功能:开启后每次结算界面会截图到screenshot目录下。true-开启,false-关闭,默认true",
|
||||
"uploadToPenguin": true,
|
||||
"uploadToPenguin_Doc": "上传企鹅物流https://penguin-stats.cn/:每次到结算界面,是否上传企鹅物流数据统计网站。true-开启,false-关闭,默认true",
|
||||
"penguinApi": "https://penguin-stats.cn/PenguinStats/api/v2/report",
|
||||
"penguinApi_Doc": "企鹅物流汇报接口",
|
||||
"printWindow_Doc": "截图功能:开启后每次结算界面会截图到screenshot目录下。true-开启,false-关闭,默认false",
|
||||
"penguinReport": true,
|
||||
"penguinReport_Doc": "企鹅数据汇报:每次到结算界面,是否汇报掉落数据至企鹅数据 https://penguin-stats.cn/。true-开启,false-关闭,默认true",
|
||||
"penguinReportCmdLine": "curl -H \"Content-Type: application/json\" -d \"[body]\" \"https://penguin-stats.cn/PenguinStats/api/v2/report\"",
|
||||
"penguinReportCmdLine_Doc": "企鹅数据汇报的命令,想打印详细信息可以尝试添加 -v -i",
|
||||
"controlDelayRange": [
|
||||
0,
|
||||
0
|
||||
|
||||
@@ -15,9 +15,11 @@ bool asst::GeneralConfiger::parse(const json::value& json)
|
||||
m_options.control_delay_lower = options_json.at("controlDelayRange")[0].as_integer();
|
||||
m_options.control_delay_upper = options_json.at("controlDelayRange")[1].as_integer();
|
||||
m_options.print_window = options_json.at("printWindow").as_boolean();
|
||||
m_options.upload_to_penguin = options_json.at("uploadToPenguin").as_boolean();
|
||||
m_options.penguin_api = options_json.at("penguinApi").as_string();
|
||||
m_options.penguin_server = options_json.get("penguinServer", "CN");
|
||||
m_options.penguin_report = options_json.at("penguinReport").as_boolean();
|
||||
m_options.penguin_report_cmd_line = options_json.at("penguinReportCmdLine").as_string();
|
||||
m_options.penguin_report_server = options_json.get("penguinReportServer", "CN");
|
||||
|
||||
m_options.ocr_gpu_index = options_json.get("ocrGpuIndex", -1);
|
||||
m_options.ocr_thread_number = options_json.at("ocrThreadNumber").as_integer();
|
||||
}
|
||||
|
||||
|
||||
@@ -22,9 +22,9 @@ namespace asst {
|
||||
int control_delay_lower = 0; // 点击随机延时下限:每次点击操作会进行随机延时
|
||||
int control_delay_upper = 0; // 点击随机延时上限:每次点击操作会进行随机延时
|
||||
bool print_window = false; // 截图功能:开启后每次结算界面会截图到screenshot目录下
|
||||
bool upload_to_penguin = false; // 上传企鹅物流:每次到结算界面,是否上传企鹅物流数据统计网站 https://penguin-stats.cn/
|
||||
std::string penguin_api; // 企鹅物流汇报接口
|
||||
std::string penguin_server; // 企鹅物流汇报接口"server"字段,"CN", "US", "JP" and "KR".
|
||||
bool penguin_report = false; // 企鹅数据汇报:每次到结算界面,是否汇报掉落数据至企鹅数据 https://penguin-stats.cn/
|
||||
std::string penguin_report_cmd_line;// 企鹅数据汇报的命令
|
||||
std::string penguin_report_server; // 企鹅数据汇报接口"server"字段,"CN", "US", "JP" and "KR".
|
||||
int ocr_gpu_index = -1; // OcrLite使用GPU编号,-1(使用CPU)/0(使用GPU0)/1(使用GPU1)/...
|
||||
int ocr_thread_number = 0; // OcrLite线程数量
|
||||
};
|
||||
|
||||
@@ -30,7 +30,7 @@ bool asst::OcrPack::load(const std::string & dir)
|
||||
|
||||
void asst::OcrPack::set_param(int gpu_index, int thread_number)
|
||||
{
|
||||
(void*)gpu_index; // gpu_index是ncnn的参数,onnx架构的没有,预留参数接口
|
||||
// gpu_index是ncnn的参数,onnx架构的没有,预留参数接口
|
||||
m_ocr_ptr->setNumThread(thread_number);
|
||||
}
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ bool asst::PenguinPack::load_json(const std::string& stage_path, const std::stri
|
||||
std::vector<json::value> drops_vector;
|
||||
for (const json::value& drop_info : stage_info.at("dropInfos").as_array()) {
|
||||
if (drop_info.exist("itemId")) {
|
||||
// 幸运掉落,家具啥的,企鹅物流不接,忽略掉
|
||||
// 幸运掉落,家具啥的,企鹅数据不接,忽略掉
|
||||
if (drop_info.at("dropType").as_string() == "FURNITURE") {
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -25,7 +25,8 @@ std::string asst::PenguinUploader::cvt_json(const std::string& rec_res)
|
||||
|
||||
// Doc: https://developer.penguin-stats.io/public-api/api-v2-instruction/report-api
|
||||
json::value body;
|
||||
body["server"] = resource.cfg().get_options().penguin_server;
|
||||
auto& opt = resource.cfg().get_options();
|
||||
body["server"] = opt.penguin_report_server;
|
||||
body["stageId"] = rec["stage"]["stageId"];
|
||||
body["drops"] = rec["drops"];
|
||||
body["source"] = "MeoAssistance";
|
||||
@@ -36,10 +37,11 @@ std::string asst::PenguinUploader::cvt_json(const std::string& rec_res)
|
||||
|
||||
bool asst::PenguinUploader::request_penguin(const std::string& body)
|
||||
{
|
||||
std::string curl_cmd = R"(curl -H "Content-Type: application/json" -v -i )";
|
||||
curl_cmd += "-d \"" + utils::string_replace_all(body, "\"", "\\\"") + "\" \"" + resource.cfg().get_options().penguin_api + '"';
|
||||
auto& opt = resource.cfg().get_options();
|
||||
std::string body_escape = utils::string_replace_all(body, "\"", "\\\"");
|
||||
std::string cmd_line = utils::string_replace_all(opt.penguin_report_cmd_line, "[body]", body_escape);
|
||||
|
||||
log.trace("request_penguin |", curl_cmd);
|
||||
log.trace("request_penguin |", cmd_line);
|
||||
|
||||
SECURITY_ATTRIBUTES pipe_sec_attr = { 0 };
|
||||
pipe_sec_attr.nLength = sizeof(SECURITY_ATTRIBUTES);
|
||||
@@ -58,7 +60,7 @@ bool asst::PenguinUploader::request_penguin(const std::string& body)
|
||||
|
||||
PROCESS_INFORMATION pi = { 0 };
|
||||
|
||||
BOOL p_ret = CreateProcessA(NULL, const_cast<LPSTR>(curl_cmd.c_str()), NULL, NULL, TRUE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi);
|
||||
BOOL p_ret = CreateProcessA(NULL, const_cast<LPSTR>(cmd_line.c_str()), NULL, NULL, TRUE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi);
|
||||
if (p_ret) {
|
||||
std::string pipe_str;
|
||||
DWORD read_num = 0;
|
||||
|
||||
@@ -104,7 +104,7 @@ bool ProcessTask::run()
|
||||
static const std::string dirname = utils::get_cur_dir() + "screenshot\\";
|
||||
save_image(image, dirname);
|
||||
}
|
||||
if (opt.upload_to_penguin) {
|
||||
if (opt.penguin_report) {
|
||||
PenguinUploader::upload(res);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,8 +60,8 @@ bool asst::Resource::load(const std::string& dir)
|
||||
m_last_error = m_ocr_pack_unique_ins.get_last_error();
|
||||
return false;
|
||||
}
|
||||
/* 加载企鹅统计库所需要的资源 */
|
||||
m_penguin_pack_unique_ins.set_language(opt.penguin_server);
|
||||
/* 加载企鹅数据识别库所需要的资源 */
|
||||
m_penguin_pack_unique_ins.set_language(opt.penguin_report_server);
|
||||
if (!m_penguin_pack_unique_ins.load(dir + PenguinResourceFilename)) {
|
||||
m_last_error = m_penguin_pack_unique_ins.get_last_error();
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user