Подключение пользовательского плагина Cordova в приложении Native vue ⇐ Android
-
Anonymous
Подключение пользовательского плагина Cordova в приложении Native vue
На основе этого я создал собственный плагин.
Вот мой config.xml
NetsPlugin Это NetsPlugin.js
var exec = require('cordova/exec'); вар PLUGIN_NAME = 'NetsPlugin'; вар NetsPlugin = { эхо: функция (аргумент, успех, ошибка) { exec(успех, ошибка, PLUGIN_NAME, 'echo', [arg]); }, Регистрация: функция (успех, ошибка) { exec(успех, ошибка, PLUGIN_NAME, 'Регистрация', []); } } модуль.экспорт = NetsPlugin; Это NetsPlugin.java
пакет cordova.plugin.nets; импортировать org.apache.cordova.CordovaPlugin; импортировать org.apache.cordova.CallbackContext; импортировать org.json.JSONArray; импортировать org.json.JSONException; общественный класс NetsPlugin расширяет CordovaPlugin { @Override общедоступное логическое выполнение (String action, JSONArray args, CallbackContext callbackContext) выдает JSONException { if (action.equals("Регистрация")) { // callbackContext.success(result); callbackContext.success("Привет от NetsPlugin!"); вернуть истину; } вернуть ложь; } } это мой метод в page.vue
callNetsPlugin: -> если Кордова? если кордова.плагины? если cordova.plugins.NetsPlugin? cordova.plugins.NetsPlugin.Регистрация (результат) -> Результат console.log: «Регистрация» @testtext = "СЕТИ" , (ошибка) => ошибка console.error @testtext = "NETS_ERROR" еще console.log «NetsPlugin недоступен» @testtext = "NETSPLUGIN_NOT" еще console.log 'Плагины Cordova недоступны.' @testtext = "CORDOVA_PLUGINS_NOT" еще console.log 'Кордова недоступна.' @testtext = "КОРДОВА_НЕ" вызовWindowNetsPlugin: -> если окно.кордова? если window.cordova.plugins? если window.cordova.plugins.NetsPlugin? window.cordova.plugins.NetsPlugin.Регистрация (результат) -> Результат console.log: «Регистрация» @testtext2 = "СЕТИ" , (ошибка) => ошибка console.error @testtext2 = "NETS_ERROR" еще console.log «NetsPlugin недоступен» @testtext2 = "NETSPLUGIN_NOT" еще console.log 'Плагины Cordova недоступны.' @testtext2 = "CORDOVA_PLUGINS_NOT" еще console.log 'Кордова недоступна.' @testtext2 = "CORDOVA_NOT" данные: -> testtext: "cordova_nets" testtext2: "window_nets" оба testtext и testtext2 показывают значение по умолчанию, то есть cordova_nets и window_nets, и не обновляются до какого-либо значения. значения отладки
Примечание. Блок if else используется для проверки загрузки плагина Cordova
На основе этого я создал собственный плагин.
Вот мой config.xml
NetsPlugin Это NetsPlugin.js
var exec = require('cordova/exec'); вар PLUGIN_NAME = 'NetsPlugin'; вар NetsPlugin = { эхо: функция (аргумент, успех, ошибка) { exec(успех, ошибка, PLUGIN_NAME, 'echo', [arg]); }, Регистрация: функция (успех, ошибка) { exec(успех, ошибка, PLUGIN_NAME, 'Регистрация', []); } } модуль.экспорт = NetsPlugin; Это NetsPlugin.java
пакет cordova.plugin.nets; импортировать org.apache.cordova.CordovaPlugin; импортировать org.apache.cordova.CallbackContext; импортировать org.json.JSONArray; импортировать org.json.JSONException; общественный класс NetsPlugin расширяет CordovaPlugin { @Override общедоступное логическое выполнение (String action, JSONArray args, CallbackContext callbackContext) выдает JSONException { if (action.equals("Регистрация")) { // callbackContext.success(result); callbackContext.success("Привет от NetsPlugin!"); вернуть истину; } вернуть ложь; } } это мой метод в page.vue
callNetsPlugin: -> если Кордова? если кордова.плагины? если cordova.plugins.NetsPlugin? cordova.plugins.NetsPlugin.Регистрация (результат) -> Результат console.log: «Регистрация» @testtext = "СЕТИ" , (ошибка) => ошибка console.error @testtext = "NETS_ERROR" еще console.log «NetsPlugin недоступен» @testtext = "NETSPLUGIN_NOT" еще console.log 'Плагины Cordova недоступны.' @testtext = "CORDOVA_PLUGINS_NOT" еще console.log 'Кордова недоступна.' @testtext = "КОРДОВА_НЕ" вызовWindowNetsPlugin: -> если окно.кордова? если window.cordova.plugins? если window.cordova.plugins.NetsPlugin? window.cordova.plugins.NetsPlugin.Регистрация (результат) -> Результат console.log: «Регистрация» @testtext2 = "СЕТИ" , (ошибка) => ошибка console.error @testtext2 = "NETS_ERROR" еще console.log «NetsPlugin недоступен» @testtext2 = "NETSPLUGIN_NOT" еще console.log 'Плагины Cordova недоступны.' @testtext2 = "CORDOVA_PLUGINS_NOT" еще console.log 'Кордова недоступна.' @testtext2 = "CORDOVA_NOT" данные: -> testtext: "cordova_nets" testtext2: "window_nets" оба testtext и testtext2 показывают значение по умолчанию, то есть cordova_nets и window_nets, и не обновляются до какого-либо значения. значения отладки
Примечание. Блок if else используется для проверки загрузки плагина Cordova
Мобильная версия