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


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 相关文章推荐
基于jQuery的固定表格头部的代码(IE6,7,8测试通过)
May 18 Javascript
jquery插件之easing 动态菜单
Aug 21 Javascript
JS控制阿拉伯数字转为中文大写示例代码
Sep 04 Javascript
jquery获取tr并更改tr内容示例代码
Feb 13 Javascript
javascript+canvas制作九宫格小程序
Dec 28 Javascript
javascript实现密码强度显示
Mar 18 Javascript
深入理解Angular2 模板语法
Aug 07 Javascript
Vue.js在使用中的一些注意知识点
Apr 29 Javascript
基于node.js制作简单爬虫教程
Jun 29 Javascript
基于hover的用法实例(推荐)
Jul 04 Javascript
vue实现在表格里,取每行的id的方法
Mar 09 Javascript
AngularJS 多指令Scope问题的解决
Oct 25 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
PHP写杨辉三角实例代码
2011/07/17 PHP
解析php中mysql_connect与mysql_pconncet的区别详解
2013/05/15 PHP
php判断并删除空目录及空子目录的方法
2015/02/11 PHP
PHP Warning: Module 'modulename' already loaded in问题解决办法
2015/03/16 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
2016/03/15 PHP
PHP中phar包的使用教程
2017/06/14 PHP
Laravel 实现密码重置功能
2018/02/23 PHP
event.X和event.clientX的区别分析
2011/10/06 Javascript
浅谈jQuery中replace()方法
2015/05/13 Javascript
javascript 使用for循环时该注意的问题-附问题总结
2015/08/19 Javascript
AngularJS使用ng-repeat和ng-if实现数据的删选显示效果示例【适用于表单数据的显示】
2016/12/13 Javascript
微信小程序 Button 组件详解及简单实例
2017/01/10 Javascript
关于AngularJs数据的本地存储详解
2017/01/20 Javascript
Angular实现较为复杂的表格过滤,删除功能示例
2017/12/23 Javascript
总结javascript三元运算符知识点
2018/09/28 Javascript
vue组件之间数据传递的方法实例分析
2019/02/12 Javascript
JS立即执行的匿名函数用法分析
2019/11/04 Javascript
js实现直播点击飘心效果
2020/08/19 Javascript
Python中操作MySQL入门实例
2015/02/08 Python
详解常用查找数据结构及算法(Python实现)
2016/12/09 Python
python利用有道翻译实现&quot;语言翻译器&quot;的功能实例
2017/11/14 Python
一个Python最简单的接口自动化框架
2018/01/02 Python
python使用tensorflow保存、加载和使用模型的方法
2018/01/31 Python
Python Flask基础教程示例代码
2018/02/07 Python
Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法
2018/05/04 Python
如何利用Python分析出微信朋友男女统计图
2019/01/25 Python
Python实现微信自动好友验证,自动回复,发送群聊链接方法
2019/02/21 Python
手机使用python操作图片文件(pydroid3)过程详解
2019/09/25 Python
Python3使用xlrd、xlwt处理Excel方法数据
2020/02/28 Python
求网格中的黑点分布
2013/11/06 面试题
linux面试题参考答案(8)
2016/04/19 面试题
小学新教师培训方案
2014/02/03 职场文书
绩效考核实施方案
2014/03/18 职场文书
大学生党员批评与自我批评范文
2014/10/14 职场文书
联村联户简报
2015/07/21 职场文书
2016年综治和平安建设宣传月活动总结
2016/04/01 职场文书