From 134209ad70f82051da3ce63471df0cc8f778e57d Mon Sep 17 00:00:00 2001
From: panlili2024 <14743743+panlili2024@user.noreply.gitee.com>
Date: 星期三, 05 三月 2025 14:30:19 +0800
Subject: [PATCH] 增加source屏扫码绑定住宅接口
---
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java | 83 ++++++++++++++++++++++++++++++-----------
1 files changed, 61 insertions(+), 22 deletions(-)
diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java
index bd4045c..3f277dc 100644
--- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java
@@ -155,21 +155,24 @@
LogUtils.i("缃戝叧鍏ョ綉骞挎挱IP: " + bean.getIPAddress());
if (!TextUtils.isEmpty(bean.getSlave_mac())) {
if (!bean.getSlave_mac().equals(request.getObjects().getDeviceMAC())) {
- LogUtils.i("鍏ョ綉楠岃瘉鐨刴ac鍜屾湰鏈轰笉涓�鏍凤紝璇锋眰鐨凪AC鏄�"+bean.getSlave_mac()+" 鏈満鐨勬槸"+request.getObjects().getDeviceMAC());
+ LogUtils.i("鍏ョ綉楠岃瘉鐨刴ac鍜屾湰鏈轰笉涓�鏍凤紝璇锋眰鐨凪AC鏄�" + bean.getSlave_mac() + " 鏈満鐨勬槸" + request.getObjects().getDeviceMAC());
return;
}
}
//绉婚櫎鐩戝惉
EventDispatcher.getInstance().remove(TopicConstant.GATEWAY_AUTH_BROADCAST);
HDLLinkConfig.getInstance().setIpAddress(bean.getIPAddress());
+ if (!TextUtils.isEmpty(bean.getOID())) {
+ HDLLinkConfig.getInstance().setParentOid(bean.getOID());
+ }
String ipStr = bean.getIPAddress();
if (!TextUtils.isEmpty(ipStr)) {
sendAuthenticateRequest(ipStr, request, callBack);
}
}
- }catch (Exception e){
- LogUtils.e("鍏ョ綉楠岃瘉寮傚父",e.getMessage());
+ } catch (Exception e) {
+ LogUtils.e("鍏ョ綉楠岃瘉寮傚父", e.getMessage());
}
}
});
@@ -196,6 +199,7 @@
final GatewayInfoRequest request = new GatewayInfoRequest();
AuthenticateRequest.AuthenticateDeviceInfoBean authenticateDeviceInfoBean = HDLLinkConfig.getInstance().getDeviceInfoBean();
+ if (authenticateDeviceInfoBean == null) return;
request.setDevice_model(authenticateDeviceInfoBean.getDeviceModel());
request.setDevice_mac(authenticateDeviceInfoBean.getDeviceMAC());
request.setDevice_name(authenticateDeviceInfoBean.getDeviceName());
@@ -207,7 +211,9 @@
if (authenticateDeviceInfoBean.getSupplier() == null) {
AuthenticateRequest.RequestBean requestBean = HDLLinkConfig.getInstance().getRequestBean();
- request.setSupplier(requestBean.getSupplier());
+ if (requestBean != null) {
+ request.setSupplier(requestBean.getSupplier());
+ }
}
request.setHw_version(authenticateDeviceInfoBean.getHw_version());
@@ -224,21 +230,7 @@
GsonConvert.getGson().toJson(data));
String ip = IpUtils.getBroadcastAddress();
- HdlSocketHelper.sendUdp(getUdpBoot(), ip, UDP_PORT, message, new HdlSocketHelper.HdlSocketListener() {
- @Override
- public void onSucceed(Object msg) {
- if (callBack == null) return;
- callBack.onSuccess("涓婃姤鎴愬姛");
- LogUtils.i("UploadGatewayInfo onSucceed = " + msg);
- }
-
- @Override
- public void onFailure() {
- if (callBack == null) return;
- callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_UPLOAD_GATEWAYINFO_FAILURE_ERROR));
- LogUtils.i("UploadGatewayInfo onFailure");
- }
- });
+ HdlSocketHelper.sendUdp(getUdpBoot(), ip, UDP_PORT, message, null);
}
@@ -269,19 +261,19 @@
String localSecret = "";
String gatewayId = "";
String ipAddress = "";
- String homeId="";
+ String homeId = "";
if (bean.getAuth() != null) {
localSecret = bean.getAuth().getLocalSecret();
}
if (bean.getObjects() != null) {
gatewayId = bean.getObjects().getGatewayID();
ipAddress = bean.getObjects().getIPAddress();
- homeId=bean.getObjects().getHomeId();
+ homeId = bean.getObjects().getHomeId();
}
if (ipAddress == null) {
ipAddress = bean.getIp_address();
}
- if(!TextUtils.isEmpty(homeId)){
+ if (!TextUtils.isEmpty(homeId)) {
HDLLinkConfig.getInstance().setHomeId(homeId);
}
HDLLinkConfig.getInstance().setAuthBean(request.getAuth());
@@ -565,6 +557,51 @@
}
/**
+ * 閫氱敤鍙戦�佹寚浠�
+ * 鍙戦�佷竴娆�
+ *
+ * @param topic 鍙戦�佹暟鎹�
+ * @param bodyStr 鍥炲鐨勪富棰�
+ * @param broadcast 鏄惁瑕佸箍鎾�
+ * @param callBack 鍥炶皟
+ */
+ public void udpSendMsgOneTime(String topic, String bodyStr, boolean broadcast, HDLLinkResponseCallBack callBack) {
+ if (TextUtils.isEmpty(topic) || TextUtils.isEmpty(bodyStr)) {
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_NULL_ERROR));
+ }
+ return;
+ }
+
+ if (!HDLLinkConfig.getInstance().checkIfCertified()) {
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_UNAUTHORIZED_ERROR));
+ }
+ return;
+ }
+
+ LinkRequest message = new LinkRequest(topic, bodyStr);
+ String ip = HDLLinkConfig.getInstance().getIpAddress();
+ if (broadcast) {
+ ip = IpUtils.getBroadcastAddress();
+ }
+ HdlSocketHelper.sendUdp(getUdpBoot(), ip, UDP_PORT, message, "", 1, new HdlSocketHelper.HdlSocketListener() {
+ @Override
+ public void onSucceed(Object msg) {
+ if (callBack == null) return;
+ callBack.onSuccess((LinkResponse) msg);
+ }
+
+ @Override
+ public void onFailure() {
+ if (callBack == null) return;
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_TIMEOUT_ERROR));
+ }
+ }
+ );
+ }
+
+ /**
* 閫氱敤鍙戦�佹寚浠� 鍙彂涓�娆★紝涓嶇洃鍚洖澶嶏紝涓嶉噸鍙�
*
* @param topic 鍙戦�佹暟鎹�
@@ -666,6 +703,8 @@
HDLLinkConfig.getInstance().setCurrentGateway(searchBean);//璁剧疆褰撳墠缃戝叧
if (mSearchGatewayCallBack != null) {
mSearchGatewayCallBack.onSuccess(searchBean);
+ HDLSocket.getInstance().isBroadcast = true;
+ HDLSocket.getInstance().getTcp();
}
}
}
--
Gitblit v1.8.0