差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 后一修订版 两侧同时换到之后的修订记录 | ||
im:applet:message [2019/07/22 10:54] zhangdong [发送贴图消息] |
im:applet:message [2019/11/06 03:16] zhangdong |
||
---|---|---|---|
行 274: | 行 274: | ||
<code javascript> | <code javascript> | ||
// 单聊发送图片消息 | // 单聊发送图片消息 | ||
- | var sendPrivateImg = function () { | + | upLoadImage(res){ |
- | var id = conn.getUniqueId(); // 生成本地消息id | + | var me = this; |
- | var msg = new WebIM.message('img', id); // 创建图片消息 | + | var tempFilePaths = res.tempFilePaths; |
- | var input = document.getElementById('image'); // 选择图片的input | + | var token = WebIM.conn.context.accessToken |
- | var file = WebIM.utils.getFileUrl(input); // 将图片转化为二进制文件 | + | wx.getImageInfo({ |
- | var allowType = { | + | src: res.tempFilePaths[0], |
- | 'jpg': true, | + | success(res){ |
- | 'gif': true, | + | var allowType = { |
- | 'png': true, | + | jpg: true, |
- | 'bmp': true | + | gif: true, |
- | }; | + | png: true, |
- | if (file.filetype.toLowerCase() in allowType) { | + | bmp: true |
- | var option = { | + | }; |
- | apiUrl: WebIM.config.apiURL, | + | var str = WebIM.config.appkey.split("#"); |
- | file: file, | + | var width = res.width; |
- | to: 'username', // 接收消息对象 | + | var height = res.height; |
- | roomType: false, | + | var index = res.path.lastIndexOf("."); |
- | onFileUploadError: function () { // 消息上传失败 | + | var filetype = (~index && res.path.slice(index + 1)) || ""; |
- | console.log('onFileUploadError'); | + | if(filetype.toLowerCase() in allowType){ |
- | }, | + | wx.uploadFile({ |
- | onFileUploadComplete: function () { // 消息上传成功 | + | url: "https://a1.easemob.com/" + str[0] + "/" + str[1] + "/chatfiles", |
- | console.log('onFileUploadComplete'); | + | filePath: tempFilePaths[0], |
- | }, | + | name: "file", |
- | success: function () { // 消息发送成功 | + | header: { |
- | console.log('Success'); | + | "Content-Type": "multipart/form-data", |
- | }, | + | Authorization: "Bearer " + token |
- | flashUpload: WebIM.flashUpload | + | }, |
- | }; | + | success(res){ |
- | msg.set(option); | + | var data = res.data; |
- | conn.send(msg.body); | + | var dataObj = JSON.parse(data); |
- | } | + | var id = WebIM.conn.getUniqueId(); // 生成本地消息 id |
- | }; | + | var msg = new WebIM.message(msgType.IMAGE, id); |
+ | var file = { | ||
+ | type: msgType.IMAGE, | ||
+ | size: { | ||
+ | width: width, | ||
+ | height: height | ||
+ | }, | ||
+ | url: dataObj.uri + "/" + dataObj.entities[0].uuid, | ||
+ | filetype: filetype, | ||
+ | filename: tempFilePaths[0] | ||
+ | }; | ||
+ | msg.set({ | ||
+ | apiUrl: WebIM.config.apiURL, | ||
+ | body: file, | ||
+ | from: me.data.username.myName, | ||
+ | to: me.getSendToParam(), | ||
+ | roomType: false, | ||
+ | chatType: me.data.chatType, | ||
+ | success: function (argument) { | ||
+ | disp.fire('em.chat.sendSuccess', id); | ||
+ | } | ||
+ | }); | ||
+ | if(me.data.chatType == msgType.chatType.CHAT_ROOM){ | ||
+ | msg.setGroup("groupchat"); | ||
+ | } | ||
+ | WebIM.conn.send(msg.body); | ||
+ | } | ||
+ | }); | ||
+ | } | ||
+ | } | ||
+ | }); | ||
+ | } | ||
</code> | </code> | ||
行 311: | 行 342: | ||
<code javascript> | <code javascript> | ||
// 单聊发送文件消息 | // 单聊发送文件消息 | ||
- | var sendPrivateFile = function () { | + | uploadRecord(tempFilePath){ |
- | var id = conn.getUniqueId(); // 生成本地消息id | + | var str = WebIM.config.appkey.split("#"); |
- | var msg = new WebIM.message('file', id); // 创建文件消息 | + | var me = this; |
- | var input = document.getElementById('file'); // 选择文件的input | + | var token = WebIM.conn.context.accessToken |
- | var file = WebIM.utils.getFileUrl(input); // 将文件转化为二进制文件 | + | wx.uploadFile({ |
- | var allowType = { | + | url: "https://a1.easemob.com/" + str[0] + "/" + str[1] + "/chatfiles", |
- | 'jpg': true, | + | filePath: tempFilePath, |
- | 'gif': true, | + | name: "file", |
- | 'png': true, | + | header: { |
- | 'bmp': true, | + | "Content-Type": "multipart/form-data", |
- | 'zip': true, | + | Authorization: "Bearer " + token |
- | 'txt': true, | + | }, |
- | 'doc':true, | + | success(res){ |
- | 'pdf': true | + | var id = WebIM.conn.getUniqueId(); |
- | }; | + | var msg = new WebIM.message(msgType.AUDIO, id); |
- | if (file.filetype.toLowerCase() in allowType) { | + | var dataObj = JSON.parse(res.data); |
- | var option = { | + | msg.set({ |
- | apiUrl: WebIM.config.apiURL, | + | apiUrl: WebIM.config.apiURL, |
- | file: file, | + | accessToken: token, |
- | to: 'username', // 接收消息对象 | + | body: { |
- | roomType: false, | + | type: msgType.FILE, |
- | onFileUploadError: function () { // 消息上传失败 | + | url: dataObj.uri + "/" + dataObj.entities[0].uuid, |
- | console.log('onFileUploadError'); | + | filetype: "", |
- | }, | + | filename: tempFilePath, |
- | onFileUploadComplete: function () { // 消息上传成功 | + | accessToken: token, |
- | console.log('onFileUploadComplete'); | + | length: "" |
- | }, | + | }, |
- | success: function () { // 消息发送成功 | + | from: me.data.username.myName, |
- | console.log('Success'); | + | to: me.getSendToParam(), |
- | }, | + | roomType: false, |
- | flashUpload: WebIM.flashUpload | + | chatType: me.data.chatType, |
- | }; | + | success: function (argument) { |
- | msg.set(option); | + | disp.fire('em.chat.sendSuccess', id); |
- | conn.send(msg.body); | + | } |
- | } | + | }); |
+ | if(me.isGroupChat()){ | ||
+ | msg.setGroup("groupchat"); | ||
+ | } | ||
+ | msg.body.length = ""; | ||
+ | WebIM.conn.send(msg.body); | ||
+ | } | ||
+ | }); | ||
}; | }; | ||
</code> | </code> | ||
行 352: | 行 390: | ||
<code javascript> | <code javascript> | ||
// 单聊发送音频消息 | // 单聊发送音频消息 | ||
- | var sendPrivateAudio = function () { | + | uploadRecord(tempFilePath, dur){ |
- | var id = conn.getUniqueId(); // 生成本地消息id | + | var str = WebIM.config.appkey.split("#"); |
- | var msg = new WebIM.message('audio', id); // 创建音频消息 | + | var me = this; |
- | var input = document.getElementById('audio'); // 选择音频的input | + | var token = WebIM.conn.context.accessToken |
- | var file = WebIM.utils.getFileUrl(input); // 将音频转化为二进制文件 | + | wx.uploadFile({ |
- | var allowType = { | + | url: "https://a1.easemob.com/" + str[0] + "/" + str[1] + "/chatfiles", |
- | 'mp3': true, | + | filePath: tempFilePath, |
- | 'amr': true, | + | name: "file", |
- | 'wmv': true | + | header: { |
- | }; | + | "Content-Type": "multipart/form-data", |
- | if (file.filetype.toLowerCase() in allowType) { | + | Authorization: "Bearer " + token |
- | var option = { | + | }, |
- | apiUrl: WebIM.config.apiURL, | + | success(res){ |
- | file: file, | + | var id = WebIM.conn.getUniqueId(); |
- | to: 'username', // 接收消息对象 | + | var msg = new WebIM.message(msgType.AUDIO, id); |
- | roomType: false, | + | var dataObj = JSON.parse(res.data); |
- | onFileUploadError: function () { // 消息上传失败 | + | msg.set({ |
- | console.log('onFileUploadError'); | + | apiUrl: WebIM.config.apiURL, |
- | }, | + | accessToken: token, |
- | onFileUploadComplete: function () { // 消息上传成功 | + | body: { |
- | console.log('onFileUploadComplete'); | + | type: msgType.AUDIO, |
- | }, | + | url: dataObj.uri + "/" + dataObj.entities[0].uuid, |
- | success: function () { // 消息发送成功 | + | filetype: "", |
- | console.log('Success'); | + | filename: tempFilePath, |
- | }, | + | accessToken: token, |
- | flashUpload: WebIM.flashUpload | + | length: Math.ceil(dur / 1000) |
- | }; | + | }, |
- | msg.set(option); | + | from: me.data.username.myName, |
- | conn.send(msg.body); | + | to: me.getSendToParam(), |
- | } | + | roomType: false, |
+ | chatType: me.data.chatType, | ||
+ | success: function (argument) { | ||
+ | disp.fire('em.chat.sendSuccess', id); | ||
+ | } | ||
+ | }); | ||
+ | if(me.isGroupChat()){ | ||
+ | msg.setGroup("groupchat"); | ||
+ | } | ||
+ | msg.body.length = Math.ceil(dur / 1000); | ||
+ | //console.log('发送的语音消息', msg.body) | ||
+ | WebIM.conn.send(msg.body); | ||
+ | } | ||
+ | }); | ||
}; | }; | ||
</code> | </code> | ||
- | 单聊发送视频消息示例如下: | ||
- | <code javascript> | ||
- | // 单聊发送视频消息 | ||
- | var sendPrivateVideo = function () { | ||
- | var id = conn.getUniqueId(); // 生成本地消息id | ||
- | var msg = new WebIM.message('video', id); // 创建视频消息 | ||
- | var input = document.getElementById('video'); // 选择视频的input | ||
- | var file = WebIM.utils.getFileUrl(input); // 将视频转化为二进制文件 | ||
- | var allowType = { | ||
- | 'mp4': true, | ||
- | 'wmv': true, | ||
- | 'avi': true, | ||
- | 'rmvb':true, | ||
- | 'mkv':true | ||
- | }; | ||
- | if (file.filetype.toLowerCase() in allowType) { | ||
- | var option = { | ||
- | apiUrl: WebIM.config.apiURL, | ||
- | file: file, | ||
- | to: 'username', // 接收消息对象 | ||
- | roomType: false, | ||
- | onFileUploadError: function () { // 消息上传失败 | ||
- | console.log('onFileUploadError'); | ||
- | }, | ||
- | onFileUploadComplete: function () { // 消息上传成功 | ||
- | console.log('onFileUploadComplete'); | ||
- | }, | ||
- | success: function () { // 消息发送成功 | ||
- | console.log('Success'); | ||
- | }, | ||
- | flashUpload: WebIM.flashUpload | ||
- | }; | ||
- | msg.set(option); | ||
- | conn.send(msg.body); | ||
- | } | ||
- | }; | ||
- | </code> | ||
=== API === | === API === |