uni-app uni-id用户账号冲突
uni-app uni-id用户账号冲突
操作步骤:
- 偶发,不知道怎么复现
预期结果:
- 只出现一个
实际结果:
- 出现了两个
bug描述:
正常的小程序注册流程,uni-id在数据库中产生了两个openid和unionid一样的的数据,导致报错用户冲突,时间间隔2毫秒
图片
更多关于uni-app uni-id用户账号冲突的实战教程也可以访问 https://www.itying.com/category-93-b0.html
快发个demo来,我试试
时隔一年,我今天也发现这个问题了,然而官方还是没有修复
详细说下你的问题,我这边看一下。
我也出现这个问题了,从去年11月份到今天,统计了一下出现了13条异常数据(wx_openid.mp-weixin 重复2次以上,其中有2条记录重复4次;1次记录出现,wx_openid.mp-weixin为null的情况)
用的哪条数据库查询指令,能查询到所有的这种重复的,我是不会
把数据库里uni-id-users的登录记录删除掉,留下测试和一条自己登录的,出来就可以登录了(这是关于admin登录冲突的,登录时点击太多了)
我也是,遇到这个问题,还没法复现,像是同一时间突然注册两次,而且两次都注册成功了,数据库就存在了两条数据,后续就再也注册不了也登录不了了。
但问题是几乎不太可能是前端发送了两次请求,又不想看源码,恼火啊,小程序刚上线自己测试就发现两个人无法登录,就怕这种问题频繁出现太影响体验了
我今天接到用户反馈,又发生了账号冲突,上次我就修改了源码在报冲突的地方写了数据库日志,今天我查登录异常日志,发现目前为止1万多用户,居然出现了8个账号冲突的现象,全都是同一时间插入了两条相同的用户信息导致的。官方到底什么时候能解决啊,我另一个应用都自己写登录了。
我今天也遇到这个问题了,新的小程序,才 20 个用户就出现了一个冲突的了,产生了两条 wx_openid 和 wx_unionid 一模一样的数据,注册时间相差 7 毫秒,用户逻辑都是采用的 uni-starter 的没改动过,我尝试着在数据库后台表里给 wx_unionid 添加唯一性索引添加不成功,出现:
InvalidIndex.DuplicateKey: E11000 duplicate key error collection: db_UNIDIQHIVX_mp-b5c31ebe-5abb-48f5-9c7f-4bd684fc5c87.uni-id-users index: 微信注册用户唯一性约束 dup key: { wx_unionid: null } RequestId: 9223D9A1-E695-58B3-ACCA-3E5DE18856F8 POST “http://mpserverless.aliyuncs.com” 400
官方的人进来给看一下啊,这么严重的 bug 不能一直留着不解决啊
添加稀疏索引也不行,报错:
InvalidIndex.DuplicateKey: E11000 duplicate key error collection: db_UNIDIQHIVX_mp-b5c31ebe-5abb-48f5-9c7f-4bd684fc5c87.uni-id-users index: 微信注册用户唯一性约束 dup key: { wx_unionid: “oLcRG6k0PhqPGiTK-tJUoWpN-dio” } RequestId: FB550A8A-D2F3-5909-A93B-6DF581C3C405 POST “http://mpserverless.aliyuncs.com” 400
可能还有其他重复数据,我检查删掉试试,一工注册了不到 20 个用户,居然有三四个重复的
重复率相当之高啊,全部检查了一边,把所有的重复账号删除掉多余的,然后再对 wx_unionid 添加稀疏索引就好了,幸亏发现的早,但愿这个 uni-id 系统不要再出什么幺蛾子了