如题,现在遇到个问题有个疑惑,如果开始微信没有绑定多个平台,而是通过不同方式进入是否会产生openid重复的事儿,比如通过公众号进入获取的openid,通过app进入获取的openid,以及通过小程序进入获取的openid这三种不同形式进入都会产生独有的openid,在没有将这三个进行绑定时没有unionid; 现在就想问三种方式产生的openid是否会产生重复,比如通过公众号生成的openid,已经入库,如果现在通过app或者小程序或者其联合绑定之后再次生成openid或者unionid是否会与公众号产生的openid重复,导致登录时用户信息覆盖的情况?
理论上有可能重复。
有unionid就可以拿到唯一的id,但很多api接口都需要你通过openid拿数据,因此你要分开一个用户有公众号openid,小程序openid,等等来入库,不能一个用户只有一个openid。
另外联合unionid这个按理来说不应该存在重复的情况,但是我们一位用户反馈他登录时(通过unionid拿取信息)获取的用户信息并不是他自己的而是一个刚刚注册几天的用户信息(也是unionid)这种情况有可能是因为unionid重复导致么?
修改数据库,让unionid和openid分开保存才是王道啊。或者给以前的老openid先统一加个前缀,这样以后取出来的id先判断是不是有前缀,有就说明是openid,没有的话就是unionid,这样也不会担心重复问题。
刚刚注册几天的用户,指的是数据已经存储了用户unionid(非空的),然后第二个用户通过授权接口获取微信unionid时获取了跟库里一模一样的unionid了,但是第二个用户又否认那个用户是他的,他说用户信息(通过unionid抓取的存储信息)他不认识也不知道那个用户是谁,这就很尬了