摘抄这篇文章不是说它的思路有多好,事实上,我们在用微博登录后,如果用getUserInfo方法获取个人信息的时候,里面已经包含了openId的信息了。所以,如果支持微博登录的话,有些信息也可以利用了。。
原文来自:http://lab.wehefei.com/posts/394
当qq登陆成功后,QQ会给我们返回一个唯一的用户标识,也就是openId。
这个openId是绝对唯一确定用户的标识,你可以把它理解成QQ号。当取得openId的时候,你就需要修改原网站的user表 或 重新建立一个新表,这样做的目的是为了把openId和网站原用户进行绑定。
当qq用户登陆的时候,就需要通过openId去user表查询,如果有查询到,那么就直接修改session登陆成功;
如果没有查询到,就证明是第一次登陆,需要跳转到绑定页面,让用户绑定一个用户名(也就是说创建一个新用户),然后在修改session登陆成功。
例:
1.首先修改用户表(user)增加一个openId字段 或者重新建立一个新表
2.前面说不是用户登录后能得到openId吗?
openId是绝对唯一确定用户的标识 ,所以我们就根据这个(openId)判断
第一步:查询用户表里是否有 openId == 用户登录的openId
if(qq登陆用户openId如果用户表里查出来有的话){
根据openId取得用户信息 跳转到登陆后的用户。
}else if(qq登陆用户openId如果在户表里有没有的话) {
跳转到绑定页面,也就是创建一个新的用户(具体可以参照我的网站:http://ppptuan.com)
//创建的过程中你还可以加判断的
if(如果注册用已经有帐号了){
直接绑定 跳转到登陆后的页面。
}else if(没有帐号){
跳转到注册页面 然后绑定 跳转到登陆后的页面
}
}
思路大概就是这个样子。
当然第二种方法:
可以直接在我们member表添加一个openId的字段就OK了
----------
其实我想表达的是这里面的伪代码想法不错,在开发中,有时候就需要写这样的伪代码来先整理自己的思路。所以其实这篇文章想推荐给我的团队其他同事,在开发前一定要先把思路理清。不想写流程图就写伪代码吧。