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


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 相关文章推荐
动感效果的TAB选项卡jquery 插件
Jul 09 Javascript
利用jQuery的deferred对象实现异步按顺序加载JS文件
Mar 17 Javascript
jquery 清空file域示例(兼容个浏览器)
Oct 11 Javascript
两个select多选模式的选项相互移动(示例代码)
Jan 11 Javascript
javascript arguments使用示例
Dec 16 Javascript
angularjs实现分页和搜索功能
Jan 03 Javascript
基于Vue渲染与插件的加载顺序的问题详解
Mar 05 Javascript
vue中组件的过渡动画及实现代码
Nov 21 Javascript
Vue服务端渲染实践之Web应用首屏耗时最优化方案
Mar 22 Javascript
分享一款超好用的JavaScript 打包压缩工具
Apr 26 Javascript
node.js +mongdb实现登录功能
Jun 18 Javascript
解决vue props传Array/Object类型值,子组件报错的情况
Nov 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
php数组函数序列之array_pop() - 删除数组中的最后一个元素
2011/11/07 PHP
Thinkphp多文件上传实现方法
2014/10/31 PHP
Thinkphp中的curd应用实用要点
2015/01/04 PHP
PHP-FPM的配置与优化讲解
2019/03/15 PHP
给Javascript数组插入一条记录的代码
2007/08/30 Javascript
jquery 表单取值常用代码
2009/12/22 Javascript
jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
2013/04/07 Javascript
Extjs3.0 checkboxGroup 动态添加item实现思路
2013/08/14 Javascript
详解打造 Vue.js 可复用组件
2017/03/24 Javascript
input file样式修改以及图片预览删除功能详细概括(推荐)
2017/08/17 Javascript
vue-cli项目无法用本机IP访问的解决方法
2018/09/20 Javascript
基于nodejs的雪碧图制作工具的示例代码
2018/11/05 NodeJs
JavaScript如何获取一个元素的样式信息
2019/07/29 Javascript
layui清空,重置表单数据的实例
2019/09/12 Javascript
让 python 命令行也可以自动补全
2014/11/30 Python
Python数据类型详解(三)元祖:tuple
2016/05/08 Python
深入理解NumPy简明教程---数组1
2016/12/17 Python
Python中的__slots__示例详解
2017/07/06 Python
pycharm下查看python的变量类型和变量内容的方法
2018/06/26 Python
Python3爬取英雄联盟英雄皮肤大图实例代码
2018/11/14 Python
对python3标准库httpclient的使用详解
2018/12/18 Python
Python数据分析模块pandas用法详解
2019/09/04 Python
python主线程与子线程的结束顺序实例解析
2019/12/17 Python
完美解决python针对hdfs上传和下载的问题
2020/06/05 Python
金融专业应届生求职信
2013/11/02 职场文书
马云的职业生涯规划之路
2014/01/01 职场文书
服务员自我评价
2014/01/25 职场文书
爱情保证书范文
2014/02/01 职场文书
电工工作职责范本
2014/02/22 职场文书
机关办公室岗位职责
2014/04/16 职场文书
2015年挂职锻炼工作总结
2014/12/12 职场文书
辞职信模板(中英文版)
2015/02/27 职场文书
2015年街道办事处工作总结
2015/05/22 职场文书
2015年防灾减灾工作总结
2015/07/24 职场文书
python字典进行运算原理及实例分享
2021/08/02 Python
十大最强妖精系宝可梦,哲尔尼亚斯实力最强,第五被称为大力士
2022/03/18 日漫