文档中心 > 扩展应用

组件级别 SPI

更新时间:2025/02/08 访问次数:188

说明:组件级别的 SPI 跟组件UI共用一个 jsContext 可以再定义一个全局变量,实现内存共享。

代码组织

app.json 文件,声明组件时额外增加一个SpiPath 属性,这个属性的含义是组件级别 SPI 的文件路径,整个模块以 default export 的方式导出。
示例

const mySpi = async (opt) => {
   console.log(opt, "框架调用 spi 传入的参数");
   const result = {};
   console.log(result, "框架调用 spi 的返回值");
   return result;
};

export default {
  mySpi,
};

能力

1)在 SPI 中可以调用云函数

2)SPI 函数支持 async 语法。

3)SPI 中可以调用 UI 能力。

调用UI能力DEMO

import { Dialog } from '@alifd/next'

const delay = (times) => {
  return new Promise((resolve) => {
    setTimeout(() => {
      resolve();
    }, times);
  });
};

const mockSpi = async () => {
  await delay(2000);


  await new Promise((resolve, reject) => {
 		Dialog.alert({
      title: '我是UI弹窗',
      content: '弹出的内容',
      onOk: resolve,
    })
  })
  
  return {
    apiName: "mockSp11111i",
    apiData: {
      mock:"i am mock data"
    },
  };
};

export default {
  mockSpi,
};

FAQ

关于此文档暂时还没有FAQ
返回
顶部