const defaultApp = {
|
globalData: {}
|
}
|
|
function wrapper (def) {
|
if (def.__$processed) {
|
return def
|
}
|
const methods = def.methods
|
if (methods) {
|
Object.keys(methods).forEach(name => {
|
def[name] = methods[name]
|
})
|
delete def.methods
|
}
|
// merge defaultApp
|
Object.keys(defaultApp).forEach(name => {
|
if (name !== 'globalData') {
|
def[name] = defaultApp[name]
|
}
|
})
|
if (!def.globalData) {
|
def.globalData = {}
|
}
|
Object.assign(def.globalData, defaultApp.globalData)
|
def.__$processed = true
|
return def
|
}
|
|
export function getApp ({
|
allowDefault = false
|
} = {}) {
|
/* eslint-disable no-undef */
|
if (inst.$def) {
|
return wrapper(inst.$def)
|
}
|
if (allowDefault) { // 返回默认实现
|
return defaultApp
|
}
|
}
|