From bdd62ff77eb2a3220041b08e1ab3b237ea365329 Mon Sep 17 00:00:00 2001 From: pppscn <35696959@qq.com> Date: Mon, 6 Jun 2022 23:46:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=9AHttpServer=E8=B7=A8?= =?UTF-8?q?=E5=9F=9F=E8=AE=BE=E7=BD=AE=EF=BC=88CrossOrigin=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/controller/BatteryController.kt | 9 +++----- .../server/controller/CallController.kt | 13 ++++++------ .../server/controller/CloneController.kt | 9 ++++---- .../server/controller/ConfigController.kt | 13 ++++++++---- .../server/controller/ContactController.kt | 21 +++++++++++-------- .../server/controller/SmsController.kt | 11 +++++----- .../sms/forwarder/utils/HttpServerUtils.kt | 15 ++++++------- 7 files changed, 50 insertions(+), 41 deletions(-) diff --git a/app/src/main/java/com/idormy/sms/forwarder/server/controller/BatteryController.kt b/app/src/main/java/com/idormy/sms/forwarder/server/controller/BatteryController.kt index b382a1a8..59f30cdf 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/server/controller/BatteryController.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/server/controller/BatteryController.kt @@ -8,10 +8,7 @@ import com.idormy.sms.forwarder.entity.BatteryInfo import com.idormy.sms.forwarder.server.model.BaseRequest import com.idormy.sms.forwarder.server.model.EmptyData import com.idormy.sms.forwarder.utils.BatteryUtils -import com.yanzhenjie.andserver.annotation.PostMapping -import com.yanzhenjie.andserver.annotation.RequestBody -import com.yanzhenjie.andserver.annotation.RequestMapping -import com.yanzhenjie.andserver.annotation.RestController +import com.yanzhenjie.andserver.annotation.* @Suppress("PrivatePropertyName") @RestController @@ -21,10 +18,10 @@ class BatteryController { private val TAG: String = BatteryController::class.java.simpleName //远程查电量 + @CrossOrigin(methods = [RequestMethod.POST]) @PostMapping("/query") fun query(@RequestBody bean: BaseRequest): BatteryInfo { - val cloneBean = bean.data - Log.d(TAG, cloneBean.toString()) + Log.d(TAG, bean.data.toString()) val intentFilter = IntentFilter(Intent.ACTION_BATTERY_CHANGED) val intent: Intent? = App.context.registerReceiver(null, intentFilter) diff --git a/app/src/main/java/com/idormy/sms/forwarder/server/controller/CallController.kt b/app/src/main/java/com/idormy/sms/forwarder/server/controller/CallController.kt index 6d3de66e..fbdcea8d 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/server/controller/CallController.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/server/controller/CallController.kt @@ -1,25 +1,26 @@ package com.idormy.sms.forwarder.server.controller +import android.util.Log import com.idormy.sms.forwarder.entity.CallInfo import com.idormy.sms.forwarder.server.model.BaseRequest import com.idormy.sms.forwarder.server.model.CallQueryData import com.idormy.sms.forwarder.utils.PhoneUtils -import com.yanzhenjie.andserver.annotation.PostMapping -import com.yanzhenjie.andserver.annotation.RequestBody -import com.yanzhenjie.andserver.annotation.RequestMapping -import com.yanzhenjie.andserver.annotation.RestController +import com.yanzhenjie.andserver.annotation.* @Suppress("PrivatePropertyName") @RestController @RequestMapping(path = ["/call"]) class CallController { - //private val TAG: String = CallController::class.java.simpleName + private val TAG: String = CallController::class.java.simpleName //远程查通话 + @CrossOrigin(methods = [RequestMethod.POST]) @PostMapping("/query") - fun query(@RequestBody bean: BaseRequest): List? { + fun query(@RequestBody bean: BaseRequest): List { val callQueryData = bean.data + Log.d(TAG, callQueryData.toString()) + val limit = callQueryData.pageSize val offset = (callQueryData.pageNum - 1) * limit return PhoneUtils.getCallInfoList(callQueryData.type, limit, offset, callQueryData.phoneNumber) diff --git a/app/src/main/java/com/idormy/sms/forwarder/server/controller/CloneController.kt b/app/src/main/java/com/idormy/sms/forwarder/server/controller/CloneController.kt index bac1ba57..ae4f12e8 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/server/controller/CloneController.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/server/controller/CloneController.kt @@ -4,10 +4,7 @@ import android.util.Log import com.idormy.sms.forwarder.entity.CloneInfo import com.idormy.sms.forwarder.server.model.BaseRequest import com.idormy.sms.forwarder.utils.HttpServerUtils -import com.yanzhenjie.andserver.annotation.PostMapping -import com.yanzhenjie.andserver.annotation.RequestBody -import com.yanzhenjie.andserver.annotation.RequestMapping -import com.yanzhenjie.andserver.annotation.RestController +import com.yanzhenjie.andserver.annotation.* @Suppress("PrivatePropertyName") @RestController @@ -17,10 +14,12 @@ class CloneController { private val TAG: String = CloneController::class.java.simpleName //客户端从服务端拉取克隆信息 + @CrossOrigin(methods = [RequestMethod.POST]) @PostMapping("/pull") fun pull(@RequestBody bean: BaseRequest): CloneInfo { val cloneBean = bean.data Log.d(TAG, cloneBean.toString()) + HttpServerUtils.compareVersion(cloneBean) val cloneInfo = HttpServerUtils.exportSettings() @@ -29,10 +28,12 @@ class CloneController { } //客户端向服务端推送克隆信息 + @CrossOrigin(methods = [RequestMethod.POST]) @PostMapping("/push") fun push(@RequestBody bean: BaseRequest): String { val cloneInfo = bean.data Log.d(TAG, cloneInfo.toString()) + HttpServerUtils.compareVersion(cloneInfo) return if (HttpServerUtils.restoreSettings(cloneInfo)) "success" else "还原失败" diff --git a/app/src/main/java/com/idormy/sms/forwarder/server/controller/ConfigController.kt b/app/src/main/java/com/idormy/sms/forwarder/server/controller/ConfigController.kt index ecedbb50..6c88396c 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/server/controller/ConfigController.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/server/controller/ConfigController.kt @@ -1,19 +1,24 @@ package com.idormy.sms.forwarder.server.controller +import android.util.Log import com.idormy.sms.forwarder.server.model.BaseRequest import com.idormy.sms.forwarder.server.model.ConfigData import com.idormy.sms.forwarder.utils.HttpServerUtils -import com.yanzhenjie.andserver.annotation.PostMapping -import com.yanzhenjie.andserver.annotation.RequestBody -import com.yanzhenjie.andserver.annotation.RequestMapping -import com.yanzhenjie.andserver.annotation.RestController +import com.yanzhenjie.andserver.annotation.* +@Suppress("PrivatePropertyName") @RestController @RequestMapping(path = ["/config"]) class ConfigController { + private val TAG: String = CloneController::class.java.simpleName + + //远程查配置 + @CrossOrigin(methods = [RequestMethod.POST]) @PostMapping("/query") fun test(@RequestBody bean: BaseRequest<*>): ConfigData { + Log.d(TAG, bean.data.toString()) + return ConfigData( HttpServerUtils.enableApiClone, HttpServerUtils.enableApiSmsSend, diff --git a/app/src/main/java/com/idormy/sms/forwarder/server/controller/ContactController.kt b/app/src/main/java/com/idormy/sms/forwarder/server/controller/ContactController.kt index acf5d7eb..5d340732 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/server/controller/ContactController.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/server/controller/ContactController.kt @@ -1,26 +1,29 @@ package com.idormy.sms.forwarder.server.controller +import android.util.Log import com.idormy.sms.forwarder.entity.ContactInfo import com.idormy.sms.forwarder.server.model.BaseRequest import com.idormy.sms.forwarder.server.model.ContactQueryData import com.idormy.sms.forwarder.utils.PhoneUtils -import com.yanzhenjie.andserver.annotation.PostMapping -import com.yanzhenjie.andserver.annotation.RequestBody -import com.yanzhenjie.andserver.annotation.RequestMapping -import com.yanzhenjie.andserver.annotation.RestController +import com.yanzhenjie.andserver.annotation.* @Suppress("PrivatePropertyName") @RestController @RequestMapping(path = ["/contact"]) class ContactController { + private val TAG: String = ContactController::class.java.simpleName + //远程查话簿 + @CrossOrigin(methods = [RequestMethod.POST]) @PostMapping("/query") - fun query(@RequestBody bean: BaseRequest): MutableList? { - val callQueryData = bean.data - val limit = callQueryData.pageSize - val offset = (callQueryData.pageNum - 1) * limit - return PhoneUtils.getContactInfoList(limit, offset, callQueryData.phoneNumber, callQueryData.name) + fun query(@RequestBody bean: BaseRequest): MutableList { + val contactQueryData = bean.data + Log.d(TAG, contactQueryData.toString()) + + val limit = contactQueryData.pageSize + val offset = (contactQueryData.pageNum - 1) * limit + return PhoneUtils.getContactInfoList(limit, offset, contactQueryData.phoneNumber, contactQueryData.name) } } \ No newline at end of file diff --git a/app/src/main/java/com/idormy/sms/forwarder/server/controller/SmsController.kt b/app/src/main/java/com/idormy/sms/forwarder/server/controller/SmsController.kt index 28314238..b7267c03 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/server/controller/SmsController.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/server/controller/SmsController.kt @@ -13,10 +13,7 @@ import com.idormy.sms.forwarder.server.model.SmsSendData import com.idormy.sms.forwarder.utils.PhoneUtils import com.xuexiang.xui.utils.ResUtils import com.xuexiang.xutil.XUtil -import com.yanzhenjie.andserver.annotation.PostMapping -import com.yanzhenjie.andserver.annotation.RequestBody -import com.yanzhenjie.andserver.annotation.RequestMapping -import com.yanzhenjie.andserver.annotation.RestController +import com.yanzhenjie.andserver.annotation.* @Suppress("PrivatePropertyName") @RestController @@ -26,6 +23,7 @@ class SmsController { private val TAG: String = SmsController::class.java.simpleName //发送短信 + @CrossOrigin(methods = [RequestMethod.POST]) @PostMapping("/send") fun send(@RequestBody bean: BaseRequest): String { val smsSendData = bean.data @@ -50,9 +48,12 @@ class SmsController { } //查询短信 + @CrossOrigin(methods = [RequestMethod.POST]) @PostMapping("/query") - fun query(@RequestBody bean: BaseRequest): List? { + fun query(@RequestBody bean: BaseRequest): List { val smsQueryData = bean.data + Log.d(TAG, smsQueryData.toString()) + val limit = smsQueryData.pageSize val offset = (smsQueryData.pageNum - 1) * limit return PhoneUtils.getSmsList(smsQueryData.type, limit, offset, smsQueryData.keyword) diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/HttpServerUtils.kt b/app/src/main/java/com/idormy/sms/forwarder/utils/HttpServerUtils.kt index 10586374..d6019e77 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/utils/HttpServerUtils.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/utils/HttpServerUtils.kt @@ -224,19 +224,20 @@ class HttpServerUtils private constructor() { //返回统一结构报文 fun response(output: Any?): String { val resp: MutableMap = mutableMapOf() + val timestamp = System.currentTimeMillis() + resp["timestamp"] = timestamp if (output is String && output != "success") { resp["code"] = HTTP_FAILURE_CODE resp["msg"] = output } else { resp["code"] = HTTP_SUCCESS_CODE resp["msg"] = "success" - if (output != null) resp["data"] = output - } - - val timestamp = System.currentTimeMillis() - resp["timestamp"] = timestamp - if (!TextUtils.isEmpty(serverSignKey)) { - resp["sign"] = calcSign(timestamp.toString(), serverSignKey.toString()) + if (output != null) { + resp["data"] = output + } + if (!TextUtils.isEmpty(serverSignKey)) { + resp["sign"] = calcSign(timestamp.toString(), serverSignKey.toString()) + } } return Gson().toJson(resp)