小程序-手机号登录

219 阅读1分钟

1、根据小程序-静默登录中的中间件来获取用户id

image.png

image.png

2、前端用open-type="getPhoneNumber"来获取code并发送给后台

注:code需要本地设置中的基础调试库的版本较高才能获取

wxml image.png

js

image.png

3、在微信公众平台中找到微信小程序手机号注册文档

image.png

  1. 将postUrl、appid、secret封装到config目录下

image.png

  1. 在service层中封装获取access_token的方法

    注:access_token需要存入缓存,并设置对应有效时间

image.png

这里的curlGet方法可以参考小程序-静默登录中的curlGet方法

  1. 根据刚刚获取到的access_token来请求下一个POST请求方式的地址,根据返回来的值可以获取用户信息

image.png

curlPOST方法

if(!function_exists('curlPost')){
    function curlPost($url,$data){
        $data  = json_encode($data);
        $headerArray =array("Content-type:application/json;charset='utf-8'","Accept:application/json");
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,FALSE);
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
        curl_setopt($curl,CURLOPT_HTTPHEADER,$headerArray);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $output = curl_exec($curl);
        curl_close($curl);
        return json_decode($output,true);
    }
}
  1. 根据用户id添加对应的手机号信息

image.png