| | |
| | | import android.content.ServiceConnection; |
| | | import android.content.pm.PackageManager; |
| | | import android.location.Location; |
| | | import android.location.LocationListener; |
| | | import android.location.LocationManager; |
| | | import android.os.IBinder; |
| | | import android.provider.Settings; |
| | | import android.text.TextUtils; |
| | | import android.util.Log; |
| | | import android.view.View; |
| | | import android.widget.TextView; |
| | | |
| | | import androidx.annotation.NonNull; |
| | | import androidx.core.app.ActivityCompat; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.google.gson.Gson; |
| | | import com.google.gson.JsonArray; |
| | | import com.google.gson.JsonObject; |
| | | import com.google.gson.reflect.TypeToken; |
| | | import com.hdl.linkpm.sdk.core.exception.HDLException; |
| | | import com.hdl.linkpm.sdk.device.bean.DeviceOidInfoBean; |
| | | import com.hdl.linkpm.sdk.ota.bean.CloudDeviceFirmwaresBean; |
| | | import com.hdl.linkpm.sdk.ota.bean.CloudGatewayDriversBean; |
| | | import com.hdl.linkpm.sdk.ota.bean.DeviceFirmwareBean; |
| | | import com.hdl.linkpm.sdk.ota.bean.GatewayDriverBean; |
| | | import com.hdl.linkpm.sdk.user.HDLLinkPMUser; |
| | | import com.hdl.linkpm.sdk.utils.HDLMD5Utils; |
| | | import com.hdl.photovoltaic.HDLApp; |
| | | import com.hdl.photovoltaic.R; |
| | |
| | | import com.hdl.photovoltaic.config.AppConfigManage; |
| | | import com.hdl.photovoltaic.config.UserConfigManage; |
| | | import com.hdl.photovoltaic.internet.HttpServer.MyNanoHttpServer; |
| | | import com.hdl.photovoltaic.internet.TcpClient; |
| | | import com.hdl.photovoltaic.internet.api.TopicApi; |
| | | import com.hdl.photovoltaic.listener.CloudCallBeak; |
| | | import com.hdl.photovoltaic.listener.LinkCallBack; |
| | | import com.hdl.photovoltaic.ui.bean.CUserInfo; |
| | | import com.hdl.photovoltaic.ui.bean.CloudInverterDeviceBean; |
| | | import com.hdl.photovoltaic.ui.bean.DeviceTimeBean; |
| | | import com.hdl.photovoltaic.ui.bean.Geolocation; |
| | | import com.hdl.photovoltaic.ui.bean.LinkBean; |
| | | import com.hdl.photovoltaic.ui.bean.OidBean; |
| | | import com.hdl.photovoltaic.ui.me.AsRegardsActivity; |
| | | import com.hdl.photovoltaic.ui.me.PersonalDataActivity; |
| | | import com.hdl.photovoltaic.ui.me.SetActivity; |
| | | import com.hdl.photovoltaic.ui.newC.MessageCenterList; |
| | | import com.hdl.photovoltaic.ui.newC.PowerStationsListEdit; |
| | | import com.hdl.photovoltaic.uni.HDLUniMP; |
| | | import com.hdl.photovoltaic.uni.HDLUniMPSDKManager; |
| | | import com.hdl.photovoltaic.utils.NetworkUtils; |
| | |
| | | import com.hdl.sdk.link.common.exception.HDLLinkException; |
| | | import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus; |
| | | import com.hdl.sdk.link.core.bean.gateway.GatewayBean; |
| | | import com.hdl.sdk.link.core.bean.response.BaseLocalResponse; |
| | | import com.hdl.sdk.link.core.callback.GatewayCallBack; |
| | | import com.hdl.sdk.link.core.callback.HDLLinkCallBack; |
| | | import com.hdl.sdk.link.core.callback.ModbusCallBack; |
| | | import com.hdl.sdk.link.core.connect.HDLModBusConnect; |
| | | import com.hdl.sdk.link.core.connect.HDLUdpConnect; |
| | | import com.hdl.sdk.link.gateway.HDLLinkLocalGateway; |
| | | |
| | | import org.greenrobot.eventbus.EventBus; |
| | |
| | | |
| | | |
| | | import java.io.File; |
| | | import java.lang.reflect.Type; |
| | | import java.math.BigDecimal; |
| | | import java.math.RoundingMode; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.concurrent.atomic.AtomicInteger; |
| | | |
| | | import io.dcloud.feature.unimp.DCUniMPJSCallback; |
| | | import okhttp3.ResponseBody; |
| | |
| | | return; |
| | | } |
| | | String type = getKeyValue("type", data);//小类 |
| | | String mode_type = "大类->" + topic + "--->小类->" + type;//用来打印的 |
| | | if (HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL.equals(topic)) { |
| | | String logTag = getKeyValue("logTag", data);//标记uni指令 |
| | | String mode_type = "大类->" + topic + "--->" + "小类->" + type;//用来打印的 |
| | | HdlLogLogic.print(logTag + ":" + "uni--->发送--->" + mode_type + "\r\n" + data, true); |
| | | if (HDLUniMP.UNI_EVENT_REPLY_USER_MODEL.equals(topic)) { |
| | | //用户模块 |
| | | switch (type) { |
| | | //用户信息 |
| | | case HDLUniMP.UNI_EVENT_REPLY_USER_INFO: { |
| | | this.uniGetUserInfo(mode_type, data, callback); |
| | | } |
| | | break; |
| | | //用户头像(旧平台逻辑是头像单独获取下载地址) |
| | | case HDLUniMP.UNI_EVENT_REPLY_USER_IMAGE: { |
| | | uniGetImageKey(mode_type, data, callback); |
| | | } |
| | | break; |
| | | //用户本地缓存信息 |
| | | case HDLUniMP.UNI_EVENT_REPLY_USER_LOCAL_INFO: { |
| | | JsonObject jsonObject = new JsonObject(); |
| | | jsonObject.addProperty("user_name", UserConfigManage.getInstance().getUserName()); |
| | | jsonObject.addProperty("user_image_url", UserConfigManage.getInstance().getUserImageUrl()); |
| | | jsonObject.addProperty("user_account", UserConfigManage.getInstance().getAccount()); |
| | | uniCallbackData(mode_type, jsonObject, callback); |
| | | } |
| | | break; |
| | | } |
| | | |
| | | } else if (HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL.equals(topic)) { |
| | | //住宅模块 |
| | | switch (type) { |
| | | //创建电站 |
| | |
| | | this.uniAddInverterDeviceToCloud(mode_type, data, callback); |
| | | } |
| | | break; |
| | | //添加多个逆变器到云端 |
| | | case HDLUniMP.UNI_EVENT_REPLY_DEVICE_ADD_All: { |
| | | this.uniAddAllInverterDeviceToCloud(mode_type, data, callback); |
| | | } |
| | | break; |
| | | //删除云端逆变器 |
| | | case HDLUniMP.UNI_EVENT_REPLY_DEVICE_DEL: { |
| | | this.uniDelInverterDevice(mode_type, data, callback); |
| | |
| | | //逆变器清空住宅id |
| | | case HDLUniMP.UNI_EVENT_REPLY_DEVICE_CLEAR_DATA: { |
| | | this.uniClearInverterHomeId(mode_type, data, callback); |
| | | } |
| | | break; |
| | | //spk属性编辑 |
| | | case HDLUniMP.UNI_EVENT_REPLY_DEVICE_Link_edit_SEND: { |
| | | this.uniLinkSpkAttributeEdit(mode_type, data, callback); |
| | | } |
| | | break; |
| | | //spk属性读取 |
| | | case HDLUniMP.UNI_EVENT_REPLY_DEVICE_Link_read_SEND: { |
| | | this.uniLinkSpkAttributeRead(mode_type, data, callback); |
| | | } |
| | | break; |
| | | //获取未处理/未读消息数量 |
| | | case HDLUniMP.UNI_EVENT_REPLY_DEVICE_MESSAGE_NUMBER: { |
| | | this.uniGetMessageNumber(mode_type, data, callback); |
| | | } |
| | | break; |
| | | |
| | |
| | | |
| | | } |
| | | } else if (HDLUniMP.UNI_EVENT_REPLY_OTHER_MODEL.equals(topic)) { |
| | | |
| | | //其它模块 |
| | | switch (type) { |
| | | //获取温度单位 |
| | |
| | | case HDLUniMP.UNI_EVENT_REPLY_OTHER_LOCATION_INFO: { |
| | | this.uniGetLocationInfo(mode_type, data, callback); |
| | | } |
| | | break; |
| | | //应用冲突 |
| | | case HDLUniMP.UNI_EVENT_REPLY_OTHER_APPLICATION_CONFLICT: { |
| | | if (callback != null) { |
| | | uniCallbackData(type, HDLUdpConnect.getInstance().isBindSuccess(), callback); |
| | | } |
| | | } |
| | | break; |
| | | //专门收集uni日志 |
| | | case HDLUniMP.UNI_EVENT_REPLY_OTHER_UNI_LOG: { |
| | | String customizeContentFormat = getKeyValue("customizeContentFormat", getKeyValue("data", data)); |
| | | HdlLogLogic.print("uni--->log--->" + customizeContentFormat, true); |
| | | |
| | | } |
| | | break; |
| | | //uni主页点击返回通知 |
| | | case HDLUniMP.UNI_EVENT_REPLY_OTHER_BACK: { |
| | | //EventBus事件分发 |
| | | BaseEventBus baseEventBus = new BaseEventBus(); |
| | | baseEventBus.setTopic(HDLUniMP.UNI_EVENT_REPLY_OTHER_MODEL); |
| | | baseEventBus.setType(HDLUniMP.UNI_EVENT_REPLY_OTHER_BACK); |
| | | EventBus.getDefault().post(baseEventBus); |
| | | |
| | | } |
| | | break; |
| | | } |
| | | } else if (HDLUniMP.UNI_EVENT_REPLY_MINE_MODEL.equals(topic)) { |
| | | //我的模块 |
| | | switch (type) { |
| | | //资料编辑 |
| | | case HDLUniMP.UNI_EVENT_REPLY_MINE_EDIT_USER_INFO: { |
| | | Intent intent = new Intent(); |
| | | intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); |
| | | intent.setClass(HDLApp.getInstance(), PersonalDataActivity.class); |
| | | HDLApp.getInstance().startActivity(intent); |
| | | } |
| | | break; |
| | | //电站选择 |
| | | case HDLUniMP.UNI_EVENT_REPLY_MINE_SELECTED_POWERSTATION: { |
| | | Intent intent = new Intent(); |
| | | intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); |
| | | intent.setClass(HDLApp.getInstance(), PowerStationsListEdit.class); |
| | | HDLApp.getInstance().startActivity(intent); |
| | | } |
| | | break; |
| | | //消息中心 |
| | | case HDLUniMP.UNI_EVENT_REPLY_MINE_MESSAGE_CENTER: { |
| | | Intent intent = new Intent(); |
| | | intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); |
| | | intent.setClass(HDLApp.getInstance(), MessageCenterList.class); |
| | | HDLApp.getInstance().startActivity(intent); |
| | | } |
| | | break; |
| | | //关于 |
| | | case HDLUniMP.UNI_EVENT_REPLY_MINE_ABOUT: { |
| | | Intent intent = new Intent(); |
| | | intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); |
| | | intent.setClass(HDLApp.getInstance(), AsRegardsActivity.class); |
| | | HDLApp.getInstance().startActivity(intent); |
| | | } |
| | | break; |
| | | //设置 |
| | | case HDLUniMP.UNI_EVENT_REPLY_MINE_SETTING: { |
| | | Intent intent = new Intent(); |
| | | intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); |
| | | intent.setClass(HDLApp.getInstance(), SetActivity.class); |
| | | HDLApp.getInstance().startActivity(intent); |
| | | } |
| | | break; |
| | | |
| | | |
| | | } |
| | | } |
| | | HdlLogLogic.print("uni--->发送--->" + mode_type + "\r\n" + data, true); |
| | | |
| | | } catch (Exception e) { |
| | | HdlLogLogic.print("uni--->发送--->" + e.getMessage(), true); |
| | | } |
| | |
| | | } |
| | | |
| | | /** |
| | | * 获取用户信息 |
| | | * |
| | | * @param data uni数据 |
| | | * @param callback uni回调 |
| | | */ |
| | | private void uniGetUserInfo(String type, Object data, DCUniMPJSCallback callback) { |
| | | HdlAccountLogic.getInstance().getMemberInfo_C(new CloudCallBeak<CUserInfo>() { |
| | | @Override |
| | | public void onSuccess(CUserInfo cUserInfo) { |
| | | if (cUserInfo == null) { |
| | | return; |
| | | } |
| | | UserConfigManage.getInstance().setBingPhone(cUserInfo.getMemberPhone()); |
| | | UserConfigManage.getInstance().setBingEmail(cUserInfo.getMemberEmail()); |
| | | UserConfigManage.getInstance().Save(); |
| | | //获取用户头像路径 |
| | | if (cUserInfo.getMemberHeadIcon().contains("http")) { |
| | | UserConfigManage.getInstance().setUserImageUrl(cUserInfo.getMemberHeadIcon()); |
| | | //更新用户头像 |
| | | uniCallbackData(type, cUserInfo, callback); |
| | | } else { |
| | | HdlAccountLogic.getInstance().getImageKey_C(cUserInfo.getMemberHeadIcon(), new CloudCallBeak<String>() { |
| | | @Override |
| | | public void onSuccess(String url) { |
| | | cUserInfo.setMemberHeadIcon(url); |
| | | UserConfigManage.getInstance().setUserImageUrl(cUserInfo.getMemberHeadIcon()); |
| | | uniCallbackData(type, cUserInfo, callback); |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | uniCallbackData(type, cUserInfo, callback); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * 获取用户头像 |
| | | * |
| | | * @param data uni数据 |
| | | * @param callback uni回调 |
| | | */ |
| | | private void uniGetImageKey(String type, Object data, DCUniMPJSCallback callback) { |
| | | String imageKey = getKeyValue("imageKey", getKeyValue("data", data)); |
| | | HdlAccountLogic.getInstance().getImageKey_C(imageKey, new CloudCallBeak<String>() { |
| | | @Override |
| | | public void onSuccess(String url) { |
| | | uniCallbackData(type, url, callback); |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 逆变器清空住宅id |
| | | * |
| | | * @param data uni数据 |
| | |
| | | } |
| | | |
| | | /** |
| | | * 获取未处理/未读消息数量 |
| | | * |
| | | * @param data uni数据 |
| | | * @param callback uni回调 |
| | | */ |
| | | private void uniGetMessageNumber(String type, Object data, DCUniMPJSCallback callback) { |
| | | String homeId = getKeyValue("homeId", getKeyValue("data", data)); |
| | | HdlMessageLogic.getInstance().getMessageUntreatedCount(homeId, new CloudCallBeak<String>() { |
| | | @Override |
| | | public void onSuccess(String data) { |
| | | uniCallbackData(type, data, callback); |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * 逆变器【上传数据】到云端 |
| | | * |
| | | * @param data uni数据 |
| | |
| | | */ |
| | | private void uniUploadDataToCloud(String type, Object data, DCUniMPJSCallback callback) { |
| | | String mac = getKeyValue("mac", getKeyValue("data", data)); |
| | | HdlDeviceLogic.getInstance().uploadDataToCloud(UserConfigManage.getInstance().getHomeId(), mac, null); |
| | | List<GatewayBean> list = new ArrayList<>(); |
| | | GatewayBean gatewayBean = new GatewayBean(); |
| | | gatewayBean.setDevice_mac(mac); |
| | | list.add(gatewayBean); |
| | | HdlDeviceLogic.getInstance().uploadDataToCloud(UserConfigManage.getInstance().getHomeId(), list, null); |
| | | } |
| | | |
| | | /** |
| | |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 逆变器添加到云端上 |
| | | * |
| | |
| | | } |
| | | |
| | | /** |
| | | * 多个逆变器添加到云端上 |
| | | * |
| | | * @param data uni数据 |
| | | * @param callback uni回调 |
| | | */ |
| | | private void uniAddAllInverterDeviceToCloud(String type, Object data, DCUniMPJSCallback callback) { |
| | | // com.alibaba.fastjson.JSONArray jsonArray = JSON.parseArray(data); |
| | | try { |
| | | String devices = getKeyValue("devices", getKeyValue("data", data)); |
| | | String homeId = UserConfigManage.getInstance().getHomeId(); //getKeyValue("homeId", getKeyValue("data", data)); |
| | | Gson gson = new Gson(); |
| | | Type typeOfT = new TypeToken<List<GatewayBean>>() { |
| | | }.getType(); |
| | | List<GatewayBean> list = gson.fromJson(devices, typeOfT); |
| | | if (list == null || list.size() == 0) { |
| | | uniCallbackData(type, null, -100, HDLApp.getInstance().getString(R.string.The_gateway_cannot_be_found_locally), callback); |
| | | return; |
| | | } |
| | | //记录条数 |
| | | AtomicInteger atomicInteger = new AtomicInteger(0); |
| | | final boolean[] is_boolean = {false}; |
| | | for (int i = 0; i < list.size(); i++) { |
| | | GatewayBean gatewayBean = list.get(i); |
| | | HdlDeviceLogic.getInstance().setGatewayRemoteParam(homeId, gatewayBean.getDevice_mac(), new LinkCallBack<Boolean>() { |
| | | @Override |
| | | public void onSuccess(Boolean obj) { |
| | | HdlDeviceLogic.getInstance().editGatewayParam(gatewayBean.getDevice_mac(), new LinkCallBack<Boolean>() { |
| | | @Override |
| | | public void onSuccess(Boolean obj) { |
| | | atomicInteger.set(atomicInteger.get() + 1); |
| | | //最后一条才做添加逆变器逻辑处理 |
| | | if (atomicInteger.get() == list.size()) { |
| | | HdlDeviceLogic.getInstance().addAllInverterDeviceToCloud(homeId, list, new CloudCallBeak<Boolean>() { |
| | | @Override |
| | | public void onSuccess(Boolean obj) { |
| | | uniCallbackData(type, null, callback); |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void onError(HDLLinkException e) { |
| | | uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | is_boolean[0] = true; |
| | | } |
| | | }); |
| | | } |
| | | |
| | | @Override |
| | | public void onError(HDLLinkException e) { |
| | | uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | is_boolean[0] = true; |
| | | } |
| | | }); |
| | | if (is_boolean[0]) { |
| | | //只有中间有一条指令设置失败,默认全部失败; |
| | | break; |
| | | } |
| | | } |
| | | } catch (Exception ignored) { |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 删除云端上逆变器 |
| | | * |
| | | * @param data uni数据 |
| | |
| | | private void uniSearchGateway(String type, DCUniMPJSCallback callback) { |
| | | |
| | | |
| | | HdlDeviceLogic.getInstance().searchCurrentHomeGateway(new GatewayCallBack() { |
| | | HdlDeviceLogic.getInstance().searchAllNetworkGateway(new GatewayCallBack() { |
| | | @Override |
| | | public void onSuccess(List<GatewayBean> gatewayBeanList) { |
| | | uniCallbackData(type, gatewayBeanList, callback); |
| | |
| | | } |
| | | return; |
| | | } |
| | | GatewayBean gatewayBean = HdlDeviceLogic.getInstance().queryCurrentHomeMainGateway(list, homeId); |
| | | if (gatewayBean != null) { |
| | | //进来住宅详情都要上传一次oid列表到云端; |
| | | HdlDeviceLogic.getInstance().uploadDataToCloud(homeId, gatewayBean.getDevice_mac(), null); |
| | | if (callback != null) { |
| | | uniCallbackData(type, list, callback); |
| | | } |
| | | //EventBus事件分发,进入住宅开始订阅主题 |
| | | BaseEventBus baseEventBus = new BaseEventBus(); |
| | | baseEventBus.setType(HDLUniMP.UNI_EVENT_REPLY_DEVICE_LIST); |
| | | baseEventBus.setData(list); |
| | | EventBus.getDefault().post(baseEventBus); |
| | | if (callback != null) { |
| | | uniCallbackData(type, list, callback); |
| | | } |
| | | //进来住宅详情都要上传一次oid列表到云端; |
| | | HdlDeviceLogic.getInstance().uploadDataToCloud(homeId, list, null); |
| | | } |
| | | |
| | | @Override |
| | |
| | | } |
| | | }); |
| | | |
| | | } |
| | | |
| | | /** |
| | | * link spk 属性编辑 |
| | | * |
| | | * @param data uni数据 |
| | | * @param callback uni回调 |
| | | */ |
| | | private void uniLinkSpkAttributeEdit(String type, Object data, DCUniMPJSCallback callback) { |
| | | String mac = getKeyValue("mac", getKeyValue("data", data)); |
| | | String attribute_data = getKeyValue("attribute_data", getKeyValue("data", data)); |
| | | JsonArray jay = new JsonArray(); |
| | | if (!TextUtils.isEmpty(attribute_data)) { |
| | | try { |
| | | Gson gson = new Gson(); |
| | | JsonObject jObject = gson.fromJson(attribute_data, JsonObject.class); |
| | | String objects = jObject.get("objects").toString(); |
| | | jay = gson.fromJson(objects, JsonArray.class); |
| | | } catch (Exception ignored) { |
| | | } |
| | | } |
| | | TcpClient.getInstance().sendDataToLinkGateway(mac, TopicApi.PROPERTY_DOWN, jay, "", new HDLLinkCallBack() { |
| | | @Override |
| | | public void onSuccess(String msg) { |
| | | uniCallbackData(type, msg, callback); |
| | | } |
| | | |
| | | @Override |
| | | public void onError(HDLLinkException e) { |
| | | uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * link spk 属性读取 |
| | | * |
| | | * @param data uni数据 |
| | | * @param callback uni回调 |
| | | */ |
| | | private void uniLinkSpkAttributeRead(String type, Object data, DCUniMPJSCallback callback) { |
| | | String mac = getKeyValue("mac", getKeyValue("data", data)); |
| | | String attribute_data = getKeyValue("attribute_data", getKeyValue("data", data)); |
| | | JsonArray jay = new JsonArray(); |
| | | if (!TextUtils.isEmpty(attribute_data)) { |
| | | try { |
| | | Gson gson = new Gson(); |
| | | JsonObject jObject = gson.fromJson(attribute_data, JsonObject.class); |
| | | String objects = jObject.get("objects").toString(); |
| | | jay = gson.fromJson(objects, JsonArray.class); |
| | | } catch (Exception ignored) { |
| | | } |
| | | |
| | | } |
| | | TcpClient.getInstance().sendDataToLinkGateway(mac, TopicApi.PROPERTY_READ, jay, "", new HDLLinkCallBack() { |
| | | @Override |
| | | public void onSuccess(String msg) { |
| | | try { |
| | | Gson gson = new Gson(); |
| | | Type typeOfT = new TypeToken<BaseLocalResponse<List<LinkBean>>>() { |
| | | }.getType(); |
| | | BaseLocalResponse<List<LinkBean>> baseLocalResponse = gson.fromJson(msg, typeOfT); |
| | | uniCallbackData(type, baseLocalResponse, callback); |
| | | } catch (Exception e) { |
| | | uniCallbackData(type, msg, -2, "", callback); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onError(HDLLinkException e) { |
| | | uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | |
| | | private void sendModBus(String type, Object data, DCUniMPJSCallback callback) { |
| | | String tempData = getKeyValue("data", data); |
| | | if (TextUtils.isEmpty(tempData)) { |
| | | HdlLogLogic.print("data内容为空--->", false); |
| | | uniCallbackData(type, null, -2, "data内容为空", callback); |
| | | //HdlLogLogic.print("data内容为空--->", false); |
| | | return; |
| | | } |
| | | ModBusBean modBusBean = new Gson().fromJson(tempData, ModBusBean.class); |
| | |
| | | // modBusBean.setOid("0101050217BBC400"); |
| | | // } |
| | | if (modBusBean.getMac() == null || modBusBean.getData() == null) { |
| | | HdlLogLogic.print("uni--->发送--->ModBus--->发送失败,(mac或者oid)为空." + Arrays.toString(modBusBean.getData()), true); |
| | | uniCallbackData(type, null, -2, "发送失败,(mac或者oid)为空", callback); |
| | | //HdlLogLogic.print("uni--->发送--->ModBus--->发送失败,(mac或者oid)为空." + Arrays.toString(modBusBean.getData()), true); |
| | | return; |
| | | } |
| | | |
| | | HdlLogLogic.print("uni--->发送--->ModBus--->" + Arrays.toString(modBusBean.getData()), true); |
| | | //HdlLogLogic.print("uni--->发送--->ModBus--->" + Arrays.toString(modBusBean.getData()), true); |
| | | //发送modbus协议 |
| | | HDLModBusConnect.getInstance().Send(modBusBean.getMac(), modBusBean.getData(), new ModbusCallBack() { |
| | | @Override |
| | | public void onSuccess(int[] data) { |
| | | uniCallbackData(type, data, callback); |
| | | HdlLogLogic.print("uni--->接收--->ModBus--->" + Arrays.toString(data), true); |
| | | // HdlLogLogic.print("uni--->接收--->ModBus--->" + Arrays.toString(data), true); |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void onError(HDLLinkException e) { |
| | | uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | HdlLogLogic.print("uni--->接收--->ModBus--->" + e.getMsg() + "(" + e.getCode() + ")", true); |
| | | // HdlLogLogic.print("uni--->接收--->ModBus--->" + e.getMsg() + "(" + e.getCode() + ")", true); |
| | | } |
| | | }); |
| | | } |
| | |
| | | data = new JSONObject(); |
| | | } |
| | | if (isTokenAndRefreshToken) { |
| | | //小程序那里有自己的请求方法,需要这些数据 |
| | | //小程序那里有自己的请求方法,但需要原生提供这些数据 |
| | | data.put("token", UserConfigManage.getInstance().getToken()); |
| | | data.put("refreshToken", UserConfigManage.getInstance().getRefreshToken()); |
| | | if (TextUtils.isEmpty(AppConfigManage.getUserRegionUrl())) { |
| | | AppConfigManage.setUserRegionUrl(HDLLinkPMUser.getInstance().getUserRegionUrl()); |
| | | } |
| | | data.put("serverAddress", AppConfigManage.getUserRegionUrl()); |
| | | data.put("appKey", AppConfigManage.getAppKey()); |
| | | data.put("appSecret", AppConfigManage.getAppSecret()); |