新聞中心
插件功能頁(yè)
插件功能頁(yè)從小程序基礎(chǔ)庫(kù)版本 2.1.0 開(kāi)始支持。

創(chuàng)新互聯(lián)建站主要從事網(wǎng)站制作、成都做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)門(mén)頭溝,10多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):18982081108
某些接口不能在插件中直接調(diào)用(如 wx.login),但插件開(kāi)發(fā)者可以使用插件功能頁(yè)的方式來(lái)實(shí)現(xiàn)功能。目前,插件功能頁(yè)包括:
- 獲取用戶信息,包括 openid 和昵稱等(相當(dāng)于 wx.login 和 wx.getUserInfo 的功能),詳見(jiàn)用戶信息功能頁(yè);
- 支付(相當(dāng)于 wx.requestPayment),詳見(jiàn)支付功能頁(yè);
- 獲取收貨地址(相當(dāng)于 wx.chooseAddress),詳見(jiàn)收貨地址功能頁(yè)。
要使用插件功能頁(yè),需要先激活功能頁(yè)特性,配置對(duì)應(yīng)的功能頁(yè)函數(shù),再使用 functional-page-navigator 組件跳轉(zhuǎn)到插件功能頁(yè),從而實(shí)現(xiàn)對(duì)應(yīng)的功能。詳情請(qǐng)參考下文。
插件所有者小程序
開(kāi)始開(kāi)發(fā)之前,我們需要知道,插件功能頁(yè)是指 插件所有者小程序 中的一個(gè)特殊頁(yè)面。
插件所有者小程序,指的是與插件 AppID 相同的小程序。例如,“小程序示例”小程序開(kāi)發(fā)了一個(gè)“小程序示例插件”,那么無(wú)論這個(gè)插件被哪個(gè)小程序使用,這個(gè)插件的 插件所有者小程序 都是“小程序示例”。下文中會(huì)繼續(xù)使用 插件所有者小程序 這個(gè)說(shuō)法。
插件所有者小程序開(kāi)發(fā)方法
通常,在開(kāi)始使用插件功能頁(yè)的時(shí)候,需要開(kāi)啟兩個(gè)開(kāi)發(fā)者工具窗口,其中一個(gè)打開(kāi)插件項(xiàng)目,另一個(gè)打開(kāi)插件所有者小程序的小程序項(xiàng)目。例如,一個(gè)打開(kāi)“小程序示例插件”項(xiàng)目,另一個(gè)打開(kāi)“小程序示例”項(xiàng)目。
這兩個(gè)窗口,前者用于編輯插件,后者用于編輯插件所有者小程序。下文中所有需要編輯插件所有者小程序的內(nèi)容,都是在后者中進(jìn)行。
激活功能頁(yè)特性
要在插件中調(diào)用插件功能頁(yè),需要先激活插件所有者小程序的功能頁(yè)特性。具體來(lái)說(shuō),在插件所有者小程序的 app.json 文件中添加 functionalPages 定義段,并令其值為 true ,例如:
代碼示例:
{
"functionalPages": {
"independent": true
}
}
目前,兼容舊式寫(xiě)法:
{
"functionalPages": true
}
舊式寫(xiě)法將在未來(lái)將被移除支持,未來(lái)將不能編譯上傳。
這兩種寫(xiě)法的區(qū)別在于,新式的寫(xiě)法 "independent": true 會(huì)使得插件功能頁(yè)的代碼獨(dú)立于其他代碼,這意味著插件功能頁(yè)可以被獨(dú)立下載、加載,具有更好的性能表現(xiàn)。 但也同時(shí)使得插件功能頁(yè)目錄 functional-pages/ (支付功能頁(yè)會(huì)使用其中的文件)不能 require 這個(gè)目錄以外的文件(反之亦然:這個(gè)目錄以外的文件也不能調(diào)用這個(gè)目錄內(nèi)的)。
注意,新增或改變這個(gè)字段時(shí),需要這個(gè)小程序發(fā)布新版本,才能在正式環(huán)境中使用插件功能頁(yè)。
跳轉(zhuǎn)到功能頁(yè)
功能頁(yè)不能使用 wx.navigateTo 來(lái)進(jìn)行跳轉(zhuǎn),而是需要一個(gè)名為 functional-page-navigator 的組件。以獲取用戶信息為例,可以在插件中放置如下的 functional-page-navigator:
代碼示例:
用戶在點(diǎn)擊這個(gè) navigator 時(shí),會(huì)自動(dòng)跳轉(zhuǎn)到插件所有者小程序的對(duì)應(yīng)功能頁(yè)。功能頁(yè)會(huì)提示用戶進(jìn)行登錄或其他相應(yīng)的操作。操作結(jié)果會(huì)以組件事件的方式返回。
functional-page-navigator 的參數(shù)和詳細(xì)使用方法可以參考組件說(shuō)明 。
從小程序基礎(chǔ)庫(kù)版本 2.4.0 開(kāi)始,支持插件所有者小程序跳轉(zhuǎn)到自己的功能頁(yè)。在基礎(chǔ)庫(kù)版本低于 2.4.0 時(shí),點(diǎn)擊跳轉(zhuǎn)到自己的功能頁(yè)的 functional-page-navigator 將沒(méi)有任何反應(yīng)。
真機(jī)開(kāi)發(fā)測(cè)試的常規(guī)步驟
目前,功能頁(yè)的跳轉(zhuǎn)目前不支持在開(kāi)發(fā)者工具中調(diào)試,請(qǐng)?jiān)谡鏅C(jī)上測(cè)試。初次進(jìn)行真機(jī)開(kāi)發(fā)測(cè)試時(shí),通常步驟如下:
- 在開(kāi)發(fā)者工具上打開(kāi)插件所有者小程序項(xiàng)目,并點(diǎn)擊“預(yù)覽”;
- 用測(cè)試用的真機(jī)掃一下預(yù)覽二維碼,此時(shí)會(huì)進(jìn)入插件所有者小程序,進(jìn)入后就可以直接退出這個(gè)小程序;
- 在開(kāi)發(fā)者工具上打開(kāi)插件項(xiàng)目,將插件中 functional-page-navigator 中的 version 屬性設(shè)置為 develop;
- 點(diǎn)擊預(yù)覽可以生成插件預(yù)覽二維碼,用測(cè)試用的真機(jī)掃碼即可預(yù)覽功能頁(yè);如果更改了插件代碼,重新生成并掃描插件的預(yù)覽二維碼即可;
- 如果過(guò)了一段時(shí)間之后,跳轉(zhuǎn)功能頁(yè)時(shí)出現(xiàn)“開(kāi)發(fā)版已過(guò)期”這樣的提示,從第1步開(kāi)始重試一次。
注意:functional-page-navigator 的 version=develop 僅用于調(diào)試,因此在插件提審前,需要:
- 確保已發(fā)布設(shè)置了 "functionalPages": true 的插件所有者小程序;
- 確保所有的 functional-page-navigator 組件屬性設(shè)置為 version="release" 。
功能頁(yè)常見(jiàn)問(wèn)題 FAQ
如何正確編輯插件所有者小程序?
- 應(yīng)該在開(kāi)發(fā)者工具的“小程序”類型項(xiàng)目中編輯,而不是在“插件”類型的項(xiàng)目中編輯。比如,“小程序示例插件”的所有者小程序是“小程序示例”,它們的 AppID 都是 wxidxxxxxxxxxxxxxx ,如果是初次開(kāi)發(fā)“小程序示例”小程序,可以在開(kāi)發(fā)者工具中創(chuàng)建一個(gè)小程序項(xiàng)目,其 AppID 為 wxidxxxxxxxxxxxxxx ;如果之前開(kāi)發(fā)過(guò)“小程序示例”小程序,直接打開(kāi)之前的小程序項(xiàng)目即可。
點(diǎn)擊 functional-page-navigator 之后沒(méi)有任何反應(yīng)。
- 請(qǐng)檢查引用插件的小程序和插件本身是不是同一個(gè) AppID ,如果是,跳轉(zhuǎn)到自己的功能頁(yè)需要基礎(chǔ)庫(kù) 2.4.0 支持,否則使用 functional-page-navigator 不會(huì)有任何反應(yīng)。
點(diǎn)擊 functional-page-navigator 之后,展示了一個(gè)頁(yè)面提示“頁(yè)面不存在”。
- 這種情況是因?yàn)椴寮姓咝〕绦驔](méi)有正確設(shè)置 "functionalPages": true 。如果 functional-page-navigator 的 version="develop" ,這部手機(jī)需要掃碼并進(jìn)入插件所有者小程序一次;如果 version="release" ,請(qǐng)確保包含 "functionalPages": true 的插件所有者小程序已被發(fā)布。
點(diǎn)擊 之后,彈窗提示“小程序開(kāi)發(fā)版已過(guò)期”。
- 遇到這種情況,重新掃碼并進(jìn)入插件所有者小程序一次即可。
點(diǎn)擊 之后,展示了一個(gè)頁(yè)面提示“該功能無(wú)法使用”。
- 在使用插件功能頁(yè)時(shí),小程序不能是個(gè)人小程序,同時(shí),插件也需要額外的步驟申請(qǐng)開(kāi)通插件支付權(quán)限(位于 管理后臺(tái) -> 小程序插件 -> 基本設(shè)置 -> 支付能力 )。
點(diǎn)擊 之后,點(diǎn)擊頁(yè)面中的“支付”按鈕,立刻退出了支付功能頁(yè)。
- 這通常是因?yàn)闆](méi)有找到功能頁(yè)函數(shù) beforeRequestPayment ,請(qǐng)檢查插件所有者小程序的 functional-pages/request-payment.js 文件和其中的 beforeRequestPayment 函數(shù)是否存在。
點(diǎn)擊 functional-page-navigator 之后,展示了一個(gè)僅有返回按鈕的頁(yè)面。
- 請(qǐng)檢查 functional-page-navigator 的 name 屬性是否被正確設(shè)置。
開(kāi)發(fā)版可以正常跳轉(zhuǎn),但審核反饋不能跳轉(zhuǎn)。
- 請(qǐng)發(fā)布設(shè)置了 "functionalPages": true 的插件所有者小程序,且所有的 functional-page-navigator 組件屬性設(shè)置為 version="release" 。
Bugs & Tips
- 功能頁(yè)是插件所有者小程序中的一個(gè)特殊頁(yè)面,開(kāi)發(fā)者不能自定義這個(gè)頁(yè)面的外觀。
- 插件所有者小程序本身也可以引用這個(gè)插件,此時(shí),functional-page-navigator 組件的 version 屬性將不會(huì)生效,而是取決于當(dāng)前運(yùn)行的插件所有者小程序的版本。
- functional-page-navigator 可以在開(kāi)發(fā)者工具中使用,但功能頁(yè)的跳轉(zhuǎn)目前不支持在開(kāi)發(fā)者工具中調(diào)試,請(qǐng)?jiān)谡鏅C(jī)上測(cè)試。
- Bug:在微信版本 6.6.7 中,功能頁(yè)被拉起時(shí)會(huì)觸發(fā) App 的部分生命周期并使得功能頁(yè)啟動(dòng)時(shí)間變得比較長(zhǎng)。在后續(xù)的微信版本中這一行為會(huì)發(fā)生變更,使 App 生命周期不再被觸發(fā)。
用戶信息功能頁(yè)
用戶信息功能頁(yè)用于幫助插件獲取用戶信息,包括 openid 和昵稱等,相當(dāng)于 wx.login 和 wx.getUserInfo 的功能。
此外,自基礎(chǔ)庫(kù)版本 2.3.1 起,用戶在這個(gè)功能頁(yè)中授權(quán)之后,插件就可以直接調(diào)用 wx.login 和 wx.getUserInfo 。無(wú)需再次進(jìn)入功能頁(yè)獲取用戶信息。自基礎(chǔ)庫(kù)版本 2.6.3 起,可以使用 wx.getSetting 來(lái)查詢用戶是否授權(quán)過(guò)。
調(diào)用參數(shù)
用戶信息功能頁(yè)使用 functional-page-navigator 進(jìn)行跳轉(zhuǎn)時(shí),對(duì)應(yīng)的參數(shù) name 應(yīng)為固定值 loginAndGetUserInfo,其余參數(shù)與 wx.getUserInfo 相同,具體來(lái)說(shuō):
args參數(shù)說(shuō)明:
| 參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
|---|---|---|---|
| withCredentials | Boolean | 否 | 是否帶上登錄態(tài)信息 |
| lang | String | 否 | 指定返回用戶信息的語(yǔ)言,zh_CN 簡(jiǎn)體中文,zh_TW 繁體中文,en 英文。默認(rèn)為en。 |
| timeout | Number | 否 | 超時(shí)時(shí)間,單位 ms |
注:當(dāng) withCredentials 為 true 時(shí),返回的數(shù)據(jù)會(huì)包含 encryptedData, iv 等敏感信息。
bindsuccess返回參數(shù)說(shuō)明:
| 參數(shù) | 類型 | 說(shuō)明 |
|---|---|---|
| code | String | 同 wx.login 獲得的用戶登錄憑證(有效期五分鐘)。開(kāi)發(fā)者需要在開(kāi)發(fā)者服務(wù)器后臺(tái)調(diào)用 api,使用 code 換取 openid 和 session_key 等信息 |
| errMsg | String | 調(diào)用結(jié)果 |
| userInfo | OBJECT | 用戶信息對(duì)象,不包含 openid 等敏感信息 |
| rawData | String | 不包括敏感信息的原始數(shù)據(jù)字符串,用于計(jì)算簽名。 |
| signature | String | 使用 sha1( rawData + sessionkey ) 得到字符串,用于校驗(yàn)用戶信息,參考文檔 signature。 |
| encryptedData | String | 包括敏感數(shù)據(jù)在內(nèi)的完整用戶信息的加密數(shù)據(jù),詳細(xì)見(jiàn)加密數(shù)據(jù)解密算法 |
| iv | String | 加密算法的初始向量,詳細(xì)見(jiàn)加密數(shù)據(jù)解密算法 |
userInfo參數(shù)說(shuō)明:
| 參數(shù) | 類型 | 說(shuō)明 |
|---|---|---|
| nickName | String | 用戶昵稱 |
| avatarUrl | String | 用戶頭像,最后一個(gè)數(shù)值代表正方形頭像大?。ㄓ?、46、64、96、132數(shù)值可選,0代表132*132正方形頭像),用戶沒(méi)有頭像時(shí)該項(xiàng)為空。若用戶更換頭像,原有頭像URL將失效。 |
| gender | String | 用戶的性別,值為1時(shí)是男性,值為2時(shí)是女性,值為0時(shí)是未知 |
| city | String | 用戶所在城市 |
| province | String | 用戶所在省份 |
| country | String | 用戶所在國(guó)家 |
| language | String | 用戶的語(yǔ)言,簡(jiǎn)體中文為zh_CN |
代碼示例:
// plugin/components/hello-component.js
Component({
properties: {},
data: {
args: {
withCredentials: true,
lang: 'zh_CN'
}
},
methods: {
loginSuccess: function (res) {
console.log(res.detail);
},
loginFail: function (res) {
console.log(res);
}
}
});
用戶點(diǎn)擊該 navigator 后,將跳轉(zhuǎn)到如下的用戶信息功能頁(yè):
在微信開(kāi)發(fā)者工具中查看示例:
- 由于插件需要 appid 才能工作,請(qǐng)?zhí)钊胍粋€(gè) appid;
- 由于當(dāng)前代碼片段的限制,打開(kāi)該示例后請(qǐng) 手動(dòng)將 appid 填寫(xiě)到 miniprogram/app.json 中(如下圖)使示例正常運(yùn)行。
支付功能頁(yè)
支付功能頁(yè)用于幫助插件完成支付,相當(dāng)于 wx.requestPayment 的功能。
需要注意的是:插件使用支付功能,需要進(jìn)行額外的權(quán)限申請(qǐng),申請(qǐng)位置位于管理后臺(tái)的“小程序插件 -> 基本設(shè)置 -> 支付能力”設(shè)置項(xiàng)中。另外,無(wú)論是否通過(guò)申請(qǐng),主體為個(gè)人小程序在使用插件時(shí),都無(wú)法正常使用插件里的支付功能。
調(diào)用參數(shù)
支付功能頁(yè)使用 functional-page-navigator 進(jìn)行跳轉(zhuǎn)時(shí),對(duì)應(yīng)的參數(shù) name 應(yīng)為固定值 requestPayment,其他參數(shù)如下:
args參數(shù)說(shuō)明:
| 參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
|---|---|---|---|
| fee | Number | 是 | 需要顯示在頁(yè)面中的金額,單位為分 |
| paymentArgs | Object | 否 | 任意數(shù)據(jù),傳遞給功能頁(yè)中的響應(yīng)函數(shù) |
| currencyType | String | 否 | 需要顯示在頁(yè)面中的貨幣符號(hào)的代碼,默認(rèn)為 CNY |
currencyType 的合法值:
| 值 | 說(shuō)明 | 最低版本 |
|---|---|---|
| CNY | 貨幣符號(hào) ¥ | |
| USD | 貨幣符號(hào) US$ | |
| JPY | 貨幣符號(hào) J¥ | |
| EUR | 貨幣符號(hào) € | |
| HKD | 貨幣符號(hào) HK$ | |
| GBP | 貨幣符號(hào) £ | |
| AUD | 貨幣符號(hào) A$ | |
| MOP | 貨幣符號(hào) MOP$ | |
| KRW | 貨幣符號(hào) ? |
代碼示例:
// plugin/components/pay.js
Component({
data: {
args: {
fee: 1, // 支付金額,單位為分
paymentArgs: 'A', // 將傳遞到功能頁(yè)函數(shù)的自定義參數(shù)
currencyType: 'USD' // 貨幣符號(hào),頁(yè)面顯示貨幣簡(jiǎn)寫(xiě) US$
}
},
methods: {
// 支付成功的回調(diào)接口
paymentSuccess: function (e) {
console.log(e);
e.detail.extraData.timeStamp // 用 extraData 傳遞數(shù)據(jù),詳見(jiàn)下面功能頁(yè)函數(shù)代碼
},
// 支付失敗的回調(diào)接口
paymentFailed: function (e) {
console.log(e);
}
}
})
用戶點(diǎn)擊該 navigator 后,將跳轉(zhuǎn)到如下的支付功能頁(yè):
配置功能頁(yè)函數(shù)
支付功能頁(yè)需要插件開(kāi)發(fā)者在插件所有者小程序中提供一個(gè)函數(shù)來(lái)響應(yīng)插件中的支付調(diào)用。即,在插件中跳轉(zhuǎn)到支付功能頁(yè)時(shí),這個(gè)函數(shù)就會(huì)在合適的時(shí)機(jī)被調(diào)用,來(lái)幫助完成支付。如果不提供功能頁(yè)函數(shù),功能頁(yè)調(diào)用將通過(guò) fail 事件返回失敗。
支付功能頁(yè)函數(shù)應(yīng)以導(dǎo)出函數(shù)的形式提供在插件所有者小程序的根目錄下的 functional-pages/request-payment.js 文件中,名為 beforeRequestPayment。該函數(shù)應(yīng)接收兩個(gè)參數(shù):
| 參數(shù)名 | 類型 | 說(shuō)明 |
|---|---|---|
| paymentArgs | Object | 即通過(guò) functional-page-navigator 的 arg 參數(shù)中的 paymentArgs 字段傳遞到功能頁(yè)的自定義數(shù)據(jù) |
| callback | Function | 回調(diào)函數(shù),調(diào)用該函數(shù)后,小程序?qū)l(fā)起支付(類似于 wx.requestPayment) |
callback函數(shù)的參數(shù):
| 參數(shù)名 | 類型 | 說(shuō)明 |
|---|---|---|
| error | Object | 失敗信息,若無(wú)失敗,應(yīng)返回 null |
| requestPaymentArgs | Object | 支付參數(shù),用于調(diào)用 wx.requestPayment,參數(shù)如下 |
reqeustPaymentArgs 的參數(shù):
用于發(fā)起支付,和 wx.requestPayment 的參數(shù)相同,但沒(méi)有回調(diào)函數(shù)(success, fail, complete):
| 參數(shù) | 類型 | 必填 | 說(shuō)明 |
|---|---|---|---|
| timeStamp | String | 是 | 時(shí)間戳從1970年1月1日00:00:00至今的秒數(shù),即當(dāng)前的時(shí)間 |
| nonceStr | String | 是 | 隨機(jī)字符串,長(zhǎng)度為32個(gè)字符以下。 |
| package | String | 是 | 統(tǒng)一下單接口返回的 prepay_id 參數(shù)值,提交格式如:prepay_id=*** |
| signType | String | 是 | 簽名算法,暫支持 MD5 |
| paySign | String | 是 | 簽名,具體簽名方案參見(jiàn)小程序支付接口文檔; |
| extraData | any | 否 | 由開(kāi)發(fā)者決定的自定義數(shù)據(jù)段,該字段將被無(wú)修改地透?jìng)鞯街Ц冻晒Φ幕卣{(diào)參數(shù)中,具體見(jiàn)代碼示例中的使用方法。基礎(chǔ)庫(kù) 2.9.1 開(kāi)始支持 |
了解更多信息,請(qǐng)查看微信支付接口文檔
功能頁(yè)函數(shù)代碼示例:
// functional-pages/request-payment.js
exports.beforeRequestPayment = function (paymentArgs, callback) {
// 注意:
// 功能頁(yè)函數(shù)(這個(gè)函數(shù))不應(yīng) require 其他非 functional-pages 目錄中的文件,
// 其他非 functional-pages 目錄中的文件也不應(yīng) require 這個(gè)目錄中的文件,
// 這樣的 require 調(diào)用在未來(lái)將不被支持。
//
// 同在 functional-pages 中的文件可以 require
var getOpenIdURL = require('./URL').getOpenIdURL;
var paymentURL = require('./URL').paymentURL;
// 自定義的參數(shù),此處應(yīng)為從插件傳遞過(guò)來(lái)的 'A'
var customArgument = paymentArgs.customArgument;
// 第一步:調(diào)用 wx.login 方法獲取 code,然后在服務(wù)端調(diào)用微信接口使用 code 換取下單用戶的 openId
// 具體文檔參考 https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html?t=20161230#wxloginobject
wx.login({
success: function (data) {
wx.request({
url: getOpenIdURL,
data: { code: data.code },
success: function (res) {
// 拉取用戶 openid 成功
// 第二步:在服務(wù)端調(diào)用支付統(tǒng)一下單,返回支付參數(shù)。這里的開(kāi)發(fā)和普通的 wx.requestPayment 相同
// 文檔可以參考 https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_4&index=3
wx.request({
url: paymentURL,
data: { openid: res.data.openid },
method: 'POST',
success: function (res) {
console.log('unified order success, response is:', res);
var payargs = res.data.payargs;
// 第三步:調(diào)用回調(diào)函數(shù) callback 進(jìn)行支付
// 在 callback 中需要返回兩個(gè)參數(shù): err 和 requestPaymentArgs:
// err 應(yīng)為 null (或者一些失敗信息);
// requestPaymentArgs 將被用于調(diào)用 wx.requestPayment,除了 success/fail/complete 不被支持外,
// 應(yīng)與 wx.requestPayment 參數(shù)相同。
var error = null;
var requestPaymentArgs = {
timeStamp: payargs.timeStamp,
nonceStr: payargs.nonceStr,
package: payargs.package,
signType: payargs.signType,
paySign: payargs.paySign,
extraData: { // 用 extraData 傳遞自定義數(shù)據(jù)
timeStamp: payargs.timeStamp
},
};
callback(error, requestPaymentArgs);
}
});
},
fail: function (res) {
console.log('拉取用戶openid失敗,將無(wú)法正常使用開(kāi)放接口等服務(wù)', res);
// callback 第一個(gè)參數(shù)為錯(cuò)誤信息,返回錯(cuò)誤信息
callback(res);
}
});
},
fail: function (err) {
console.log('wx.login 接口調(diào)用失敗,將無(wú)法正常使用開(kāi)放接口等服務(wù)', err)
// callback 第一個(gè)參數(shù)為錯(cuò)誤信息,返回錯(cuò)誤信息
callback(err);
}
});
}
注意:功能頁(yè)函數(shù)不應(yīng) require 其他非 functional-pages 目錄中的文件,其他非 functional-pages 目錄中的文件也不應(yīng) require 這個(gè)目錄中的文件。這樣的 require 調(diào)用在未來(lái)將不被支持。
這個(gè)目錄和文件應(yīng)當(dāng)被放置在插件所有者小程序代碼中(而非插件代碼中),它是插件所有者小程序的一部分(而非插件的一部分)。 如果需要新增或更改這段代碼,需要發(fā)布插件所有者小程序,才能在正式版中生效;需要重新預(yù)覽插件所有者小程序,才能在開(kāi)發(fā)版中生效。
收貨地址功能頁(yè)
收貨地址功能頁(yè)用于展示用戶的收貨地址列表,用戶可以選擇其中的收貨地址。自基礎(chǔ)庫(kù)版本 2.4.0 開(kāi)始支持。
調(diào)用參數(shù)
用戶信息功能頁(yè)使用 functional-page-navigator 進(jìn)行跳轉(zhuǎn)時(shí),對(duì)應(yīng)的參數(shù) name 應(yīng)為固定值 chooseAddress ,返回參數(shù)與 wx.chooseAddress 相同。
bindsuccess返回參數(shù)說(shuō)明:
| 屬性 | 類型 | 說(shuō)明 | 最低版本 |
|---|---|---|---|
| userName | string | 收貨人姓名 | |
| postalCode | string | 郵編 | |
| provinceName | string | 國(guó)標(biāo)收貨地址第一級(jí)地址 | |
| cityName | string | 國(guó)標(biāo)收貨地址第一級(jí)地址 | |
| countyName | string | 國(guó)標(biāo)收貨地址第一級(jí)地址 | |
| detailInfo | string | 詳細(xì)收貨地址信息 | |
| nationalCode | string | 收貨地址國(guó)家碼 | |
| telNumber | string | 收貨人手機(jī)號(hào)碼 | |
| errMsg | string | 錯(cuò)誤信息 |
代碼示例:
// plugin/components/hello-component.js
Component({
methods: {
onSuccess: function (res) {
console.log(res.detail);
},
onFail: function (res) {
console.log(res);
}
}
});
網(wǎng)站名稱:創(chuàng)新互聯(lián)小程序教程:微信小程序插件功能頁(yè)
當(dāng)前網(wǎng)址:http://www.dlmjj.cn/article/dhjgoch.html


咨詢
建站咨詢
