在部分情境下,需要向小程式的預設接收頁(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中,使用時直接取值。