======= Web端使用问题 ======= **Web 端是否支持多页面登陆** 支持,需要开通多设备同步功能,并在WebIMConfig.js 中设置 isMultiLoginSessions : true [[http://docs-im.easemob.com/im/extensions/value/multidevice#%E5%A4%9A%E8%AE%BE%E5%A4%87%E5%90%8C%E6%AD%A5|多端多设备]] ---- **Web 端怎么获取历史记录** 1) 调用环信rest api,导出环信历史记录,保存到本地,实现拉取 (不实时) [[http://docs-im.easemob.com/im/server/basics/chatrecord#获取历史消息文件|Rest获取历史记录文件]] 2) 开通实时回调功能,有上行消息时会主动将消息推到您自己配置的服务器地址,然后实现拉取展示(实时,增值) [[http://docs-im.easemob.com/im/extensions/value/rtmsgcallback#实时消息回调|消息实时回调]] 3)3.0 版本的 Web sdk,提供了一个拉取历史消息的方法,需要开通消息漫游才能使用  (实时,增值) [[http://docs-im.easemob.com/im/extensions/value/messageroaming#web|漫游消息]] ---- **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 ----