ymx-huawei-preview
    正在准备搜索索引...

    接口 YmxHuaweiPreview

    华为文件预览(Preview Kit)服务

    调用系统级预览能力快速展示图片、视频、音频、文本、网页与各类文档,无需自行实现文件渲染; 可直接传入网络地址,插件自动下载到缓存目录后再预览。

    const preview = ymx.requirePlugin('ymx-huawei-preview') as YmxHuaweiPreview;

    // 打开网络文件(自动下载后预览)
    await preview.preview({
    files: [{ uri: 'https://www.yimenapp.com/doc/doc.pdf' }]
    });

    // 检查本地文件是否支持预览
    const res = await preview.canPreview({ uri: 'file://docs/1.pdf' });
    if (!res.canPreview) {
    console.log('文件类型不支持预览');
    return;
    }

    // 打开本地单文件预览
    await preview.preview({ files: [{ uri: 'file://docs/1.pdf', title: '合同.pdf' }] });

    // 一次打开多个文件(支持网络地址与本地文件混用),初始展示第 2 个
    await preview.preview({
    files: [
    { uri: 'https://www.yimenapp.com/doc/doc.pdf' },
    { uri: 'file://docs/2.png' }
    ],
    activeIndex: 1
    });
    interface YmxHuaweiPreview {
        id: string;
        version: string;
        canPreview(data: CanPreviewData): Promise<CanPreviewResult>;
        preview(data: PreviewData): Promise<PreviewResult>;
        removeListener(): Promise<void>;
        setListener(
            listener: (eventName: string, data: any) => void,
        ): Promise<void>;
    }

    层级

    • JsApiBase
      • YmxHuaweiPreview
    索引

    属性

    id: string

    获取插件 ID

    version: string

    获取插件版本,如 1.2.3

    方法

    • 检查文件是否支持系统预览

      本地文件校验文件是否存在与类型是否支持;网络地址仅按文件类型判断,不下载文件。

      参数

      返回 Promise<CanPreviewResult>

      是否支持预览

      const res = await preview.canPreview({ uri: 'file://docs/1.pdf' });
      console.log(res.canPreview ? '支持预览' : '不支持预览');
    • 打开系统文件预览

      支持图片、视频、音频、文本、网页与各类文档;传入网络地址时自动下载到缓存目录后预览; 同一时间仅存在一个预览窗口,预览页由系统管理,返回即表示已拉起。

      参数

      • data: PreviewData

        待预览文件列表(支持多文件切换)

      返回 Promise<PreviewResult>

      已成功拉起预览

      // 打开网络文件(自动下载后预览)
      await preview.preview({ files: [{ uri: 'https://www.yimenapp.com/doc/doc.pdf' }] });

      // 打开本地文件
      await preview.preview({ files: [{ uri: 'file://docs/1.pdf', title: '合同.pdf' }] });
    • 移除监听器

      返回 Promise<void>

    • 设置监听器,接收 eventName 事件名称,data 事件数据

      注意: 此接口为覆盖操作,仅保留最后一个监听器,最后的 listener 才能收到事件通知。

      参数

      • listener: (eventName: string, data: any) => void

      返回 Promise<void>