uniapp引入uniim后聊天列表无法加载出来

解决方案:

提示:这个问题其实搞了很久,在安卓和ios真机上看不出来,但是放到浏览器上就报一个can't ....property.... userInfo的问题

其实就是在读取数据库上后返回的数据里面的userInfo[key],key=nickname的时候没有获取到这个属性的问题项目目录下的/uni_modules/uni-im/sdk/methods/users.js。

merge(usersInfo) {
    if (Array.isArray(usersInfo)) {
      let obj = {}
      usersInfo.forEach(item => {
        obj[item._id] = item
      })
      usersInfo = obj
    }
		for(let key in usersInfo){
			if(!usersInfo[key]) continue;
			const {nickname} = usersInfo[key]
			if (nickname && !nickname.includes('(')){
				usersInfo[key] = new Proxy(usersInfo[key], {
					get(target, prop) {
						if(prop === 'nickname'){
							const alias = $state.userAlias[target._id]
							if(alias){
								return target[prop] + ' (' + alias + ')'
							}
						}
						return target[prop]
					}
				})
			} else {
				console.log('已经代理过了',usersInfo[key].nickname)
			}
		}
    Object.assign($state.users, usersInfo)
  },

在循环中加一个:if(!usersInfo[key]) continue;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值