// 登录
wx.login({
success: res => {
// 发送 res.code 到后台换取 openId, sessionKey, unionId
wx.request({
url: "http://127.0.0.7/api/Login/login", //修改请求地址
data: { code: res.code },
header: {
'content-type': 'application/json'
},
method: "GET",
success(res) {
wx.request({
url: that.link + "Login/setuser",
data: {
openid: res.data.openid
},
header: {
'content-type': 'application/json'
},
success(res) {
//如果有该用户,把用户信息放到公共数组中
if (res.data){
that.globalData.userInfo = res.data //红色的可以更改为别的数组,需要先定义
}
},
})
},
})
}
})
php文件:(红色标记为申请的小程序后台中,开发中有appid和secret)
/*获取用户唯一标识*/
public function login(){
$code=Request::param('code');
$url="https://api.weixin.qq.com/sns/jscode2session?appid=wx69b37be5******&secret=b6ed8d48484522da769******&js_code=".$code."&grant_type=authorization_cod";
$token = json_decode($this->curl_get($url));
return json($token);
}
/*这里是把openid发送过来,查找数据库中有没有该用户信息,如果没有就添加该用户信息,有就读取用户信息*/
/*是否有用户信息*/
public function setuser(){
$data=Request::param();
$user=User::where('account',$data['openid'])->find();
if(!$user){
/*以下写需要添加用户信息的逻辑*/
}else{
return json($user);
}
}/*往微信发送信息,获取唯一标识
后台调用 避免暴露 信息*/
function curl_get($url,&$httpCode = 0){
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
/*不做证书效验,部署在linux环境下请改为true*/
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,10);
$file_contents = curl_exec($ch);
$httpCode = curl_getinfo($ch,CURLINFO_HTTP_CODE);
curl_close($ch);
return $file_contents;
}
本文共 个字数,平均阅读时长 ≈ 分钟,您已阅读:0时0分0秒。
649494848