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


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无限树状列表实现代码
Jan 11 Javascript
JavaScript实现页面实时显示当前时间的简单实例
Jul 20 Javascript
Jquery实现的一种常用高亮效果示例代码
Jan 28 Javascript
display和visibility的区别示例介绍
Feb 26 Javascript
jquery实现聚光灯效果的方法
Feb 06 Javascript
Node.js中JavaScript操作MySQL的常用方法整理
Mar 01 Javascript
JS前端开发判断是否是手机端并跳转操作(小结)
Feb 05 Javascript
vue2.0 element-ui中el-select选择器无法显示选中的内容(解决方法)
Aug 24 Javascript
vue vant Area组件使用详解
Dec 09 Javascript
Node.js创建一个Express服务的方法详解
Jan 06 Javascript
Vue中key的作用示例代码详解
Jun 10 Javascript
js实现类选择器和name属性选择器的示例步骤
Feb 07 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
浅谈Windows下 PHP4.0与oracle 8的连接设置
2006/10/09 PHP
在PHP中使用Sockets 从Usenet中获取文件
2008/01/10 PHP
php下关于中英数字混排的字符串分割问题
2010/04/06 PHP
php将时间差转换为字符串提示
2011/09/07 PHP
php中getservbyport与getservbyname函数用法实例
2014/11/18 PHP
php写入、删除与复制文件的方法
2015/06/20 PHP
[原创]PHP正则删除html代码中a标签并保留标签内容的方法
2017/05/23 PHP
Yii框架分页技术实例分析
2019/08/30 PHP
PHP函数用法详解【初始化、嵌套、内置函数等】
2020/06/02 PHP
Jquery api 速查表分享
2015/01/12 Javascript
jQuery源码解读之hasClass()方法分析
2015/02/20 Javascript
jQuery DOM插入节点操作指南
2015/03/03 Javascript
分享纯手写漂亮的表单验证
2015/11/19 Javascript
Vue.js实现多条件筛选、搜索、排序及分页的表格功能
2020/11/24 Javascript
详解vue数据渲染出现闪烁问题
2017/06/29 Javascript
简单实现js放大镜效果
2017/07/24 Javascript
记一次用vue做的活动页的方法步骤
2019/04/11 Javascript
JavaScript函数重载操作实例浅析
2020/05/02 Javascript
简单了解vue 插值表达式Mustache
2020/07/22 Javascript
vue 使用饿了么UI仿写teambition的筛选功能
2021/03/01 Vue.js
python实现simhash算法实例
2014/04/25 Python
教你学会使用Python正则表达式
2017/09/07 Python
对python3 urllib包与http包的使用详解
2018/05/10 Python
python版本五子棋的实现代码
2018/12/11 Python
python内置模块collections知识点总结
2019/12/19 Python
基于python实现百度语音识别和图灵对话
2020/11/02 Python
中式餐厅创业计划书范文
2014/01/23 职场文书
求职信怎么写
2014/05/23 职场文书
“四风”问题对照检查材料思想汇报
2014/09/16 职场文书
中学生的1000字检讨书
2014/10/11 职场文书
学校推普周活动总结
2015/05/07 职场文书
第一书记观后感
2015/06/08 职场文书
《鲁滨逊漂流记》之六读后感(4篇)
2019/09/29 职场文书
DjangoRestFramework 使用 simpleJWT 登陆认证完整记录
2021/06/22 Python
springboot集成springCloud中gateway时启动报错的解决
2021/07/16 Java/Android
Lakehouse数据湖并发控制陷阱分析
2022/03/31 Oracle