更换开放平台后,怎样才能让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'
}
那么恭喜你,你想更换开放平台就太难了。。。