@ones-op/sdk
我们提供了一系列的工具方法,帮助你在插件中访问 ONES 系统的上下文
安装
在插件 /web
目录,通过以下命令安装此包:
- npm
- Yarn
- pnpm
npm install @ones-op/sdk
yarn add @ones-op/sdk
pnpm add @ones-op/sdk
APIs
useProps
要求
获取从 ONES 标品中传下来的插槽Props
ONES | @ones-op/sdk |
---|---|
v6.0.32 | v0.1.0 |
参数
参数 | 说明 | 类型 | 必填 |
---|---|---|---|
moduleType | 插槽或实体的moduleType | string | 是 |
name | 实体子插槽的名字 | string | 否 |
import { useProps } from '@ones-op/sdk'
const App = () => {
const props = useProps('ones:global:banner')
return <div>{props.title}</div>
}
如果你的插槽是实体中的子插槽,则在第二个参数中传入子插槽的名字即可
import { useProps } from '@ones-op/sdk'
const App = () => {
const props = useProps('ones:testcase:report:component:new', 'Card')
return <div>{props.componentUUID}</div>
}
useGlobalAction
在ones:global:actions插槽中劫持标品的操作
获取从 ONES 标品中传下来的插槽Props
ONES | @ones-op/sdk |
---|---|
v6.0.32+ | v0.1.0+ |
参数
参数 | 说明 | 类型 | 必填 |
---|---|---|---|
actionName | 要劫持的action的名字 | string | 是 |
middleware | 进行劫持的中间件函数 | function | 是 |
import { useGlobalAction } from '@ones-op/sdk'
const App = () => {
useGlobalAction('uploadFile', async uploadFile(next, ...params) {
doSomethingBeforeTheAction(...params)
const result = await next(...params)
doSomethingAfterTheAction(result)
})
return null
}