前端获取用户信息发送到后台接口
public function weixinlogin(){
$user = Request()->input();
$check = UserAuthModel::where(['openid'=>$user['openid']])->first();
if (!$check) {
$auth_id = UserAuthModel::insertGetId([
'openid'=>$user['openid'],
'login_type'=>$user['login_type'],
'access_token'=>$user['access_token'],
'token_time'=>strtotime("+30 day")
]);
$user_id = UserModel::insertGetId([
'nickname'=>$user['nickname'],
'avatar'=>$user['avatar'],
]);
$customer = AuthRelModel::create([
'user_id'=>$user_id,
'auth_id'=>$auth_id
]);
$user['user_id'] = $user_id;
} else {
$customer = $check;
$user['user_id'] = $customer['id'];
}
return json_encode(['code'=>0,'msg'=>'登陆成功!','data'=>$user]);
}
数据库设计
用户表 | user |
---|---|
用户名 | nickname |
头像 | avatar |
手机号 | moblie |
因为登录只要手机号验证码所以没有密码
第三方表 | auth |
---|---|
openid唯一表示 | openid |
平台表示0微信1qq2微博… | login_type |
第三方token | access_token |
链接表 | auth_rel |
---|---|
用户id | user_id |
第三方id | auth_id |