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;
