博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小程序授权代码示例
阅读量:7037 次
发布时间:2019-06-28

本文共 1350 字,大约阅读时间需要 4 分钟。

 public function authlogin(){ 

if($_GET){

            $appid = ''; //微信的appid
            $secret= ''; //微信的secret秘钥
            $code= $_GET['code'];//小程序传来的code值
            $url = "https://api.weixin.qq.com/sns/jscode2session?appid={$appid}&secret={$secret}&js_code={$code}&grant_type=authorization_code"; //请求接口获取openid
            $open = $this->http_curl($url);
            //yourAppid为开发者appid.appSecret为开发者的appsecret,都可以从微信公众平台获取
            $openid = $open['openid'];
            $sid = $_POST['sid'];//邀请人id
            $where['openid']=$openid;
            $list=M('user')->where($where)->find();
            if ($list !=null) { //如果数据库中存在此用户的信息,则不需要重新获取
                // $list['status']=1;
                 $arr=array('msg'=>'已经授权过了','code'=>'0','status'=>'1','list'=>$list,'openid'=>$openid);
                echo json_encode($arr,JSON_UNESCAPED_UNICODE);
            }else {
                $arr=array('msg'=>'还没有授权','code'=>'0','status'=>'0','list'=>$list,'openid'=>$openid);
                echo json_encode($arr,JSON_UNESCAPED_UNICODE);
            }
        }else{
            $arr=array('msg'=>'请求错误','code'=>'1');
            echo json_encode($arr,JSON_UNESCAPED_UNICODE);
        }

}

   public function http_curl($url){

        //用curl传参
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
        //关闭ssl验证
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
        curl_setopt($ch,CURLOPT_HEADER, 0);
        $output = curl_exec($ch);
        curl_close($ch);
        return json_decode($output, true);
    }

转载于:https://www.cnblogs.com/xiaoqiangjun/p/10774988.html

你可能感兴趣的文章
C#判断鼠标在某个区域内
查看>>
centos6.4挂载iscsi网络存储
查看>>
Vmware虚拟机快速使用桥接模式上网
查看>>
PHP写WebService
查看>>
microsoft office 2013 完全 卸载 工具 来自微软官方
查看>>
AlwaysOn业务IP和高可用IP分开使用(二)
查看>>
Kubernetes 配置管理 ConfigMap(十二)
查看>>
PHP - 获取音频长度
查看>>
关于使用ASP.NET和数据库的笔记
查看>>
为什么还是穷人:工作的态度
查看>>
在JFinal的Controller中接收json数据
查看>>
linux系统中对逻辑卷(lvm)的实现
查看>>
php代码上传到linux服务器无法正常显示
查看>>
一起学Shell之(二)输出以及其它
查看>>
ASP.NET的后台Long-Running任务
查看>>
为WP7添加动态Tile
查看>>
使用rrdtool自定义绘图监控Oracle数据库
查看>>
Linux下配置Squid基础教程
查看>>
.NET应用架构设计—面向查询服务的参数化查询设计(分解业务点,单独配置各自的数据查询契约)...
查看>>
Java中final和static关键字总结
查看>>