| | |
| | | import com.hdl.photovoltaic.listener.LinkCallBack; |
| | | import com.hdl.photovoltaic.ui.LoginActivity; |
| | | import com.hdl.photovoltaic.ui.bean.CUserInfo; |
| | | import com.hdl.photovoltaic.ui.bean.ChatMessageBean; |
| | | import com.hdl.photovoltaic.ui.bean.CloudInverterDeviceBean; |
| | | import com.hdl.photovoltaic.ui.bean.DeviceInfoBean; |
| | | import com.hdl.photovoltaic.ui.bean.DeviceTimeBean; |
| | |
| | | import com.hdl.photovoltaic.uni.HDLUniMPSDKManager; |
| | | import com.hdl.photovoltaic.utils.NetworkUtils; |
| | | import com.hdl.photovoltaic.utils.PermissionUtils; |
| | | import com.hdl.photovoltaic.utils.SharedPreUtils; |
| | | import com.hdl.photovoltaic.utils.WifiUtils; |
| | | import com.hdl.sdk.link.common.exception.HDLLinkException; |
| | | import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus; |
| | |
| | | } |
| | | }); |
| | | |
| | | } else if (HDLUniMP.UNI_EVENT_REPLY_AI_MODEL.equals(topic)) { |
| | | switch (type) { |
| | | //发送ai对话聊天 |
| | | case HDLUniMP.UNI_EVENT_REPLY_AI_MODEL_SENDAIREQUEST: { |
| | | this.uniSendAIChat(mode_type, data, callback); |
| | | } |
| | | break; |
| | | //发送(取消/暂停)AI聊天对话 |
| | | case HDLUniMP.UNI_EVENT_REPLY_AI_MODEL_PAUSEAIREQUEST: { |
| | | this.uniSendStopAIChat(mode_type, data, callback); |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | |
| | | } catch (Exception e) { |
| | |
| | | |
| | | } |
| | | |
| | | /** |
| | | * Uni(取消/暂停)AI聊天对话 |
| | | * |
| | | * @param callback - |
| | | */ |
| | | private void uniSendStopAIChat(String type, Object data, DCUniMPJSCallback callback) { |
| | | String task_id = getKeyValue("task_id", getKeyValue("data", data)); |
| | | if (TextUtils.isEmpty(task_id)) { |
| | | uniCallbackData(type, null, -2, "task_id empty", callback); |
| | | } |
| | | HdlAiLogic.getInstance().chatMessageStop(task_id, new CloudCallBeak<Boolean>() { |
| | | @Override |
| | | public void onSuccess(Boolean obj) { |
| | | if (callback != null) { |
| | | uniSuccessCallback(type, obj, callback); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * Uni发起AI聊天对话 |
| | | * |
| | | * @param callback - |
| | | */ |
| | | private void uniSendAIChat(String type, Object data, DCUniMPJSCallback callback) { |
| | | String query = getKeyValue("query", getKeyValue("data", data)); |
| | | HdlAiLogic.getInstance().chatMessages(query, new CloudCallBeak<ChatMessageBean>() { |
| | | @Override |
| | | public void onSuccess(ChatMessageBean obj) { |
| | | HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean(); |
| | | if (obj == null) { |
| | | //表示结束 |
| | | uniCallBackBaseBean.setType(HDLUniMP.UNI_EVENT_REPLY_AI_MODEL_AISTREAMINGEND); |
| | | } else { |
| | | uniCallBackBaseBean.setType(HDLUniMP.UNI_EVENT_REPLY_AI_MODEL_AISTREAMING); |
| | | uniCallBackBaseBean.setData(obj); |
| | | } |
| | | HdlUniLogic.getInstance().sendUni(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_MODEL, uniCallBackBaseBean); |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); |
| | | // HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean(); |
| | | // uniCallBackBaseBean.setType(HDLUniMP.UNI_EVENT_REPLY_AI_MODEL_AISTREAMINGEND); |
| | | // uniCallBackBaseBean.setData(e.getMessage()); |
| | | // HdlUniLogic.getInstance().sendUni(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_MODEL, uniCallBackBaseBean); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * 原生【打开】uni指定页面 |
| | |
| | | private void uniGetLocalDrivers(String type, Object data, DCUniMPJSCallback callback) { |
| | | try { |
| | | String driveCode = getKeyValue("driveCode", getKeyValue("data", data));//驱动编号或驱动名称 |
| | | // String osImageId = getKeyValue("osImageId", getKeyValue("data", data));//驱动类型id |
| | | String imageId = getKeyValue("imageId", getKeyValue("data", data));//驱动镜像Id |
| | | // String driverVersionId = getKeyValue("driverVersionId", getKeyValue("data", data));//驱动类型id |
| | | List<GatewayDriverBean> list = new ArrayList<>(); |
| | | String driverFileList = HdlFileLogic.getInstance().getDriveRootPath(); |
| | |
| | | if (file.list() != null) { |
| | | for (int i = 0; i < Objects.requireNonNull(file.list()).length; i++) { |
| | | String fileName = Objects.requireNonNull(file.list())[i]; |
| | | if (!fileName.contains(driveCode)) { |
| | | if (!fileName.contains(driveCode + "_" + imageId)) { |
| | | continue; |
| | | } |
| | | String[] driverInfoAry = fileName.split("_"); |
| | | GatewayDriverBean gatewayDriverBean = new GatewayDriverBean(); |
| | | gatewayDriverBean.setDriverCode(driverInfoAry[0]); |
| | | gatewayDriverBean.setVersion(driverInfoAry[1].replace(".zip", "")); |
| | | gatewayDriverBean.setLocalUrl(HdlFileLogic.getInstance().getDrivePathFileName(gatewayDriverBean.getDriverCode(), gatewayDriverBean.getVersion())); |
| | | gatewayDriverBean.setImageId(driverInfoAry[1]); |
| | | gatewayDriverBean.setVersion(driverInfoAry[2].replace(".zip", "")); |
| | | gatewayDriverBean.setLocalUrl(HdlFileLogic.getInstance().getDrivePathFileName(gatewayDriverBean.getDriverCode(), gatewayDriverBean.getImageId(), gatewayDriverBean.getVersion())); |
| | | list.add(gatewayDriverBean); |
| | | } |
| | | } |
| | |
| | | |
| | | // String deviceOid = getKeyValue("oid", getKeyValue("data", data));//逆变器设备oid |
| | | String driverCode = getKeyValue("driverCode", getKeyValue("data", data));//驱动编码 |
| | | // String imageId = getKeyValue("imageId", getKeyValue("data", data));//驱动镜像id |
| | | String imageId = getKeyValue("imageId", getKeyValue("data", data));//驱动镜像id |
| | | String version = getKeyValue("version", getKeyValue("data", data));//驱动版本 |
| | | // String driverVersionId = getKeyValue("driverVersionId", getKeyValue("data", data));//驱动版本id |
| | | String localUrl = getKeyValue("localUrl", getKeyValue("data", data));//储存在本地驱动文件路径 |
| | |
| | | @Override |
| | | public void run() { |
| | | |
| | | String drivePathFileName = HdlFileLogic.getInstance().getDrivePathFileName(driverCode, version); |
| | | String drivePathFileName = HdlFileLogic.getInstance().getDrivePathFileName(driverCode, imageId, version); |
| | | //不在子线程读流会卡死主线程 |
| | | boolean isBoolean = HdlOtaLogic.getInstance().disposeDownLoadFile(drivePathFileName, responseBody, md5, HdlOtaLogic.driver_type); |
| | | if (isBoolean) { |
| | |
| | | @Override |
| | | public void onServiceConnected(ComponentName name, IBinder service) { |
| | | //本地升级驱动文件路径 |
| | | String drivePathFileName = HdlFileLogic.getInstance().getDrivePathFileName(driverCode, version); |
| | | String drivePathFileName = HdlFileLogic.getInstance().getDrivePathFileName(driverCode, imageId, version); |
| | | byte[] data = HdlFileLogic.getInstance().readFileByte(drivePathFileName); |
| | | if (data == null || data.length == 0) { |
| | | uniCallbackData(type, null, -2, HDLApp.getInstance().getAppLocaleContext().getString(R.string.found_locally_drive_file), callback); |
| | |
| | | // data.put("appSecret", AppConfigManage.getAppSecret()); |
| | | // } |
| | | data.put("appLanguage", UserConfigManage.getInstance().getCurrentAppLanguage()); |
| | | data.put("tourist_mode", UserConfigManage.getInstance().isTourist_mode()); |
| | | uniCallBackBaseBean.setData(data); |
| | | return getJSONObject(uniCallBackBaseBean); |
| | | } catch (Exception e) { |