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


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 相关文章推荐
EasySlider 基于jQuery功能强大简单易用的滑动门插件
Jun 11 Javascript
javascript检测浏览器flash版本的实现代码
Dec 06 Javascript
推荐17个优美新鲜的jQuery的工具提示插件
Sep 14 Javascript
iframe里的页面禁止右键事件的方法
Jun 10 Javascript
基于JavaScript实现焦点图轮播效果
Mar 27 Javascript
简单谈谈vue的过渡动画(推荐)
Oct 11 Javascript
vue路由跳转时判断用户是否登录功能的实现
Oct 26 Javascript
JS实现不用中间变量temp 实现两个变量值得交换方法
Feb 04 Javascript
vue 录制视频并压缩视频文件的方法
Jul 27 Javascript
使用Vue中 v-for循环列表控制按钮隐藏显示功能
Apr 23 Javascript
jQuery实现可以扩展的日历
Dec 01 jQuery
js+html+css实现手动轮播和自动轮播
Dec 30 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
ThinkPHP自动验证失败的解决方法
2011/06/09 PHP
PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
2012/01/16 PHP
浅析php单例模式
2014/11/25 PHP
PHP实现对xml进行简单的增删改查(CRUD)操作示例
2017/05/19 PHP
PHP命令空间namespace及use的用法小结
2017/11/27 PHP
JavaScript脚本性能优化注意事项
2008/11/18 Javascript
遍历DOM对象内的元素属性示例代码
2014/02/08 Javascript
jQuery选择器源码解读(六):Sizzle选择器匹配逻辑分析
2015/03/31 Javascript
jQuery判断一个元素是否可见的方法
2015/06/05 Javascript
基于jQuery实现点击最后一行实现行自增效果的表格
2016/01/12 Javascript
原生js的数组除重复简单实例
2016/05/24 Javascript
JavaScript中windows.open()、windows.close()方法详解
2016/07/28 Javascript
javascript实现的左右无缝滚动效果
2016/09/19 Javascript
RGB和YUV 多媒体编程基础详细介绍
2016/11/04 Javascript
js定时器实例分享
2016/12/20 Javascript
Vue.js 插件开发详解
2017/03/29 Javascript
jQuery手风琴的简单制作
2017/05/12 jQuery
vue项目中使用Hbuilder打包app 设置沉浸式状态栏的方法
2018/10/22 Javascript
Vue中component标签解决项目组件化操作
2020/09/04 Javascript
NodeJS开发人员常见五个错误理解
2020/10/14 NodeJs
[02:00]DAC2018主宣传片——龙征四海,剑问东方
2018/03/20 DOTA
[43:43]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第一场 11.22
2020/11/24 DOTA
Python使用dis模块把Python反编译为字节码的用法详解
2016/06/14 Python
浅谈python下tiff图像的读取和保存方法
2018/12/04 Python
应用OpenCV和Python进行SIFT算法的实现详解
2019/08/21 Python
python 弧度与角度互转实例
2020/04/15 Python
python打包生成so文件的实现
2020/10/30 Python
pycharm 实现光标快速移动到括号外或行尾的操作
2021/02/05 Python
便利店投资的创业计划书
2014/01/12 职场文书
户外用品商店创业计划书
2014/01/29 职场文书
互联网电子商务专业毕业生求职信
2014/03/18 职场文书
《分一分》教学反思
2014/04/13 职场文书
国家税务局干部作风整顿整改措施
2014/09/18 职场文书
2015年幼儿园学前班工作总结
2015/05/18 职场文书
女性健康知识讲座主持词
2015/07/04 职场文书
企业团队精神心得体会
2016/01/19 职场文书