环信web、uniapp、微信小程序SDK报错详解---登录篇

项目场景:

记录对接环信sdk时遇到的一系列问题,总结一下避免大家再次踩坑。这里主要针对于web、uniapp、微信小程序在对接环信sdk时遇到的问题。主要针对报错400、404、401、40
(一) 登录用户报400

原因分析:

从console控制台输出及network请求返回入手分析

可以看到报错描述invalid password,密码无效,这个时候就需要去排查一下该用户密码填写是否正确

排查思路:

因为环信不保存用户的密码,可以在console后台或者调用修改密码的restapi来修改一下密码再重新登录(修改密码目前只有这两种方式)

(二) 登录用户报404

原因分析:

从console控制台输出及network请求返回入手分析

可以看到报错描述user not found,这个时候就需要去排查一下该用户是否存在于该项目使用的appkey下了

排查思路:

可以看一下console后台拥有这个用户的appkey和自己项目初始化时用的是否是同一个,若在console后台并没有查到该用户,就要注意这个用户是否真的没有注册

(三) 登录用户报40、401

原因分析:

报错40或者401一般都是token的问题,需要排查一下token是否还在有效期,token是否是当前用户的用户token

40的报错还有一种情况,用户名密码登录需要排查用户名及密码传参是否都是string类型

注:此处需要注意用户token和apptoken两种概念
用户token指的是该用户的token,一般只用于该用户在客户端使用环信 token 登录和鉴权
app token指的是管理员权限 token,发送 HTTP 请求时需要携带 app token

token较为私密,一般不要暴露出去

排查思路:

排查用户名及密码传参是否都是string类型,这个可以直接将option传参打印出来取一下数据类型看看是否是string

关于token排查,现在没有合适的办法直接查询token是否还在有效期或者是不是当前用户的token,只能通过api调用看是否报错401,可以在console后台直接获取新的用户token来测试一下

是不是当前用户的token也可以找环信的技术支持帮忙查,但在不在有效期他们也查不了

话外:

有人遇到为什么已经open成功了但是还会报错?

这里要注意open只能证明获取到了token,证明不了已经建立了websocket连接,只有触发onOpened或者onConnected回调 只有onOpened或者onConnected回调触发,才算真正与环信建立连接。所以也不能在open返回的success或者.then中做任何逻辑处理,此外还要注意监听回调一定要放在调用api之前,在调用任何一个api时都要保证监听挂载完毕,包括open

如何判断自己是否在登录状态

可以用以下三种方法中的一种判断当前用户是否在登录状态~

1、WebIM.conn方法下有一个logOut字段,该字段为true时表明未登录状态,该字段为false时表明登录;

2、WebIM.conn.isOpened () 方法有三个状态,undefined为未登录状态,true为已登录状态,false为未登录状态,可以根据这三个状态去判断是否登录;

3、通过onOpened 这个回调来判断,只要执行了就说明登录成功了,输出的话,输出的是undefined

三者选其一判断登录状态

相关推荐
Csvn8 分钟前
性能监控
前端
Csvn34 分钟前
构建工具
前端
FRing031 小时前
vue2干货总结3(computed计算属性、watch监听器)
开发语言·前端·vue.js·vue2
kyriewen3 小时前
Skills 榜前 10 我全装了:只有 3 个能直接用
前端·javascript·程序员
IT_陈寒4 小时前
当Java的hashCode遇上Lombok,我的缓存被全清了
前端·人工智能·后端
工控丫丫4 小时前
帆软看板中经常使用的公式函数及经常搭的组合
前端·javascript·数据库
jerrywus4 小时前
我用 GPT-6.1-sol 做了台会讲解的 3D 售货机:60 罐饮料,一口没喝上
前端·agent·claude
孟陬6 小时前
Foobar 技术周刊#159:当看不懂代码时,如何高效排障调试。脏页陷阱:一条只读查询,写入数 TB 数据。推测解码:大模型加速利器
前端·人工智能·后端
Zhao-Jichao6 小时前
AI Prompting for Everyone 课程笔记 - P17 图像生成 Imaging Generation
前端
Highcharts.js6 小时前
智能数据分析组件Orbit 正式发布与快速上手体验教程
前端·人工智能·信息可视化·数据分析系统·highcharts·orbit·智能可视化