@qiniu/miku-delivery-mp-ks
Version:
Kuaishou Mini Program SDK for Miku Delivery
38 lines (37 loc) • 1.42 kB
TypeScript
/**
* @file 小程序 Component 实现的工具函数
* @desc 提供如 uuid、log 等逻辑相关的辅助工具
*/
import type CDNResolver from '../dns';
import { Job } from '../dns/common';
import Logger from '../log';
/** 媒体组件 error 事件 */
export declare class MediaError extends Error {
name: string;
}
/** 对于自定义媒体组件实例的要求/假设 */
export type CompInstance = {
properties: {
/** 外部指定的资源 URL */
src: string;
};
data: {
/** 内部控制的真实资源 URL */
finalSrc: string;
};
};
/** 获取自定义媒体组件的唯一 ID,如果没有,则会生成一个并与当前组件实例绑定 */
export declare function getUuid(comp: any): any;
/** 回调函数,预期自定义媒体组件 attached 时被调用 */
export declare function onAttached(comp: CompInstance, type: string): Promise<void>;
export type Event = {
type: string;
detail: unknown;
};
export type ErrorEventDetail = {
errMsg: string | null;
};
/** 回调函数,预期媒体组件中的原生媒体组件上有事件触发时被调用 */
export declare function onMediaEvent(comp: CompInstance, event: Event): Promise<void>;
/** 基于外部设置的 src 进行 ECDN 解析 & 调度 */
export declare function resolveSrc(comp: CompInstance, logger: Logger, resolver: CDNResolver, src: string, job: Job): Promise<void>;