目前,千牛提供了插件的生命周期回调方法。允许在插件打开/销毁时候,运行指定的JS文件。
补充:目前Android的该功能在开发中,iOS已经支持该功能。
打开插件时(包括用户手动点击打开插件、通过协议路由打开插件),千牛移动客户端会运行ZIP包下,qap/lifecycle目录下的onCreate.js文件。
为此,新建文件src/lifecycle/onCreate.js(目录随意),编辑代码:
console.log('QAP lifecycle onCreate');
//可以调用QAP-SDK
import QN from 'QAP-SDK'
QN.toast({
query: {
text: '给你甩个 toast ~~?'
}
})
配置webpack,是为了确保lifecycle/onCreate.js会编译到build/lifecycle/onCreate.js。最终打包会把build目录内容直接拷贝到ZIP包的QAP目录中。
配置方案很简单,直接在getDevEntry函数返回前,写死:entry['lifecycle/onCreate'] = 'lifecycle/onCreate.jsx';。如下图所示:

千牛工作台扫码运行,会弹出内容为“给你甩个 toast
”的Toast,即可证明运行了
src/lifecycle/onCreate.js文件。
插件关闭时,千牛移动客户端会运行ZIP包下,qap/lifecycle目录下的onDestroy.js文件。
方法跟“打开插件”很类似,在次不再赘述,唯一的区别是名字由onCreate.js变成onDestroy.js。