提交 d6230bb1 编写于 作者: fxy060608's avatar fxy060608

feat(h5): Compatible with externals (webpack)

上级 a79e485c
...@@ -7,50 +7,60 @@ import Vue from 'vue' ...@@ -7,50 +7,60 @@ import Vue from 'vue'
// import 'uni-platform/view/index.css' // import 'uni-platform/view/index.css'
import initVue from 'uni-core/vue' import initVue from 'uni-core/vue'
global.UniViewJSBridge = { class UniApp {
subscribe: UniViewJSBridge.subscribe, constructor () {
publishHandler: UniViewJSBridge.publishHandler, this._init()
subscribeHandler: UniViewJSBridge.subscribeHandler }
}
global.UniServiceJSBridge = { _init () {
subscribe: UniServiceJSBridge.subscribe, global.UniViewJSBridge = {
publishHandler: UniServiceJSBridge.publishHandler, subscribe: UniViewJSBridge.subscribe,
subscribeHandler: UniServiceJSBridge.subscribeHandler publishHandler: UniViewJSBridge.publishHandler,
} subscribeHandler: UniViewJSBridge.subscribeHandler
}
global.UniServiceJSBridge = {
subscribe: UniServiceJSBridge.subscribe,
publishHandler: UniServiceJSBridge.publishHandler,
subscribeHandler: UniServiceJSBridge.subscribeHandler
}
const {
default: uni,
getApp,
getCurrentPages
} = require('uni-platform/service/index')
// 与微信JS-SDK同名的方法
// const sameNameApis = ['setClipboardData', 'getClipboardData', 'onUserCaptureScreen', 'openBluetoothAdapter', 'startBluetoothDevicesDiscovery', 'onBluetoothDeviceFound', 'stopBluetoothDevicesDiscovery', 'onBluetoothAdapterStateChange', 'getConnectedBluetoothDevices', 'getBluetoothDevices', 'getBluetoothAdapterState', 'closeBluetoothAdapter', 'writeBLECharacteristicValue', 'readBLECharacteristicValue', 'onBLEConnectionStateChange', 'onBLECharacteristicValueChange', 'notifyBLECharacteristicValueChange', 'getBLEDeviceServices', 'getBLEDeviceCharacteristics', 'createBLEConnection', 'closeBLEConnection', 'onBeaconServiceChange', 'onBeaconUpdate', 'getBeacons', 'startBeaconDiscovery', 'stopBeaconDiscovery', 'chooseImage', 'previewImage', 'getNetworkType', 'onNetworkStatusChange', 'openLocation', 'getLocation']
// 默认会被iOS企业微信替换的方法
const sameNameApis = ['chooseImage']
sameNameApis.forEach(item => {
Object.defineProperty(uni, item, {
writable: false,
configurable: false
})
})
global.uni = uni
const { global.wx = global.uni
default: uni,
getApp, global.getApp = getApp
getCurrentPages global.getCurrentPages = getCurrentPages
} = require('uni-platform/service/index')
Vue.use(require('uni-service/plugins').default, {
// 与微信JS-SDK同名的方法 routes: __uniRoutes
// const sameNameApis = ['setClipboardData', 'getClipboardData', 'onUserCaptureScreen', 'openBluetoothAdapter', 'startBluetoothDevicesDiscovery', 'onBluetoothDeviceFound', 'stopBluetoothDevicesDiscovery', 'onBluetoothAdapterStateChange', 'getConnectedBluetoothDevices', 'getBluetoothDevices', 'getBluetoothAdapterState', 'closeBluetoothAdapter', 'writeBLECharacteristicValue', 'readBLECharacteristicValue', 'onBLEConnectionStateChange', 'onBLECharacteristicValueChange', 'notifyBLECharacteristicValueChange', 'getBLEDeviceServices', 'getBLEDeviceCharacteristics', 'createBLEConnection', 'closeBLEConnection', 'onBeaconServiceChange', 'onBeaconUpdate', 'getBeacons', 'startBeaconDiscovery', 'stopBeaconDiscovery', 'chooseImage', 'previewImage', 'getNetworkType', 'onNetworkStatusChange', 'openLocation', 'getLocation'] })
// 默认会被iOS企业微信替换的方法
const sameNameApis = ['chooseImage'] Vue.use(require('uni-view/plugins').default, {
sameNameApis.forEach(item => { routes: __uniRoutes
Object.defineProperty(uni, item, { })
writable: false,
configurable: false initVue(Vue)
}) require('uni-platform/components')
}) require('uni-components')
}
global.uni = uni }
global.UniApp = UniApp
global.wx = global.uni global.__uniConfig && new UniApp()
global.getApp = getApp
global.getCurrentPages = getCurrentPages
Vue.use(require('uni-service/plugins').default, {
routes: __uniRoutes
})
Vue.use(require('uni-view/plugins').default, {
routes: __uniRoutes
})
initVue(Vue)
require('uni-platform/components')
require('uni-components')
...@@ -410,6 +410,7 @@ global.__uniConfig.sdkConfigs = ${JSON.stringify(sdkConfigs)}; ...@@ -410,6 +410,7 @@ global.__uniConfig.sdkConfigs = ${JSON.stringify(sdkConfigs)};
global.__uniConfig.qqMapKey = ${JSON.stringify(qqMapKey)}; global.__uniConfig.qqMapKey = ${JSON.stringify(qqMapKey)};
global.__uniConfig.nvue = ${JSON.stringify({ 'flex-direction': getFlexDirection(manifestJson['app-plus']) })} global.__uniConfig.nvue = ${JSON.stringify({ 'flex-direction': getFlexDirection(manifestJson['app-plus']) })}
${genRegisterPageVueComponentsCode(pageComponents)} ${genRegisterPageVueComponentsCode(pageComponents)}
global.__uniRoutes=[${genPageRoutes(pageComponents).concat(genSystemRoutes()).join(',')}] global.__uniRoutes=[${genPageRoutes(pageComponents).concat(genSystemRoutes()).join(',')}]
global.UniApp && new global.UniApp();
` `
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册