保利威文档中心

幫助中心

傳送圖片訊息

更新時間:2021-09-01 10:25:13

本 SDK 還可支援傳送圖片訊息,內部封裝了圖片上傳、圖片訊息傳送等邏輯,請依以下步驟進行整合。

一、設定圖片上傳實例

在 SDK 實例化完成後,聊天室實例會有 uploader 屬性(即為圖片上傳功能的實例)。整合方需提供一個 file 類型的 input 元素,並在該元素載入完成後,呼叫 uploader.initImgUploader() 傳入 input 元素來初始化該圖片上傳實例。例如:

const $imgUploadInput = document.querySelector('#img-upload-input');
// 配置图片上传实例
chat.uploader.initImgUploader($imgUploadInput);

圖片上傳實例設定完成後,整合方只需控制該 input 元素的顯示樣式。當觀眾點擊觸發該元素並進行圖片選擇後,SDK 內部會監聽到這個動作,並啟動圖片上傳,過程中觸發相應事件。

二、監聽本地傳送圖片訊息相關事件

(1) SELF_CHAT_IMG 事件
即「本地傳送圖片」事件,當圖片開始上傳時,該事件會被觸發,此時可將對應的訊息插入到本地進行顯示。然後監聽下列訊息,顯示上傳進度或結果。

(2) CHAT_IMG_UPLOAD_PROGRESS 事件
「圖片上傳進度」事件。指示圖片開始上傳、上傳完成或上傳失敗等狀態。
當圖片上傳完成後,SDK 內部會傳送對應的圖片訊息到後端服務,後端將進一步處理。

當監聽到 chat.events.CHAT_IMG_UPLOAD_PROGRESS 事件中,eventData.content.status 與 $chat.uploader.UploadImgStatus.UPLOAD_FAIL 相符時,表示上傳過程出錯,可嘗試透過 chat.uploader.resend(imgMsgId: String) 來重新上傳傳送。

(3) SELF_CHAT_IMG_RESULT 事件
「本地傳送圖片訊息結果」事件,指示後端處理圖片訊息的結果。事件參數的 result 欄位代表圖片是否通過違規鑑定,當且僅當 Boolean 值為 false 表示不通過,此時可顯示對應的傳送結果(如修改已插入本地的訊息)。未通過鑑定的圖片將不會被廣播給其他使用者,也無法從歷史訊息 API 中取得。

三、可透過程式化的方式觸發檔案選擇彈窗

chat.uploader.selectFile()
联系客服,在线咨询