文档中心 > 扩展应用

组件级别 SPI

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

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

代码组织

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

1
2
3
4
5
6
7
8
9
10
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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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
返回
顶部