tp5微信授权登录

水深无声 2023-01-15 03:40 186阅读 0赞

今天跟大家分享一下微信小程序的授权登录接口,其实是上也没有什么东西,上代码吗

  1. $appid = '自己的APPid';
  2. $secret = '自己的秘钥';
  3. //前端获取的code码
  4. $code =input('code');
  5. if(!$code){
  6. echo json_encode(array('status'=>0,'err'=>'非法操作!'));
  7. exit();
  8. }
  9. $get_token_url="https://api.weixin.qq.com/sns/jscode2session?appid=".$appid."&secret=".$secret."&js_code=".$code."&grant_type=authorization_code";
  10. //开启会话获取openid
  11. $ch = curl_init();
  12. curl_setopt($ch,CURLOPT_URL,$get_token_url);
  13. curl_setopt($ch,CURLOPT_HEADER,0);
  14. curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
  15. curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,10);
  16. $price = curl_exec($ch);
  17. curl_close($ch);
  18. echo $price;
  19. exit();

开启会话获取到openid,返回前端通过openid返回微信用户的头像、名称,
然后进行数据库存储;

  1. $openid =input('openid');
  2. $name =input('name');
  3. $img =input('img');
  4. if(!$openid){
  5. echo json_encode(array('status'=>0,'err'=>"授权失败!"));
  6. exit();
  7. }
  8. $con['openid']=trim($openid);
  9. $uid= Db::name('表名')->where($con)->field('id')->find();
  10. if($uid){
  11. echo json_encode(array('status'=>2,'msg'=>'请求成功','userid'=>$uid['id']));
  12. exit();
  13. }else {
  14. $data['name']=$name;
  15. $data['img']=$img;
  16. $data['openid']=$openid;
  17. $data['create_time']=date("Y-m-d H:i:s");
  18. $res=Db::name('user')->insert($data);
  19. $userid =Db::name('user')->getLastInsID();
  20. if($res){
  21. $insert =array();
  22. $insert['id']=$userid;
  23. echo json_encode(array('status'=>1,'msg'=>'请求成功','data'=>$insert));
  24. exit();
  25. }else{
  26. echo json_encode(array('status'=>0,'err'=>'授权失败!'));
  27. exit();
  28. }
  29. }

今天的分享就到这里了,有什么不懂得可以私聊小编,谢谢大家。

发表评论

表情:
评论列表 (有 0 条评论,186人围观)

还没有评论,来说两句吧...

相关阅读

    相关 授权登录

    首先说一下我写这个的初衷: 我有一个应用场景:就是我们的网站最近计划添加微信登录功能,PC端。 然后做微信的技术选型,网上乱七八糟的说什么的都有,看得头晕脑花,想骂人。没办

    相关 网页授权登录

      用户通过点击微信公众平台中的菜单链接,进行网页授权获取openId进行无感应登录  微信菜单可以通过公众平台中进行配置  如果使用了微信服务器响应器地址,则需要使用代码生