小程序openid

微信小程示例代码,
[JavaScript]  纯文本查看  复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
//微信小程序获取code和GET请求数据
wx.login({
       success: function (res) {
                       //获取登录code= res.code
         if (res.code) {
           //发起网络请求,相等于jq的ajax
           wx.request({
             url: 'https://weixin.c***3.com/code.php' , //你服务器code.php文件地址,默认GET。小程序只支持https ,
             data: {
               code: res.code  
             }
             //为了自身应用安全,获取的openid和session_key不应该在网络上传输,所以不设置成功回调,可以服务器直接加密存数据库
           })
         } else {
           console.log( '获取用户登录态失败!' + res.errMsg)
         }
       }
     });
后台服务器code.php处理文件
[PHP]  纯文本查看  复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/**
  * 一段简单的代码
  *  微信登录:获取调用接口获取登录凭证(code)进而换取用户登录态信息,包括用户的唯一标识(openid)
  */
 
$code = $_GET [ 'code' ];
$appid = "wx1f1******dcb" ; //微信开发者appId
$secret = "502d******f9f8" ; // appId秘钥
 
$api = "https://api.weixin.qq.com/sns/jscode2session?appid={$appid}&secret={$secret}&js_code={$code}&grant_type=authorization_code" ; //调用官方接口
 
//封装方法:从接口中获取内容
function httpGet( $url ){
     $curl = curl_init();
     curl_setopt( $curl , CURLOPT_RETURNTRANSFER, true);
     curl_setopt( $curl , CURLOPT_TIMEOUT,500);
     curl_setopt( $curl , CURLOPT_SSL_VERIFYPEER, true);
     curl_setopt( $curl , CURLOPT_SSL_VERIFYHOST , true);
     curl_setopt( $curl , CURLOPT_URL, $url );
     $res = curl_exec( $curl );
     curl_close( $curl );
     return $res ;
}
$str = httpGet( $api ); //执行方法:从接口中获取内容(json格式)
echo $str ;
?>
执行成功数据输出json
[HTML]  纯文本查看  复制代码
?
01
02
03
04
05
06
07
08
09
10
//正常返回的JSON数据包
{
       "openid": "asS5A*****sGDS",
       "session_key": "AS1g6D****215a=="
}
//错误时返回JSON数据包(示例为Code无效)
{
     "errcode": 40029,
     "errmsg": "invalid code"
}

你可能感兴趣的:(小程序)