溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

微信小程序中如何實(shí)現(xiàn)用戶授權(quán)以及判斷登錄是否過期

發(fā)布時間:2021-07-20 11:10:27 來源:億速云 閱讀:140 作者:小新 欄目:web開發(fā)

小編給大家分享一下微信小程序中如何實(shí)現(xiàn)用戶授權(quán)以及判斷登錄是否過期,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

初始界面:

微信小程序中如何實(shí)現(xiàn)用戶授權(quán)以及判斷登錄是否過期

判斷用戶是否過期(如果未過期則重新登錄):

微信小程序中如何實(shí)現(xiàn)用戶授權(quán)以及判斷登錄是否過期

獲取用戶信息:

微信小程序中如何實(shí)現(xiàn)用戶授權(quán)以及判斷登錄是否過期

獲取用戶的信息并在前臺顯示:

微信小程序中如何實(shí)現(xiàn)用戶授權(quán)以及判斷登錄是否過期

主要實(shí)現(xiàn)兩個功能:

①判斷登錄是否過期,如果過期則就重新登錄,如果沒過期就提示未過期

②獲取用戶的信息,并在前臺顯示

index.wxml

<button bindtap="login">登錄</button>
<button bindtap="checksession">登錄是否過期</button>
<button open-type="getUserInfo" bindgetuserinfo="info">點(diǎn)擊授權(quán)</button>
<text>{{city}}</text>
<text>{{country}}</text>
<text>{{nickName}}</text>
<text>{{province}}</text>

index.js

//index.js
//獲取應(yīng)用實(shí)例
const app = getApp()
 
Page({
 data: {
  city:'',
  country:'',
  nickName:'',
  province:''
 },
 //發(fā)起http請求
 login:function(){
  wx.login({
   success:function(res){
    console.log(res.code)
    //發(fā)送請求
    wx.request({
     url: '自己的域名', //僅為示例,并非真實(shí)的接口地址
     data: {
      code:res.code
     },
     header: {
      'content-type': 'application/json' // 默認(rèn)值
     },
     success(res) {
      console.log(res)
     }
    })
   }
  })
 },
 //驗(yàn)證登錄是否過期
 checksession:function(){
  wx.checkSession({
   success:function(res){
    console.log(res,'登錄未過期')
    wx.showToast({
     title: '登錄未過期啊',
    })
   },
   fail:function(res){
    console.log(res,'登錄過期了')
    wx.showModal({
     title: '提示',
     content: '你的登錄信息過期了,請重新登錄',
    })
    //再次調(diào)用wx.login()
    wx.login({
     success: function (res) {
      console.log(res.code)
      //發(fā)送請求
      wx.request({
       url: '自己的域名', //僅為示例,并非真實(shí)的接口地址
       data: {
        code: res.code
       },
       header: {
        'content-type': 'application/json' // 默認(rèn)值
       },
       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";  //可去小程序開發(fā)文檔中查看這個鏈接
 
//發(fā)送的代碼
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;
?>

關(guān)于這個php文件的說明:

①獲取appid和secret:

微信小程序中如何實(shí)現(xiàn)用戶授權(quán)以及判斷登錄是否過期

②當(dāng)你點(diǎn)擊登錄的時候,出現(xiàn)這些東西就說明php文件調(diào)用成功

微信小程序中如何實(shí)現(xiàn)用戶授權(quán)以及判斷登錄是否過期

③登錄憑證校檢地址(該里面的參數(shù)即可):

微信小程序中如何實(shí)現(xiàn)用戶授權(quán)以及判斷登錄是否過期

④域名要合法

在小程序平臺上:

微信小程序中如何實(shí)現(xiàn)用戶授權(quán)以及判斷登錄是否過期

在web開發(fā)者工具里:

微信小程序中如何實(shí)現(xiàn)用戶授權(quán)以及判斷登錄是否過期

以上是“微信小程序中如何實(shí)現(xiàn)用戶授權(quán)以及判斷登錄是否過期”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI