Selaa lähdekoodia

增加服务端批量设置服务器IP地址功能

weizhengliang 3 vuotta sitten
vanhempi
commit
555bf60abb

+ 18 - 0
home/src/main/code/com/wdkl/ncs/android/component/home/service/WdKeepAliveService.kt

@@ -12,6 +12,7 @@ import android.text.TextUtils
 import android.util.Log
 import android.view.KeyEvent
 import com.alibaba.fastjson.JSON
+import com.alibaba.fastjson.JSONObject
 import com.google.common.base.Strings
 import com.google.gson.FieldNamingPolicy
 import com.google.gson.Gson
@@ -42,6 +43,7 @@ import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel
 import com.wdkl.ncs.android.middleware.tcp.enums.DeviceTypeEnum
 import com.wdkl.ncs.android.middleware.tcp.enums.TcpAction
 import com.wdkl.ncs.android.middleware.tcp.enums.TcpType
+import com.wdkl.ncs.android.middleware.utils.CommonUtils
 import com.wdkl.ncs.android.middleware.utils.ContactHelper
 import com.wdkl.ncs.keepbackground.work.AbsWorkService
 import com.wdkl.rtc.rtc.AudioFocusManager
@@ -637,6 +639,22 @@ class WdKeepAliveService : AbsWorkService() {
                 }).start()
             }
 
+            //服务器IP地址切换
+            Constants.EVENT_SERVER_CHANGE -> {
+                val tcpModel = messageEvent.getMessage() as TcpModel
+                if (tcpModel.data != null) {
+                    val json = JSONObject.parseObject(tcpModel.data.toString())
+                    val serverIp = json.getString("server_ip")
+                    val serverPort = json.getString("server_port")
+                    //Log.e(TAG, "change server ip:$serverIp, server port:$serverPort")
+                    CommonUtils.setUrl(BaseApplication.appContext, serverIp)
+                    CommonUtils.setUrlPort(BaseApplication.appContext, serverPort)
+                    AppTool.Time.delay(2000) {
+                        AppUtils.restartApp()
+                    }
+                }
+            }
+
             //网络断开
             Constants.EVENT_TCP_BREAK -> {
                 Log.w(TAG, "EVENT TCP BREAK")

+ 1 - 0
middleware/src/main/code/com/wdkl/ncs/android/middleware/common/Constants.kt

@@ -80,5 +80,6 @@ class Constants {
         const val EVENT_NEW_TCP = 0x48
         const val EVENT_HEADSET_HOOK = 0x49
         const val EVENT_CLEAR_IM = 0x50
+        const val EVENT_SERVER_CHANGE = 0x51
     }
 }

+ 2 - 0
middleware/src/main/code/com/wdkl/ncs/android/middleware/tcp/channel/DeviceChannel.java

@@ -136,6 +136,8 @@ public class DeviceChannel {
                     EventBus.getDefault().post(new MessageEvent(tcpModel, Constants.EVENT_APP_UPDATE));
                 } else if (tcpModel.getAction() == TcpAction.DeviceAction.SYSTEM_SETTING){
                     EventBus.getDefault().post(new MessageEvent(tcpModel, Constants.EVENT_DEVICE_SETTING));
+                } else if (tcpModel.getAction() == TcpAction.DeviceAction.SERVER_CHANGE) {
+                    EventBus.getDefault().post(new MessageEvent(tcpModel, Constants.EVENT_SERVER_CHANGE));
                 }
                 break;
             case PHONE:

+ 2 - 1
middleware/src/main/code/com/wdkl/ncs/android/middleware/tcp/enums/TcpAction.java

@@ -241,7 +241,8 @@ public interface TcpAction {
         DEVICE_REFRESH("设备刷新"),
         SYSTEM_SETTING("系统设置"),
         DEVICE_CHANGE("设备更换"),
-        USER_CHANGE("用户绑定");
+        USER_CHANGE("用户绑定"),
+        SERVER_CHANGE("设备ip地址更换");
 
         private String description;
         DeviceAction(String description){