微信小程序开放了微信登录的api,无论是个人还是企业申请的小程序均可使用。
首先创建一个项目,把这些代码都清空,我们自己写!
然后,开始写了!
首先index.wxml,写一个button用于发起登录
index.wxml
-
<!--index.wxml-->
-
<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
-
//index.js
-
//获取应用实例
-
const app = getApp()
-
Page({
-
data: {
-
},
-
//登录获取code
-
login:function(){
-
wx.login({
-
success:function(res){
-
console.log(res.code)
-
//发送请求
-
wx.request({
-
url: 'test.php', //接口地址
-
data: {code:res.code},
-
header: {
-
'content-type': 'application/json' //默认值
-
},
-
success: function (res) {
-
console.log(res.data)
-
}
-
})
-
}
-
})
-
}
-
})
app.js,这个清空,留下这样就行了
-
//app.js
-
App({
-
})
那么到这里,小程序端已经搞定了。
开始写服务端,也很容易。
首先获取从小程序传过来的code
再配置自己小程序的appid和appscret
把这些参数拼接到api接口上进行请求发送就可以返回openid和session_key
-
<?php
-
//声明CODE,获取小程序传过来的CODE
-
$code = $_GET["code"];
-
//配置appid
-
$appid = "修改成你小程序的APPID";
-
//配置appscret
-
$secret = "修改成你小程序的APPSECRET";
-
//api接口
-
$api = "https://api.weixin.qq.com/sns/jscode2session?appid={$appid}&secret={$secret}&js_code={$code}&grant_type=authorization_code";
-
//获取GET请求
-
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);
-
echo $str;
-
?>
OK完成!把服务端上传到服务器,换到上面的这里
然后就可以再控制台打印出openid和session_key了
获取到了,你想怎么玩就怎么玩!后面可以通过wx.getUserinfo获取用户基本信息(头像,昵称,城市,个性签名等相关信息)