1. 程式人生 > >微信小程式API~GET

微信小程式API~GET

框架提供豐富的微信原生API,可以方便的調起微信提供的能力,如獲取使用者資訊,本地儲存,支付功能等

1. wx.on 開頭的 API 是監聽某個事件發生的API介面,接受一個 CALLBACK 函式作為引數。當該事件觸發時,會呼叫 CALLBACK 函式

2. 如未特殊約定,其他 API 介面都接受一個OBJECT作為引數

3. OBJECT中可以指定success, fail, complete來接收介面呼叫結果

這裡寫圖片描述

這裡寫圖片描述

1. wx.request(OBJECT)用來向指定的地址(url)根據指定的方式(method)傳送帶有引數(data)的請求,並根據(success/fail/complete)來處理獲取到的資料

注:傳送到伺服器的引數data的最終格式是String型別,如果傳入的data不是String型別,則會被轉換成String

2. wx.getStorageSync(KEY)用來從本地快取中同步獲取指定 key 對應的內容,引數key是指本地快取中的指定的key

3. wx.navigateTo(OBJECT)用來在保留當前頁面的情況下,跳轉到應用內的某個頁面,使用wx.navigateBack可以返回到原頁面

4. wx.redirectTo(OBJECT)用來關閉當前頁面,並跳轉到應用內的某個頁面

5. wx.navigateBack(OBJECT)用來關閉當前頁面,返回上一頁面或多級頁面。可通過 getCurrentPages()) 獲取當前的頁面棧,決定需要返回幾層

6. wx.getUserInfo(OBJECT)用來獲取使用者資訊,withCredentials 為 true 時需要先呼叫 wx.login 介面

6.1 引數withCredentials表示是否帶上登入態資訊,當 withCredentials 為 true 時,要求此前有呼叫過 wx.login 且登入態尚未過期,此時返回的資料會包含 encryptedData, iv 等敏感資訊;當 withCredentials 為 false 時,不要求有登入態,返回的資料不包含 encryptedData, iv 等敏感資訊

這裡寫圖片描述

7 wx.login(OBJECT)用來獲取使用者登入態,具體是通過獲取登入憑證(code)進而換取使用者登入狀態資訊,
包括使用者的唯一標識(openid) 及本次登入的會話金鑰(session_key)(用來解密之前被加密的使用者資料)

這裡寫圖片描述

這裡將獲取到的’res.code’傳送到開發者後臺伺服器以換取session_key,如果使用者是被允許登入的,那麼返回的code便為true值,開發者需要將 code 傳送到開發者伺服器後臺,換取所登入的使用者的唯一識別符號openid

這裡寫圖片描述

通過向指定的介面地址傳送code後,獲取到的資料格式

這裡寫圖片描述

8. wx.checkSession(OBJECT)用來檢測當前使用者登入狀態是否有效,如果登入過期那麼需要呼叫wx.login重新獲取使用者的登入態

這裡寫圖片描述

首先使用者’wx.login’登入後獲取到’res.code’,然後將其傳送給開發者伺服器,開發者伺服器將其再發送給微信伺服器來獲取使用者的openid和sessionkey等絕密資訊,開發者伺服器會用獲取到的openid和sessionkey來生成開發者伺服器和小程式之間進行驗證的session,最後將這個生成的儲存有使用者資訊的session傳送給小程式本地儲存,用來在使用’wx.checksession’的時候進行從本地到第三方伺服器的session驗證,看兩者所儲存的session是否相同,如果不相同,那麼登入驗證失敗重新回到’wx.login’執行之前的邏輯

這裡寫圖片描述

9. wx.setStorageSync(KEY,DATA)用來將 data 儲存在本地快取中指定的 key 中,會覆蓋掉原來該 key 對應的內容,這是一個同步介面

10. wx.showToast(OBJECT)用來顯示訊息提示框

11. wx.showLoading(OBJECT)用來顯示 loading 提示框, 需主動呼叫 wx.hideLoading 才能關閉提示框

這裡寫圖片描述