ASP.Net MVC Web アプリケーションで UCWA API を使用して実装されたプレーン テキストで正常に動作する単純なチャット アプリケーションがあります。次に、書式設定されたテキストを実装する必要があります。
UCWA: 高度なチャット オプションの統合を参照すると
、メッセージを に送信する前に、現在のをucwa.Transport.clientRequest
に設定する必要があることがわかりました。contentType
text/html
text/plain
だから私は以下に示すようにメッセージを送信する機能を持っています:
function sendMessage(displayName, msg, timestamp) {
var encodedMsg = encodeURIComponent(msg);
ucwa.Transport.clientRequest({
url: messagingLinks.SendMessage + "?SessionContext=" + ucwa.GeneralHelper.generateUUID(),
type: "post",
contentType: "text/html",
data: encodedMsg,
callback: function () {
addMessageToChat(displayName, encodedMsg, timestamp);
}
});
}
の実装はhandleMessage()
以下の通りです。
function handleMessage(data, parts) {
alert("Inside Handle message");
if (!data._embedded.message._links.plainMessage) return false;
var message = decodeMessage(data._embedded.message._links.plainMessage.href);
var decodedMsg = decodeURIComponent(message);
addMessageToChat(data._embedded.message._links.participant.title, decodedMsg, formatTime(new Date(Date.now())));
}
上記の実装の問題は、受信側で handleMessage() メソッドが入力されていないことです。これは、着信メッセージを受信していないことを意味します。
誰かが私が間違っている場所を指摘できますか?書式設定されたテキストを送信できるように、上記の変更と共に行う必要がある他の変更はありますか? サンプルは同じことに関して本当に役に立ちます。
どんな提案でも十分です。前もって感謝します。
編集:
示唆されたように、私は自分のmakeMeAvailable
方法を修正しました。以下は、同じの定義ですAuthentication.js
。
function makeMeAvailable() {
if (!_authenticated) {
cache.read({
id: "main"
}).done(function (cacheData) {
if (cacheData) {
var data = {
SupportedModalities: ["Messaging"],
supportedMessageFormats: ["Plain","Html"]
};
transport.clientRequest({
url: cacheData._embedded.me._links.makeMeAvailable.href,
type: "post",
data: data,
callback: handleState
});
}
});
} else {
handleState({
status: 204
});
}
}
ただし、出力は同じです。APIに関する 2 番目の提案はcommunication
、私はそれを見つけることができません。
これに関する提案はありますか?