uni-render-logic
Version:
uni-app renderjs 逻辑层和视图层跨层调用 mixin
163 lines (157 loc) • 3.96 kB
text/typescript
import * as vue from 'vue';
interface Job {
id: string;
key: string;
status: JobStatus;
message: string;
data?: any;
params?: any;
}
type JobStatus = 'init' | 'success' | 'fail';
declare const _default$2: vue.DefineComponent<{}, {}, {
jobMap: Map<string, Job>;
}, {}, {
/**
* 创建id
*
* @returns
*/
createId: () => string;
/**
* 分配任务
*
* @param jobs
*/
dispatchJob(jobs: Job[]): void;
/**
* 处理任务
*
* @param jobs
* @returns
*/
handleJob(job: Job): Promise<void>;
/**
* 触发任务更新
*
* @param this
* @param job
* @returns
*/
emitJob(job: Job): void;
/**
* 触发事件
*
* @param data
* @returns
*/
emitEvent(data_0: string, ...data_1: any[]): void;
/**
* 触发数据更新
*
* @param data
* @returns
*/
emitData(data_0: string, data_1: any): void;
/**
* 触发方法
*
* @param data
* @returns
*/
emitMethod(data_0: string, ...data_1: any[]): void;
}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{}>>, {}, {}>;
declare const _default$1: vue.DefineComponent<{}, {}, {
jobs: Job[];
}, {}, {
/**
* 创建id
*
* @returns
*/
createId: () => string;
/**
* 创建任务
*
* @param key
* @returns
*/
createJob(key: string, params?: any): vue.Ref<{
id: string;
key: string;
status: JobStatus;
message: string;
data?: any;
params?: any;
}>;
/**
* 删除任务
*
* @param id
* @returns
*/
removeJob(id: string): void;
/**
* 添加任务
*
* @param key
* @returns
*/
addJob<T = any, K = any>(key: string, params?: K): Promise<T>;
/**
* 接收任务
*
* @param job
*/
receiveJob(job: Job): void;
/**
* 接收事件
*
* @param data
*/
receiveEvent(data: [string, ...any[]]): void;
/**
* 接收数据
*
* @param data
*/
receiveData(data: [string, any]): void;
/**
* 接收方法
*
* @param data
*/
receiveMethod(data: [string, ...any[]]): void;
}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{}>>, {}, {}>;
declare const _default: {
logicMixin: vue.DefineComponent<{}, {}, {
jobMap: Map<string, Job>;
}, {}, {
createId: () => string;
dispatchJob(jobs: Job[]): void;
handleJob(job: Job): Promise<void>;
emitJob(job: Job): void;
emitEvent(data_0: string, ...data_1: any[]): void;
emitData(data_0: string, data_1: any): void;
emitMethod(data_0: string, ...data_1: any[]): void;
}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{}>>, {}, {}>;
renderMixin: vue.DefineComponent<{}, {}, {
jobs: Job[];
}, {}, {
createId: () => string;
createJob(key: string, params?: any): vue.Ref<{
id: string;
key: string;
status: JobStatus;
message: string;
data?: any;
params?: any;
}>;
removeJob(id: string): void;
addJob<T = any, K = any>(key: string, params?: K | undefined): Promise<T>;
receiveJob(job: Job): void;
receiveEvent(data: [string, ...any[]]): void;
receiveData(data: [string, any]): void;
receiveMethod(data: [string, ...any[]]): void;
}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{}>>, {}, {}>;
};
export { _default as default, _default$2 as logicMixin, _default$1 as renderMixin };