1、获取用户头像、昵称
//获取用户信息
wx.getUserProfile({
desc: 'desc',
//成功回调
success(res){
onself.setData({
nickname:res.userInfo.nickName,
image:res.userInfo.avatarUrl
})
}
})
2、成功获取用户信息后需要获取登录凭证(code)wx.login(Object object) | 微信开放文档
通过凭证进而换取用户登录状态信息,进而获取小程序的唯一标识(openid)及本次登录的会话密钥(session_key)等
wx.login({
success(res){
//获取验证码
let code=res.code;
//发送请求
wx.request({
url: 'http://www.wty.com/api/login',
dataType:'json',
method:'POST',
data:{
code:code, //验证码
nickname:onself.data.nickname, //昵称
image:onself.data.image //头像
},
success(res){
if(res.data.code==200){
//缓存用户id
wx.setStorageSync('id', res.data.data)
}
}
})
}
})
#获取登录时验证码
$code=$data['code'];
#获取小程序密钥
$appId="";
$appSecret="";
#小程序登录请求地址
$url="";
#获取open_id及session_key
$userInfo=json_decode(file_get_contents($url),true);
#判断数据库是否有open_id
$res=\app\api\model\Login::where('open_id',$userInfo['openid'])->find();
#如果有返回当前用户id 如果没有则添加入口 并返回用户id
if($res){
$id=$res->id;
return $id;
}else{
$arr=\app\api\model\Login::create([
'nickname'=>$data['nickname'],
'image'=>$data['image'],
'open_id'=>$userInfo['openid'],
'session_key'=>$userInfo['session_key']
]);
$id=$arr->id;
return $id;
}