Web端使用问题

Web 端是否支持多页面登陆

支持,需要开通多设备同步功能,并在WebIMConfig.js 中设置 isMultiLoginSessions : true 多端多设备


Web 端怎么获取历史记录

1) 调用环信rest api,导出环信历史记录,保存到本地,实现拉取 (不实时) Rest获取历史记录文件

2) 开通实时回调功能,有上行消息时会主动将消息推到您自己配置的服务器地址,然后实现拉取展示(实时,增值) 消息实时回调

3)3.0 版本的 Web sdk,提供了一个拉取历史消息的方法,需要开通消息漫游才能使用  (实时,增值) 漫游消息


Web使用token 登陆,怎么获取用户的token

请求Url:https://a1.easemob.com/orgName/appName/token

请求body:{ grant_type : 'password', username : 'user', password : 'pwd' };


本地文件方式引入集成,出现:Uncaught TypeError: WebIM.message is not a constructor

需要添加default,可以直接定义 WebIM.message = WebIM.default.message


Web 每次刷新页面,都需要重新登陆么

是的,每次刷新都需要重新登陆,可以使用token 进行重连


漫游消息是否可以过滤cmd消息

不会过滤,拉取到的时候全部类型消息,Web SDK V3.0.10 版本支持返回消息类型


判断当前页面是否已登陆

使用WebIM.conn.isOpened() 判断

如果已登陆,就是true 未登陆就是 undefined


头像昵称如何展示

用户的头像昵称是开发者自己服务器维护的,聊天页面中的昵称可以使用ext 将携带发给对方,接收方收到后解析


Web 会话列表如何实现

需要自己处理,收到消息有回调监听,然后将message.from 自己存起来,每次用户登陆的时候加载已保存的 message.from 列表

Web端集成问题


在Web 端注册提示401,提示无权限

注册模式需要在IM 管理后台改成 开放注册模式,这样就可以在Web端调用SDK 的api注册了 授权注册模式 必须是调用restapi注册,在header中设置管理员token


登陆获取token,请求失败返回404

获取token 404 分两种情况:

1)error:“organization_application_not_found” 这个是因为 restServer 地址设置有问题,也就是WebIMConfig,js 中设置的 apiURL 设置错误,-hsb 是沙箱地址,正确地址为: a1.easemob.com

2):error_description: “user not found” 这个是因为登陆的用户在您appkey 下不存在,您可以先注册再登陆


Web 发送图片成功后,怎么拿到服务端返回的图片地址

在上传图片成功的回调中 onFileUploadComplete 取地址,返回的地址需要拼接:url/uuid


fetcHistoryMessages 为什么没有这个API?

漫游消息的接口 只有在web 3.X以上版本才有


web im发送文本消息报错,type 为503

这个问题可以检查一下发送消息的body 体,看一下是否有参数为 undefined


微信小程序登录时提示onError报type=0

type = 0 没有username 和password 参数,直接点击登陆就是 0,这里可以自己做个提示。


onTermCall 和 onIceConnectionStateChange的回调状态说明

onTermCall

HANGUP 挂断/NORESPONSE 超时无响应/REJECT 拒绝/BUSY 忙碌/FAIL 失败

onIceConnectionStateChange

connected 已连接/disconnected 断开连接/closed 已关闭


Vue 集成SDK有警告: warning in ./node_ modules/ easemob- websdk/webimSDK. js 1:263-264 Critical dependency: require function is used in a way in which dependencies cannot be statically extracted


需要在webpack.base.conf.js添加配置unknownContextCritical: false, exprContextCritical: false,

Web端常见报错问题


调用SDK 方法报错: Cannot read property 'lookup' of undefined

这个是未登陆成功就调用了SDK 的api,需要在onOpened 链接成功回调执行后再去调用SDK 的api


发送消息602

602 是因为给群组发消息,发送方没有在群组内,所以发送消息报错


发送消息604 inter-app communication is not allowed

是需要在初始化的地方加上: appKey:WebIM.config.appkey


发送消息报错:604 no meta to

发送消息的时候,消息类型不对

比如:单聊消息,设置 roomType :true


发送消息503

检查消息中的值,是否有 undefined


type:206 是什么错误

是Web 3.0 SDK 单点登陆被踢的Error


发送附件消息 101

服务器现在附件最大10M,超过限制就会报错:101,可以联系环信商务同事调整


发送附件提示:102


是因为未登陆IM,需要在登陆成功,onOpened 回调执行后调用此api