小程序openid

108 阅读1分钟

微信小程示例代码,\

[JavaScript]  纯文本查看  复制代码

?

010203040506070809101112131415161718//微信小程序获取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]  纯文本查看  复制代码

?

010203040506070809101112131415161718192021222324252627<?php``/**``  * 一段简单的代码``  *  微信登录:获取调用接口获取登录凭证(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]  纯文本查看  复制代码

?

01020304050607080910//正常返回的JSON数据包``{``       "openid": "asS5A*****sGDS",``       "session_key": "AS1g6D****215a=="``}``//错误时返回JSON数据包(示例为Code无效)``{``     "errcode": 40029,``     "errmsg": "invalid code"``}

\