Files
tk-mini-program/components/goEasyTool/tool.js
pengxiaolong 8580cd18fa 优化
2025-07-25 16:39:52 +08:00

221 lines
6.6 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import GoEasy from 'goeasy'
//IM登录
export function goEasylogin(goeasy, id, avatar, nickname) {
console.log("`````````````````goEasylogin`````````````````", id, avatar, nickname);
goeasy.connect({
id: id, //im必填最大长度60字符
data: { "avatar": avatar, "nickname": nickname }, //必须是一个对象im必填最大长度300字符显示在会话列表中
onSuccess: function () { //连接成功
console.log("IM连接成功") //连接成功
},
onFailed: function (error) { //连接失败
console.log("IM连接失败, code:" + error.code + ",error:" + error.content);
},
onProgress: function (attempts) { //连接或自动重连中
console.log("IM连接或自动重连中", attempts);
}
});
}
//退出登录
export function goEasylogout(goeasy) {
goeasy.disconnect({
onSuccess: function () {
console.log("IM断开成功")
},
onFailed: function (error) {
console.log("IM断开失败, code:" + error.code + ",error:" + error.content);
}
});
}
//获取会话列表
export function getConversationList(goeasy) {
return new Promise((resolve, reject) => {
var im = goeasy.im;
im.latestConversations({
onSuccess: function (result) {
console.log("获取会话列表成功", result);
resolve(result.content);
},
onFailed: function (error) { //获取失败
console.log("获取会话列表失败, code:" + error.code + " content:" + error.content);
uni.showToast({
title: "获取会话列表失败",
icon: "none",
});
},
});
});
}
//获取指定会话的消息列表
export function getConversationMessages(goeasy, userid, imestamp) {
return new Promise((resolve, reject) => {
var im = goeasy.im;
im.history({
id: userid, //用户id或者群id
type: GoEasy.IM_SCENE.PRIVATE, //群聊GoEasy.IM_SCENE.GROUP, 客服GoEasy.IM_SCENE.CS,
lastTimestamp: imestamp, //上次查询结果里最后一条消息的时间戳首次查询传入null即可
limit: 30, //可选项返回的消息条数默认为10条最多30条
onSuccess: function (result) {
console.log("获取消息列表成功", result);
resolve(result.content);
}, //查询成功
onFailed: function (error) {
console.log("获取消息列表失败, code:" + error.code + " content:" + error.content);
uni.showToast({
title: "获取消息列表失败",
icon: "none",
});
}, //查询失败
});
});
}
//发送消息
export function sendMessage(goeasy, userid, message, avatar, nickname) {
return new Promise((resolve, reject) => {
var im = goeasy.im;
//创建消息, 内容最长不超过3K可以发送字符串对象和json格式字符串
let textMessage = im.createTextMessage({
text: message, //消息内容
to: {
type: GoEasy.IM_SCENE.PRIVATE, //私聊还是群聊群聊为GoEasy.IM_SCENE.GROUP
id: userid, //接收方用户id
data: { "avatar": avatar, "nickname": nickname } //接收方用户扩展数据, 任意格式的字符串或者对象用于更新会话列表conversation.data
}
});
//发送消息
im.sendMessage({
message: textMessage,
onSuccess: function () { //发送成功
resolve(textMessage);
},
onFailed: function (error) { //发送失败
console.log('发送消息失败code:' + error.code + ' ,error ' + error.content);
uni.showToast({
title: "发送消息失败",
icon: "none",
});
reject(error);
}
});
});
}
//消息已读
export function messageRead(goeasy, userid) {
return new Promise((resolve, reject) => {
var im = goeasy.im;
im.markMessageAsRead({
id: userid,
type: GoEasy.IM_SCENE.PRIVATE, //群聊GoEasy.IM_SCENE.GROUP, 客服消息GoEasy.IM_SCENE.CS,
onSuccess: function () {
resolve()
},
onFailed: function (error) {
console.log('标记私聊已读失败', error);
uni.showToast({
title: "标记私聊已读失败",
icon: "none",
});
},
});
});
}
//发送自定义消息
export function sendCustomMessage(goeasy, type, userid, order, avatar, nickname) {
return new Promise((resolve, reject) => {
var im = goeasy.im;
// 创建自定义消息
var customMessage = im.createCustomMessage({
type: type, //字符串,可以任意自定义类型
payload: order,
to: {
type: GoEasy.IM_SCENE.PRIVATE, //私聊还是群聊群聊为GoEasy.IM_SCENE.GROUP
id: userid, //接收方用户id
data: { "avatar": avatar, "nickname": nickname } //好友扩展数据, 任意格式的字符串或者对象用于更新会话列表conversation.data
}
})
// 发自定义消息
im.sendMessage({
message: customMessage,
onSuccess: function () { //发送成功
resolve(customMessage);
},
onFailed: function (error) { //发送失败
console.log('Failed to send messagecode:' + error.code + ',error' + error.content);
uni.showToast({
title: "发送自定义消息失败",
icon: "none",
});
}
});
});
}
//置顶会话
export function conversationTop(goeasy, conversation, top) {
return new Promise((resolve, reject) => {
var im = goeasy.im;
im.topConversation({
conversation: conversation,
top: top,//或者 false
onSuccess: function () {
resolve('成功');
},
onFailed: function (error) {
console.log('失败:', error);
uni.showToast({
title: "置顶会话失败",
icon: "none",
});
},
});
});
}
//删除会话
export function conversationDelete(goeasy, conversation) {
return new Promise((resolve, reject) => {
var im = goeasy.im;
im.removeConversation({
conversation: conversation,
onSuccess: function () {
resolve('删除会话成功');
},
onFailed: function (error) {
console.log(error);
uni.showToast({
title: "删除会话失败",
icon: "none",
});
},
});
});
}
//发送消息
export function sendGroupMessage(goeasy, message) {
return new Promise((resolve, reject) => {
var im = goeasy.im;
//发送消息
im.sendMessage({
message: message,
onSuccess: () => {
resolve(message);
},
onFailed: function (error) {
uni.showToast({
title: "发送消息失败",
icon: "none",
});
},
});
});
}