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