import{ax as i,z as a,A as t,b2 as e}from"./chunks/framework.DkLJC2NO.js";const g=JSON.parse('{"title":"dataSourceService方法","description":"","frontmatter":{},"headers":[],"relativePath":"api/editor/dataSourceServiceMethods.md","filePath":"api/editor/dataSourceServiceMethods.md"}'),l={name:"api/editor/dataSourceServiceMethods.md"};function n(p,s,h,k,r,d){return t(),a("div",null,[...s[0]||(s[0]=[e(`

dataSourceService方法

get

js
import { dataSourceService } from '@tmagic/editor';

const dataSources = dataSourceService.get('dataSources');
console.log(dataSources);

set

js
import { dataSourceService } from '@tmagic/editor';

dataSourceService.set('editable', false);

getFormConfig

js
import { dataSourceService } from '@tmagic/editor';

const config = dataSourceService.getFormConfig('http');
console.log(config);

setFormConfig

js
import { dataSourceService } from '@tmagic/editor';

dataSourceService.setFormConfig('http', [
  {
    name: 'url',
    text: '请求地址',
    type: 'text',
  },
  {
    name: 'method',
    text: '请求方法',
    type: 'select',
    options: [
      { text: 'GET', value: 'GET' },
      { text: 'POST', value: 'POST' },
    ],
  },
]);

getFormValue

js
import { dataSourceService } from '@tmagic/editor';

const defaultValue = dataSourceService.getFormValue('http');
console.log(defaultValue);

setFormValue

js
import { dataSourceService } from '@tmagic/editor';

dataSourceService.setFormValue('http', {
  type: 'http',
  method: 'GET',
  url: '',
});

getFormEvent

js
import { dataSourceService } from '@tmagic/editor';

const events = dataSourceService.getFormEvent('http');
console.log(events);

setFormEvent

js
import { dataSourceService } from '@tmagic/editor';

dataSourceService.setFormEvent('http', [
  { label: '请求成功', value: 'success' },
  { label: '请求失败', value: 'error' },
]);

getFormMethod

js
import { dataSourceService } from '@tmagic/editor';

const methods = dataSourceService.getFormMethod('http');
console.log(methods);

setFormMethod

js
import { dataSourceService } from '@tmagic/editor';

dataSourceService.setFormMethod('http', [
  { label: '发起请求', value: 'request' },
  { label: '重试', value: 'retry' },
]);

add

js
import { dataSourceService } from '@tmagic/editor';

const newDs = dataSourceService.add({
  type: 'http',
  title: '用户信息',
  url: '/api/user',
  method: 'GET',
});

console.log(newDs.id); // 自动生成的id

update

js
import { dataSourceService } from '@tmagic/editor';

const updatedDs = dataSourceService.update({
  id: 'ds_123',
  type: 'http',
  title: '用户详情',
  url: '/api/user/detail',
});

console.log(updatedDs);

remove

js
import { dataSourceService } from '@tmagic/editor';

dataSourceService.remove('ds_123');

createId

js
import { dataSourceService } from '@tmagic/editor';

const id = dataSourceService.createId();
console.log(id); // 'ds_xxx-xxx-xxx'

getDataSourceById

js
import { dataSourceService } from '@tmagic/editor';

const ds = dataSourceService.getDataSourceById('ds_123');
console.log(ds);

copyWithRelated

js
import { dataSourceService, editorService } from '@tmagic/editor';

const node = editorService.get('node');
dataSourceService.copyWithRelated(node);

paste

js
import { dataSourceService } from '@tmagic/editor';

dataSourceService.paste();

resetState

js
import { dataSourceService } from '@tmagic/editor';

dataSourceService.resetState();

destroy

js
import { dataSourceService } from '@tmagic/editor';

dataSourceService.destroy();

usePlugin

相对于use, usePlugin支持更加灵活更加细致的扩展, 上述方法中标记有扩展支持: 是的方法都支持使用usePlugin扩展

每个支持扩展的方法都支持定制before、after两个hook来干预原有方法的行为,before可以用于修改传入参数,after可以用于修改返回的值

js
import { dataSourceService } from '@tmagic/editor';

dataSourceService.usePlugin({
  beforeAdd(config) {
    console.log('添加前:', config);
    return [config];
  },
  
  afterAdd(result, config) {
    console.log('添加后:', result);
    return result;
  },
});

removeAllPlugins

删掉当前设置的所有扩展

js
import { dataSourceService } from '@tmagic/editor';

dataSourceService.removeAllPlugins();
`,69)])])}const E=i(l,[["render",n]]);export{g as __pageData,E as default};