在部分場景下,需要向小程序的默認接收頁(pages/index/index)傳遞參數。本文以傳遞 name 和 pwd 參數為例,介紹了此場景的實現過程。
前提條件
您已參照 快速開始 文檔接入了小程序組件。
操作步驟
在客戶端添加啟動時跳轉頁面的參數信息。傳參方法如下所示:
Bundle param = new Bundle(); String query = "name="+Uri.encode("123")+"&pwd="+Uri.encode("456"); param.putString("query",query); //設置參數 MPNebula.startApp(appId:"2020121620201216",param);
URL 啟動傳參時,傳遞參數的字段為
query
;獲取參數時,通過解析query
字段獲取。startApp 參數說明:
appId
:小程序的 ID,可以從 mPaaS 控制臺查看。param
:Bundle 對象,可以向 Bundle 對象傳遞請求參數,key="query",value="鍵值對"
;多個參數中間用(&)隔開。重要小程序框架會對每對自定義入參的鍵值對的 value 進行 uri decode。因此,請對入參鍵值對的 value 進行 uri encode。
小程序框架不會對自定義入參的鍵值對的 key 做任何處理。因此,請不要對 key 設置特殊字符,防止小程序側無法識別自定義參數。
小程序獲取參數。從
onLaunch/onShow(options)
方法的參數options
中獲取。 存儲app.js
會獲取客戶端向小程序傳遞的參數并保存到全局變量globalData
中,使用時從globalData
直接取值或更新值。如請求頭里的token
、user_id
等參數,從 Native 傳遞過來后,保存到globalData
中,使用時直接取值。