mini.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. /*
  2. * @Description: 组件输出文件,不打包antd ui组件
  3. * @Author: kcz
  4. * @Date: 2020-01-02 22:41:48
  5. * @LastEditors: kcz
  6. * @LastEditTime: 2022-10-26 23:27:26
  7. */
  8. // 导入样式
  9. import "../styles/form-design.less";
  10. // 导入antD样式
  11. import "./core/antdStyle";
  12. // 导出本地iconfont
  13. import "../static/icons/iconfont";
  14. import { pluginManager, revoke, nodeSchema, lazyLoadTick } from "./utils/index";
  15. /**
  16. * @Author: kcz
  17. * @description: 配置组件及添加自定义组件
  18. * @param {json}
  19. * @return: Boolean
  20. */
  21. function setFormDesignConfig(config) {
  22. if (!config || typeof config !== "object") {
  23. console.error("传入config的参数必须为对象");
  24. return false;
  25. }
  26. try {
  27. if (config.list && config.list.length > 0) {
  28. // 存储自定义组件
  29. nodeSchema.addSchemas(config.list);
  30. // 添加分组
  31. nodeSchema.addSchemaGroup({
  32. title: config.title || "自义定组件",
  33. list: config.list.map(item => item.type)
  34. });
  35. }
  36. // uploadFile 配置 start
  37. // 配置uploadFile默认上传地址
  38. const uploadFile = nodeSchema.getSchemaByType("uploadFile");
  39. uploadFile.options.action =
  40. config.uploadFile || "http://cdn.kcz66.com/uploadFile.txt";
  41. // 配置uploadFile默认额外参数
  42. uploadFile.options.data = JSON.stringify(config.uploadFileData || {});
  43. // 配置uploadFile默认name
  44. uploadFile.options.fileName = config.uploadFileName || "file";
  45. // 配置uploadFile默认headers
  46. uploadFile.options.headers = config.uploadFileHeaders || {};
  47. // uploadFile 配置 end
  48. // uploadImage配置 start
  49. // 配置uploadImage默认上传地址
  50. const uploadImg = nodeSchema.getSchemaByType("uploadImg");
  51. uploadImg.options.action =
  52. config.uploadImage || "http://cdn.kcz66.com/upload-img.txt";
  53. // 配置uploadImage默认额外参数
  54. uploadImg.options.data = JSON.stringify(config.uploadImageData || {});
  55. // 配置uploadFile默认name
  56. uploadImg.options.fileName = config.uploadImageName || "image";
  57. // 配置uploadFile默认headers
  58. uploadImg.options.headers = config.uploadImageHeaders || {};
  59. // uploadImage配置 end
  60. return true;
  61. } catch (err) {
  62. console.error(err);
  63. return false;
  64. }
  65. }
  66. /**
  67. * @author lizhichao<meteoroc@outlook.com>
  68. * @description 配置k-form-build(预览时),暂只支持dynamicData的设置
  69. * @param { object }config
  70. */
  71. function setFormBuildConfig(config) {
  72. if (!config || typeof config !== "object") {
  73. console.error("传入setFormBuildConfig的参数必须为对象");
  74. return false;
  75. }
  76. if (config.dynamicData) {
  77. window.$kfb_dynamicData = config.dynamicData;
  78. }
  79. }
  80. // 这里可以用es6的解构语法导入组件
  81. export {
  82. setFormDesignConfig,
  83. setFormBuildConfig,
  84. pluginManager,
  85. revoke,
  86. nodeSchema,
  87. lazyLoadTick
  88. };