评论

更换开放平台后,怎样才能让unionid的改变不影响业务流程?

更换开放平台后,unionid会改变;但是好的业务架构,可以不受unionid的变更的影响,取决于你怎么理解和使用unionid。

更换开放平台后,unionid会改变;但是好的业务架构,可以不受unionid的变更的影响,取决于你怎么理解和使用unionid。


一、unionid应该仅用于关联,即:

假如

老unionid=unionidOld,

新unionid=unionidNew

//通过老unionid关联
if(user1.unionidOld==user2.unionidOld) user1.openid2=user2.openid //user1通过老unionid关联上了user2,是同一人
//user1.openid2可以永久保存在user1的记录中,永久绑定了,你unionid再怎么改,都不会影响了。

//同样,通过新unionid关联
if(user1.unionidNew==user2.unionidNew) user1.openid2=user2.openid //user1通过新unionid关联上了user2,是同一人

可见,更换开放平台完全不影响业务逻辑,甚至老unionid和新unionid可以在数据库中并存,没有任何影响。


二、如果你的表设计成:

{
_id:unionid,
_openid:openid,
nickName:'xxx'
}

那么恭喜你,你想更换开放平台就太难了。。。

最后一次编辑于  2021-09-15  
点赞 1
收藏
评论

1 个评论

  • 想飞
    想飞
    2023-04-17

    似乎没有说到公众号和小程序,各只有一边的openid和旧的unionid的情况。就是说原来我是小程序登的,我没有登过公众号,这个情况下没有公众号的openid,只有小程序的openid,换平台后我是先进公众号,这时只能取得新的unionid和公众号的openid,这两个都跟旧的关联不上,但它确实是旧的小程序用户,怎么处理呢?现在知道的只能新增一个用户,等哪天它用回小程序登时才能关联合并数据处理。不知有没更好方案。

    2023-04-17
    赞同
    回复 1
    • 老张
      老张
      2023-04-17
      是的,只能“等哪天”,没有别的方案。
      2023-04-17
      回复
登录 后发表内容