|
@@ -6,15 +6,20 @@ import {
|
|
login
|
|
login
|
|
} from '@/request/api/chat.js'
|
|
} from '@/request/api/chat.js'
|
|
import md5 from '@/js_sdk/js-md5/build/md5.min.js';
|
|
import md5 from '@/js_sdk/js-md5/build/md5.min.js';
|
|
-
|
|
|
|
-const connect = userId => {
|
|
|
|
|
|
+let userIds;
|
|
|
|
+const connect = success => {
|
|
let code = YeIMUniSDK.getInstance().readyState();
|
|
let code = YeIMUniSDK.getInstance().readyState();
|
|
- if (code !== 3) return;
|
|
|
|
|
|
+ if (code !== 3) {
|
|
|
|
+ if (success) success();
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
YeIMUniSDK.getInstance().connect({
|
|
YeIMUniSDK.getInstance().connect({
|
|
- userId: userId,
|
|
|
|
|
|
+ userId: userIds,
|
|
token: uni.getStorageSync('chatToken'),
|
|
token: uni.getStorageSync('chatToken'),
|
|
success: (response) => {
|
|
success: (response) => {
|
|
- if (response.code === 200) console.log('success');
|
|
|
|
|
|
+ if (response.code === 200) {
|
|
|
|
+ if (success) success();
|
|
|
|
+ }
|
|
},
|
|
},
|
|
fail: (err) => {
|
|
fail: (err) => {
|
|
console.log(err);
|
|
console.log(err);
|
|
@@ -42,6 +47,7 @@ export default {
|
|
});
|
|
});
|
|
},
|
|
},
|
|
connect(userId) {
|
|
connect(userId) {
|
|
|
|
+ userIds = userId;
|
|
if (!uni.getStorageSync('chatToken')) {
|
|
if (!uni.getStorageSync('chatToken')) {
|
|
let timestamp = (new Date()).getTime() + 86400 * 1000; //1000天后过期
|
|
let timestamp = (new Date()).getTime() + 86400 * 1000; //1000天后过期
|
|
let sign = md5(String(userId) + timestamp + "50abd47112ebe8c5a73f4694c96a49ce");
|
|
let sign = md5(String(userId) + timestamp + "50abd47112ebe8c5a73f4694c96a49ce");
|
|
@@ -52,23 +58,89 @@ export default {
|
|
}).then(res => {
|
|
}).then(res => {
|
|
if (res.code === 200) {
|
|
if (res.code === 200) {
|
|
uni.setStorageSync('chatToken', res.data.token);
|
|
uni.setStorageSync('chatToken', res.data.token);
|
|
- connect(userId);
|
|
|
|
|
|
+ connect();
|
|
}
|
|
}
|
|
})
|
|
})
|
|
} else {
|
|
} else {
|
|
- connect(userId);
|
|
|
|
|
|
+ connect();
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- getConversationList(success) {
|
|
|
|
- let code = YeIMUniSDK.getInstance().readyState();
|
|
|
|
- console.log(code);
|
|
|
|
- YeIMUniSDK.getInstance().getConversationList({
|
|
|
|
- page: 1, //页码
|
|
|
|
- limit: 20, //每页数量
|
|
|
|
- success: success,
|
|
|
|
- fail: (err) => {
|
|
|
|
- console.log(err)
|
|
|
|
- }
|
|
|
|
|
|
+ getConversationList(success) {
|
|
|
|
+ connect(() => {
|
|
|
|
+ YeIMUniSDK.getInstance().getConversationList({
|
|
|
|
+ page: 1, //页码
|
|
|
|
+ limit: 20, //每页数量
|
|
|
|
+ success: success,
|
|
|
|
+ fail: (err) => {}
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ getHistoryMessageList(nextMessageId, userId, success) {
|
|
|
|
+ connect(() => {
|
|
|
|
+ YeIMUniSDK.getInstance().getHistoryMessageList({
|
|
|
|
+ nextMessageId: nextMessageId,
|
|
|
|
+ conversationId: userId,
|
|
|
|
+ success: success,
|
|
|
|
+ fail: (err) => {}
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ sendImage(userId, success) {
|
|
|
|
+ connect(() => {
|
|
|
|
+ uni.chooseImage({
|
|
|
|
+ count: 1, //图片数量
|
|
|
|
+ sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
|
|
|
|
+ sourceType: ['album'], //从相册选择
|
|
|
|
+ success: res => {
|
|
|
|
+ uni.getImageInfo({
|
|
|
|
+ src: res.tempFilePaths[0],
|
|
|
|
+ success: image => {
|
|
|
|
+ //创建图片消息
|
|
|
|
+ let message = YeIMUniSDK.getInstance().createImageMessage({
|
|
|
|
+ toId: userId, //接收者用户ID字符串
|
|
|
|
+ conversationType: YeIMUniSDKDefines
|
|
|
|
+ .CONVERSATION_TYPE
|
|
|
|
+ .PRIVATE, //会话类型:私聊
|
|
|
|
+ body: {
|
|
|
|
+ file: {
|
|
|
|
+ tempFilePath: res.tempFilePaths[
|
|
|
|
+ 0], //本地图片临时路径
|
|
|
|
+ width: image.width, //图片宽度
|
|
|
|
+ height: image.height //图片高度
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ extra: "",
|
|
|
|
+ onProgress: (progress) => {}
|
|
|
|
+ });
|
|
|
|
+ //发送消息
|
|
|
|
+ YeIMUniSDK.getInstance().sendMessage({
|
|
|
|
+ message: message,
|
|
|
|
+ success: success,
|
|
|
|
+ fail: (err) => {}
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ sendText(userId, content, success) {
|
|
|
|
+ connect(() => {
|
|
|
|
+ //创建文字消息
|
|
|
|
+ let message = YeIMUniSDK.getInstance().createTextMessage({
|
|
|
|
+ toId: userId, //接收者用户ID字符串
|
|
|
|
+ conversationType: YeIMUniSDKDefines.CONVERSATION_TYPE.PRIVATE, //会话类型:私聊
|
|
|
|
+ body: {
|
|
|
|
+ text: content //文本消息内容字符串
|
|
|
|
+ },
|
|
|
|
+ extra: ""
|
|
|
|
+ });
|
|
|
|
+ //发送消息
|
|
|
|
+ YeIMUniSDK.getInstance().sendMessage({
|
|
|
|
+ message: message,
|
|
|
|
+ success: success,
|
|
|
|
+ fail: (err) => {}
|
|
|
|
+ });
|
|
});
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|