微信小程序用户授权,以及判断登录是否过期的方法
初始界面:
判断用户是否过期(如果未过期则重新登录):
获取用户信息:
获取用户的信息并在前台显示:
主要实现两个功能:
①判断登录是否过期,如果过期则就重新登录,如果没过期就提示未过期
②获取用户的信息,并在前台显示
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开发者工具里:
相关推荐
kgshuo 2020-09-25
Tomato 2020-09-10
taiyangyu 2020-09-10
CodeAndroid 2020-09-10
small 2020-07-29
sucheng 2020-07-26
zuoliangzhu 2020-07-20
CodeAndroid 2020-07-14
xiaoxubbs 2020-07-04
sucheng 2020-06-25
kgshuo 2020-06-14
意外金喜 2020-06-14
zuoliangzhu 2020-06-14
tianping 2020-06-14
hgzhang 2020-06-14
killgod 2020-06-14
戴翔的技术 2020-06-14
郴州小程序 2020-06-13