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


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 相关文章推荐
Array.prototype 的泛型应用分析
Apr 30 Javascript
javascript中简单的进制转换代码实例
Oct 26 Javascript
jQuery和hwSlider实现内容响应式可触控滑动切换效果附源码下载(二)
Jun 22 Javascript
利用JS轻松实现获取表单数据
Dec 06 Javascript
js date 格式化
Feb 15 Javascript
神级程序员JavaScript300行代码搞定汉字转拼音
May 20 Javascript
vue webuploader 文件上传组件开发
Sep 23 Javascript
详解如何使用babel进行es6文件的编译
May 29 Javascript
webpack4.x CommonJS模块化浅析
Nov 09 Javascript
js正则匹配多个全部数据问题
Dec 20 Javascript
JS如何操作DOM基于表格动态展示数据
Oct 15 Javascript
JavaScript/TypeScript 实现并发请求控制的示例代码
Jan 18 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版(1)
2006/10/09 PHP
社区(php&amp;&amp;mysql)六
2006/10/09 PHP
PHP数据流应用的一个简单实例
2012/09/14 PHP
php 判断是否是中文/英文/数字示例代码
2013/09/30 PHP
实例讲解PHP设计模式编程中的简单工厂模式
2016/02/29 PHP
分享8个Laravel模型时间戳使用技巧小结
2020/02/12 PHP
IE8 引入跨站数据获取功能说明
2008/07/22 Javascript
Dom在ajax技术中的作用说明
2010/10/25 Javascript
10款新鲜出炉的 jQuery 插件(Ajax 插件,有幻灯片、图片画廊、菜单等)
2011/06/08 Javascript
页面定时刷新(1秒刷新一次)
2013/11/22 Javascript
避免jQuery名字冲突 noConflict()方法
2016/07/30 Javascript
利用Angularjs和原生JS分别实现动态效果的输入框
2016/09/01 Javascript
web打印小结
2017/01/11 Javascript
Vue.js实战之利用vue-router实现跳转页面
2017/04/01 Javascript
vue+vuex+axios+echarts画一个动态更新的中国地图的方法
2017/12/19 Javascript
vue封装一个简单的div框选时间的组件的方法
2019/01/06 Javascript
详解vue在项目中使用百度地图
2019/03/26 Javascript
微信小程序tabBar设置实例解析
2019/11/14 Javascript
[01:07:41]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python基于twisted框架编写简单聊天室
2018/01/02 Python
python迭代dict的key和value的方法
2018/07/06 Python
python删除字符串中指定字符的方法
2018/08/13 Python
postman模拟访问具有Session的post请求方法
2019/07/15 Python
如何理解Python中的变量
2020/06/01 Python
Python logging模块handlers用法详解
2020/08/14 Python
基于HTML5 的人脸识别活体认证的实现方法
2016/06/22 HTML / CSS
英国手机壳购买网站:Case Hut
2019/04/11 全球购物
Ruby中的保护方法和私有方法与一般面向对象程序设计语言的一样吗
2013/05/01 面试题
如何理解transaction事务的概念
2015/05/27 面试题
实习教师个人的自我评价
2013/11/08 职场文书
优秀教师自我评价范文
2014/09/27 职场文书
公司感恩节活动策划书
2014/10/11 职场文书
党的群众路线教育实践活动领导班子整改措施
2014/10/28 职场文书
2014社区健康教育工作总结
2014/12/16 职场文书
2015年工程师工作总结
2015/04/30 职场文书
分享提高 Python 代码的可读性的技巧
2022/03/03 Python