chore.更新企鹅数据相关配置字段

This commit is contained in:
MistEO
2021-10-15 22:36:06 +08:00
parent c85448f0a8
commit de3928523f
8 changed files with 26 additions and 22 deletions

View File

@@ -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

View File

@@ -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();
}

View File

@@ -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线程数量
};

View File

@@ -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);
}

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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);
}
}

View File

@@ -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;