...
 
Commits (2)
    https://gitcode.net/dcloud/uni-im/-/commit/3dba1e8f15265cea212227bcae56fcb39d5cc09a 更新 去掉可选链,兼容 Nodejs12 2024-11-13T17:56:14+08:00 linju linju@dcloud.io https://gitcode.net/dcloud/uni-im/-/commit/71ecac6a1e1e661e1573a2e0403f6f9ec04a4fdb 3.4.38 2024-11-14T16:35:51+08:00 linju linju@dcloud.io
## 3.4.38(2024-11-14)
更新 去掉可选链,兼容 Nodejs12
## 3.4.36(2024-11-12)
修复 弱网的情况下,消息含图片等资源上传失败后,点击重发后接收方收到的消息资源错误的问题
更新 查找好友页面不再显示当前用户自己
......
{
"id": "uni-im",
"displayName": "uni-im",
"version": "3.4.36",
"version": "3.4.38",
"description": "uni-im是云端一体的、全平台的、免费的、开源即时通讯系统",
"keywords": [
"im,即时通讯,客服,聊天"
......@@ -44,7 +44,7 @@
"platforms": {
"cloud": {
"tcb": "y",
"aliyun": "n",
"aliyun": "y",
"alipay": "y"
},
"client": {
......
......@@ -59,10 +59,10 @@ async function getConversationList({
matchObj.group_type = type.group_type
}
}else{
action[type]?.()
action[type] && action[type]()
}
// console.error('action========',type,'group_type:'+matchObj?.group_type);
// console.error('action========',type,'group_type:'+matchObj.group_type);
}
// 如果指定了会话id,则只查询指定的会话
......
......@@ -276,7 +276,7 @@ async function _beforeSendMsgActions(params) {
// 如果是扩展的消息类型,由扩展模块执行前置操作
const { msgTypes } = require('uni-im-ext')
let msgType = await msgTypes.get(params.type)
if (msgType?.beforeSendMsg) {
if (msgType && msgType.beforeSendMsg) {
await msgType.beforeSendMsg(params, this.current_uid)
console.error('############----->beforeSendMsg', params)
return
......@@ -555,7 +555,7 @@ async function _createOrUpdateConversation(conversation_id, msgData, chat_source
if (msgData.group_id) {
senderConversation.leave = false
senderConversation.has_unread_group_notification = null
senderConversation.group_type = groupInfo?.type
senderConversation.group_type = groupInfo.type
// 群聊只为当前用户创建会话
await dbUniImConversation.add(senderConversation)
} else {
......
......@@ -105,7 +105,7 @@ async function sendPushMsg(param, appId) {
// console.log('pushParam.channel', pushParam.channel)
// 解决没有购买个推vip套餐,设置推送策略为3无效的问题
if (pushParam?.settings?.strategy === 3) {
if (pushParam.settings && pushParam.settings.strategy === 3) {
delete pushParam.title
delete pushParam.content
}
......
......@@ -14,16 +14,16 @@ module.exports = {
}
async function afterReadAction({
field,
field = '',
result,
userInfo: currentUserInfo,
primaryCollection
} = {}, asSecondaryCollection = false) {
const { data } = result
const {data} = result
if (!Array.isArray(data)) {
data = [data]
}
if(!data?.length) return
if(data.length === 0) return
const isAdmin = currentUserInfo.role.includes('uni-im-admin') || currentUserInfo.role.includes('admin') || currentUserInfo.role.includes('staff')
// 处理当前表被作为联查时的副表的情况
let userInfos = data
......@@ -60,16 +60,16 @@ async function afterReadAction({
}
userInfos.forEach(item => {
const real_name = item?.realname_auth?.real_name
const real_name = item.realname_auth ? item.realname_auth.real_name : ''
// 如果real_name以uni-im-encrypt:开头
if (real_name?.startsWith('uni-im-encrypt:')) {
if (real_name.startsWith('uni-im-encrypt:')) {
// console.error('解密real_name',real_name,item._id)
item.realname_auth.real_name = decrypt(real_name)
// console.error('解密后real_name',item.realname_auth.real_name)
}
})
if (field?.includes("nickname")) {
if (field.includes("nickname")) {
//uni-im 处理查询nickname,但值为空的情况
// 记录没有nickname的用户id
const user_ids = userInfos.filter(item => !item.nickname).map(item => item._id)
......@@ -97,11 +97,11 @@ async function afterReadAction({
userInfos.forEach(item => {
if (!item.nickname) {
const userInfo = usersInfo[item._id]
const userInfo = usersInfo[item._id] || {}
// 管理员可以看到不打码的
if (isAdmin) {
console.log('userInfo',userInfo,'item',item)
item.nickname = userInfo?.username || userInfo?.email || userInfo?.mobile
item.nickname = userInfo.username || userInfo.email || userInfo.mobile
}else{
item.nickname = hideUsernameStr(userInfo.username) || hideEmailStr(userInfo.email) ||
hideMobileStr(userInfo.mobile)
......
......@@ -87,7 +87,8 @@ module.exports = {
member_count:db.command.inc(1)
})
await uniImCo.sendMsg(msgData,user_id)
if(triggerContext.groupInfo?.type === "dcloud-plugin"){
const {type} = triggerContext.groupInfo || {}
if(type === "dcloud-plugin"){
// 刷新记录在im系统中的 插件订单信息
try{
console.error('加入了dcloud-plugin',triggerContext.groupInfo)
......