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


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 相关文章推荐
十分钟打造AutoComplete自动完成效果代码
Dec 26 Javascript
基于Jquery插件开发之图片放大镜效果(仿淘宝)
Nov 19 Javascript
jquery插件之定时查询待处理任务数量
May 01 Javascript
使用JS获取当前地理位置方法汇总
Dec 18 Javascript
javascript编写实用的省市选择器
Feb 12 Javascript
javascript中indexOf技术详解
May 07 Javascript
使用Node.js实现HTTP 206内容分片的教程
Jun 23 Javascript
使用Sticky组件实现带sticky效果的tab导航和滚动导航的方法
Mar 22 Javascript
Vue.js + Nuxt.js 项目中使用 Vee-validate 表单校验
Apr 22 Javascript
JS JQuery获取data-*属性值方法解析
Sep 01 jQuery
js操作两个json数组合并、去重,以及删除某一项元素
Sep 22 Javascript
vue.js Router中嵌套路由的实用示例
Jun 27 Vue.js
利用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中冒号、endif、endwhile、endfor使用介绍
2010/04/28 PHP
探讨:使用XMLSerialize 序列化与反序列化
2013/06/08 PHP
php的常量和变量实例详解
2017/06/27 PHP
PHP实现时间比较和时间差计算的方法示例
2017/07/24 PHP
PHP获取当前系统时间的方法小结
2018/10/03 PHP
PHP常用正则表达式精选(推荐)
2019/05/28 PHP
Laravel5.4框架中视图共享数据的方法详解
2019/09/05 PHP
phpQuery采集网页实现代码实例
2020/04/02 PHP
Convert Seconds To Hours
2007/06/16 Javascript
CSS常用网站布局实例
2008/04/03 Javascript
主页面中的两个iframe实现鼠标拖动改变其大小
2013/04/16 Javascript
扩展JS Date对象时间格式化功能的小例子
2013/12/02 Javascript
javascript格式化json显示实例分析
2015/04/21 Javascript
JS拖动鼠标画出方框实现鼠标选区的方法
2015/08/05 Javascript
原生JavaScript编写canvas版的连连看游戏
2016/05/29 Javascript
Bootstrap CSS组件之导航(nav)
2016/12/17 Javascript
js面向对象编程总结
2017/02/16 Javascript
为什么我们要做三份 Webpack 配置文件
2017/09/18 Javascript
ES6 javascript中class静态方法、属性与实例属性用法示例
2017/10/30 Javascript
vue组件三大核心概念图文详解
2019/05/30 Javascript
JS中==、===你分清楚了吗
2020/03/04 Javascript
[01:35]2014DOTA2西雅图邀请赛 专访狐狸妈青春献给刀塔
2014/07/08 DOTA
python strip()函数 介绍
2013/05/24 Python
Python 循环语句之 while,for语句详解
2018/04/23 Python
Python线程之定位与销毁的实现
2019/02/17 Python
python面向对象之类属性和类方法案例分析
2019/12/30 Python
Python flask框架端口失效解决方案
2020/06/04 Python
Marlies Dekkers内衣美国官方网上商店:高端内衣品牌
2018/11/12 全球购物
static全局变量与普通的全局变量有什么区别
2014/05/27 面试题
大一自我鉴定范文
2013/12/27 职场文书
担保书怎么写
2014/04/01 职场文书
交通运输局四风问题对照检查材料思想汇报
2014/10/09 职场文书
电影建党伟业观后感
2015/06/01 职场文书
赡养老人协议书范本
2015/08/06 职场文书
2019年共青团工作条例最新版
2019/11/12 职场文书
Redis监控工具RedisInsight安装与使用
2022/03/21 Redis