From 0b0b831d737698f7139e5693e0e431db13ee7252 Mon Sep 17 00:00:00 2001 From: "emin.lin" Date: Tue, 14 Mar 2023 00:33:55 +0800 Subject: [PATCH 1/5] Support to upload log to HamZone.cn --- package.nw/GridTracker.html | 22 ++++++++ package.nw/i18n/cn-t.json | 3 ++ package.nw/i18n/cn.json | 3 ++ package.nw/i18n/en.json | 3 ++ package.nw/lib/adif.js | 100 ++++++++++++++++++++++++++++++++++++ 5 files changed, 131 insertions(+) diff --git a/package.nw/GridTracker.html b/package.nw/GridTracker.html index 3a37fcc..2e082af 100644 --- a/package.nw/GridTracker.html +++ b/package.nw/GridTracker.html @@ -2355,6 +2355,28 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + HamZone.cn + + + + + + + + + + + +
+ Test +
+ + + N1MM Logger+ diff --git a/package.nw/i18n/cn-t.json b/package.nw/i18n/cn-t.json index 3bc2a9f..d0d5648 100644 --- a/package.nw/i18n/cn-t.json +++ b/package.nw/i18n/cn-t.json @@ -335,6 +335,9 @@ "settings.logging.LoTW.details.station": "台站位置", "settings.logging.LoTW.test.downloadButton": "測試下載", "settings.logging.LoTW.test.TQSLButton": "測試TQSL", + "settings.logging.HamZone.source": "HamZone.cn", + "settings.logging.HamZone.details.apiKey": "API密鑰", + "settings.logging.HamZone.test.button": "測試", "settings.logging.N1MM.source": "N1MM Logger+", "settings.logging.N1MM.details.IP": "IP地址", "settings.logging.N1MM.details.Port": "埠號", diff --git a/package.nw/i18n/cn.json b/package.nw/i18n/cn.json index 83f7e6a..c3ac1de 100644 --- a/package.nw/i18n/cn.json +++ b/package.nw/i18n/cn.json @@ -334,6 +334,9 @@ "settings.logging.LoTW.details.station": "台站位置", "settings.logging.LoTW.test.downloadButton": "测试下载", "settings.logging.LoTW.test.TQSLButton": "测试TQSL", + "settings.logging.HamZone.source": "HamZone.cn", + "settings.logging.HamZone.details.apiKey": "API密钥", + "settings.logging.HamZone.test.button": "测试", "settings.logging.N1MM.source": "N1MM Logger+", "settings.logging.N1MM.details.IP": "IP地址", "settings.logging.N1MM.details.Port": "端口", diff --git a/package.nw/i18n/en.json b/package.nw/i18n/en.json index bdd25a0..f123729 100644 --- a/package.nw/i18n/en.json +++ b/package.nw/i18n/en.json @@ -333,6 +333,9 @@ "settings.logging.LoTW.details.station": "Station Name", "settings.logging.LoTW.test.downloadButton":"Test Download", "settings.logging.LoTW.test.TQSLButton": "Test TQSL", + "settings.logging.HamZone.source": "HamZone.cn", + "settings.logging.HamZone.details.apiKey": "API Key", + "settings.logging.HamZone.test.button": "Test", "settings.logging.N1MM.source": "N1MM Logger+", "settings.logging.N1MM.details.IP": "IP", "settings.logging.N1MM.details.Port": "Port", diff --git a/package.nw/lib/adif.js b/package.nw/lib/adif.js index ed9a98e..d52b13b 100644 --- a/package.nw/lib/adif.js +++ b/package.nw/lib/adif.js @@ -2170,6 +2170,16 @@ function finishSendingReport(record, localMode) addLastTraffic("Exception LoTW Log"); } + try + { + sendHamZoneEntry(report); + } + catch (e) + { + addLastTraffic("Exception HamZone Log"); + } + + if ( logeQSLQSOCheckBox.checked == true && nicknameeQSLCheckBox.checked == true && @@ -2788,6 +2798,96 @@ function ClublogTest(test) } } +function HamZoneTest(test) +{ + if (test && test == true) + { + HamZoneTestResult.innerHTML = "Testing"; + + var postData = { key: HamZoneApiKey.value }; + getPostJSONBuffer( + "http://127.0.0.1:5100/v1/logbook?from=gridtracker", + HamZoneSendResult, + test, + "https", + 443, + postData, + 10000, + HamZoneErrorCallback, + "Failed" + ); + } +} + +function HamZoneErrorCallback( + file_url, + callback, + flag, + mode, + port, + theData, + timeoutMs, + timeoutCallback, + message +) +{ + HamZoneTestResult.innerHTML = message; +} + +function HamZoneSendResult(buffer, flag) +{ + if (flag && flag == true) + { + if (buffer) + { + if (buffer.indexOf("Invalid") > -1) + { + HamZoneTestResult.innerHTML = "Invalid"; + } + else if (buffer.indexOf("Pass") > -1) + { + HamZoneTestResult.innerHTML = "Passed"; + } + else + { + HamZoneTestResult.innerHTML = "Unknown Error"; + } + } + else + { + HamZoneTestResult.innerHTML = "Resp Err"; + } + } +} + +function sendHamZoneEntry(report) +{ + if (g_mapSettings.offlineMode == true) return; + + if (logHamZoneqsoCheckBox.checked == true) + { + if (typeof nw != "undefined") + { + var postData = { + key: HamZoneApiKey.value, + app: "GridTracker " + gtVersion, + adif: report + }; + getPostBuffer( + "http://127.0.0.1:5100/v1/logbook?from=gridtracker", + HamZoneSendResult, + null, + "https", + 443, + postData, + 30000, + postRetryErrorCallaback, + "HamZone.cn" + ); + } + } +} + function getPostJSONBuffer( file_url, callback, From c7522d3229ea18f9aae978a99dbf597e0b0396f0 Mon Sep 17 00:00:00 2001 From: "emin.lin" Date: Tue, 14 Mar 2023 00:47:02 +0800 Subject: [PATCH 2/5] delete dev code --- package.nw/lib/adif.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.nw/lib/adif.js b/package.nw/lib/adif.js index d52b13b..98dbd0e 100644 --- a/package.nw/lib/adif.js +++ b/package.nw/lib/adif.js @@ -2806,7 +2806,7 @@ function HamZoneTest(test) var postData = { key: HamZoneApiKey.value }; getPostJSONBuffer( - "http://127.0.0.1:5100/v1/logbook?from=gridtracker", + "http://www.hamzone.cn/v1/logbook?from=gridtracker", HamZoneSendResult, test, "https", @@ -2874,7 +2874,7 @@ function sendHamZoneEntry(report) adif: report }; getPostBuffer( - "http://127.0.0.1:5100/v1/logbook?from=gridtracker", + "http://www.hamzone.cn/v1/logbook?from=gridtracker", HamZoneSendResult, null, "https", From 84240914c985ff82535909d48edaf012f674c4b0 Mon Sep 17 00:00:00 2001 From: "emin.lin" Date: Tue, 14 Mar 2023 00:49:06 +0800 Subject: [PATCH 3/5] run lint code --- package.nw/lib/adif.js | 1 - 1 file changed, 1 deletion(-) diff --git a/package.nw/lib/adif.js b/package.nw/lib/adif.js index 98dbd0e..cff8bb6 100644 --- a/package.nw/lib/adif.js +++ b/package.nw/lib/adif.js @@ -2179,7 +2179,6 @@ function finishSendingReport(record, localMode) addLastTraffic("Exception HamZone Log"); } - if ( logeQSLQSOCheckBox.checked == true && nicknameeQSLCheckBox.checked == true && From 324932612339b5dd82a42f6226310652d6df7b03 Mon Sep 17 00:00:00 2001 From: "emin.lin" Date: Tue, 14 Mar 2023 14:45:44 +0800 Subject: [PATCH 4/5] update hamzone log url --- package.nw/lib/adif.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.nw/lib/adif.js b/package.nw/lib/adif.js index cff8bb6..63896b4 100644 --- a/package.nw/lib/adif.js +++ b/package.nw/lib/adif.js @@ -2805,7 +2805,7 @@ function HamZoneTest(test) var postData = { key: HamZoneApiKey.value }; getPostJSONBuffer( - "http://www.hamzone.cn/v1/logbook?from=gridtracker", + "https://www.hamzone.cn/v1/logbook?from=gridtracker", HamZoneSendResult, test, "https", @@ -2873,7 +2873,7 @@ function sendHamZoneEntry(report) adif: report }; getPostBuffer( - "http://www.hamzone.cn/v1/logbook?from=gridtracker", + "https://www.hamzone.cn/v1/logbook?from=gridtracker", HamZoneSendResult, null, "https", From ceb6517b9063fc0724dd708e6c54eb2aa84fb6ac Mon Sep 17 00:00:00 2001 From: "emin.lin" Date: Sun, 19 Mar 2023 13:46:41 +0800 Subject: [PATCH 5/5] add def_adifLogSettings about hamzone --- package.nw/lib/defaults.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/package.nw/lib/defaults.js b/package.nw/lib/defaults.js index eae0255..beeaf06 100644 --- a/package.nw/lib/defaults.js +++ b/package.nw/lib/defaults.js @@ -154,7 +154,8 @@ var def_adifLogSettings = { logHRDLOGqsoCheckBox: false, logClubqsoCheckBox: false, logCloudlogQSOCheckBox: false, - logeQSLQSOCheckBox: false + logeQSLQSOCheckBox: false, + logHamZoneqsoCheckBox: false }, nickname: { nicknameeQSLCheckBox: false @@ -175,7 +176,8 @@ var def_adifLogSettings = { CloudlogStationProfileID: "1", eQSLUser: "", eQSLPassword: "", - eQSLNickname: "" + eQSLNickname: "", + HamZoneApiKey: "" }, downloads: {}, lastFetch: {