uniapp登錄流程詳解uni.login


uni.login(OBJECT)
登錄

H5平台登陸注意事項:

微信內嵌瀏覽器運行H5版時,可通過js sdk實現微信登陸,需要引入一個單獨的js,詳見
普通瀏覽器上實現微信登陸,並非開放API,需要向微信申請,僅個別開發者有此權限
H5平台的其他登陸,比如QQ登陸、微博登陸,uni-app未封裝,請在條件編譯里按普通H5寫法編寫。

OBJECT 參數說明

參數名 類型 必填 說明 平台差異說明
provider String 否 登錄服務提供商,通過 uni.getProvider 獲取,如果不設置則彈出登錄列表選擇界面
scopes String/Array 見平台差異說明 授權類型,默認 auth_base。支持 auth_base(靜默授權)/ auth_user(主動授權) / auth_zhima(芝麻信用) 支付寶小程序
timeout Number 否 超時時間,單位ms 微信小程序、百度小程序
success Function 否 接口調用成功的回調
fail Function 否 接口調用失敗的回調函數
complete Function 否 接口調用結束的回調函數(調用成功、失敗都會執行)

success 返回參數說明

參數名 說明
authResult 登錄服務商提供的登錄信息,服務商不同返回的結果不完全相同
errMsg 描述信息

uni.login({
  provider: 'weixin',
  success: function (loginRes) {
    console.log(loginRes.authResult);
  }
});

uni.checkSession
檢查登錄狀態是否過期

屬性 類型 必填 說明
success function 否 接口調用成功的回調函數
fail function 否 接口調用失敗的回調函數
complete function 否 接口調用結束的回調函數(調用成功、失敗都會執行)

uni.getUserInfo(OBJECT)
獲取用戶信息。

UNI-APP 開發微信公眾號(H5)JSSDK 的使用方式

在 uniapp 中可以使用模塊方式引用微信 js-sdk ,微信官網直接下載的使用有問題,可以使用 jweixin-module。

安裝

下載使用方式
下載地址:https://unpkg.com/jweixin-module@1.4.1/out/index.js

使用、

var jweixin = require('jweixin-module')  
jweixin.ready(function(){  
    // TODO  
});

一、小程序:

1、使用 button 組件,並將 open-type 指定為 getUserInfo 類型,獲取用戶基本信息。

詳情參考文檔:

https://developers.weixin.qq.com/miniprogram/dev/component/button.html

2、使用 open-data 展示用戶基本信息。

詳情參考文檔:

https://developers.weixin.qq.com/miniprogram/dev/component/open-data.html

provider String 否 登錄服務提供商,通過 uni.getProvider 獲取
withCredentials Boolean 否 是否帶上登錄態信息。 微信小程序、頭條小程序
lang Number 否 指定返回用戶信息的語言,默認為 en。更多值請參考下面的說明。 微信小程序
timeout Number 否 超時時間,單位 ms。 微信小程序
success Function 否 接口調用成功的回調
fail Function 否 接口調用失敗的回調函數
complete Function 否 接口調用結束的回調函數(調用成功、失敗都會執行)

userInfo 參數說明

參數 類型 說明 平台差異說明
nickName String 用戶昵稱
openId String 該服務商唯一用戶標識 5+App
avatarUrl String 用戶頭像

uni.login({
  provider: 'weixin',
  success: function (loginRes) {
    console.log(loginRes.authResult);
    // 獲取用戶信息
    uni.getUserInfo({
      provider: 'weixin',
      success: function (infoRes) {
        console.log('用戶昵稱為:' + infoRes.userInfo.nickName);
      }
    });
  }
});

說明:
調用 wx.login() 獲取 臨時登錄憑證code ,並回傳到開發者服務器。
調用 auth.code2Session 接口,換取 用戶唯一標識 OpenID 和 會話密鑰 session_key。
之后開發者服務器可以根據用戶標識來生成自定義登錄態,用於后續業務邏輯中前后端交互時識別用戶身份。

注意:

會話密鑰 session_key 是對用戶數據進行 加密簽名 的密鑰。為了應用自身的數據安全,開發者服務器不應該把會話密鑰下發到小程序,也不應該對外提供這個密鑰。
臨時登錄憑證 code 只能使用一次

uni.getProvider(OBJECT)
獲取服務供應商。僅App平台支持。

在App平台,可用的服務商,是打包環境中配置的服務商,與手機端安裝了什么app沒有關系。

雲打包在manifest中配置相關模塊和SDK信息,離線打包在原生工程中配置。某個服務商配置被打包進去,運行時就能得到相應的服務供應商。

關於目前文章內容即涉及前端,PHP知識點,如果有興趣即可關注,很榮幸,能被您發現,真是慧眼識英!也感謝您的關注,在未來的日子里,希望能夠一直默默的支持我,我也會努力寫出更多優秀的作品。我們一起成長,從零基礎學編程,將 Web前端領域、數據結構與算法、網絡原理等通俗易懂的呈現給小伙伴。分享 Web 前端相關的技術文章、工具資源、精選課程、熱點資訊。


若本號內容有做得不到位的地方(比如:涉及版權或其他問題),請及時聯系我們進行整改即可,會在第一時間進行處理。


請點贊!因為你們的贊同/鼓勵是我寫作的最大動力!

歡迎關注達達的CSDN!

這是一個有質量,有態度的博客

7d927f18ebd05ea1d505a572393fbc87.jpg


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM