From df0d56b8bb27c0371a6afbcb22e2778a2706e010 Mon Sep 17 00:00:00 2001 From: RTAkland Date: Wed, 11 Sep 2024 10:17:50 +0800 Subject: [PATCH] fix: fix sign util not work --- gradle.properties | 2 +- src/main/kotlin/cn/rtast/qwsdk/QWeatherSDK.kt | 5 +---- .../cn/rtast/qwsdk/utils/RequestURLUtil.kt | 18 ++++++------------ 3 files changed, 8 insertions(+), 17 deletions(-) diff --git a/gradle.properties b/gradle.properties index 72a28fb..d5b1c74 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ kotlin.code.style=official -sdkVersion=0.5.2 +sdkVersion=0.5.3 diff --git a/src/main/kotlin/cn/rtast/qwsdk/QWeatherSDK.kt b/src/main/kotlin/cn/rtast/qwsdk/QWeatherSDK.kt index a7e34a6..647e999 100644 --- a/src/main/kotlin/cn/rtast/qwsdk/QWeatherSDK.kt +++ b/src/main/kotlin/cn/rtast/qwsdk/QWeatherSDK.kt @@ -22,12 +22,10 @@ import com.google.gson.Gson import java.util.logging.Logger -class QWeatherSDK(key: String, publicID: String, plan: Plans) { - +class QWeatherSDK(key: String, plan: Plans) { companion object { lateinit var apiKey: String lateinit var rootAPI: String - lateinit var publicIDKey: String const val GEO_API = "https://geoapi.qweather.com/v2" val logger: Logger = Logger.getLogger("QWSDK-MAIN") val gson = Gson() @@ -36,7 +34,6 @@ class QWeatherSDK(key: String, publicID: String, plan: Plans) { init { apiKey = key rootAPI = plan.apiUrl - publicIDKey = publicID logger.info("Current Plan: $plan, Current API Host: $rootAPI") } diff --git a/src/main/kotlin/cn/rtast/qwsdk/utils/RequestURLUtil.kt b/src/main/kotlin/cn/rtast/qwsdk/utils/RequestURLUtil.kt index 5b4750d..56754b7 100644 --- a/src/main/kotlin/cn/rtast/qwsdk/utils/RequestURLUtil.kt +++ b/src/main/kotlin/cn/rtast/qwsdk/utils/RequestURLUtil.kt @@ -19,7 +19,6 @@ package cn.rtast.qwsdk.utils import cn.rtast.qwsdk.QWeatherSDK import cn.rtast.qwsdk.enums.ApiType import java.net.URLEncoder -import java.time.Instant fun buildRequestURL(prefix: String, params: Map, type: ApiType = ApiType.Common): String { @@ -30,21 +29,16 @@ fun buildRequestURL(prefix: String, params: Map, type: ApiType = A } val url: StringBuilder = StringBuilder("$rootUrl/$prefix?") - val newParamsMap = params.toMutableMap() - - newParamsMap["publicid"] = QWeatherSDK.publicIDKey - newParamsMap["t"] = Instant.now().epochSecond - - +// newParamsMap["publicid"] = QWeatherSDK.publicIDKey +// newParamsMap["t"] = Instant.now().epochSecond val sortedParams = newParamsMap.toSortedMap().filterValues { it != null } .map { (k, v) -> k to (v?.toString()?.let { URLEncoder.encode(it, "UTF-8") }) } .joinToString("&") { (k, v) -> "$k=$v" } - - val sign = getSignature(sortedParams, QWeatherSDK.apiKey) - - - url.append(sortedParams).append("&sign=$sign") +// val sign = getSignature(sortedParams, QWeatherSDK.apiKey) +// url.append(sortedParams).append("&sign=$sign") + url.append(sortedParams).append("&key=${QWeatherSDK.apiKey}") + println(url) return url.toString() } \ No newline at end of file