更换开放平台后,怎样才能让unionid的改变不影响业务流程?
发布于 3 年前 作者 dsong 391 次浏览 来自 分享

更换开放平台后,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'
}

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

回到顶部