ionic Plugin插件,与原生app端交互,ionic端代码
创建plugins 目录 definitions.ts文件
definitions.ts文件:
import {Plugin} from '@capacitor/core/dist/esm/definitions';
declare global {
interface PluginRegistry {
//定义插件名称
Navigation: NavigationPlugin;
}
}
//定义接受参数类型
export interface NavigationPlugin extends Plugin {
echo(options: {value: string}): Promise<any>;
}
组件里面:
导入plugin插件
import {Plugins} from '@capacitor/core';
const { Device , StatusBar, Navigation , Callback} = Plugins;
ionic调用原生声明插件方法:
//Navigation为定义的插件。echo为插件命名方法名。()里面是调用传的值
const result: Promise<any> = Navigation.echo({value: '123'});
//调用成功后执行
result.then((data: Promise<any>) => {
console.log('调用');
console.log(data);
});
原生利用插件调用ionic方法
//bindwxsuccess为插件方法名,wx是调用的时候接受的参数
const handler = Navigation.addListener('bindwxsuccess', (wx) => {
console.log(wx);
});