import{ax as s,z as a,A as t,b2 as l}from"./chunks/framework.DkLJC2NO.js";const c=JSON.parse('{"title":"DevtoolApi","description":"","frontmatter":{},"headers":[],"relativePath":"runtime-api/core/devtoolApi.md","filePath":"runtime-api/core/devtoolApi.md"}'),e={name:"runtime-api/core/devtoolApi.md"};function p(n,i,o,h,d,r){return t(),a("div",null,[...i[0]||(i[0]=[l(`
DevtoolApi 是 @tmagic/core 提供给开发工具使用的 API 接口类。
new DevtoolApi(options: DevtoolApiOptions)| 参数 | 类型 | 说明 |
|---|---|---|
app | App | 应用实例 |
参数:
{Id} popId 弹窗组件 ID返回:
{void}详情:
打开指定的弹窗组件。
示例:
devtoolApi.openPop('dialog_1');参数:
{Id} dsId 数据源 ID{any} data 数据{string} path 数据路径(可选)返回:
{void}详情:
设置数据源的数据。
示例:
// 设置整个数据源数据
devtoolApi.setDataSourceData('ds_1', { name: 'test' });
// 设置数据源的某个字段
devtoolApi.setDataSourceData('ds_1', 'newValue', 'user.name');参数:
{Id} dsId 数据源 ID返回:
{Promise<void>}详情:
触发 HTTP 数据源的请求。
示例:
await devtoolApi.requestDataSource('http_ds_1');参数:
{Id} nodeId 节点 ID{CondItem} condItem 条件项返回:
{any}详情:
获取显示条件的实际计算值。
参数:
{Id} nodeId 节点 ID{string} hookName 钩子名称{any} hookData 钩子数据返回:
{Promise<any>}详情:
调用节点的钩子函数。
示例:
await devtoolApi.callHook('button_1', 'mounted', { data: 'test' });参数:
{Id} nodeId 节点 ID{EventConfig[]} events 事件配置数组返回:
{Promise<void>}详情:
触发节点的事件。
示例:
await devtoolApi.trigger('button_1', [
{
name: 'click',
actions: [{ actionType: 'code', codeId: 'code_1' }]
}
]);参数:
{any} value 要检查的值返回:
{boolean}详情:
检查值是否包含数据源引用。
示例:
const hasDs = devtoolApi.isValueIncludeDataSource('\${ds_1.field}');
console.log(hasDs); // true参数:
{any} value 包含数据源引用的值返回:
{any}详情:
编译数据源值,将数据源引用替换为实际值。
示例:
const compiled = devtoolApi.compileDataSourceValue('用户名:\${ds_1.user.name}');参数:
{Id} codeId 代码块 ID{any} value 新值{string} path 路径(可选)返回:
{void}详情:
更新代码块的内容。
示例:
devtoolApi.updateCode('code_1', 'return data.value * 2;', 'content');