實戰 小程式授權登入的最佳實踐(一)

2022-07-08 16:51:22 字數 861 閱讀 8734

原始碼詳見/src/request/

所以,首先需要搞清楚有哪些需求。(注:本文只針對小程式原生框架)

對於大部分應用,並不是所有頁面/介面都需要登入才可訪問,這就要求登入功能需要實現:僅在需要登入的時候,中斷業務,進入登入流程,登入成功則自動進行之前中斷的業務(這很重要),失敗則提示錯誤資訊,如下:

發現需要登入,

使用者未授權,去到第 2 步

跳轉到授權登入頁

跳轉到註冊登入頁

要實現登入功能的靈活性和無侵入性,我們需要:

舉個例子:

假設頁面有乙個表單,點選提交按鈕,需要登入後才能向後台傳送請求,業務同學可以這樣使用:

// request 對 wx.request 做了封裝,現在並不需要關心它的內部實現

import request from '../request/request.js'

// 我們實現的授權登入物件,現在只需要知道 auth.ensure 的成功,確保了登入的成功

import auth from '../request/auth.js'

page(,

tapsubmit()

return request()

}).then( // 提交成功後的處理邏輯)

.catch(// auth.ensure 以及 request 失敗的處理邏輯)

}})

可以看到,除了增加 auth.ensure() 方法外,登入邏輯對業務毫無侵入。

我們已經在 request 方法內增加了 auth: true, 為什麼還要額外使用 auth.ensure()?

可不可以去掉呢?

咱們下期揭曉。

小程式登入和授權

wx.login header method post success function e 傳送 res.code 到後台換取 openid,sessionkey,unionid 後端 from rest framework.views import apiview from rest frame...

小程式授權登入流程

primary open type getuserinfo bindgetuserinfo getuserinfo bindgetuserinfo 函式 事件內的引數就是使用者授權後的資訊 獲取使用者資訊按鈕的事件 getuserinfo event event detail 2 獲取code 主要...

微信小程式授權登入

在這裡插入描述 前端部分 編寫自己的介面login.wxml login.js 獲取應用例項 page 生命週期函式 監聽頁面載入 onload function options 登入 dologin function e 後端部分 後端運用的是springboot框架 專案結構 官方教程 官方流程...