web-component-gallery 0.1.55 → 0.1.58
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.
- package/dist/amap.umd.js +2 -2
- package/dist/index.umd.js +2 -2
- package/lib/browse/index.jsx +1 -1
- package/lib/descriptions/index.jsx +1 -1
- package/lib/iframe/index.jsx +26 -22
- package/lib/layout/Header.jsx +3 -3
- package/package.json +3 -3
- package/plugins/lib/browse/index.jsx +1 -1
- package/plugins/lib/descriptions/index.jsx +1 -1
- package/plugins/lib/iframe/index.jsx +26 -22
- package/plugins/lib/layout/Header.jsx +3 -3
- package/plugins/utils/autoFlexible.js +30 -0
- package/utils/Base64.js +314 -0
- package/utils/Filter.js +234 -0
- package/utils/PostMessage.js +16 -0
- package/utils/Tree.js +120 -0
- package/utils/Utils.js +29 -0
- package/utils/Validate.js +18 -0
- package/utils/Websocket.js +164 -0
- package/utils/autoFlexible.js +30 -0
- package/utils/postcss.js +13 -0
- package/plugins/utils/index.js +0 -1
package/dist/amap.umd.js
CHANGED
|
@@ -8615,7 +8615,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ind
|
|
|
8615
8615
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
8616
8616
|
|
|
8617
8617
|
"use strict";
|
|
8618
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ant-design-vue/es/_util/vue-types */ \"./node_modules/ant-design-vue/es/_util/vue-types/index.js\");\n/* harmony import */ var ant_design_vue_es_descriptions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue/es/descriptions */ \"./node_modules/ant-design-vue/es/descriptions/index.js\");\n/* harmony import */ var _browse_index_jsx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../browse/index.jsx */ \"./plugins/lib/browse/index.jsx\");\n/* harmony import */ var
|
|
8618
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ant-design-vue/es/_util/vue-types */ \"./node_modules/ant-design-vue/es/_util/vue-types/index.js\");\n/* harmony import */ var ant_design_vue_es_descriptions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue/es/descriptions */ \"./node_modules/ant-design-vue/es/descriptions/index.js\");\n/* harmony import */ var _browse_index_jsx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../browse/index.jsx */ \"./plugins/lib/browse/index.jsx\");\n/* harmony import */ var _utils_Filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/Filter.js */ \"./plugins/utils/Filter.js\");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./index.less */ \"./plugins/lib/descriptions/index.less\");\n\n\n\n\nconst {\n Item: DescriptionsItem\n} = ant_design_vue_es_descriptions__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n\nconst descDefaultAttrs = {\n size: 'middle',\n bordered: true\n};\nconst DescriptionsProps = {\n title: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_4__[\"default\"].string,\n column: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_4__[\"default\"].oneOfType([ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_4__[\"default\"].number, ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_4__[\"default\"].object]).def(3),\n descDetails: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_4__[\"default\"].object,\n descSettings: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_4__[\"default\"].array,\n descAttrs: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_4__[\"default\"].object\n};\nconst renderContent = (h, item, details) => {\n const CustomTag = item.type === 'file' && _browse_index_jsx__WEBPACK_IMPORTED_MODULE_0__[\"default\"] || 'span';\n const data = item.hasOwnProperty('multiProps') ? item.multiProps.map(propsItem => (0,_utils_Filter_js__WEBPACK_IMPORTED_MODULE_1__.transferData)(details[propsItem], 'Array')).flat() : (0,_utils_Filter_js__WEBPACK_IMPORTED_MODULE_1__.transferData)(details[item.props], 'Array');\n const props = {\n data\n };\n return h(CustomTag, {\n \"props\": {\n ...props\n }\n }, [item.customRender && item.customRender(details[item.props], details) || details[item.props] || '暂无']);\n};\nconst DescriptionsList = {\n name: 'Descriptions',\n props: DescriptionsProps,\n render(h, content) {\n const {\n title,\n column,\n descAttrs,\n descDetails,\n descSettings,\n $slots,\n $scopedSlots\n } = this;\n return h(\"div\", {\n \"class\": \"Descriptions\",\n \"ref\": \"Descriptions\"\n }, [h(ant_design_vue_es_descriptions__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n \"attrs\": {\n \"title\": title,\n \"column\": column,\n ...{\n ...descDefaultAttrs,\n ...descAttrs\n }\n }\n }, [descSettings.map((descItem, key) => {\n return h(DescriptionsItem, {\n \"key\": key,\n \"attrs\": {\n \"span\": descItem.span ?? 1\n }\n }, [h(\"div\", {\n \"slot\": \"label\"\n }, [$slots[`${descItem.props}Lable`] ?? descItem.label]), $scopedSlots[`${descItem.props}`] ? $scopedSlots[`${descItem.props}`](descDetails) : renderContent(h, descItem, descDetails)]);\n })])]);\n },\n mounted() {\n window.addEventListener('resize', this.setDescContentWidth());\n },\n methods: {\n setDescContentWidth() {\n const elementG = this.$refs.Descriptions.querySelectorAll('.ant-descriptions-item-content');\n const width = document.querySelector('.ant-descriptions-row').offsetWidth;\n const labelWidth = document.querySelector('.ant-descriptions-item-label').offsetWidth;\n const {\n column,\n descSettings\n } = this;\n for (let i = 0; i < elementG.length; i++) {\n const contentWidth = (descSettings[i].span ? width * (descSettings[i].span / column) : width / column) - labelWidth + 'px';\n const element = elementG[i];\n element.style = `\n width: ${contentWidth};\n min-width: ${contentWidth};\n max-width: ${contentWidth};\n `;\n }\n }\n }\n};\nDescriptionsList.install = function (Vue) {\n Vue.component('DescriptionsList', DescriptionsList);\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (DescriptionsList);\n\n//# sourceURL=webpack://mui/./plugins/lib/descriptions/index.jsx?");
|
|
8619
8619
|
|
|
8620
8620
|
/***/ }),
|
|
8621
8621
|
|
|
@@ -8670,7 +8670,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue_
|
|
|
8670
8670
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
8671
8671
|
|
|
8672
8672
|
"use strict";
|
|
8673
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue/es/_util/vue-types */ \"./node_modules/ant-design-vue/es/_util/vue-types/index.js\");\n/* harmony import */ var _modal_index_jsx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../modal/index.jsx */ \"./plugins/lib/modal/index.jsx\");\n/* harmony import */ var _events_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./events.js */ \"./plugins/lib/iframe/events.js\");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.less */ \"./plugins/lib/iframe/index.less\");\n\n\n\n\nconst IframeContainerProps = {\n activeKey: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string,\n checkedKey: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string.def('name'),\n linkurlKey: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string.def('linkUrl'),\n operatesArr: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].array,\n componentsArr: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].array,\n postMessage: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].object\n};\nconst IframeContainer = {\n name: 'IframeComp',\n props: IframeContainerProps,\n data() {\n return {\n modalComponents: {}\n };\n },\n render(h, content) {\n const {\n $props,\n modalComponents\n } = this;\n const {\n activeKey,\n checkedKey,\n componentsArr\n } = $props;\n const IframeComponents = componentsArr.map(componentItem => {\n const isActive = activeKey === componentItem[checkedKey];\n return this.getIframeComponent(componentItem, isActive);\n });\n const modalKeys = Object.keys(modalComponents);\n
|
|
8673
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue/es/_util/vue-types */ \"./node_modules/ant-design-vue/es/_util/vue-types/index.js\");\n/* harmony import */ var _modal_index_jsx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../modal/index.jsx */ \"./plugins/lib/modal/index.jsx\");\n/* harmony import */ var _events_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./events.js */ \"./plugins/lib/iframe/events.js\");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.less */ \"./plugins/lib/iframe/index.less\");\n\n\n\n\nconst IframeContainerProps = {\n activeKey: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string,\n checkedKey: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string.def('name'),\n linkurlKey: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string.def('linkUrl'),\n operatesArr: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].array,\n componentsArr: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].array,\n postMessage: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].object\n};\nconst IframeContainer = {\n name: 'IframeComp',\n props: IframeContainerProps,\n data() {\n return {\n modalComponents: {}\n };\n },\n render(h, content) {\n const {\n $props,\n modalComponents\n } = this;\n const {\n activeKey,\n checkedKey,\n componentsArr\n } = $props;\n const IframeComponents = componentsArr.map(componentItem => {\n const isActive = activeKey === componentItem[checkedKey];\n return this.getIframeComponent(componentItem, isActive);\n });\n const modalKeys = Object.keys(modalComponents);\n const ModalOperates = modalKeys.map(modalKey => {\n return h(_modal_index_jsx__WEBPACK_IMPORTED_MODULE_0__[\"default\"], {\n \"props\": {\n ...{\n ...modalComponents[modalKey],\n cancelHandle: () => this.closeModalHandle(modalKey)\n }\n }\n }, [this.getIframeComponent(modalComponents[modalKey], true)]);\n });\n return h(\"div\", {\n \"class\": \"ant-pro-grid-content-page\"\n }, [IframeComponents, ModalOperates]);\n },\n watch: {\n activeKey(newVal) {\n this.modalComponents = {};\n },\n activeKeyAndParams: {\n handler(newVal, oldVal) {\n this.postCompMessage();\n },\n deep: true\n }\n },\n computed: {\n activeKeyAndParams() {\n const {\n activeKey,\n postMessage,\n componentsArr\n } = this;\n return {\n activeKey,\n postMessage,\n componentsArr\n };\n }\n },\n created() {\n _events_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].$on('modalOpen', ({\n name,\n params\n }) => {\n const activeModal = this.switchModalHandle(name, params);\n activeModal && this.$set(this.modalComponents, name, {\n mode: params.mode,\n visible: true,\n ...activeModal\n });\n });\n _events_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].$on('modalClose', ({\n name,\n params\n }) => {\n this.closeModalHandle(name);\n params && this.postCompMessage(params);\n });\n _events_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].$on('modalGoBack', ({\n name,\n params\n }, closeModal) => {\n this.closeModalHandle(closeModal);\n this.switchModalHandle(name, params);\n });\n },\n mounted() {\n this.postCompMessage();\n },\n methods: {\n postCompMessage(data = {}) {\n const {\n componentsArr,\n activeKey,\n postMessage\n } = this;\n componentsArr.length && this.postIframeMessage(componentsArr, {\n type: 'refreshPage',\n activeKey,\n data\n });\n },\n closeModalHandle(name) {\n this.modalComponents[name].visible = false;\n delete this.modalComponents[name];\n },\n switchModalHandle(name, data) {\n const {\n operatesArr,\n checkedKey\n } = this;\n const activeModal = operatesArr.find(operatesItem => operatesItem[checkedKey] === name);\n activeModal && this.postIframeMessage(operatesArr, {\n type: 'refreshModal',\n activeKey: name,\n data\n });\n return activeModal;\n },\n postIframeMessage(components, iframeConfig) {\n const {\n type,\n activeKey,\n data = {}\n } = iframeConfig;\n this.$nextTick(() => {\n const {\n checkedKey,\n linkurlKey,\n postMessage\n } = this;\n const refKey = components.find(componentsItem => activeKey === componentsItem[checkedKey])[linkurlKey];\n const timer = setTimeout(() => {\n const iframe = this.$refs[refKey];\n const iframeWin = this.$refs[refKey]?.contentWindow;\n iframe.onload = function () {\n iframeWin.postMessage({\n type,\n params: {\n routeQuery: postMessage,\n data,\n name: activeKey\n }\n }, '*');\n };\n iframeWin && iframeWin.postMessage({\n type,\n params: {\n routeQuery: postMessage,\n data,\n name: activeKey\n }\n }, '*');\n clearTimeout(timer);\n }, 60);\n });\n },\n getIframeComponent(componentItem, isActive) {\n const h = this.$createElement;\n const {\n linkurlKey,\n checkedKey\n } = this;\n return h(\"iframe\", {\n \"attrs\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"src\": componentItem[linkurlKey]\n },\n \"ref\": componentItem[linkurlKey],\n \"key\": componentItem[checkedKey],\n \"style\": {\n border: 'none',\n display: isActive ? 'block' : 'none'\n }\n });\n }\n }\n};\nIframeContainer.install = function (Vue) {\n Vue.prototype.$IframeBus = _events_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n Vue.component('IframePage', IframeContainer);\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (IframeContainer);\n\n//# sourceURL=webpack://mui/./plugins/lib/iframe/index.jsx?");
|
|
8674
8674
|
|
|
8675
8675
|
/***/ }),
|
|
8676
8676
|
|
package/dist/index.umd.js
CHANGED
|
@@ -8615,7 +8615,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ind
|
|
|
8615
8615
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
8616
8616
|
|
|
8617
8617
|
"use strict";
|
|
8618
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ant-design-vue/es/_util/vue-types */ \"./node_modules/ant-design-vue/es/_util/vue-types/index.js\");\n/* harmony import */ var ant_design_vue_es_descriptions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue/es/descriptions */ \"./node_modules/ant-design-vue/es/descriptions/index.js\");\n/* harmony import */ var _browse_index_jsx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../browse/index.jsx */ \"./plugins/lib/browse/index.jsx\");\n/* harmony import */ var
|
|
8618
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ant-design-vue/es/_util/vue-types */ \"./node_modules/ant-design-vue/es/_util/vue-types/index.js\");\n/* harmony import */ var ant_design_vue_es_descriptions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ant-design-vue/es/descriptions */ \"./node_modules/ant-design-vue/es/descriptions/index.js\");\n/* harmony import */ var _browse_index_jsx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../browse/index.jsx */ \"./plugins/lib/browse/index.jsx\");\n/* harmony import */ var _utils_Filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/Filter.js */ \"./plugins/utils/Filter.js\");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./index.less */ \"./plugins/lib/descriptions/index.less\");\n\n\n\n\nconst {\n Item: DescriptionsItem\n} = ant_design_vue_es_descriptions__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n\nconst descDefaultAttrs = {\n size: 'middle',\n bordered: true\n};\nconst DescriptionsProps = {\n title: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_4__[\"default\"].string,\n column: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_4__[\"default\"].oneOfType([ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_4__[\"default\"].number, ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_4__[\"default\"].object]).def(3),\n descDetails: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_4__[\"default\"].object,\n descSettings: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_4__[\"default\"].array,\n descAttrs: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_4__[\"default\"].object\n};\nconst renderContent = (h, item, details) => {\n const CustomTag = item.type === 'file' && _browse_index_jsx__WEBPACK_IMPORTED_MODULE_0__[\"default\"] || 'span';\n const data = item.hasOwnProperty('multiProps') ? item.multiProps.map(propsItem => (0,_utils_Filter_js__WEBPACK_IMPORTED_MODULE_1__.transferData)(details[propsItem], 'Array')).flat() : (0,_utils_Filter_js__WEBPACK_IMPORTED_MODULE_1__.transferData)(details[item.props], 'Array');\n const props = {\n data\n };\n return h(CustomTag, {\n \"props\": {\n ...props\n }\n }, [item.customRender && item.customRender(details[item.props], details) || details[item.props] || '暂无']);\n};\nconst DescriptionsList = {\n name: 'Descriptions',\n props: DescriptionsProps,\n render(h, content) {\n const {\n title,\n column,\n descAttrs,\n descDetails,\n descSettings,\n $slots,\n $scopedSlots\n } = this;\n return h(\"div\", {\n \"class\": \"Descriptions\",\n \"ref\": \"Descriptions\"\n }, [h(ant_design_vue_es_descriptions__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n \"attrs\": {\n \"title\": title,\n \"column\": column,\n ...{\n ...descDefaultAttrs,\n ...descAttrs\n }\n }\n }, [descSettings.map((descItem, key) => {\n return h(DescriptionsItem, {\n \"key\": key,\n \"attrs\": {\n \"span\": descItem.span ?? 1\n }\n }, [h(\"div\", {\n \"slot\": \"label\"\n }, [$slots[`${descItem.props}Lable`] ?? descItem.label]), $scopedSlots[`${descItem.props}`] ? $scopedSlots[`${descItem.props}`](descDetails) : renderContent(h, descItem, descDetails)]);\n })])]);\n },\n mounted() {\n window.addEventListener('resize', this.setDescContentWidth());\n },\n methods: {\n setDescContentWidth() {\n const elementG = this.$refs.Descriptions.querySelectorAll('.ant-descriptions-item-content');\n const width = document.querySelector('.ant-descriptions-row').offsetWidth;\n const labelWidth = document.querySelector('.ant-descriptions-item-label').offsetWidth;\n const {\n column,\n descSettings\n } = this;\n for (let i = 0; i < elementG.length; i++) {\n const contentWidth = (descSettings[i].span ? width * (descSettings[i].span / column) : width / column) - labelWidth + 'px';\n const element = elementG[i];\n element.style = `\n width: ${contentWidth};\n min-width: ${contentWidth};\n max-width: ${contentWidth};\n `;\n }\n }\n }\n};\nDescriptionsList.install = function (Vue) {\n Vue.component('DescriptionsList', DescriptionsList);\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (DescriptionsList);\n\n//# sourceURL=webpack://mui/./plugins/lib/descriptions/index.jsx?");
|
|
8619
8619
|
|
|
8620
8620
|
/***/ }),
|
|
8621
8621
|
|
|
@@ -8670,7 +8670,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue_
|
|
|
8670
8670
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
8671
8671
|
|
|
8672
8672
|
"use strict";
|
|
8673
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue/es/_util/vue-types */ \"./node_modules/ant-design-vue/es/_util/vue-types/index.js\");\n/* harmony import */ var _modal_index_jsx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../modal/index.jsx */ \"./plugins/lib/modal/index.jsx\");\n/* harmony import */ var _events_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./events.js */ \"./plugins/lib/iframe/events.js\");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.less */ \"./plugins/lib/iframe/index.less\");\n\n\n\n\nconst IframeContainerProps = {\n activeKey: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string,\n checkedKey: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string.def('name'),\n linkurlKey: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string.def('linkUrl'),\n operatesArr: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].array,\n componentsArr: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].array,\n postMessage: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].object\n};\nconst IframeContainer = {\n name: 'IframeComp',\n props: IframeContainerProps,\n data() {\n return {\n modalComponents: {}\n };\n },\n render(h, content) {\n const {\n $props,\n modalComponents\n } = this;\n const {\n activeKey,\n checkedKey,\n componentsArr\n } = $props;\n const IframeComponents = componentsArr.map(componentItem => {\n const isActive = activeKey === componentItem[checkedKey];\n return this.getIframeComponent(componentItem, isActive);\n });\n const modalKeys = Object.keys(modalComponents);\n
|
|
8673
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ant-design-vue/es/_util/vue-types */ \"./node_modules/ant-design-vue/es/_util/vue-types/index.js\");\n/* harmony import */ var _modal_index_jsx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../modal/index.jsx */ \"./plugins/lib/modal/index.jsx\");\n/* harmony import */ var _events_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./events.js */ \"./plugins/lib/iframe/events.js\");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.less */ \"./plugins/lib/iframe/index.less\");\n\n\n\n\nconst IframeContainerProps = {\n activeKey: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string,\n checkedKey: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string.def('name'),\n linkurlKey: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].string.def('linkUrl'),\n operatesArr: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].array,\n componentsArr: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].array,\n postMessage: ant_design_vue_es_util_vue_types__WEBPACK_IMPORTED_MODULE_3__[\"default\"].object\n};\nconst IframeContainer = {\n name: 'IframeComp',\n props: IframeContainerProps,\n data() {\n return {\n modalComponents: {}\n };\n },\n render(h, content) {\n const {\n $props,\n modalComponents\n } = this;\n const {\n activeKey,\n checkedKey,\n componentsArr\n } = $props;\n const IframeComponents = componentsArr.map(componentItem => {\n const isActive = activeKey === componentItem[checkedKey];\n return this.getIframeComponent(componentItem, isActive);\n });\n const modalKeys = Object.keys(modalComponents);\n const ModalOperates = modalKeys.map(modalKey => {\n return h(_modal_index_jsx__WEBPACK_IMPORTED_MODULE_0__[\"default\"], {\n \"props\": {\n ...{\n ...modalComponents[modalKey],\n cancelHandle: () => this.closeModalHandle(modalKey)\n }\n }\n }, [this.getIframeComponent(modalComponents[modalKey], true)]);\n });\n return h(\"div\", {\n \"class\": \"ant-pro-grid-content-page\"\n }, [IframeComponents, ModalOperates]);\n },\n watch: {\n activeKey(newVal) {\n this.modalComponents = {};\n },\n activeKeyAndParams: {\n handler(newVal, oldVal) {\n this.postCompMessage();\n },\n deep: true\n }\n },\n computed: {\n activeKeyAndParams() {\n const {\n activeKey,\n postMessage,\n componentsArr\n } = this;\n return {\n activeKey,\n postMessage,\n componentsArr\n };\n }\n },\n created() {\n _events_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].$on('modalOpen', ({\n name,\n params\n }) => {\n const activeModal = this.switchModalHandle(name, params);\n activeModal && this.$set(this.modalComponents, name, {\n mode: params.mode,\n visible: true,\n ...activeModal\n });\n });\n _events_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].$on('modalClose', ({\n name,\n params\n }) => {\n this.closeModalHandle(name);\n params && this.postCompMessage(params);\n });\n _events_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].$on('modalGoBack', ({\n name,\n params\n }, closeModal) => {\n this.closeModalHandle(closeModal);\n this.switchModalHandle(name, params);\n });\n },\n mounted() {\n this.postCompMessage();\n },\n methods: {\n postCompMessage(data = {}) {\n const {\n componentsArr,\n activeKey,\n postMessage\n } = this;\n componentsArr.length && this.postIframeMessage(componentsArr, {\n type: 'refreshPage',\n activeKey,\n data\n });\n },\n closeModalHandle(name) {\n this.modalComponents[name].visible = false;\n delete this.modalComponents[name];\n },\n switchModalHandle(name, data) {\n const {\n operatesArr,\n checkedKey\n } = this;\n const activeModal = operatesArr.find(operatesItem => operatesItem[checkedKey] === name);\n activeModal && this.postIframeMessage(operatesArr, {\n type: 'refreshModal',\n activeKey: name,\n data\n });\n return activeModal;\n },\n postIframeMessage(components, iframeConfig) {\n const {\n type,\n activeKey,\n data = {}\n } = iframeConfig;\n this.$nextTick(() => {\n const {\n checkedKey,\n linkurlKey,\n postMessage\n } = this;\n const refKey = components.find(componentsItem => activeKey === componentsItem[checkedKey])[linkurlKey];\n const timer = setTimeout(() => {\n const iframe = this.$refs[refKey];\n const iframeWin = this.$refs[refKey]?.contentWindow;\n iframe.onload = function () {\n iframeWin.postMessage({\n type,\n params: {\n routeQuery: postMessage,\n data,\n name: activeKey\n }\n }, '*');\n };\n iframeWin && iframeWin.postMessage({\n type,\n params: {\n routeQuery: postMessage,\n data,\n name: activeKey\n }\n }, '*');\n clearTimeout(timer);\n }, 60);\n });\n },\n getIframeComponent(componentItem, isActive) {\n const h = this.$createElement;\n const {\n linkurlKey,\n checkedKey\n } = this;\n return h(\"iframe\", {\n \"attrs\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"src\": componentItem[linkurlKey]\n },\n \"ref\": componentItem[linkurlKey],\n \"key\": componentItem[checkedKey],\n \"style\": {\n border: 'none',\n display: isActive ? 'block' : 'none'\n }\n });\n }\n }\n};\nIframeContainer.install = function (Vue) {\n Vue.prototype.$IframeBus = _events_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n Vue.component('IframePage', IframeContainer);\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (IframeContainer);\n\n//# sourceURL=webpack://mui/./plugins/lib/iframe/index.jsx?");
|
|
8674
8674
|
|
|
8675
8675
|
/***/ }),
|
|
8676
8676
|
|
package/lib/browse/index.jsx
CHANGED
|
@@ -11,7 +11,7 @@ const videoType = [ "avi", "flv", "mpg", "mpeg", "mpe", "m1v", "m2v", "mpv2", "m
|
|
|
11
11
|
|
|
12
12
|
const BrowseProps = {
|
|
13
13
|
data: PropTypes.oneOfType([PropTypes.string, PropTypes.array, PropTypes.object]).def([])
|
|
14
|
-
}
|
|
14
|
+
}
|
|
15
15
|
|
|
16
16
|
const renderContent = (h, item, https) => {
|
|
17
17
|
|
|
@@ -2,7 +2,7 @@ import PropTypes from 'ant-design-vue/es/_util/vue-types'
|
|
|
2
2
|
import Descriptions from 'ant-design-vue/es/descriptions'
|
|
3
3
|
|
|
4
4
|
import Browse from '../browse/index.jsx'
|
|
5
|
-
import { transferData } from '
|
|
5
|
+
import { transferData } from '../../utils/Filter.js'
|
|
6
6
|
|
|
7
7
|
const {
|
|
8
8
|
Item: DescriptionsItem
|
package/lib/iframe/index.jsx
CHANGED
|
@@ -31,28 +31,28 @@ const IframeContainer = {
|
|
|
31
31
|
const IframeComponents = componentsArr.map(componentItem => {
|
|
32
32
|
const isActive = activeKey === componentItem[checkedKey]
|
|
33
33
|
return this.getIframeComponent( componentItem, isActive )
|
|
34
|
-
})
|
|
34
|
+
})
|
|
35
35
|
|
|
36
36
|
const modalKeys = Object.keys(modalComponents)
|
|
37
37
|
|
|
38
|
+
const ModalOperates = modalKeys.map(modalKey => {
|
|
39
|
+
return (
|
|
40
|
+
<Modal
|
|
41
|
+
{...{
|
|
42
|
+
props: {
|
|
43
|
+
...modalComponents[modalKey],
|
|
44
|
+
cancelHandle: () => this.closeModalHandle(modalKey)
|
|
45
|
+
}
|
|
46
|
+
}}>
|
|
47
|
+
{ this.getIframeComponent(modalComponents[modalKey], true) }
|
|
48
|
+
</Modal>
|
|
49
|
+
)
|
|
50
|
+
})
|
|
51
|
+
|
|
38
52
|
return (
|
|
39
53
|
<div class="ant-pro-grid-content-page">
|
|
40
54
|
{IframeComponents}
|
|
41
|
-
{
|
|
42
|
-
modalKeys.length && modalKeys.map(modalKey => {
|
|
43
|
-
return (
|
|
44
|
-
<Modal
|
|
45
|
-
{...{
|
|
46
|
-
props: {
|
|
47
|
-
...modalComponents[modalKey],
|
|
48
|
-
cancelHandle: () => this.closeModalHandle(modalKey)
|
|
49
|
-
}
|
|
50
|
-
}}>
|
|
51
|
-
{ this.getIframeComponent(modalComponents[modalKey], true) }
|
|
52
|
-
</Modal>
|
|
53
|
-
)
|
|
54
|
-
})
|
|
55
|
-
}
|
|
55
|
+
{ModalOperates}
|
|
56
56
|
</div>
|
|
57
57
|
)
|
|
58
58
|
|
|
@@ -70,15 +70,15 @@ const IframeContainer = {
|
|
|
70
70
|
},
|
|
71
71
|
computed: {
|
|
72
72
|
activeKeyAndParams() {
|
|
73
|
-
const {activeKey, postMessage} = this
|
|
73
|
+
const {activeKey, postMessage, componentsArr} = this
|
|
74
74
|
return {
|
|
75
75
|
activeKey,
|
|
76
|
-
postMessage
|
|
76
|
+
postMessage,
|
|
77
|
+
componentsArr
|
|
77
78
|
}
|
|
78
79
|
}
|
|
79
80
|
},
|
|
80
|
-
|
|
81
|
-
this.postCompMessage()
|
|
81
|
+
created() {
|
|
82
82
|
IframeEvent.$on('modalOpen', ({ name, params }) => {
|
|
83
83
|
const activeModal = this.switchModalHandle(name, params)
|
|
84
84
|
activeModal && this.$set(
|
|
@@ -87,7 +87,7 @@ const IframeContainer = {
|
|
|
87
87
|
visible: true,
|
|
88
88
|
...activeModal
|
|
89
89
|
})
|
|
90
|
-
})
|
|
90
|
+
})
|
|
91
91
|
IframeEvent.$on('modalClose', ({ name, params }) => {
|
|
92
92
|
this.closeModalHandle(name)
|
|
93
93
|
params && this.postCompMessage(params)
|
|
@@ -97,6 +97,9 @@ const IframeContainer = {
|
|
|
97
97
|
this.switchModalHandle(name, params)
|
|
98
98
|
})
|
|
99
99
|
},
|
|
100
|
+
mounted() {
|
|
101
|
+
this.postCompMessage()
|
|
102
|
+
},
|
|
100
103
|
methods: {
|
|
101
104
|
postCompMessage(data = {}) {
|
|
102
105
|
const { componentsArr, activeKey, postMessage } = this
|
|
@@ -157,7 +160,8 @@ const IframeContainer = {
|
|
|
157
160
|
}
|
|
158
161
|
|
|
159
162
|
IframeContainer.install = function (Vue) {
|
|
160
|
-
Vue.
|
|
163
|
+
Vue.prototype.$IframeBus = IframeEvent
|
|
164
|
+
Vue.component('IframePage', IframeContainer)
|
|
161
165
|
}
|
|
162
166
|
|
|
163
167
|
export default IframeContainer
|
package/lib/layout/Header.jsx
CHANGED
|
@@ -25,7 +25,7 @@ const rightContentRenderFun = (h, props) => {
|
|
|
25
25
|
return null
|
|
26
26
|
}
|
|
27
27
|
return isFun(headerRightRender) && headerRightRender(h) || headerRightRender
|
|
28
|
-
}
|
|
28
|
+
}
|
|
29
29
|
|
|
30
30
|
const renderContent = (h, props, baseCls, cdProps) => {
|
|
31
31
|
const { menus } = props
|
|
@@ -91,9 +91,9 @@ const HeaderView = {
|
|
|
91
91
|
{titleDom}
|
|
92
92
|
{renderContent(h, this.$props, `${baseCls}-right`, cdProps)}
|
|
93
93
|
</div>
|
|
94
|
-
) : <div>
|
|
94
|
+
) : <div>
|
|
95
95
|
{titleDom}
|
|
96
|
-
{rightContentRenderFun(h, cdProps)}
|
|
96
|
+
{rightContentRenderFun(h, cdProps)}
|
|
97
97
|
</div>
|
|
98
98
|
}
|
|
99
99
|
</div>
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "web-component-gallery",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.58",
|
|
4
4
|
"description": "vue-library-ui组件库",
|
|
5
5
|
"main": "dist/index.umd.js",
|
|
6
6
|
"files": [
|
|
7
7
|
"dist",
|
|
8
8
|
"plugins",
|
|
9
|
-
"lib"
|
|
9
|
+
"lib",
|
|
10
|
+
"utils"
|
|
10
11
|
],
|
|
11
12
|
"scripts": {
|
|
12
13
|
"serve": "vue-cli-service serve",
|
|
@@ -25,7 +26,6 @@
|
|
|
25
26
|
"style-resources-loader": "^1.5.0",
|
|
26
27
|
"vue": "^2.6.14",
|
|
27
28
|
"vue-cli-plugin-style-resources-loader": "^0.1.5",
|
|
28
|
-
"vue-router": "3.5.1",
|
|
29
29
|
"vuex": "^3.6.2",
|
|
30
30
|
"vuex-persistedstate": "^4.1.0"
|
|
31
31
|
},
|
|
@@ -11,7 +11,7 @@ const videoType = [ "avi", "flv", "mpg", "mpeg", "mpe", "m1v", "m2v", "mpv2", "m
|
|
|
11
11
|
|
|
12
12
|
const BrowseProps = {
|
|
13
13
|
data: PropTypes.oneOfType([PropTypes.string, PropTypes.array, PropTypes.object]).def([])
|
|
14
|
-
}
|
|
14
|
+
}
|
|
15
15
|
|
|
16
16
|
const renderContent = (h, item, https) => {
|
|
17
17
|
|
|
@@ -2,7 +2,7 @@ import PropTypes from 'ant-design-vue/es/_util/vue-types'
|
|
|
2
2
|
import Descriptions from 'ant-design-vue/es/descriptions'
|
|
3
3
|
|
|
4
4
|
import Browse from '../browse/index.jsx'
|
|
5
|
-
import { transferData } from '
|
|
5
|
+
import { transferData } from '../../utils/Filter.js'
|
|
6
6
|
|
|
7
7
|
const {
|
|
8
8
|
Item: DescriptionsItem
|
|
@@ -31,28 +31,28 @@ const IframeContainer = {
|
|
|
31
31
|
const IframeComponents = componentsArr.map(componentItem => {
|
|
32
32
|
const isActive = activeKey === componentItem[checkedKey]
|
|
33
33
|
return this.getIframeComponent( componentItem, isActive )
|
|
34
|
-
})
|
|
34
|
+
})
|
|
35
35
|
|
|
36
36
|
const modalKeys = Object.keys(modalComponents)
|
|
37
37
|
|
|
38
|
+
const ModalOperates = modalKeys.map(modalKey => {
|
|
39
|
+
return (
|
|
40
|
+
<Modal
|
|
41
|
+
{...{
|
|
42
|
+
props: {
|
|
43
|
+
...modalComponents[modalKey],
|
|
44
|
+
cancelHandle: () => this.closeModalHandle(modalKey)
|
|
45
|
+
}
|
|
46
|
+
}}>
|
|
47
|
+
{ this.getIframeComponent(modalComponents[modalKey], true) }
|
|
48
|
+
</Modal>
|
|
49
|
+
)
|
|
50
|
+
})
|
|
51
|
+
|
|
38
52
|
return (
|
|
39
53
|
<div class="ant-pro-grid-content-page">
|
|
40
54
|
{IframeComponents}
|
|
41
|
-
{
|
|
42
|
-
modalKeys.length && modalKeys.map(modalKey => {
|
|
43
|
-
return (
|
|
44
|
-
<Modal
|
|
45
|
-
{...{
|
|
46
|
-
props: {
|
|
47
|
-
...modalComponents[modalKey],
|
|
48
|
-
cancelHandle: () => this.closeModalHandle(modalKey)
|
|
49
|
-
}
|
|
50
|
-
}}>
|
|
51
|
-
{ this.getIframeComponent(modalComponents[modalKey], true) }
|
|
52
|
-
</Modal>
|
|
53
|
-
)
|
|
54
|
-
})
|
|
55
|
-
}
|
|
55
|
+
{ModalOperates}
|
|
56
56
|
</div>
|
|
57
57
|
)
|
|
58
58
|
|
|
@@ -70,15 +70,15 @@ const IframeContainer = {
|
|
|
70
70
|
},
|
|
71
71
|
computed: {
|
|
72
72
|
activeKeyAndParams() {
|
|
73
|
-
const {activeKey, postMessage} = this
|
|
73
|
+
const {activeKey, postMessage, componentsArr} = this
|
|
74
74
|
return {
|
|
75
75
|
activeKey,
|
|
76
|
-
postMessage
|
|
76
|
+
postMessage,
|
|
77
|
+
componentsArr
|
|
77
78
|
}
|
|
78
79
|
}
|
|
79
80
|
},
|
|
80
|
-
|
|
81
|
-
this.postCompMessage()
|
|
81
|
+
created() {
|
|
82
82
|
IframeEvent.$on('modalOpen', ({ name, params }) => {
|
|
83
83
|
const activeModal = this.switchModalHandle(name, params)
|
|
84
84
|
activeModal && this.$set(
|
|
@@ -87,7 +87,7 @@ const IframeContainer = {
|
|
|
87
87
|
visible: true,
|
|
88
88
|
...activeModal
|
|
89
89
|
})
|
|
90
|
-
})
|
|
90
|
+
})
|
|
91
91
|
IframeEvent.$on('modalClose', ({ name, params }) => {
|
|
92
92
|
this.closeModalHandle(name)
|
|
93
93
|
params && this.postCompMessage(params)
|
|
@@ -97,6 +97,9 @@ const IframeContainer = {
|
|
|
97
97
|
this.switchModalHandle(name, params)
|
|
98
98
|
})
|
|
99
99
|
},
|
|
100
|
+
mounted() {
|
|
101
|
+
this.postCompMessage()
|
|
102
|
+
},
|
|
100
103
|
methods: {
|
|
101
104
|
postCompMessage(data = {}) {
|
|
102
105
|
const { componentsArr, activeKey, postMessage } = this
|
|
@@ -157,7 +160,8 @@ const IframeContainer = {
|
|
|
157
160
|
}
|
|
158
161
|
|
|
159
162
|
IframeContainer.install = function (Vue) {
|
|
160
|
-
Vue.
|
|
163
|
+
Vue.prototype.$IframeBus = IframeEvent
|
|
164
|
+
Vue.component('IframePage', IframeContainer)
|
|
161
165
|
}
|
|
162
166
|
|
|
163
167
|
export default IframeContainer
|
|
@@ -25,7 +25,7 @@ const rightContentRenderFun = (h, props) => {
|
|
|
25
25
|
return null
|
|
26
26
|
}
|
|
27
27
|
return isFun(headerRightRender) && headerRightRender(h) || headerRightRender
|
|
28
|
-
}
|
|
28
|
+
}
|
|
29
29
|
|
|
30
30
|
const renderContent = (h, props, baseCls, cdProps) => {
|
|
31
31
|
const { menus } = props
|
|
@@ -91,9 +91,9 @@ const HeaderView = {
|
|
|
91
91
|
{titleDom}
|
|
92
92
|
{renderContent(h, this.$props, `${baseCls}-right`, cdProps)}
|
|
93
93
|
</div>
|
|
94
|
-
) : <div>
|
|
94
|
+
) : <div>
|
|
95
95
|
{titleDom}
|
|
96
|
-
{rightContentRenderFun(h, cdProps)}
|
|
96
|
+
{rightContentRenderFun(h, cdProps)}
|
|
97
97
|
</div>
|
|
98
98
|
}
|
|
99
99
|
</div>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import 'amfe-flexible'
|
|
2
|
+
|
|
3
|
+
export function autoFlexible(designWidth = 1920) {
|
|
4
|
+
// designWidth 设计稿的宽度基准
|
|
5
|
+
// 动态调整根字体大小的函数
|
|
6
|
+
const updateRootFontSize = () => {
|
|
7
|
+
const baseSize = 14 // 基准字体大小
|
|
8
|
+
const minFontSize = 12 // 最小字体大小
|
|
9
|
+
const maxFontSize = 16 // 最大字体大小
|
|
10
|
+
const clientWidth = document.documentElement.clientWidth // 当前窗口的宽度
|
|
11
|
+
const scale = clientWidth / designWidth // 计算当前窗口宽度与设计稿宽度的比例
|
|
12
|
+
let newSize = baseSize * scale
|
|
13
|
+
|
|
14
|
+
// 限制字体大小在最小和最大范围内
|
|
15
|
+
if (newSize < minFontSize) {
|
|
16
|
+
newSize = minFontSize
|
|
17
|
+
} else if (newSize > maxFontSize) {
|
|
18
|
+
newSize = maxFontSize
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// 设置根元素的字体大小
|
|
22
|
+
document.documentElement.style.fontSize = `${newSize}px`
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// 监听窗口大小变化,并动态调整字体大小
|
|
26
|
+
window.addEventListener('resize', () => updateRootFontSize(designWidth))
|
|
27
|
+
|
|
28
|
+
// 初始化时立即设置一次字体大小
|
|
29
|
+
updateRootFontSize(designWidth)
|
|
30
|
+
}
|