判断用户是否过期(如果未过期则重新登录):
获取用户信息:
获取用户的信息并在前台显示:
主要实现两个功能:
①判断登录是否过期,如果过期则就重新登录,如果没过期就提示未过期
②获取用户的信息,并在前台显示
index.wxml
-
<button bindtap="login">登录
</button>
-
<button bindtap="checksession">登录是否过期
</button>
-
<button open-type="getUserInfo" bindgetuserinfo="info">点击授权
</button>
-
<text>{{city}}
</text>
-
<text>{{country}}
</text>
-
<text>{{nickName}}
</text>
-
<text>{{province}}
</text>
index.js
-
//index.js
-
//获取应用实例
-
const app = getApp()
-
-
Page({
-
data: {
-
city:
'',
-
country:
'',
-
nickName:
'',
-
province:
''
-
},
-
//发起http请求
-
login:
function(){
-
wx.login({
-
success:
function(res){
-
console.log(res.code)
-
//发送请求
-
wx.request({
-
url:
'自己的域名',
//仅为示例,并非真实的接口地址
-
data: {
-
code:res.code
-
},
-
header: {
-
'content-type':
'application/json'
// 默认值
-
},
-
success(res) {
-
console.log(res)
-
}
-
})
-
}
-
})
-
},
-
//验证登录是否过期
-
checksession:
function(){
-
wx.checkSession({
-
success:
function(res){
-
console.log(res,
'登录未过期')
-
wx.showToast({
-
title:
'登录未过期啊',
-
})
-
},
-
fail:
function(res){
-
console.log(res,
'登录过期了')
-
wx.showModal({
-
title:
'提示',
-
content:
'你的登录信息过期了,请重新登录',
-
})
-
//再次调用wx.login()
-
wx.login({
-
success:
function (res) {
-
console.log(res.code)
-
//发送请求
-
wx.request({
-
url:
'自己的域名',
//仅为示例,并非真实的接口地址
-
data: {
-
code: res.code
-
},
-
header: {
-
'content-type':
'application/json'
// 默认值
-
},
-
success(res) {
-
console.log(res)
-
}
-
})
-
}
-
})
-
}
-
})
-
},
-
//获取用户的信息
-
info:
function(){
-
var that=
this
-
wx.getUserInfo({
-
success:
function(res){
-
console.log(res.userInfo)
-
var city = res.userInfo.city
-
var country = res.userInfo.country
-
var nickName = res.userInfo.nickName
-
var province = res.userInfo.province
-
that.setData({
-
city:city,
-
country:country,
-
nickName:nickName,
-
province:province
-
})
-
}
-
})
-
}
-
})
index.php
-
<?php
-
//声明code,用来接收前台传过来的code
-
$code=$_GET[
'code'];
-
-
//获取到appid
-
$appid=
"xxxxxxxxxxx";
//自己的appid
-
$secret=
"xxxxxxxxxxxx";
//自己的secret
-
$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);
-
-
echo $str;
-
?>
关于这个php文件的说明:
①获取appid和secret:
②当你点击登录的时候,出现这些东西就说明php文件调用成功
③登录凭证校检地址(该里面的参数即可):
④域名要合法
在小程序平台上:
在web开发者工具里: