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

wip(mp): mp-alipay

上级 302ed498
......@@ -683,7 +683,8 @@ function initBehavior({ properties }) {
};
}
function initRelation(mpInstance, detail) {
mpInstance.props.onVueInit(detail);
// onVueInit
mpInstance.props.onVI(detail);
}
function initSpecialMethods(mpInstance) {
if (!mpInstance.$vm) {
......@@ -742,8 +743,8 @@ function handleRef(ref) {
if (!ref) {
return;
}
const refName = ref.props['data-ref'];
const refInForName = ref.props['data-ref-in-for'];
const refName = ref.props['data-r']; // data-ref
const refInForName = ref.props['data-r-i-f']; // data-ref-in-for
if (!refName && !refInForName) {
return;
}
......@@ -828,7 +829,8 @@ function createVueComponent(mpType, mpInstance, vueOptions, parent) {
});
}
function createPage$1(vueOptions) {
function initCreatePage() {
return function createPage(vueOptions) {
vueOptions = vueOptions.default || vueOptions;
const pageOptions = {
onLoad(query) {
......@@ -868,6 +870,7 @@ function createPage$1(vueOptions) {
initUnknownHooks(pageOptions, vueOptions);
initWxsCallMethods(pageOptions, vueOptions.wxsCallMethods);
return Page(pageOptions);
};
}
function initComponentProps(rawProps) {
......@@ -877,7 +880,8 @@ function initComponentProps(rawProps) {
initProps(propertiesOptions, rawProps, false);
const properties = propertiesOptions.properties;
const props = {
onVueInit: function () { },
// onVueInit
onVI: function () { },
};
Object.keys(properties).forEach((key) => {
// vueSlots
......@@ -917,7 +921,8 @@ function initVm(mpInstance, createComponent) {
}
}
}
function createComponent$1(vueOptions) {
function initCreateComponent() {
return function createComponent(vueOptions) {
vueOptions = vueOptions.default || vueOptions;
const mpComponentOptions = {
props: initComponentProps(vueOptions.props),
......@@ -965,12 +970,15 @@ function createComponent$1(vueOptions) {
}
initWxsCallMethods(mpComponentOptions.methods, vueOptions.wxsCallMethods);
return Component(mpComponentOptions);
};
}
const createApp = initCreateApp(parseAppOptions);
const createPage = initCreatePage();
const createComponent = initCreateComponent();
my.EventChannel = EventChannel;
my.createApp = global.createApp = createApp;
my.createApp = createApp;
my.createPage = createPage;
my.createComponent = createComponent;
export { createApp, createComponent$1 as createComponent, createPage$1 as createPage };
export { createApp, createComponent, createPage };
......@@ -14,7 +14,9 @@
"license": "Apache-2.0",
"uni-app": {
"name": "mp-alipay",
"title": "支付宝小程序"
"title": "支付宝小程序",
"apply": "mp-alipay",
"main": "dist/uni.compiler.js"
},
"gitHead": "1efa8efd0a9eddeabdba75c020d015ebf31b8177"
}
......@@ -33,7 +33,8 @@ function initComponentProps(rawProps: Record<string, any>) {
initProps(propertiesOptions, rawProps, false)
const properties = propertiesOptions.properties as Record<string, any>
const props: Record<string, any> = {
onVueInit: function () {},
// onVueInit
onVI: function () {},
}
Object.keys(properties).forEach((key) => {
// vueSlots
......@@ -78,7 +79,8 @@ function initVm(
}
}
export function createComponent(vueOptions: ComponentOptions) {
export function initCreateComponent() {
return function createComponent(vueOptions: ComponentOptions) {
vueOptions = vueOptions.default || vueOptions
const mpComponentOptions: tinyapp.ComponentOptions = {
props: initComponentProps(vueOptions.props),
......@@ -130,4 +132,5 @@ export function createComponent(vueOptions: ComponentOptions) {
)
return Component(mpComponentOptions)
}
}
......@@ -27,7 +27,8 @@ import {
declare function Page<D>(options: tinyapp.PageOptions<D>): void
export function createPage(vueOptions: ComponentOptions) {
export function initCreatePage() {
return function createPage(vueOptions: ComponentOptions) {
vueOptions = vueOptions.default || vueOptions
const pageOptions: tinyapp.PageOptions = {
onLoad(query) {
......@@ -72,4 +73,5 @@ export function createPage(vueOptions: ComponentOptions) {
)
return Page(pageOptions)
}
}
......@@ -4,11 +4,12 @@ import { initCreateApp } from '@dcloudio/uni-mp-core'
import * as parseAppOptions from './parseAppOptions'
export { createPage } from './createPage'
export { createComponent } from './createComponent'
import { initCreatePage } from './createPage'
import { initCreateComponent } from './createComponent'
export const createApp = initCreateApp(parseAppOptions)
export const createPage = initCreatePage()
export const createComponent = initCreateComponent()
;(my as any).EventChannel = EventChannel
;(my as any).createApp = (global as any).createApp = createApp
;(my as any).createApp = createApp
;(my as any).createPage = createPage
;(my as any).createComponent = createComponent
......@@ -48,7 +48,8 @@ export function initRelation(
mpInstance: MPComponentInstance,
detail: RelationOptions
) {
mpInstance.props.onVueInit(detail)
// onVueInit
mpInstance.props.onVI(detail)
}
export function initSpecialMethods(
......@@ -128,8 +129,8 @@ export function handleRef(this: MPComponentInstance, ref: MPComponentInstance) {
if (!ref) {
return
}
const refName = ref.props['data-ref']
const refInForName = ref.props['data-ref-in-for']
const refName = ref.props['data-r'] // data-ref
const refInForName = ref.props['data-r-i-f'] // data-ref-in-for
if (!refName && !refInForName) {
return
}
......
......@@ -38,6 +38,7 @@ export interface UniMiniProgramPluginOptions {
template: {
extname: string
directive: string
event?: MiniProgramCompilerOptions['event']
class: MiniProgramCompilerOptions['class']
slot: MiniProgramCompilerOptions['slot']
filter?: {
......@@ -69,6 +70,7 @@ export function uniMiniProgramPlugin(
uni: uniOptions({
copyOptions,
miniProgram: {
event: template.event,
class: template.class,
filter: template.filter ? { lang: template.filter.lang } : undefined,
directive: template.directive,
......
......@@ -4882,8 +4882,9 @@ var plugin = {
const oldMount = app.mount;
app.mount = function mount(rootContainer) {
const instance = oldMount.call(app, rootContainer);
if (global.createApp) {
global.createApp(instance);
const createApp = getCreateApp();
if (createApp) {
createApp(instance);
}
else {
// @ts-ignore 旧编译器
......@@ -4896,6 +4897,15 @@ var plugin = {
};
},
};
function getCreateApp() {
if (typeof global !== 'undefined') {
return global.createApp;
}
else if (typeof my !== 'undefined') {
// 支付宝小程序没有global
return my.createApp;
}
}
function vOn(value) {
const instance = getCurrentInstance();
......
......@@ -12,8 +12,9 @@ export default {
const oldMount = app.mount
app.mount = function mount(rootContainer: any) {
const instance = oldMount.call(app, rootContainer)
if ((global as any).createApp) {
;(global as any).createApp(instance)
const createApp = getCreateApp()
if (createApp) {
createApp(instance)
} else {
// @ts-ignore 旧编译器
if (typeof createMiniProgramApp !== 'undefined') {
......@@ -21,8 +22,16 @@ export default {
createMiniProgramApp(instance)
}
}
return instance
}
},
}
function getCreateApp() {
if (typeof global !== 'undefined') {
return (global as any).createApp
} else if (typeof my !== 'undefined') {
// 支付宝小程序没有global
return (my as any).createApp
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册