import{Pt as e,dt as t,n,pt as r}from"./chunks/framework.DDIL1KmX.js";var i=JSON.parse(`{"title":"dataSourceService方法","description":"","frontmatter":{},"headers":[],"relativePath":"api/editor/dataSourceServiceMethods.md","filePath":"api/editor/dataSourceServiceMethods.md"}`),a={name:`api/editor/dataSourceServiceMethods.md`};function o(n,i,a,o,s,c){return e(),t(`div`,null,[...i[0]||=[r(`

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");

addAndGetHistoryId ​

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

const { result, historyIds } = dataSourceService.addAndGetHistoryId({
  type: "http",
  title: "用户信息",
  url: "/api/user",
});
console.log(result); // 新增的数据源配置
console.log(historyIds); // 本次新增对应的历史记录 uuid 列表,或 []

updateAndGetHistoryId ​

removeAndGetHistoryId ​

revertById ​

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

const { historyIds } = dataSourceService.addAndGetHistoryId({ type: "http", title: "用户信息" });
if (historyIds.length) {
  dataSourceService.revertById(historyIds);
}

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);

undo ​

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

if (dataSourceService.canUndo("ds_123")) {
  dataSourceService.undo("ds_123");
}

redo ​

canUndo ​

canRedo ​

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 ​

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();
`,88)]])}var s=n(a,[[`render`,o]]);export{i as __pageData,s as default};