微信小程序wx.login()获取openid,附:前端+后端代码(超详细版)

微信小程序开放了微信登录的api,无论是个人还是企业申请的小程序均可使用。

首先创建一个项目,把这些代码都清空,我们自己写!

然后,开始写了!

 

首先index.wxml,写一个button用于发起登录

index.wxml

 

然后写index.js

通过wx.login()来获取code
如果成功获取,那么返回code
然后调用wx.request()向服务端发起一个请求,即向登录api接口发送code
换取openid和session_key

api接口:

https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=APPSECRET&js_code=CODE&grant_type=authorization_code
 
  1. //index.js

  2. //获取应用实例

  3. const app = getApp()

  4. Page({

  5. data: {

  6.  
  7. },

  8. //登录获取code

  9. login:function(){

  10. wx.login({

  11. success:function(res){

  12. console.log(res.code)

  13. //发送请求

  14. wx.request({

  15. url: 'test.php', //接口地址

  16. data: {code:res.code},

  17. header: {

  18. 'content-type': 'application/json' //默认值

  19. },

  20. success: function (res) {

  21. console.log(res.data)

  22. }

  23. })

  24. }

  25. })

  26. }

  27. })

 

app.js,这个清空,留下这样就行了

 
  1. //app.js

  2. App({

  3.  
  4. })

那么到这里,小程序端已经搞定了。
开始写服务端,也很容易。

首先获取从小程序传过来的code
再配置自己小程序的appid和appscret
把这些参数拼接到api接口上进行请求发送就可以返回openid和session_key

 
  1. //声明CODE,获取小程序传过来的CODE

  2. $code = $_GET["code"];

  3. //配置appid

  4. $appid = "修改成你小程序的APPID";

  5. //配置appscret

  6. $secret = "修改成你小程序的APPSECRET";

  7. //api接口

  8. $api = "https://api.weixin.qq.com/sns/jscode2session?appid={$appid}&secret={$secret}&js_code={$code}&grant_type=authorization_code";

  9. //获取GET请求

  10. function httpGet($url){

  11. $curl = curl_init();

  12. curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

  13. curl_setopt($curl, CURLOPT_TIMEOUT, 500);

  14. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);

  15. curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, true);

  16. curl_setopt($curl, CURLOPT_URL, $url);

  17. $res = curl_exec($curl);

  18. curl_close($curl);

  19. return $res;

  20. }

  21. //发送

  22. $str = httpGet($api);

  23. echo $str;

  24. ?>

OK完成!把服务端上传到服务器,换到上面的这里

然后就可以再控制台打印出openid和session_key了

获取到了,你想怎么玩就怎么玩!后面可以通过wx.getUserinfo获取用户基本信息(头像,昵称,城市,个性签名等相关信息)

你可能感兴趣的:(微信小程序wx.login()获取openid,附:前端+后端代码(超详细版))