@zzdadelu/schema-builder 1.0.0-alpha.116 → 1.0.0-alpha.118

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,7 @@
1
+ // createIframe.ts
1
2
  var createIframeContent = function createIframeContent() {
2
- var html = "\n <html>\n <head>\n <meta charset=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\" />\n <title>XRender</title>\n <link rel=\"icon\" href=\"https://img.alicdn.com/tfs/TB17UtINiLaK1RjSZFxXXamPFXa-606-643.png\">\n <link href=\"https://alifd.alicdn.com/npm/@alifd/theme-lowcode-light@0.2.1/variables.css\" rel=\"stylesheet\" />\n <link href=\"https://alifd.alicdn.com/npm/@alifd/theme-lowcode-light@0.2.1/dist/next.var.min.css\" rel=\"stylesheet\" />\n <link rel=\"stylesheet\" href=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine/1.2.3/dist/css/engine-core.css\" />\n <link rel=\"stylesheet\" href=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine-ext/1.0.6/dist/css/engine-ext.css\" />\n <link rel=\"stylesheet\" href=\"https://g.alicdn.com/fone-lowcode/fr-generator/1.1.0/css/index.css\" />\n\n <script>\n window.React = window.parent.React;\n window.ReactDOM = window.parent.ReactDOM;\n </script>\n \n <script src=\"https://g.alicdn.com/code/lib/prop-types/15.7.2/prop-types.js\"></script>\n <script src=\"https://g.alicdn.com/platform/c/react15-polyfill/0.0.1/dist/index.js\"></script>\n <script src=\"https://g.alicdn.com/platform/c/lodash/4.6.1/lodash.min.js\"></script>\n <script src=\"https://g.alicdn.com/mylib/moment/2.24.0/min/moment.min.js\"></script>\n <script src=\"https://g.alicdn.com/code/lib/alifd__next/1.23.24/next.min.js\"></script>\n <script crossorigin=\"anonymous\" src=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine/1.2.3/dist/js/engine-core.js\"></script>\n <script crossorigin=\"anonymous\" src=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine-ext/1.0.6/dist/js/engine-ext.js\"></script>\n </head>\n\n <body>\n <div id=\"lce-container\"></div>\n <script type=\"text/javascript\" src=\"https://g.alicdn.com/fone-lowcode/fr-generator/1.1.0/js/index.js\"></script>\n </body>\n </html>\n ";
3
+ var timestamp = new Date().getTime();
4
+ var html = "\n <html>\n <head>\n <meta charset=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\" />\n <title>XRender</title>\n <link rel=\"icon\" href=\"https://img.alicdn.com/tfs/TB17UtINiLaK1RjSZFxXXamPFXa-606-643.png\">\n <link href=\"https://alifd.alicdn.com/npm/@alifd/theme-lowcode-light@0.2.1/variables.css\" rel=\"stylesheet\" />\n <link href=\"https://alifd.alicdn.com/npm/@alifd/theme-lowcode-light@0.2.1/dist/next.var.min.css\" rel=\"stylesheet\" />\n <link rel=\"stylesheet\" href=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine/1.2.3/dist/css/engine-core.css\" />\n <link rel=\"stylesheet\" href=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine-ext/1.0.6/dist/css/engine-ext.css\" />\n <link rel=\"stylesheet\" href=\"https://g.alicdn.com/fone-lowcode/fr-generator/1.1.0/css/index.css\" />\n\n <script>\n window.React = window.parent.React;\n window.ReactDOM = window.parent.ReactDOM;\n </script>\n \n <script>\n // \u4E13\u95E8\u62E6\u622A fr-generator \u811A\u672C\u521B\u5EFA\u7684 script \u6807\u7B7E\n (function() {\n console.log('\u5F00\u59CB\u62E6\u622A fr-generator \u521B\u5EFA\u7684\u811A\u672C...');\n \n // \u4FDD\u5B58\u539F\u59CB\u65B9\u6CD5\n const originalCreateElement = document.createElement;\n const originalSetAttribute = Element.prototype.setAttribute;\n const originalAppendChild = Node.prototype.appendChild;\n const originalInsertBefore = Node.prototype.insertBefore;\n \n // \u8981\u62E6\u622A\u7684\u8D44\u6E90\u5217\u8868\n const resourcesToIntercept = [\n 'react-simulator-renderer.js',\n 'moment.min.js',\n 'lodash.min.js',\n 'antd.min.js',\n 'next.min.js',\n 'index.umd.min.js',\n 'ant-design-icons-cdn',\n 'lowcode-react-simulator-renderer'\n ];\n \n // \u68C0\u67E5URL\u662F\u5426\u9700\u8981\u62E6\u622A\n function shouldInterceptUrl(url) {\n if (!url) return false;\n return resourcesToIntercept.some(resource => url.includes(resource));\n }\n \n // \u6DFB\u52A0\u65F6\u95F4\u6233\u5230URL\n function addTimestampToUrl(url) {\n if (url.includes('t=')) return url;\n const separator = url.includes('?') ? '&' : '?';\n return url + separator + 't=' + Date.now();\n }\n \n // 1. \u62E6\u622A createElement\n document.createElement = function(tagName) {\n const element = originalCreateElement.call(this, tagName);\n \n if (tagName.toLowerCase() === 'script') {\n // \u62E6\u622A src \u5C5E\u6027\u8BBE\u7F6E\n const descriptor = Object.getOwnPropertyDescriptor(element, 'src');\n \n if (descriptor && descriptor.set) {\n Object.defineProperty(element, 'src', {\n set: function(value) {\n if (shouldInterceptUrl(value)) {\n const modifiedUrl = addTimestampToUrl(value);\n console.log('\u62E6\u622A script.src:', value, '->', modifiedUrl);\n value = modifiedUrl;\n }\n descriptor.set.call(this, value);\n },\n get: descriptor.get,\n configurable: true\n });\n }\n \n // \u62E6\u622A setAttribute\n element.setAttribute = function(name, value) {\n if (name === 'src' && shouldInterceptUrl(value)) {\n const modifiedUrl = addTimestampToUrl(value);\n console.log('\u62E6\u622A script.setAttribute:', value, '->', modifiedUrl);\n value = modifiedUrl;\n }\n return originalSetAttribute.call(this, name, value);\n };\n }\n \n return element;\n };\n \n // 2. \u62E6\u622A appendChild \u548C insertBefore\uFF0C\u68C0\u67E5\u662F\u5426\u6DFB\u52A0\u4E86 script \u6807\u7B7E\n Node.prototype.appendChild = function(child) {\n if (child.tagName === 'SCRIPT' && child.src) {\n if (shouldInterceptUrl(child.src)) {\n const modifiedUrl = addTimestampToUrl(child.src);\n console.log('\u62E6\u622A appendChild script:', child.src, '->', modifiedUrl);\n child.src = modifiedUrl;\n }\n }\n return originalAppendChild.call(this, child);\n };\n \n Node.prototype.insertBefore = function(child, ref) {\n if (child.tagName === 'SCRIPT' && child.src) {\n if (shouldInterceptUrl(child.src)) {\n const modifiedUrl = addTimestampToUrl(child.src);\n console.log('\u62E6\u622A insertBefore script:', child.src, '->', modifiedUrl);\n child.src = modifiedUrl;\n }\n }\n return originalInsertBefore.call(this, child, ref);\n };\n \n // 3. \u62E6\u622A document.write\uFF0C\u5B83\u53EF\u80FD\u88AB\u7528\u6765\u5199\u5165 script \u6807\u7B7E\n const originalWrite = document.write;\n document.write = function(...args) {\n const content = args.join('');\n \n // \u68C0\u67E5\u662F\u5426\u5305\u542B script \u6807\u7B7E\n if (content.includes('<script')) {\n console.log('\u62E6\u622A document.write \u5305\u542B script');\n \n // \u67E5\u627E\u5E76\u66FF\u6362 script \u6807\u7B7E\u7684 src\n const modifiedContent = content.replace(\n /<script[^>]*src=[\"']([^\"']+)[\"'][^>]*>/gi,\n (match, src) => {\n if (shouldInterceptUrl(src)) {\n const modifiedUrl = addTimestampToUrl(src);\n console.log('\u66FF\u6362 document.write \u4E2D\u7684 script src:', src, '->', modifiedUrl);\n return match.replace(src, modifiedUrl);\n }\n return match;\n }\n );\n \n return originalWrite.call(this, modifiedContent);\n }\n \n return originalWrite.apply(this, args);\n };\n \n console.log('fr-generator \u811A\u672C\u62E6\u622A\u5668\u5DF2\u6FC0\u6D3B');\n })();\n </script>\n </head>\n\n <body>\n <div id=\"lce-container\"></div>\n \n <!-- \u52A0\u8F7D\u57FA\u7840\u5E93 -->\n <script src=\"https://g.alicdn.com/code/lib/prop-types/15.7.2/prop-types.js\"></script>\n <script src=\"https://g.alicdn.com/platform/c/react15-polyfill/0.0.1/dist/index.js\"></script>\n <script src=\"https://g.alicdn.com/platform/c/lodash/4.6.1/lodash.min.js\"></script>\n <script src=\"https://g.alicdn.com/mylib/moment/2.24.0/min/moment.min.js\"></script>\n <script src=\"https://g.alicdn.com/code/lib/alifd__next/1.23.24/next.min.js\"></script>\n <script crossorigin=\"anonymous\" src=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine/1.2.3/dist/js/engine-core.js\"></script>\n <script crossorigin=\"anonymous\" src=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine-ext/1.0.6/dist/js/engine-ext.js\"></script>\n \n <!-- \u6700\u540E\u52A0\u8F7D fr-generator\uFF0C\u5B83\u4F1A\u88AB\u6211\u4EEC\u7684\u62E6\u622A\u5668\u76D1\u63A7 -->\n <script type=\"text/javascript\" src=\"https://g.alicdn.com/fone-lowcode/fr-generator/1.1.0/js/index.js?t=".concat(timestamp, "\"></script>\n </body>\n </html>\n ");
3
5
  return html;
4
6
  };
5
7
  export default (function () {
package/es/main.js CHANGED
@@ -62,7 +62,7 @@ var Design = function Design(props, ref) {
62
62
  });
63
63
 
64
64
  // 开始观察外层 iframe 内部 body 的变化
65
- innerObserver.observe(innerDoc.body, {
65
+ innerObserver.observe(innerDoc, {
66
66
  childList: true,
67
67
  subtree: true
68
68
  });
@@ -4,8 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+ // createIframe.ts
7
8
  var createIframeContent = function createIframeContent() {
8
- var html = "\n <html>\n <head>\n <meta charset=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\" />\n <title>XRender</title>\n <link rel=\"icon\" href=\"https://img.alicdn.com/tfs/TB17UtINiLaK1RjSZFxXXamPFXa-606-643.png\">\n <link href=\"https://alifd.alicdn.com/npm/@alifd/theme-lowcode-light@0.2.1/variables.css\" rel=\"stylesheet\" />\n <link href=\"https://alifd.alicdn.com/npm/@alifd/theme-lowcode-light@0.2.1/dist/next.var.min.css\" rel=\"stylesheet\" />\n <link rel=\"stylesheet\" href=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine/1.2.3/dist/css/engine-core.css\" />\n <link rel=\"stylesheet\" href=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine-ext/1.0.6/dist/css/engine-ext.css\" />\n <link rel=\"stylesheet\" href=\"https://g.alicdn.com/fone-lowcode/fr-generator/1.1.0/css/index.css\" />\n\n <script>\n window.React = window.parent.React;\n window.ReactDOM = window.parent.ReactDOM;\n </script>\n \n <script src=\"https://g.alicdn.com/code/lib/prop-types/15.7.2/prop-types.js\"></script>\n <script src=\"https://g.alicdn.com/platform/c/react15-polyfill/0.0.1/dist/index.js\"></script>\n <script src=\"https://g.alicdn.com/platform/c/lodash/4.6.1/lodash.min.js\"></script>\n <script src=\"https://g.alicdn.com/mylib/moment/2.24.0/min/moment.min.js\"></script>\n <script src=\"https://g.alicdn.com/code/lib/alifd__next/1.23.24/next.min.js\"></script>\n <script crossorigin=\"anonymous\" src=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine/1.2.3/dist/js/engine-core.js\"></script>\n <script crossorigin=\"anonymous\" src=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine-ext/1.0.6/dist/js/engine-ext.js\"></script>\n </head>\n\n <body>\n <div id=\"lce-container\"></div>\n <script type=\"text/javascript\" src=\"https://g.alicdn.com/fone-lowcode/fr-generator/1.1.0/js/index.js\"></script>\n </body>\n </html>\n ";
9
+ var timestamp = new Date().getTime();
10
+ var html = "\n <html>\n <head>\n <meta charset=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\" />\n <title>XRender</title>\n <link rel=\"icon\" href=\"https://img.alicdn.com/tfs/TB17UtINiLaK1RjSZFxXXamPFXa-606-643.png\">\n <link href=\"https://alifd.alicdn.com/npm/@alifd/theme-lowcode-light@0.2.1/variables.css\" rel=\"stylesheet\" />\n <link href=\"https://alifd.alicdn.com/npm/@alifd/theme-lowcode-light@0.2.1/dist/next.var.min.css\" rel=\"stylesheet\" />\n <link rel=\"stylesheet\" href=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine/1.2.3/dist/css/engine-core.css\" />\n <link rel=\"stylesheet\" href=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine-ext/1.0.6/dist/css/engine-ext.css\" />\n <link rel=\"stylesheet\" href=\"https://g.alicdn.com/fone-lowcode/fr-generator/1.1.0/css/index.css\" />\n\n <script>\n window.React = window.parent.React;\n window.ReactDOM = window.parent.ReactDOM;\n </script>\n \n <script>\n // \u4E13\u95E8\u62E6\u622A fr-generator \u811A\u672C\u521B\u5EFA\u7684 script \u6807\u7B7E\n (function() {\n console.log('\u5F00\u59CB\u62E6\u622A fr-generator \u521B\u5EFA\u7684\u811A\u672C...');\n \n // \u4FDD\u5B58\u539F\u59CB\u65B9\u6CD5\n const originalCreateElement = document.createElement;\n const originalSetAttribute = Element.prototype.setAttribute;\n const originalAppendChild = Node.prototype.appendChild;\n const originalInsertBefore = Node.prototype.insertBefore;\n \n // \u8981\u62E6\u622A\u7684\u8D44\u6E90\u5217\u8868\n const resourcesToIntercept = [\n 'react-simulator-renderer.js',\n 'moment.min.js',\n 'lodash.min.js',\n 'antd.min.js',\n 'next.min.js',\n 'index.umd.min.js',\n 'ant-design-icons-cdn',\n 'lowcode-react-simulator-renderer'\n ];\n \n // \u68C0\u67E5URL\u662F\u5426\u9700\u8981\u62E6\u622A\n function shouldInterceptUrl(url) {\n if (!url) return false;\n return resourcesToIntercept.some(resource => url.includes(resource));\n }\n \n // \u6DFB\u52A0\u65F6\u95F4\u6233\u5230URL\n function addTimestampToUrl(url) {\n if (url.includes('t=')) return url;\n const separator = url.includes('?') ? '&' : '?';\n return url + separator + 't=' + Date.now();\n }\n \n // 1. \u62E6\u622A createElement\n document.createElement = function(tagName) {\n const element = originalCreateElement.call(this, tagName);\n \n if (tagName.toLowerCase() === 'script') {\n // \u62E6\u622A src \u5C5E\u6027\u8BBE\u7F6E\n const descriptor = Object.getOwnPropertyDescriptor(element, 'src');\n \n if (descriptor && descriptor.set) {\n Object.defineProperty(element, 'src', {\n set: function(value) {\n if (shouldInterceptUrl(value)) {\n const modifiedUrl = addTimestampToUrl(value);\n console.log('\u62E6\u622A script.src:', value, '->', modifiedUrl);\n value = modifiedUrl;\n }\n descriptor.set.call(this, value);\n },\n get: descriptor.get,\n configurable: true\n });\n }\n \n // \u62E6\u622A setAttribute\n element.setAttribute = function(name, value) {\n if (name === 'src' && shouldInterceptUrl(value)) {\n const modifiedUrl = addTimestampToUrl(value);\n console.log('\u62E6\u622A script.setAttribute:', value, '->', modifiedUrl);\n value = modifiedUrl;\n }\n return originalSetAttribute.call(this, name, value);\n };\n }\n \n return element;\n };\n \n // 2. \u62E6\u622A appendChild \u548C insertBefore\uFF0C\u68C0\u67E5\u662F\u5426\u6DFB\u52A0\u4E86 script \u6807\u7B7E\n Node.prototype.appendChild = function(child) {\n if (child.tagName === 'SCRIPT' && child.src) {\n if (shouldInterceptUrl(child.src)) {\n const modifiedUrl = addTimestampToUrl(child.src);\n console.log('\u62E6\u622A appendChild script:', child.src, '->', modifiedUrl);\n child.src = modifiedUrl;\n }\n }\n return originalAppendChild.call(this, child);\n };\n \n Node.prototype.insertBefore = function(child, ref) {\n if (child.tagName === 'SCRIPT' && child.src) {\n if (shouldInterceptUrl(child.src)) {\n const modifiedUrl = addTimestampToUrl(child.src);\n console.log('\u62E6\u622A insertBefore script:', child.src, '->', modifiedUrl);\n child.src = modifiedUrl;\n }\n }\n return originalInsertBefore.call(this, child, ref);\n };\n \n // 3. \u62E6\u622A document.write\uFF0C\u5B83\u53EF\u80FD\u88AB\u7528\u6765\u5199\u5165 script \u6807\u7B7E\n const originalWrite = document.write;\n document.write = function(...args) {\n const content = args.join('');\n \n // \u68C0\u67E5\u662F\u5426\u5305\u542B script \u6807\u7B7E\n if (content.includes('<script')) {\n console.log('\u62E6\u622A document.write \u5305\u542B script');\n \n // \u67E5\u627E\u5E76\u66FF\u6362 script \u6807\u7B7E\u7684 src\n const modifiedContent = content.replace(\n /<script[^>]*src=[\"']([^\"']+)[\"'][^>]*>/gi,\n (match, src) => {\n if (shouldInterceptUrl(src)) {\n const modifiedUrl = addTimestampToUrl(src);\n console.log('\u66FF\u6362 document.write \u4E2D\u7684 script src:', src, '->', modifiedUrl);\n return match.replace(src, modifiedUrl);\n }\n return match;\n }\n );\n \n return originalWrite.call(this, modifiedContent);\n }\n \n return originalWrite.apply(this, args);\n };\n \n console.log('fr-generator \u811A\u672C\u62E6\u622A\u5668\u5DF2\u6FC0\u6D3B');\n })();\n </script>\n </head>\n\n <body>\n <div id=\"lce-container\"></div>\n \n <!-- \u52A0\u8F7D\u57FA\u7840\u5E93 -->\n <script src=\"https://g.alicdn.com/code/lib/prop-types/15.7.2/prop-types.js\"></script>\n <script src=\"https://g.alicdn.com/platform/c/react15-polyfill/0.0.1/dist/index.js\"></script>\n <script src=\"https://g.alicdn.com/platform/c/lodash/4.6.1/lodash.min.js\"></script>\n <script src=\"https://g.alicdn.com/mylib/moment/2.24.0/min/moment.min.js\"></script>\n <script src=\"https://g.alicdn.com/code/lib/alifd__next/1.23.24/next.min.js\"></script>\n <script crossorigin=\"anonymous\" src=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine/1.2.3/dist/js/engine-core.js\"></script>\n <script crossorigin=\"anonymous\" src=\"https://uipaas-assets.com/prod/npm/@alilc/lowcode-engine-ext/1.0.6/dist/js/engine-ext.js\"></script>\n \n <!-- \u6700\u540E\u52A0\u8F7D fr-generator\uFF0C\u5B83\u4F1A\u88AB\u6211\u4EEC\u7684\u62E6\u622A\u5668\u76D1\u63A7 -->\n <script type=\"text/javascript\" src=\"https://g.alicdn.com/fone-lowcode/fr-generator/1.1.0/js/index.js?t=".concat(timestamp, "\"></script>\n </body>\n </html>\n ");
9
11
  return html;
10
12
  };
11
13
  var _default = exports.default = function _default() {
package/lib/main.js CHANGED
@@ -70,7 +70,7 @@ var Design = function Design(props, ref) {
70
70
  });
71
71
 
72
72
  // 开始观察外层 iframe 内部 body 的变化
73
- innerObserver.observe(innerDoc.body, {
73
+ innerObserver.observe(innerDoc, {
74
74
  childList: true,
75
75
  subtree: true
76
76
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zzdadelu/schema-builder",
3
- "version": "1.0.0-alpha.116",
3
+ "version": "1.0.0-alpha.118",
4
4
  "description": "通过 JSON Schema 生成标准 Form,常用于自定义搭建配置界面生成",
5
5
  "keywords": [
6
6
  "Form",