195 lines
5.2 KiB
JavaScript
195 lines
5.2 KiB
JavaScript
import store from '@/store/index.js'
|
|
import * as RongIMLib from '@/uni_modules/RongCloud-IMWrapper/js_sdk/index'
|
|
|
|
const getMessageList = (conversationType, targetId, timeStamp, count, isForward, callback) => {
|
|
// 获取消息列表
|
|
const objectNames = [
|
|
'RC:TxtMsg',
|
|
'RC:VcMsg',
|
|
'RC:HQVCMsg',
|
|
'RC:ImgMsg',
|
|
'RC:GIFMsg',
|
|
'RC:ImgTextMsg',
|
|
'RC:FileMsg',
|
|
'RC:LBSMsg',
|
|
'RC:SightMsg',
|
|
'RC:ReferenceMsg',
|
|
'RC:CombineMsg'
|
|
]
|
|
|
|
RongIMLib.getHistoryMessagesByTimestamp(
|
|
conversationType,
|
|
targetId,
|
|
objectNames,
|
|
timeStamp + 1000,
|
|
count,
|
|
isForward,
|
|
({
|
|
code,
|
|
messages
|
|
}) => {
|
|
if (code === 0) {
|
|
callback(messages)
|
|
} else {
|
|
uni.showToast({
|
|
icon: 'error',
|
|
title: code
|
|
})
|
|
}
|
|
}
|
|
)
|
|
}
|
|
|
|
/**
|
|
* 发送文本消息
|
|
* @param {number} conversationType 消息类型
|
|
* @param {string} targetId 会话id
|
|
* @param {string} content 消息内容
|
|
* @param {function} callback 回调函数
|
|
*/
|
|
const sentText = (conversationType, targetId, content, callback) => {
|
|
console.log('发送');
|
|
const msg = {
|
|
conversationType: conversationType,
|
|
targetId: String(targetId),
|
|
content: {
|
|
objectName: 'RC:TxtMsg',
|
|
content: content,
|
|
user: store.getters.sender
|
|
}
|
|
}
|
|
RongIMLib.sendMessage(msg, ({
|
|
code,
|
|
messageId
|
|
}) => {
|
|
if (code === 0) {
|
|
callback(messageId)
|
|
} else {
|
|
uni.showToast({
|
|
icon: 'none',
|
|
title: '发送失败'
|
|
})
|
|
}
|
|
})
|
|
}
|
|
|
|
/**
|
|
* 发送消息
|
|
* @param {number} conversationType 消息类型
|
|
* @param {string} targetId 会话id
|
|
* @param {string} voiceUrl 录音的本地路径
|
|
* @param {integer} time 录音时长
|
|
* @param {function} callback 录音时长
|
|
*/
|
|
const sentVoice = (conversationType, targetId, voiceUrl, time, callback) => {
|
|
const msg = {
|
|
conversationType: conversationType,
|
|
targetId: String(targetId),
|
|
content: {
|
|
objectName: 'RC:HQVCMsg',
|
|
local: 'file:///' + plus.io.convertLocalFileSystemURL(voiceUrl),
|
|
duration: time
|
|
}
|
|
}
|
|
RongIMLib.sendMediaMessage(msg, {
|
|
success: (messageId) => {
|
|
callback(messageId);
|
|
},
|
|
progress: (progress, messageId) => {
|
|
console.log(messageId);
|
|
},
|
|
cancel: (messageId) => {
|
|
// 发送取消回调
|
|
},
|
|
error: (errorCode, messageId) => {
|
|
console.log(errorCode, messageId);
|
|
}
|
|
})
|
|
}
|
|
|
|
const sentImage = (conversationType, targetId, imageUrl, callback) => {
|
|
const msg = {
|
|
conversationType: conversationType,
|
|
targetId: String(targetId),
|
|
content: {
|
|
objectName: 'RC:ImgMsg',
|
|
local: 'file:///' + plus.io.convertLocalFileSystemURL(imageUrl)
|
|
}
|
|
}
|
|
RongIMLib.sendMediaMessage(msg, {
|
|
success: (messageId) => {
|
|
callback(messageId);
|
|
},
|
|
progress: (progress, messageId) => {
|
|
console.log(messageId);
|
|
},
|
|
cancel: (messageId) => {
|
|
// 发送取消回调
|
|
},
|
|
error: (errorCode, messageId) => {
|
|
console.log(errorCode, messageId);
|
|
}
|
|
})
|
|
}
|
|
|
|
const sentGif = (conversationType, targetId, gifUrl, time, callback) => {
|
|
const msg = {
|
|
conversationType: conversationType,
|
|
targetId: String(targetId),
|
|
content: {
|
|
objectName: 'RC:GIFMsg',
|
|
local: 'file:///' + plus.io.convertLocalFileSystemURL(gifUrl),
|
|
duration: time
|
|
}
|
|
}
|
|
RongIMLib.sendMediaMessage(msg, {
|
|
success: (messageId) => {
|
|
callback(messageId);
|
|
},
|
|
progress: (progress, messageId) => {
|
|
console.log(messageId);
|
|
},
|
|
cancel: (messageId) => {
|
|
// 发送取消回调
|
|
},
|
|
error: (errorCode, messageId) => {
|
|
console.log(errorCode, messageId);
|
|
}
|
|
})
|
|
}
|
|
|
|
const sendFile = (conversationType, targetId, fileUrl, time, callback) => {
|
|
const msg = {
|
|
conversationType: conversationType,
|
|
targetId: String(targetId),
|
|
content: {
|
|
objectName: 'RC:FileMsg',
|
|
local: 'file:///' + plus.io.convertLocalFileSystemURL(fileUrl),
|
|
duration: time
|
|
}
|
|
}
|
|
RongIMLib.sendMediaMessage(msg, {
|
|
success: (messageId) => {
|
|
callback(messageId);
|
|
},
|
|
progress: (progress, messageId) => {
|
|
console.log(messageId);
|
|
},
|
|
cancel: (messageId) => {
|
|
// 发送取消回调
|
|
},
|
|
error: (errorCode, messageId) => {
|
|
console.log(errorCode, messageId);
|
|
}
|
|
})
|
|
}
|
|
|
|
export default {
|
|
getMessageList,
|
|
sentText,
|
|
sentVoice,
|
|
sentImage,
|
|
sentGif,
|
|
sendFile
|
|
}
|