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

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

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

然后,开始写了!

 

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

index.wxml

 
  1. <!--index.wxml-->

  2. <button bindtap='login'>登录</button>

然后写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. <?php

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

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

  4. //配置appid

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

  6. //配置appscret

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

  8. //api接口

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

  10. //获取GET请求

  11. function httpGet($url){

  12. $curl = curl_init();

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

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

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

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

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

  18. $res = curl_exec($curl);

  19. curl_close($curl);

  20. return $res;

  21. }

  22. //发送

  23. $str = httpGet($api);

  24. echo $str;

  25. ?>

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

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

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值