wjc
2026-03-06 b9408687a3c0490289206b7e3b623d1490b38afd
app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -47,6 +47,7 @@
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;
@@ -939,6 +940,19 @@
                    }
                });
            } 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) {
@@ -947,6 +961,59 @@
    }
    /**
     * Uni(取消/暂停)AI聊天对话
     *
     * @param callback -
     */
    private void uniSendStopAIChat(String type, Object data, DCUniMPJSCallback callback) {
        String task_id = getKeyValue("task_id", getKeyValue("data", data));
        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指定页面