自定义UI Resolver
Resolver可以为你的自定义UI的应用定义后端函数(运行在runtime中的函数),自定义UI的前端可以通过 invoke api可以调用resolver定义的函数。
使用
配置manifest.yml
:
modules:
workspacePage:
- key: workspace-page
title: workspace-title
resource: main
loadType: Micro
resolver:
function: resolver-function
function:
- key: resolver-function
handler: index.handler
resources:
- key: main
path: dist
resolver
中的 function 指向 function
模块中的key
警告
每一个模块只能对应一个resolver function,但是一个resolver function可以定义多个method
resolver方法的定义
import { Resolver } from '@giteeteam/apps-api';
const resolver = new Resolver();
resolver.define("method-key", ({ payload }) => {
// payload是下方invoke传过来的参数
const { example } = payload
console.log(example)
let result;
// your code
return result;
})
resolver.define("method-key-2", ({ payload }) => {
// payload是下方invoke传过来的参数
const { example } = payload
console.log(example)
let result;
// your code
return result;
})
export const handler = resolver.getDefinitions();
使用invoke api调用resolver的方法
具体可以参考 invoke
在Custom UI 的前端代码中引入@giteeteam/plugin-sdk
import { invoke } from '@giteeteam/plugin-sdk';
const Demo = () => {
useEffect(() => {
const payload = {
example: 'hello'
}
const result = await invoke("method-key", payload); // payload 是执行参数
console.log(result) // 返回的数据
},[])
return <div></div>
}