php登录抓取网页指定内容(使用插件添加插件在json文件定义需要引入的组件)
优采云 发布时间: 2021-10-27 11:08php登录抓取网页指定内容(使用插件添加插件在json文件定义需要引入的组件)
使用插件添加插件
使用插件前,必须先在小程序管理后台的“设置-第三方服务-插件管理”中添加插件。开发者可以登录小程序管理后台,通过appid查找和添加插件。如果插件不需要申请,添加后直接使用即可;否则,您需要申请并等待插件开发人员通过,才能在小程序中使用相应的插件。
引入插件代码包
使用插件前,用户应在app.json中声明需要使用的插件,例如:
代码示例:
{
"plugins": {
"myPlugin": {
"version": "1.0.0",
"provider": "wxidxxxxxxxxxxxxxxxx"
}
}
}
如上例所示,插件定义部分可以收录多个插件声明。每个插件声明由用户定义的插件引用名称标识,并指示插件的 appid 和要使用的版本号。其中,引用名称(如上例中的myPlugin)由用户自定义,不需要与插件开发者保持一致或协调。在插件的后续使用中,将使用引用名称来表示插件。
在子包中引入插件代码包
如果插件只在一个子包中使用,则可以将插件只放在这个子包中,例如:
{
"subpackages": [
{
"root": "packageA",
"pages": [
"pages/cat",
"pages/dog"
],
"plugins": {
"myPlugin": {
"version": "1.0.0",
"provider": "wxidxxxxxxxxxxxxxxxx"
}
}
}
]
}
分包使用插件有以下限制:
使用插件
使用插件时,插件的代码对用户是不可见的。为正确使用插件,用户应查看插件详情页面的“开发文档”部分,阅读插件开发者提供的插件开发文档,并使用文档明确自定义插件提供的组件、页面名称、js接口提供的规范等。
自定义组件
使用插件提供的自定义组件与使用普通的自定义组件类似。在json文件中定义需要导入的自定义组件时,使用plugin://协议指定插件的引用名称和自定义组件的名称,例如:
代码示例:
{
"usingComponents": {
"hello-component": "plugin://myPlugin/hello-component"
}
}
对于插件的保护,插件提供的自定义组件在使用上有一定的限制:
wx.createSelectorQuery等接口的>>>选择器不能选入插件。页
插件的页面从小程序2.1.0的基础库版本开始支持。
当需要跳转到插件页面时,url使用plugin://前缀,如plugin://PLUGIN_NAME/PLUGIN_PAGE,如:
代码示例:
Go to pages/hello-page!
js接口
使用插件的js接口时,可以使用requirePlugin方法。例如,如果插件提供了一个名为 hello 的方法和一个名为 world 的变量,则可以如下调用:
var myPluginInterface = requirePlugin('myPlugin');
myPluginInterface.hello();
var myWorld = myPluginInterface.world;
从基础库2.14.0开始,也可以通过插件的AppID获取接口,如:
var myPluginInterface = requirePlugin('wxidxxxxxxxxxxxxxxxx');
导出到插件
在开发者工具中预览效果,需要在miniprogram/app.json中手动填写插件AppID
从基础库2.11.1开始,使用插件的小程序可以导出一些内容供插件获取。具体来说,在声明一个插件的使用时,可以通过export字段指定一个文件,比如:
{
"myPlugin": {
"version": "1.0.0",
"provider": "wxidxxxxxxxxxxxxxxxx",
"export": "index.js"
}
}
然后这个文件的导出内容(上面例子中的index.js)可以通过这个插件使用一个全局函数来获取。比如上面的文件中,使用插件的小程序导出如下:
// index.js
module.exports = { whoami: 'Wechat MiniProgram' }
然后插件就可以得到上面导出的内容:
// plugin
requireMiniProgram().whoami // 'Wechat MiniProgram'
具体导出内容可以阅读插件开发文档,与插件开发者协商。
当插件在子包中,但指定文件的路径是相对于子包时,也可以使用此功能。比如在root的子包packageA中指定export:exports/plugin.js,那么指定的文件应该是文件系统上的/packageA/exports/plugin.js。
使用的多个插件的导出互不影响。两个插件可以导出相同的文件或不同的文件。但是在导出同一个文件时,如果一个插件修改了导出的内容,另一个插件也会受到影响。请注意这一点。
请小心导出 wx 对象或特定的 wx API,这将使插件能够以用户小程序调用 API。
此外还可以
为插件提供自定义组件
在开发者工具中预览效果,需要在miniprogram/app.json中手动填写插件AppID
有时,插件可能会将页面或自定义组件中的一部分区域交给使用的小程序进行渲染,因此需要使用的小程序提供了自定义组件。但是,由于不能在插件中直接指定小程序的自定义组件路径,因此需要通过为插件指定抽象节点(泛型)来提供。
如果是插件自定义组件,需要指定抽象节点实现,可以在引用时指定:
从基础库2.12.2开始,可以通过配置项为插件页面指定抽象组件来实现。例如,为插件名称为plugin-index的页面中的抽象节点mp-view指定自定义组件components/comp-from-miniprogram:
{
"myPlugin": {
"provider": "wxAPPID",
"version": "1.0.0",
"genericsImplementation": {
"plugin-index": {
"mp-view": "components/comp-from-miniprogram"
}
}
}
}
此外还可以