新聞中心
使用插件
添加插件
在使用插件前,首先要在小程序管理后臺(tái)的“設(shè)置-第三方服務(wù)-插件管理”中添加插件。開(kāi)發(fā)者可登錄小程序管理后臺(tái),通過(guò) appid 查找插件并添加。如果插件無(wú)需申請(qǐng),添加后可直接使用;否則需要申請(qǐng)并等待插件開(kāi)發(fā)者通過(guò)后,方可在小程序中使用相應(yīng)的插件。

目前創(chuàng)新互聯(lián)已為千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站運(yùn)營(yíng)、企業(yè)網(wǎng)站設(shè)計(jì)、宣城網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
引入插件代碼包
使用插件前,使用者要在 app.json 中聲明需要使用的插件,例如:
代碼示例:
{
"plugins": {
"myPlugin": {
"version": "1.0.0",
"provider": "wxidxxxxxxxxxxxxxxxx"
}
}
}
如上例所示, plugins 定義段中可以包含多個(gè)插件聲明,每個(gè)插件聲明以一個(gè)使用者自定義的插件引用名作為標(biāo)識(shí),并指明插件的 appid 和需要使用的版本號(hào)。其中,引用名(如上例中的 myPlugin)由使用者自定義,無(wú)需和插件開(kāi)發(fā)者保持一致或與開(kāi)發(fā)者協(xié)調(diào)。在后續(xù)的插件使用中,該引用名將被用于表示該插件。
在分包內(nèi)引入插件代碼包
如果插件只在一個(gè)分包內(nèi)用到,可以將插件僅放在這個(gè)分包內(nèi),例如:
{
"subpackages": [
{
"root": "packageA",
"pages": [
"pages/cat",
"pages/dog"
],
"plugins": {
"myPlugin": {
"version": "1.0.0",
"provider": "wxidxxxxxxxxxxxxxxxx"
}
}
}
]
}
在分包內(nèi)使用插件有如下限制:
- 僅能在這個(gè)分包內(nèi)使用該插件;
- 同一個(gè)插件不能被多個(gè)分包同時(shí)引用;
- 如果基礎(chǔ)庫(kù)版本低于 2.9.0 ,不能從分包外的頁(yè)面直接跳入分包內(nèi)的插件頁(yè)面,需要先跳入分包內(nèi)的非插件頁(yè)面、再跳入同一分包內(nèi)的插件頁(yè)面。
使用插件
使用插件時(shí),插件的代碼對(duì)于使用者來(lái)說(shuō)是不可見(jiàn)的。為了正確使用插件,使用者應(yīng)查看插件詳情頁(yè)面中的“開(kāi)發(fā)文檔”一節(jié),閱讀由插件開(kāi)發(fā)者提供的插件開(kāi)發(fā)文檔,通過(guò)文檔來(lái)明確插件提供的自定義組件、頁(yè)面名稱及提供的 js 接口規(guī)范等。
自定義組件
使用插件提供的自定義組件,和使用普通自定義組件的方式相仿。在 json 文件定義需要引入的自定義組件時(shí),使用 plugin:// 協(xié)議指明插件的引用名和自定義組件名,例如:
代碼示例:
{
"usingComponents": {
"hello-component": "plugin://myPlugin/hello-component"
}
}
出于對(duì)插件的保護(hù),插件提供的自定義組件在使用上有一定的限制:
- 默認(rèn)情況下,頁(yè)面中的 this.selectComponent 接口無(wú)法獲得插件的自定義組件實(shí)例對(duì)象;
- wx.createSelectorQuery 等接口的 >>> 選擇器無(wú)法選入插件內(nèi)部。
頁(yè)面
插件的頁(yè)面從小程序基礎(chǔ)庫(kù)版本 2.1.0 開(kāi)始支持。
需要跳轉(zhuǎn)到插件頁(yè)面時(shí),url 使用 plugin:// 前綴,形如 plugin://PLUGIN_NAME/PLUGIN_PAGE, 如:
代碼示例:
Go to pages/hello-page!
js 接口
使用插件的 js 接口時(shí),可以使用 requirePlugin 方法。例如,插件提供一個(gè)名為 hello 的方法和一個(gè)名為 world 的變量,則可以像下面這樣調(diào)用:
var myPluginInterface = requirePlugin('myPlugin');
myPluginInterface.hello();
var myWorld = myPluginInterface.world;
導(dǎo)出到插件
從基礎(chǔ)庫(kù) 2.11.1 起,使用插件的小程序可以導(dǎo)出一些內(nèi)容,供插件獲取。具體來(lái)說(shuō),在聲明使用插件時(shí),可以通過(guò) export 字段來(lái)指定一個(gè)文件,如:
{
"myPlugin": {
"version": "1.0.0",
"provider": "wxidxxxxxxxxxxxxxxxx",
"export": "index.js"
}
}
則該文件(上面的例子里是 index.js)導(dǎo)出的內(nèi)容可以被這個(gè)插件用全局函數(shù)獲得。例如,在上面的文件中,使用插件的小程序做了如下導(dǎo)出:
// index.js
module.exports = { whoami: 'Wechat MiniProgram' }
那么插件就可以獲得上面導(dǎo)出的內(nèi)容:
// plugin
requireMiniProgram().whoami // 'Wechat MiniProgram'
具體導(dǎo)出什么內(nèi)容,可以閱讀插件開(kāi)發(fā)文檔,和插件的開(kāi)發(fā)者做好約定。
當(dāng)插件在分包中時(shí),這個(gè)特性也可以使用,但指定的文件的路徑是相對(duì)于分包的。例如在 root: packageA 的分包中指定了 export: exports/plugin.js,那么被指定的文件在文件系統(tǒng)上應(yīng)該是 /packageA/exports/plugin.js。
使用的多個(gè)插件的導(dǎo)出互不影響,兩個(gè)插件可以導(dǎo)出同一個(gè)文件,也可以是不同的文件。但導(dǎo)出同一個(gè)文件時(shí),如果一個(gè)插件對(duì)導(dǎo)出內(nèi)容做了修改,那么另一個(gè)插件也會(huì)被影響,請(qǐng)注意這一點(diǎn)。
請(qǐng)謹(jǐn)慎導(dǎo)出 wx 對(duì)象或某個(gè)具體的 wx API,這將使插件可以以使用者小程序的身份調(diào)用 API。
分享名稱:創(chuàng)新互聯(lián)小程序教程:微信小程序使用插件
網(wǎng)頁(yè)路徑:http://m.fisionsoft.com.cn/article/cccjhps.html


咨詢
建站咨詢
