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


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]点出统计器
Oct 11 Javascript
JavaScript 事件对象的实现
Jul 13 Javascript
jQuery 使用手册(五)
Sep 23 Javascript
同步文本框内容JS代码实现
Aug 04 Javascript
浅谈js的异步执行
Oct 18 Javascript
ES6使用let命令更简单的实现块级作用域实例分析
Mar 31 Javascript
Angular4 ElementRef的应用
Feb 26 Javascript
angular 服务的单例模式(依赖注入模式下)详解
Oct 22 Javascript
Vue指令v-for遍历输出JavaScript数组及json对象的常见方式小结
Feb 11 Javascript
JS自定义对象创建与简单使用方法示例
Jan 15 Javascript
在Vue中使用HOC模式的实现
Aug 23 Javascript
利用 JavaScript 构建命令行应用
Nov 17 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
使用VisualStudio开发php的图文设置方法
2010/08/21 PHP
php像数组一样存取和修改字符串字符
2014/03/21 PHP
PHP实现格式化文件数据大小显示的方法
2015/01/03 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
php pdo连接数据库操作示例
2019/11/18 PHP
检测是否已安装 .NET Framework 3.5的js脚本
2009/02/14 Javascript
js判断当前页面在移动设备还是在PC端中打开
2016/01/06 Javascript
[Bootstrap-插件使用]Jcrop+fileinput组合实现头像上传功能实例代码
2016/12/20 Javascript
Node.js利用debug模块打印出调试日志的方法
2017/04/25 Javascript
详解AngularJS 模块化
2017/06/14 Javascript
jquery动态添加带有样式的HTML标签元素方法
2018/02/24 jQuery
js tab栏切换代码实例解析
2019/09/03 Javascript
Vue循环中多个input绑定指定v-model实例
2020/08/31 Javascript
在vs code 中如何创建一个自己的 Vue 模板代码
2020/11/10 Javascript
[02:27]2018DOTA2亚洲邀请赛趣味视频之钓鱼大赛 谁是垂钓冠军?
2018/04/05 DOTA
Jupyter安装nbextensions,启动提示没有nbextensions库
2020/04/23 Python
python批量查询、汉字去重处理CSV文件
2018/05/31 Python
Python3中的最大整数和最大浮点数实例
2019/07/09 Python
Python3.0 实现决策树算法的流程
2019/08/08 Python
mac在matplotlib中显示中文的操作方法
2020/03/06 Python
使用Nibabel库对nii格式图像的读写操作
2020/07/01 Python
美国定制钻石订婚戒指:Ritani
2017/12/08 全球购物
材料化学应届生求职信
2013/10/09 职场文书
市场营销专业个人求职信范文
2013/12/14 职场文书
幼儿教师研修感言
2014/02/12 职场文书
国际贸易专业个人职业生涯规划
2014/02/15 职场文书
领导干部廉政自律承诺书
2014/05/26 职场文书
企业晚会策划方案
2014/05/29 职场文书
七一建党日演讲稿
2014/09/05 职场文书
酒店餐厅2014重阳节活动策划方案
2014/09/16 职场文书
2014年企业工会工作总结
2014/11/12 职场文书
升职自我推荐信范文
2015/03/25 职场文书
2016幼儿园教师年度考核评语
2015/12/01 职场文书
市语委办2016年第十九届“推普周”活动总结
2016/04/05 职场文书
解决pytorch 损失函数中输入输出不匹配的问题
2021/06/05 Python
德生2P3收音机开箱评测
2022/04/30 无线电