商城系統(tǒng) 注冊

微信小程序登錄流程圖

2020-09-27|HiShop
導(dǎo)讀:以下通過一個小程序官方登錄流程圖,來解釋小程序的開發(fā)過程。...

  以下通過一個小程序官方登錄流程圖,來解釋小程序的開發(fā)過程。

微信小程序登錄流程圖



  一. 官方登錄時序圖

微信小程序登錄流程圖

  官方的登錄時序圖

  二. 簡單理解

  這里僅按照官方推薦的規(guī)范來

  前置條件

  一共有三端:

  微信小程序客戶端

  第三方服務(wù)器端

  微信服務(wù)器端

  客戶端獲得code,并將code傳給第三方服務(wù)端

  微信小程序端調(diào)用wx.login,獲取登錄憑證(code),并調(diào)用接口,將code發(fā)送到第三方客戶端

  第三方服務(wù)端用code換session_key和openid

微信小程序登錄流程圖

  小程序端將code傳給第三方服務(wù)器端,第三方服務(wù)器端調(diào)用接口,用code換取session_key和openid

  第三方服務(wù)端生成新的session(3rd_session)

  第三方服務(wù)器端拿到請求回來的session_key和openid,先留著,不能給客戶端;然后用操作系統(tǒng)提供的真正隨機數(shù)算法生成一個新的session,叫3rd_session

  第三方服務(wù)端建立對應(yīng)關(guān)系,并存儲

  將3rd_session作為key,微信服務(wù)端返回的session_key和openid作為值,保存起來

  第三方服務(wù)端將3rd_session發(fā)送到客戶端

  客戶端只拿到3rd_session就夠了,大人說話小孩別插嘴,小程序不需要知道session_key和openid

  正常請求

  小程序每次請求都將3rd_session放在請求頭里,第三方服務(wù)端解析判斷合法性,并進(jìn)行正常的邏輯處理。

  用心寫代碼,不辜負(fù)程序員之名。

  微信小程序特性:

  1:小程序使用框架提供的wx.request接口發(fā)送https請求不會攜帶cookie信息,傳統(tǒng)webserver的會話管理能力(session)在微信小程序無法直接使用,在這點上微信小程序更像CS架構(gòu)的開發(fā)模式,開發(fā)者需要自己實現(xiàn)會話管理功能。如微信本地保存userID,下次進(jìn)入,判斷本地是否有userID,有則直接調(diào)接口請求數(shù)據(jù),無則重新獲取微信code,后臺授權(quán),重新登錄。登錄后再保存userID。

  2:小程序源碼打包后的大小限制為1M,單次通過網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)最大也是1M。

  3:小程序由于沒有包含WebView控件,開發(fā)者無法在小程序內(nèi)部打開一個網(wǎng)頁。

  4:推送,當(dāng)用戶在小程序內(nèi)部提交過表單或者完成過支付后,可允許開發(fā)者向用戶在7天內(nèi)推送1條預(yù)設(shè)模板的信息。

  5: 建議:開發(fā)微信小程序時設(shè)計師可以用 iPhone6 作為視覺稿的標(biāo)準(zhǔn)。

  所以工程師拿到750的設(shè)計稿,在PS中量取的容器大小,可以直接定義為rpx,不需要進(jìn)行2倍尺寸的換算。

電話咨詢 預(yù)約演示 0元開店