zoukankan      html  css  js  c++  java
  • 微信小程序获取openid

    通过登录接口获取登录凭证,然后通过request请求后台获取openid,需要把后台域名放到小程序后台的request 合法域名内:

    1.wx.login  获取登录凭证

    2.wx.request 发起的是 HTTPS 请求

    3.后台处理请求并返回openid

    下面是实现代码:

    小程序代码:

    wx.login({

        success: function (res) {
            if (res.code) {
                console.log("我是登录凭证:"+res.code);
                var a = that.globalData;  //这里存储了appid、secret
     
                wx.request({
                     url: 'https://XXXXXXXXX/getopenid',  //后台获取openid的链接,该链接域名需要添加到小程序request 合法域名
                     header: { "Content-Type": "application/x-www-form-urlencoded" },
                     method: "POST",
                     data: {  code: res.code, appid: a.appid, appsecret:a.secret },  
                     success: function (res) {
                         that.globalData.openid = res.data.openid;
                         console.log("openid:"+that.globalData.openid);
                     }
               })
            } else {
               console.log('获取用户登录态失败!' + res.errMsg)
            }
        }
    });
    后台获取openid代码:

    public function getopenid(){
    $data = $_POST;
    //echo json_encode($data);
    $appid=$data['appid'];
    $appsecret=$data['appsecret'];
    $code=$data['code'];
    $get_url="https://api.weixin.qq.com/sns/jscode2session?appid=".$appid."&secret=".$appsecret."&js_code=".$code."&grant_type=authorization_code";
    $get_return = file_get_contents($get_url);
    $get_return = (array)json_decode($get_return);
    //$openid=$get_return['openid'];
    echo json_encode($get_return);exit();

    }

    以上就是小程序获取openid的方法。

     
  • 相关阅读:
    C# 串口通信总结
    客户端下载文件和服务器端下载文件总结
    Android 上传图片到 Asp.Net 服务器的问题
    iOS内存泄漏自动检测工具PLeakSniffer
    让iOS开发变得更有效率-分类、工具类
    分分钟解决iOS开发中App启动广告的功能
    响应者链及相关机制总结
    stackoverflow上关于iOS的票数最多(最常见)的15个问题
    iOS 开发之 ReactiveCocoa(进阶)
    iOS 开发之 ReactiveCocoa(基础)
  • 原文地址:https://www.cnblogs.com/fortitude526/p/7760165.html
Copyright © 2011-2022 走看看