| | |
| | | import com.google.gson.Gson; |
| | | import com.hdl.photovoltaic.HDLApp; |
| | | import com.hdl.photovoltaic.bean.BaseEventBus; |
| | | import com.hdl.photovoltaic.bean.ModBusBean; |
| | | import com.hdl.photovoltaic.config.ConstantManage; |
| | | import com.hdl.photovoltaic.config.UserConfigManage; |
| | | import com.hdl.photovoltaic.listener.CloudCallBeak; |
| | |
| | | import com.hdl.photovoltaic.uni.HDLUniMPSDKManager; |
| | | import com.hdl.photovoltaic.uni.UniToAndroidBean; |
| | | import com.hdl.photovoltaic.utils.WifiUtils; |
| | | import com.hdl.sdk.link.common.exception.HDLLinkCode; |
| | | import com.hdl.sdk.link.common.exception.HDLLinkException; |
| | | import com.hdl.sdk.link.common.utils.LogUtils; |
| | | import com.hdl.sdk.link.core.bean.gateway.GatewayBean; |
| | | import com.hdl.sdk.link.core.callback.GatewayCallBack; |
| | | import com.hdl.sdk.link.core.callback.ModbusCallBack; |
| | | import com.hdl.sdk.link.core.connect.HDLModBusConnect; |
| | | |
| | | import org.greenrobot.eventbus.EventBus; |
| | |
| | | } |
| | | return sHdlUniLogic; |
| | | } |
| | | |
| | | //region ******【原生】和【小程序】通讯的方法 onOtherUniMPEventReceive();openUniMP();sendUni();****** |
| | | |
| | | /** |
| | | * 原生接收到uni发来的数据 |
| | |
| | | |
| | | } |
| | | if (callback != null) { |
| | | uniCallbackData(null, "0", "", callback); |
| | | uniCallbackData(null, callback); |
| | | } |
| | | } else if (HDLUniMP.UNI_EVENT_REPLY_DEVICE_MODEL.equals(event)) { |
| | | //设备模块 |
| | | switch (type) { |
| | | case HDLUniMP.UNI_EVENT_REPLY_DEVICE_ADD: { |
| | | //添加 |
| | | |
| | | } |
| | | break; |
| | | case HDLUniMP.UNI_EVENT_REPLY_DEVICE_LIST: { |
| | |
| | | HdlDeviceLogic.getInstance().searchGateway(new GatewayCallBack() { |
| | | @Override |
| | | public void onSuccess(List<GatewayBean> gatewayBeanList) { |
| | | HDLUniMP.UniCallBackBaseBean callBackBaseBean = new HDLUniMP.UniCallBackBaseBean(); |
| | | callBackBaseBean.setType(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_LIST); |
| | | callBackBaseBean.setData(gatewayBeanList); |
| | | sendUni(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_MODEL, callBackBaseBean); |
| | | uniCallbackData(gatewayBeanList, callback); |
| | | } |
| | | |
| | | @Override |
| | | public void onError(HDLLinkException e) { |
| | | //发送失败 |
| | | HDLUniMP.UniCallBackBaseBean callBackBaseBean = new HDLUniMP.UniCallBackBaseBean(); |
| | | callBackBaseBean.setType(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_LIST); |
| | | callBackBaseBean.setCode(e.getCode() + ""); |
| | | callBackBaseBean.setCode(e.getMsg()); |
| | | sendUni(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_MODEL, callBackBaseBean); |
| | | uniCallbackData(null, e.getCode(), "", callback); |
| | | } |
| | | }); |
| | | } |
| | | break; |
| | | case HDLUniMP.UNI_EVENT_REPLY_DEVICE_MODBUS_SEND: { |
| | | |
| | | //发送modbus协议 |
| | | // HDLModBusConnect.getInstance().Send(uniToAndroidBean.getGatewayOid(), null, ); |
| | | sendModBus(data, callback); |
| | | } |
| | | } |
| | | |
| | |
| | | case HDLUniMP.UNI_EVENT_REPLY_WIFI_LIST: { |
| | | //获取wifi列表 |
| | | if (callback != null) { |
| | | uniCallbackData(wifiUtils.getScanResult(), "0", "", callback); |
| | | uniCallbackData(wifiUtils.getScanResult(), callback); |
| | | } |
| | | } |
| | | break; |
| | | case HDLUniMP.UNI_EVENT_REPLY_WIFI_INFO: { |
| | | //当前wifi详情 |
| | | if (callback != null) { |
| | | uniCallbackData(wifiUtils.getCurrentConnectWifiInfo(), "0", "", callback); |
| | | uniCallbackData(wifiUtils.getCurrentConnectWifiInfo(), callback); |
| | | } |
| | | } |
| | | break; |
| | |
| | | HdlLogLogic.print("uni===原生接收uni发来的数据", e.getMessage()); |
| | | } |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 发送modbus协议数据 |
| | | * |
| | | * @param data modbus数据 |
| | | * @param callback 回调 |
| | | */ |
| | | void sendModBus(Object data, DCUniMPJSCallback callback) { |
| | | String tempData = getKeyValue("data", data); |
| | | if (tempData == null) { |
| | | LogUtils.i("data内容为空"); |
| | | return; |
| | | } |
| | | ModBusBean modBusBean = com.alibaba.fastjson.JSONObject.parseObject(JSON.toJSONString(tempData), ModBusBean.class); |
| | | if (modBusBean.getOid() == null || modBusBean.getData() == null) { |
| | | LogUtils.i("内容为空,oid=" + modBusBean.getOid() + " data=" + modBusBean.getData()); |
| | | return; |
| | | } |
| | | |
| | | //发送modbus协议 |
| | | HDLModBusConnect.getInstance().Send(modBusBean.getOid(), modBusBean.getData(), new ModbusCallBack() { |
| | | @Override |
| | | public void onSuccess(byte[] data) { |
| | | uniCallbackData(data, callback); |
| | | } |
| | | |
| | | @Override |
| | | public void onError(HDLLinkException e) { |
| | | uniCallbackData(null, e.getCode(), e.getMsg(), callback); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /** |
| | |
| | | public void checkRemoveOtherUniMPEventCallBack() { |
| | | HDLUniMPSDKManager.getInstance().checkRemoveOtherUniMPEventCallBack(this); |
| | | } |
| | | //endregion |
| | | |
| | | |
| | | //region ******一般方法****** |
| | | |
| | | /** |
| | | * 组装uni发送数据格式 |
| | |
| | | * @param msg 结果描述的信息 |
| | | * @param callback 回调 |
| | | */ |
| | | private void uniCallbackData(Object obj, String code, String msg, DCUniMPJSCallback callback) { |
| | | private void uniCallbackData(Object obj, int code, String msg, DCUniMPJSCallback callback) { |
| | | HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean(); |
| | | try { |
| | | uniCallBackBaseBean.setCode(code); |
| | |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | private void uniCallbackData(Object obj, DCUniMPJSCallback callback) { |
| | | uniCallbackData(obj, HDLLinkCode.HDL_SUCCESS.getCode(), HDLLinkCode.HDL_SUCCESS.getMsg(), callback); |
| | | } |
| | | |
| | | /** |
| | |
| | | return ""; |
| | | } |
| | | } |
| | | //endregion |
| | | |
| | | } |
| | | |