微信小程序用户授权,以及判断登录是否过期的方法


Posted in Javascript onMay 10, 2019

初始界面:

微信小程序用户授权,以及判断登录是否过期的方法

判断用户是否过期(如果未过期则重新登录):

微信小程序用户授权,以及判断登录是否过期的方法

获取用户信息:

微信小程序用户授权,以及判断登录是否过期的方法

获取用户的信息并在前台显示:

微信小程序用户授权,以及判断登录是否过期的方法

 

主要实现两个功能:

①判断登录是否过期,如果过期则就重新登录,如果没过期就提示未过期

②获取用户的信息,并在前台显示

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开发者工具里:

微信小程序用户授权,以及判断登录是否过期的方法

以上所述是小编给大家介绍的微信小程序用户授权及判断登录是否过期详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js 小数取整的函数
May 10 Javascript
浅谈javascript的原型继承
Jul 25 Javascript
JavaScript事件处理器中的event参数使用介绍
May 24 Javascript
JavaScript中的字符串操作详解
Nov 12 Javascript
jQuery选择器全面总结
Jan 06 Javascript
jQuery拖拽插件gridster使用指南
Apr 21 Javascript
WordPress中利用AJAX异步获取评论用户头像的方法
Jan 08 Javascript
Bootstrap每天必学之导航组件
Apr 25 Javascript
JS中Select下拉列表类(支持输入模糊查询)功能
Jan 17 Javascript
JQuery 又谈ajax局部刷新
Nov 27 jQuery
完美解决手机浏览器顶部下拉出现网页源或刷新的问题
Nov 30 Javascript
在vue中实现清除echarts上次保留的数据(亲测有效)
Sep 09 Javascript
利用es6 new.target来对模拟抽象类的方法
May 10 #Javascript
Angular4.0动画操作实例详解
May 10 #Javascript
Angular 2使用路由自定义弹出组件toast操作示例
May 10 #Javascript
Angular2使用SVG自定义图表(条形图、折线图)组件示例
May 10 #Javascript
vue 实现搜索的结果页面支持全选与取消全选功能
May 10 #Javascript
Vue项目中配置pug解析支持
May 10 #Javascript
Angular2实现的秒表及改良版示例
May 10 #Javascript
You might like
批量获取memcache值并按key的顺序返回的实现代码
2011/06/14 PHP
深入PHP FTP类的详解
2013/06/13 PHP
curl实现站外采集的方法和技巧
2014/01/31 PHP
基于jQuery的自动完成插件
2011/02/03 Javascript
ASP.NET jQuery 实例2 (表单中使用回车在TextBox之间向下移动)
2012/01/13 Javascript
基于jquery库的tab新形式使用
2012/11/16 Javascript
jQuery扁平化风格下拉框美化插件FancySelect使用指南
2015/02/10 Javascript
javascript检测两个数组是否相似
2015/05/19 Javascript
Angular.js之作用域scope'@','=','&amp;'实例详解
2017/02/28 Javascript
详解用webpack2.0构建vue2.0超详细精简版
2017/04/05 Javascript
Cpage.js给组件绑定事件的实现代码
2017/08/31 Javascript
基于匀速运动的实例讲解(侧边栏,淡入淡出)
2017/10/17 Javascript
vue element-ui table表格滚动加载方法
2018/03/02 Javascript
原生JS实现相邻月份日历
2020/10/13 Javascript
[03:59]5分钟带你了解什么是DOTA2(第二期)
2017/02/07 DOTA
python定时器(Timer)用法简单实例
2015/06/04 Python
一些常用的Python爬虫技巧汇总
2016/09/28 Python
Python端口扫描简单程序
2016/11/10 Python
详解Python装饰器由浅入深
2016/12/09 Python
Python 绘图和可视化详细介绍
2017/02/11 Python
对python的文件内注释 help注释方法
2018/05/23 Python
10分钟教你用Python实现微信自动回复功能
2018/11/28 Python
Python中的heapq模块源码详析
2019/01/08 Python
在Python中如何传递任意数量的实参的示例代码
2019/03/21 Python
python数据类型强制转换实例详解
2020/06/22 Python
一篇文章搞懂python的转义字符及用法
2020/09/03 Python
python向企业微信发送文字和图片消息的示例
2020/09/28 Python
CSS3点击按钮实现背景渐变动画效果
2016/10/19 HTML / CSS
HTML5梦幻之旅——炫丽的流星雨效果实现过程
2013/08/06 HTML / CSS
英国最受信任的在线眼镜商之一:Fashion Eyewear
2019/10/31 全球购物
乌克兰网上珠宝商店:GoldSoveren
2020/03/31 全球购物
临床医师个人自我评价
2014/04/06 职场文书
500字作文之周记
2019/12/13 职场文书
Python函数式编程中itertools模块详解
2021/09/15 Python
开机音效回归! Windows 11重新引入开机铃声
2021/11/21 数码科技
vue实现在data里引入相对路径
2022/06/05 Vue.js