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

fix(mp): subpackage (#3416)

上级 002161aa
......@@ -20,4 +20,5 @@ export const createSubpackageApp = initCreateSubpackageApp(parseAppOptions)
;(swan as any).createApp = (global as any).createApp = createApp
;(swan as any).createPage = createPage
;(swan as any).createComponent = createComponent
;(swan as any).createSubpackageApp = createSubpackageApp
;(swan as any).createSubpackageApp = (global as any).createSubpackageApp =
createSubpackageApp
......@@ -106,6 +106,13 @@ export function initCreateSubpackageApp(parseAppOptions?: ParseAppOptions) {
}
})
initAppLifecycle(appOptions, vm)
if (process.env.UNI_SUBPACKAGE) {
;(__GLOBAL__.$subpackages || (__GLOBAL__.$subpackages = {}))[
process.env.UNI_SUBPACKAGE
] = {
$vm: vm,
}
}
}
}
......@@ -113,6 +120,11 @@ export function initAppLifecycle(
appOptions: MiniProgramAppOptions,
vm: ComponentPublicInstance
) {
if (isFunction(appOptions.onLaunch)) {
const args =
__GLOBAL__.getLaunchOptionsSync && __GLOBAL__.getLaunchOptionsSync()
appOptions.onLaunch(args)
}
if (isFunction(appOptions.onShow) && __GLOBAL__.onAppShow) {
__GLOBAL__.onAppShow((args: unknown) => {
vm.$callHook('onShow', args)
......@@ -123,11 +135,6 @@ export function initAppLifecycle(
vm.$callHook('onHide', args)
})
}
if (isFunction(appOptions.onLaunch)) {
const args =
__GLOBAL__.getLaunchOptionsSync && __GLOBAL__.getLaunchOptionsSync()
vm.$callHook('onLaunch', args || {})
}
}
function initLocale(appVm: ComponentPublicInstance) {
......
......@@ -144,12 +144,22 @@ interface InitialVNode {
props: Record<string, any>
}
function getAppVm() {
if (process.env.UNI_MP_PLUGIN) {
return __GLOBAL__.$vm
}
if (process.env.UNI_SUBPACKAGE) {
return __GLOBAL__.$subpackages[process.env.UNI_SUBPACKAGE].$vm
}
return getApp().$vm
}
export function $createComponent(
initialVNode: InitialVNode,
options: CreateComponentOptions
) {
if (!$createComponentFn) {
$createComponentFn = getApp().$vm.$createComponent
$createComponentFn = getAppVm().$createComponent
}
const proxy = $createComponentFn(
initialVNode,
......
......@@ -4,5 +4,8 @@ import { initAppLifecycle, parseApp, ParseAppOptions } from './app'
export function initCreatePluginApp(parseAppOptions?: ParseAppOptions) {
return function createApp(vm: ComponentPublicInstance) {
initAppLifecycle(parseApp(vm, parseAppOptions), vm)
if (process.env.UNI_MP_PLUGIN) {
__GLOBAL__.$vm = vm
}
}
}
......@@ -18,4 +18,5 @@ export const createSubpackageApp = initCreateSubpackageApp()
;(ks as any).createApp = (global as any).createApp = createApp
;(ks as any).createPage = createPage
;(ks as any).createComponent = createComponent
;(ks as any).createSubpackageApp = createSubpackageApp
;(ks as any).createSubpackageApp = (global as any).createSubpackageApp =
createSubpackageApp
......@@ -19,4 +19,5 @@ export const createSubpackageApp = initCreateSubpackageApp()
;(tt as any).createApp = (global as any).createApp = createApp
;(tt as any).createPage = createPage
;(tt as any).createComponent = createComponent
;(tt as any).createSubpackageApp = createSubpackageApp
;(tt as any).createSubpackageApp = (global as any).createSubpackageApp =
createSubpackageApp
......@@ -11,4 +11,5 @@ export * from '@dcloudio/uni-mp-weixin/src/runtime'
;(qq as any).createApp = (global as any).createApp = createApp
;(qq as any).createPage = createPage
;(qq as any).createComponent = createComponent
;(qq as any).createSubpackageApp = createSubpackageApp
;(qq as any).createSubpackageApp = (global as any).createSubpackageApp =
createSubpackageApp
......@@ -19,4 +19,5 @@ export const createSubpackageApp = initCreateSubpackageApp()
;(tt as any).createApp = (global as any).createApp = createApp
;(tt as any).createPage = createPage
;(tt as any).createComponent = createComponent
;(tt as any).createSubpackageApp = createSubpackageApp
;(tt as any).createSubpackageApp = (global as any).createSubpackageApp =
createSubpackageApp
......@@ -19,6 +19,8 @@ if (__PLATFORM__ === 'mp-weixin') {
;(wx as any).createApp = (global as any).createApp = createApp
;(wx as any).createPage = createPage
;(wx as any).createComponent = createComponent
;(wx as any).createPluginApp = createPluginApp
;(wx as any).createSubpackageApp = createSubpackageApp
;(wx as any).createPluginApp = (global as any).createPluginApp =
createPluginApp
;(wx as any).createSubpackageApp = (global as any).createSubpackageApp =
createSubpackageApp
}
......@@ -19,4 +19,5 @@ export const createSubpackageApp = initCreateSubpackageApp()
;(qa as any).createApp = (global as any).createApp = createApp
;(qa as any).createPage = createPage
;(qa as any).createComponent = createComponent
;(qa as any).createSubpackageApp = createSubpackageApp
;(qa as any).createSubpackageApp = (global as any).createSubpackageApp =
createSubpackageApp
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册