diff --git a/src/core/service/api/device/network.js b/src/core/service/api/device/network.js new file mode 100644 index 0000000000000000000000000000000000000000..7be6d6c3766520a1961915cec6838b91690c7028 --- /dev/null +++ b/src/core/service/api/device/network.js @@ -0,0 +1,19 @@ +import { + invoke +} from 'uni-core/service/bridge' + +import { + onMethod +} from '../../platform' + +const callbacks = [] + +onMethod('onNetworkStatusChange', res => { + callbacks.forEach(callbackId => { + invoke(callbackId, res) + }) +}) + +export function onNetworkStatusChange (callbackId) { + callbacks.push(callbackId) +} diff --git a/src/platforms/app-plus/service/framework/app.js b/src/platforms/app-plus/service/framework/app.js index ab40fd5251a356a7b131c15a110407e7eb504950..aca89c59afd8f01adcbde86f025042322755cd81 100644 --- a/src/platforms/app-plus/service/framework/app.js +++ b/src/platforms/app-plus/service/framework/app.js @@ -16,7 +16,11 @@ import { isTabBarPage } from '../api/util' -import tabBar from './tab-bar' +import tabBar from './tab-bar' + +import { + publish +} from '../bridge' let appCtx @@ -54,7 +58,7 @@ function initGlobalListeners () { plus.globalEvent.addEventListener('netchange', () => { const networkType = NETWORK_TYPES[plus.networkinfo.getCurrentType()] - emit('onNetworkStatusChange', { + publish('onNetworkStatusChange', { isConnected: networkType !== 'none', networkType })