原始碼詳見/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框架 專案結構 官方教程 官方流程...