Skip to content

Commit

Permalink
Merge branch 'master' into feat-style-md
Browse files Browse the repository at this point in the history
  • Loading branch information
hiyuki authored Jan 13, 2025
2 parents 514ddb3 + 45cd200 commit 3e96f3f
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 16 deletions.
13 changes: 8 additions & 5 deletions packages/core/src/platform/createApp.ios.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,13 @@ export default function createApp (options) {
return appData
}

defaultOptions.onShow && global.__mpxAppCbs.show.push(defaultOptions.onShow.bind(appData))
defaultOptions.onHide && global.__mpxAppCbs.hide.push(defaultOptions.onHide.bind(appData))
defaultOptions.onError && global.__mpxAppCbs.error.push(defaultOptions.onError.bind(appData))
defaultOptions.onUnhandledRejection && global.__mpxAppCbs.rejection.push(defaultOptions.onUnhandledRejection.bind(appData))
// 模拟小程序appInstance在热启动时不会重新创建的行为,在外部创建跟随js context的appInstance
const appInstance = Object.assign({}, appData, Mpx.prototype)

defaultOptions.onShow && global.__mpxAppCbs.show.push(defaultOptions.onShow.bind(appInstance))
defaultOptions.onHide && global.__mpxAppCbs.hide.push(defaultOptions.onHide.bind(appInstance))
defaultOptions.onError && global.__mpxAppCbs.error.push(defaultOptions.onError.bind(appInstance))
defaultOptions.onUnhandledRejection && global.__mpxAppCbs.rejection.push(defaultOptions.onUnhandledRejection.bind(appInstance))
defaultOptions.onAppInit && defaultOptions.onAppInit()

const pages = currentInject.getPages() || {}
Expand Down Expand Up @@ -114,7 +117,7 @@ export default function createApp (options) {
global.__mpxEnterOptions = options
if (!global.__mpxAppLaunched) {
global.__mpxLaunchOptions = options
defaultOptions.onLaunch && defaultOptions.onLaunch.call(appData, options)
defaultOptions.onLaunch && defaultOptions.onLaunch.call(appInstance, options)
}
global.__mpxAppCbs.show.forEach((cb) => {
cb(options)
Expand Down
17 changes: 9 additions & 8 deletions packages/core/src/platform/createApp.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,13 @@ export default function createApp (options, config = {}) {
builtInMixins.push({
beforeCreate () {
// for vue provide vm access
Object.assign(this, appData)
Object.assign(this, appData, Mpx.prototype)
if (isBrowser) {
rawOptions.onShow && global.__mpxAppCbs.show.push(rawOptions.onShow.bind(this))
rawOptions.onHide && global.__mpxAppCbs.hide.push(rawOptions.onHide.bind(this))
rawOptions.onError && global.__mpxAppCbs.error.push(rawOptions.onError.bind(this))
rawOptions.onUnhandledRejection && global.__mpxAppCbs.rejection.push(rawOptions.onUnhandledRejection.bind(this))
}
},
created () {
const current = this.$root.$options?.router?.currentRoute || {}
Expand All @@ -52,7 +58,7 @@ export default function createApp (options, config = {}) {
// web不分冷启动和热启动
global.__mpxEnterOptions = options
global.__mpxLaunchOptions = options
rawOptions.onLaunch && rawOptions.onLaunch.call(appData, options)
rawOptions.onLaunch && rawOptions.onLaunch.call(this, options)
global.__mpxAppCbs.show.forEach((cb) => {
cb(options)
})
Expand All @@ -61,6 +67,7 @@ export default function createApp (options, config = {}) {
} else {
builtInMixins.push({
onLaunch () {
Object.assign(this, Mpx.prototype)
initAppProvides(rawOptions.provide, this)
}
})
Expand All @@ -75,12 +82,6 @@ export default function createApp (options, config = {}) {
}
return appData
}
if (isBrowser) {
defaultOptions.onShow && global.__mpxAppCbs.show.push(defaultOptions.onShow.bind(appData))
defaultOptions.onHide && global.__mpxAppCbs.hide.push(defaultOptions.onHide.bind(appData))
defaultOptions.onError && global.__mpxAppCbs.error.push(defaultOptions.onError.bind(appData))
defaultOptions.onUnhandledRejection && global.__mpxAppCbs.rejection.push(defaultOptions.onUnhandledRejection.bind(appData))
}
global.__mpxOptionsMap = global.__mpxOptionsMap || {}
global.__mpxOptionsMap[currentInject.moduleId] = defaultOptions
} else {
Expand Down
12 changes: 9 additions & 3 deletions packages/core/src/platform/env/vuePlugin.js
Original file line number Diff line number Diff line change
Expand Up @@ -60,17 +60,23 @@ export default function install (Vue) {
data: {
get () {
return Object.assign({}, this.$props, this.$data)
}
},
enumerable: true,
configurable: true
},
dataset: {
get () {
return collectDataset(this.$attrs, true)
}
},
enumerable: true,
configurable: true
},
id: {
get () {
return this.$attrs.id || ''
}
},
enumerable: true,
configurable: true
}
})

Expand Down

0 comments on commit 3e96f3f

Please sign in to comment.