firefly-portal-web 1.0.0
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/README.md +132 -0
- package/dist-lib/Empower-789f2826.mjs +94 -0
- package/dist-lib/Empower-789f2826.mjs.map +1 -0
- package/dist-lib/Empower.vue_vue_type_script_setup_true_lang-c454e7a0.mjs +134 -0
- package/dist-lib/Empower.vue_vue_type_script_setup_true_lang-c454e7a0.mjs.map +1 -0
- package/dist-lib/Field-40d74a96.mjs +94 -0
- package/dist-lib/Field-40d74a96.mjs.map +1 -0
- package/dist-lib/Field.vue_vue_type_script_setup_true_lang-e1964a74.mjs +148 -0
- package/dist-lib/Field.vue_vue_type_script_setup_true_lang-e1964a74.mjs.map +1 -0
- package/dist-lib/FieldForm-a5d4038b.mjs +93 -0
- package/dist-lib/FieldForm-a5d4038b.mjs.map +1 -0
- package/dist-lib/FieldForm.vue_vue_type_script_setup_true_lang-f92c7e23.mjs +160 -0
- package/dist-lib/FieldForm.vue_vue_type_script_setup_true_lang-f92c7e23.mjs.map +1 -0
- package/dist-lib/Form-06ee1b64.mjs +97 -0
- package/dist-lib/Form-06ee1b64.mjs.map +1 -0
- package/dist-lib/Form-15a7f801.mjs +95 -0
- package/dist-lib/Form-15a7f801.mjs.map +1 -0
- package/dist-lib/Form-465fe45d.mjs +237 -0
- package/dist-lib/Form-465fe45d.mjs.map +1 -0
- package/dist-lib/Form-6e6a6a0d.mjs +94 -0
- package/dist-lib/Form-6e6a6a0d.mjs.map +1 -0
- package/dist-lib/Form-a61f1446.mjs +93 -0
- package/dist-lib/Form-a61f1446.mjs.map +1 -0
- package/dist-lib/Form-aeafea39.mjs +93 -0
- package/dist-lib/Form-aeafea39.mjs.map +1 -0
- package/dist-lib/Form-b0b8b1f3.mjs +94 -0
- package/dist-lib/Form-b0b8b1f3.mjs.map +1 -0
- package/dist-lib/Form-b2915cd3.mjs +95 -0
- package/dist-lib/Form-b2915cd3.mjs.map +1 -0
- package/dist-lib/Form-b2ce5535.mjs +93 -0
- package/dist-lib/Form-b2ce5535.mjs.map +1 -0
- package/dist-lib/Form-ca6e92bd.mjs +421 -0
- package/dist-lib/Form-ca6e92bd.mjs.map +1 -0
- package/dist-lib/Form.vue_vue_type_script_setup_true_lang-039f5c88.mjs +101 -0
- package/dist-lib/Form.vue_vue_type_script_setup_true_lang-039f5c88.mjs.map +1 -0
- package/dist-lib/Form.vue_vue_type_script_setup_true_lang-1883a047.mjs +91 -0
- package/dist-lib/Form.vue_vue_type_script_setup_true_lang-1883a047.mjs.map +1 -0
- package/dist-lib/Form.vue_vue_type_script_setup_true_lang-5fbc0f96.mjs +302 -0
- package/dist-lib/Form.vue_vue_type_script_setup_true_lang-5fbc0f96.mjs.map +1 -0
- package/dist-lib/Form.vue_vue_type_script_setup_true_lang-61497691.mjs +181 -0
- package/dist-lib/Form.vue_vue_type_script_setup_true_lang-61497691.mjs.map +1 -0
- package/dist-lib/Form.vue_vue_type_script_setup_true_lang-69cc4bfc.mjs +94 -0
- package/dist-lib/Form.vue_vue_type_script_setup_true_lang-69cc4bfc.mjs.map +1 -0
- package/dist-lib/Form.vue_vue_type_script_setup_true_lang-a3d7f865.mjs +263 -0
- package/dist-lib/Form.vue_vue_type_script_setup_true_lang-a3d7f865.mjs.map +1 -0
- package/dist-lib/Form.vue_vue_type_script_setup_true_lang-ae83b1bb.mjs +104 -0
- package/dist-lib/Form.vue_vue_type_script_setup_true_lang-ae83b1bb.mjs.map +1 -0
- package/dist-lib/Form.vue_vue_type_style_index_0_lang-f240a568.mjs +838 -0
- package/dist-lib/Form.vue_vue_type_style_index_0_lang-f240a568.mjs.map +1 -0
- package/dist-lib/Info-e9cb4268.mjs +747 -0
- package/dist-lib/Info-e9cb4268.mjs.map +1 -0
- package/dist-lib/Log-b1cc7014.mjs +94 -0
- package/dist-lib/Log-b1cc7014.mjs.map +1 -0
- package/dist-lib/Log.vue_vue_type_script_setup_true_lang-0ba0615b.mjs +93 -0
- package/dist-lib/Log.vue_vue_type_script_setup_true_lang-0ba0615b.mjs.map +1 -0
- package/dist-lib/Login-fc04d844.mjs +109 -0
- package/dist-lib/Login-fc04d844.mjs.map +1 -0
- package/dist-lib/LoginForm-eafdf0bc.mjs +93 -0
- package/dist-lib/LoginForm-eafdf0bc.mjs.map +1 -0
- package/dist-lib/LoginForm.vue_vue_type_script_setup_true_lang-2a241386.mjs +202 -0
- package/dist-lib/LoginForm.vue_vue_type_script_setup_true_lang-2a241386.mjs.map +1 -0
- package/dist-lib/PageExplainModal-efbb4616.mjs +140 -0
- package/dist-lib/PageExplainModal-efbb4616.mjs.map +1 -0
- package/dist-lib/Preview-531e9361.mjs +93 -0
- package/dist-lib/Preview-531e9361.mjs.map +1 -0
- package/dist-lib/Preview-6086e84b.mjs +93 -0
- package/dist-lib/Preview-6086e84b.mjs.map +1 -0
- package/dist-lib/Preview.vue_vue_type_script_setup_true_lang-0013b21d.mjs +137 -0
- package/dist-lib/Preview.vue_vue_type_script_setup_true_lang-0013b21d.mjs.map +1 -0
- package/dist-lib/Preview.vue_vue_type_script_setup_true_lang-815bfd98.mjs +67 -0
- package/dist-lib/Preview.vue_vue_type_script_setup_true_lang-815bfd98.mjs.map +1 -0
- package/dist-lib/TableAction-fcabc30c.mjs +114 -0
- package/dist-lib/TableAction-fcabc30c.mjs.map +1 -0
- package/dist-lib/UserSelect-4e259116.mjs +94 -0
- package/dist-lib/UserSelect-4e259116.mjs.map +1 -0
- package/dist-lib/UserSelect.vue_vue_type_script_setup_true_lang-aa25c5fc.mjs +282 -0
- package/dist-lib/UserSelect.vue_vue_type_script_setup_true_lang-aa25c5fc.mjs.map +1 -0
- package/dist-lib/cdn/socials/dingtalk.png +0 -0
- package/dist-lib/cdn/socials/feishu.png +0 -0
- package/dist-lib/cdn/socials/gitHub.png +0 -0
- package/dist-lib/cdn/socials/qq.png +0 -0
- package/dist-lib/cdn/socials/wechat_open.png +0 -0
- package/dist-lib/cdn/socials/wxWork.png +0 -0
- package/dist-lib/commonFields-5ff2332b.mjs +24 -0
- package/dist-lib/commonFields-5ff2332b.mjs.map +1 -0
- package/dist-lib/css/fonts/ym/iconfont.css +2419 -0
- package/dist-lib/css/fonts/ym/iconfont.ttf +0 -0
- package/dist-lib/css/fonts/ym/iconfont.woff +0 -0
- package/dist-lib/css/fonts/ym/iconfont.woff2 +0 -0
- package/dist-lib/css/fonts/ym-custom/iconfont.css +7203 -0
- package/dist-lib/css/fonts/ym-custom/iconfont.ttf +0 -0
- package/dist-lib/css/fonts/ym-custom/iconfont.woff +0 -0
- package/dist-lib/css/fonts/ym-custom/iconfont.woff2 +0 -0
- package/dist-lib/css/index.css +135 -0
- package/dist-lib/css/print-lock.css +352 -0
- package/dist-lib/emtryImg-85b013aa.mjs +5 -0
- package/dist-lib/emtryImg-85b013aa.mjs.map +1 -0
- package/dist-lib/en_US-6b59f0a7.mjs +774 -0
- package/dist-lib/en_US-6b59f0a7.mjs.map +1 -0
- package/dist-lib/favicon.ico +0 -0
- package/dist-lib/firefly-portal-preview.css +1 -0
- package/dist-lib/firefly-portal-preview.d.ts +82 -0
- package/dist-lib/firefly-portal-preview.es.js +92 -0
- package/dist-lib/firefly-portal-preview.es.js.map +1 -0
- package/dist-lib/firefly-portal-preview.umd.js +79 -0
- package/dist-lib/firefly-portal-preview.umd.js.map +1 -0
- package/dist-lib/formValidate-33d5595a.mjs +68 -0
- package/dist-lib/formValidate-33d5595a.mjs.map +1 -0
- package/dist-lib/index-1a090e82.mjs +173 -0
- package/dist-lib/index-1a090e82.mjs.map +1 -0
- package/dist-lib/index-28ba2ea1.mjs +154 -0
- package/dist-lib/index-28ba2ea1.mjs.map +1 -0
- package/dist-lib/index-29f92d0d.mjs +130 -0
- package/dist-lib/index-29f92d0d.mjs.map +1 -0
- package/dist-lib/index-2c2c19d4.mjs +160 -0
- package/dist-lib/index-2c2c19d4.mjs.map +1 -0
- package/dist-lib/index-2f898c1f.mjs +103 -0
- package/dist-lib/index-2f898c1f.mjs.map +1 -0
- package/dist-lib/index-3462ba0d.mjs +139 -0
- package/dist-lib/index-3462ba0d.mjs.map +1 -0
- package/dist-lib/index-3ebbb3a9.mjs +97 -0
- package/dist-lib/index-3ebbb3a9.mjs.map +1 -0
- package/dist-lib/index-436ec82c.mjs +145 -0
- package/dist-lib/index-436ec82c.mjs.map +1 -0
- package/dist-lib/index-44e8def1.mjs +267 -0
- package/dist-lib/index-44e8def1.mjs.map +1 -0
- package/dist-lib/index-47596f01.mjs +144 -0
- package/dist-lib/index-47596f01.mjs.map +1 -0
- package/dist-lib/index-5888a3a4.mjs +226 -0
- package/dist-lib/index-5888a3a4.mjs.map +1 -0
- package/dist-lib/index-58fb457c.mjs +179 -0
- package/dist-lib/index-58fb457c.mjs.map +1 -0
- package/dist-lib/index-5b8b1ba9.mjs +119766 -0
- package/dist-lib/index-5b8b1ba9.mjs.map +1 -0
- package/dist-lib/index-687fd3de.mjs +396 -0
- package/dist-lib/index-687fd3de.mjs.map +1 -0
- package/dist-lib/index-6eca8dab.mjs +135 -0
- package/dist-lib/index-6eca8dab.mjs.map +1 -0
- package/dist-lib/index-73df4468.mjs +187 -0
- package/dist-lib/index-73df4468.mjs.map +1 -0
- package/dist-lib/index-7ae97180.mjs +597 -0
- package/dist-lib/index-7ae97180.mjs.map +1 -0
- package/dist-lib/index-8374b2f2.mjs +354 -0
- package/dist-lib/index-8374b2f2.mjs.map +1 -0
- package/dist-lib/index-89a27c27.mjs +255 -0
- package/dist-lib/index-89a27c27.mjs.map +1 -0
- package/dist-lib/index-9263cd45.mjs +482 -0
- package/dist-lib/index-9263cd45.mjs.map +1 -0
- package/dist-lib/index-934ca5d0.mjs +93 -0
- package/dist-lib/index-934ca5d0.mjs.map +1 -0
- package/dist-lib/index-97081729.mjs +269 -0
- package/dist-lib/index-97081729.mjs.map +1 -0
- package/dist-lib/index-9dec931e.mjs +145 -0
- package/dist-lib/index-9dec931e.mjs.map +1 -0
- package/dist-lib/index-9fc40c89.mjs +298 -0
- package/dist-lib/index-9fc40c89.mjs.map +1 -0
- package/dist-lib/index-a57664c9.mjs +204 -0
- package/dist-lib/index-a57664c9.mjs.map +1 -0
- package/dist-lib/index-a83288bf.mjs +180 -0
- package/dist-lib/index-a83288bf.mjs.map +1 -0
- package/dist-lib/index-adf15a9e.mjs +392 -0
- package/dist-lib/index-adf15a9e.mjs.map +1 -0
- package/dist-lib/index-b5b20206.mjs +617 -0
- package/dist-lib/index-b5b20206.mjs.map +1 -0
- package/dist-lib/index-b6f446cf.mjs +92 -0
- package/dist-lib/index-b6f446cf.mjs.map +1 -0
- package/dist-lib/index-b9e3947c.mjs +156 -0
- package/dist-lib/index-b9e3947c.mjs.map +1 -0
- package/dist-lib/index-bde150fa.mjs +261 -0
- package/dist-lib/index-bde150fa.mjs.map +1 -0
- package/dist-lib/index-be097ef0.mjs +188 -0
- package/dist-lib/index-be097ef0.mjs.map +1 -0
- package/dist-lib/index-bff033bc.mjs +563 -0
- package/dist-lib/index-bff033bc.mjs.map +1 -0
- package/dist-lib/index-c4d74c6c.mjs +258 -0
- package/dist-lib/index-c4d74c6c.mjs.map +1 -0
- package/dist-lib/index-c708e214.mjs +96 -0
- package/dist-lib/index-c708e214.mjs.map +1 -0
- package/dist-lib/index-d936d570.mjs +191 -0
- package/dist-lib/index-d936d570.mjs.map +1 -0
- package/dist-lib/index-da857153.mjs +223 -0
- package/dist-lib/index-da857153.mjs.map +1 -0
- package/dist-lib/index.vue_vue_type_script_setup_true_lang-0eb8f454.mjs +136 -0
- package/dist-lib/index.vue_vue_type_script_setup_true_lang-0eb8f454.mjs.map +1 -0
- package/dist-lib/index.vue_vue_type_script_setup_true_lang-10a915e2.mjs +137 -0
- package/dist-lib/index.vue_vue_type_script_setup_true_lang-10a915e2.mjs.map +1 -0
- package/dist-lib/index.vue_vue_type_script_setup_true_lang-570dd942.mjs +131 -0
- package/dist-lib/index.vue_vue_type_script_setup_true_lang-570dd942.mjs.map +1 -0
- package/dist-lib/interfaceOauth-bb8e782e.mjs +40 -0
- package/dist-lib/interfaceOauth-bb8e782e.mjs.map +1 -0
- package/dist-lib/preview-e588e33c.mjs +194 -0
- package/dist-lib/preview-e588e33c.mjs.map +1 -0
- package/dist-lib/resource/emoji/100.gif +0 -0
- package/dist-lib/resource/emoji/101.gif +0 -0
- package/dist-lib/resource/emoji/102.gif +0 -0
- package/dist-lib/resource/emoji/103.gif +0 -0
- package/dist-lib/resource/emoji/104.gif +0 -0
- package/dist-lib/resource/emoji/105.gif +0 -0
- package/dist-lib/resource/emoji/106.gif +0 -0
- package/dist-lib/resource/emoji/107.gif +0 -0
- package/dist-lib/resource/emoji/108.gif +0 -0
- package/dist-lib/resource/emoji/109.gif +0 -0
- package/dist-lib/resource/emoji/110.gif +0 -0
- package/dist-lib/resource/emoji/111.gif +0 -0
- package/dist-lib/resource/emoji/112.gif +0 -0
- package/dist-lib/resource/emoji/113.gif +0 -0
- package/dist-lib/resource/emoji/114.gif +0 -0
- package/dist-lib/resource/emoji/115.gif +0 -0
- package/dist-lib/resource/emoji/116.gif +0 -0
- package/dist-lib/resource/emoji/117.gif +0 -0
- package/dist-lib/resource/emoji/118.gif +0 -0
- package/dist-lib/resource/emoji/119.gif +0 -0
- package/dist-lib/resource/emoji/120.gif +0 -0
- package/dist-lib/resource/emoji/121.gif +0 -0
- package/dist-lib/resource/emoji/122.gif +0 -0
- package/dist-lib/resource/emoji/123.gif +0 -0
- package/dist-lib/resource/emoji/124.gif +0 -0
- package/dist-lib/resource/emoji/125.gif +0 -0
- package/dist-lib/resource/emoji/126.gif +0 -0
- package/dist-lib/resource/emoji/127.gif +0 -0
- package/dist-lib/resource/emoji/128.gif +0 -0
- package/dist-lib/resource/emoji/129.gif +0 -0
- package/dist-lib/resource/emoji/130.gif +0 -0
- package/dist-lib/resource/emoji/131.gif +0 -0
- package/dist-lib/resource/emoji/132.gif +0 -0
- package/dist-lib/resource/emoji/133.gif +0 -0
- package/dist-lib/resource/emoji/134.gif +0 -0
- package/dist-lib/resource/emoji/135.gif +0 -0
- package/dist-lib/resource/emoji/136.gif +0 -0
- package/dist-lib/resource/emoji/137.gif +0 -0
- package/dist-lib/resource/emoji/138.gif +0 -0
- package/dist-lib/resource/emoji/139.gif +0 -0
- package/dist-lib/resource/emoji/140.gif +0 -0
- package/dist-lib/resource/emoji/141.gif +0 -0
- package/dist-lib/resource/emoji/142.gif +0 -0
- package/dist-lib/resource/emoji/143.gif +0 -0
- package/dist-lib/resource/emoji/144.gif +0 -0
- package/dist-lib/resource/emoji/145.gif +0 -0
- package/dist-lib/resource/emoji/146.gif +0 -0
- package/dist-lib/resource/emoji/147.gif +0 -0
- package/dist-lib/resource/emoji/148.gif +0 -0
- package/dist-lib/resource/emoji/149.gif +0 -0
- package/dist-lib/resource/emoji/150.gif +0 -0
- package/dist-lib/resource/emoji/151.gif +0 -0
- package/dist-lib/resource/emoji/152.gif +0 -0
- package/dist-lib/resource/emoji/153.gif +0 -0
- package/dist-lib/resource/emoji/154.gif +0 -0
- package/dist-lib/resource/emoji/155.gif +0 -0
- package/dist-lib/resource/emoji/156.gif +0 -0
- package/dist-lib/resource/emoji/157.gif +0 -0
- package/dist-lib/resource/emoji/158.gif +0 -0
- package/dist-lib/resource/emoji/159.gif +0 -0
- package/dist-lib/resource/emoji/160.gif +0 -0
- package/dist-lib/resource/emoji/161.gif +0 -0
- package/dist-lib/resource/emoji/162.gif +0 -0
- package/dist-lib/resource/emoji/163.gif +0 -0
- package/dist-lib/resource/emoji/164.gif +0 -0
- package/dist-lib/resource/emoji/165.gif +0 -0
- package/dist-lib/resource/emoji/166.gif +0 -0
- package/dist-lib/resource/emoji/167.gif +0 -0
- package/dist-lib/resource/emoji/168.gif +0 -0
- package/dist-lib/resource/emoji/169.gif +0 -0
- package/dist-lib/resource/emoji/170.gif +0 -0
- package/dist-lib/resource/emoji/171.gif +0 -0
- package/dist-lib/resource/emoji/172.gif +0 -0
- package/dist-lib/resource/emoji/173.gif +0 -0
- package/dist-lib/resource/emoji/174.gif +0 -0
- package/dist-lib/resource/emoji/175.gif +0 -0
- package/dist-lib/resource/emoji/176.gif +0 -0
- package/dist-lib/resource/emoji/177.gif +0 -0
- package/dist-lib/resource/emoji/178.gif +0 -0
- package/dist-lib/resource/emoji/179.gif +0 -0
- package/dist-lib/resource/emoji/180.gif +0 -0
- package/dist-lib/resource/emoji/181.gif +0 -0
- package/dist-lib/resource/emoji/182.gif +0 -0
- package/dist-lib/resource/emoji/183.gif +0 -0
- package/dist-lib/resource/emoji/184.gif +0 -0
- package/dist-lib/resource/emoji/185.gif +0 -0
- package/dist-lib/resource/emoji/186.gif +0 -0
- package/dist-lib/resource/emoji/187.gif +0 -0
- package/dist-lib/resource/emoji/188.gif +0 -0
- package/dist-lib/resource/emoji/189.gif +0 -0
- package/dist-lib/resource/emoji/190.gif +0 -0
- package/dist-lib/resource/emoji/191.gif +0 -0
- package/dist-lib/resource/emoji/192.gif +0 -0
- package/dist-lib/resource/emoji/193.gif +0 -0
- package/dist-lib/resource/emoji/194.gif +0 -0
- package/dist-lib/resource/emoji/195.gif +0 -0
- package/dist-lib/resource/emoji/196.gif +0 -0
- package/dist-lib/resource/emoji/197.gif +0 -0
- package/dist-lib/resource/emoji/198.gif +0 -0
- package/dist-lib/resource/emoji/199.gif +0 -0
- package/dist-lib/resource/emoji/200.png +0 -0
- package/dist-lib/resource/emoji/201.png +0 -0
- package/dist-lib/resource/emoji/202.png +0 -0
- package/dist-lib/resource/emoji/203.png +0 -0
- package/dist-lib/resource/emoji/204.png +0 -0
- package/dist-lib/resource/emoji/205.png +0 -0
- package/dist-lib/resource/emoji/206.png +0 -0
- package/dist-lib/resource/emoji/207.png +0 -0
- package/dist-lib/resource/emoji/208.png +0 -0
- package/dist-lib/resource/emoji/209.png +0 -0
- package/dist-lib/resource/emoji/210.png +0 -0
- package/dist-lib/resource/emoji/211.png +0 -0
- package/dist-lib/resource/emoji/212.png +0 -0
- package/dist-lib/resource/emoji/213.png +0 -0
- package/dist-lib/resource/emoji/214.png +0 -0
- package/dist-lib/resource/emoji/215.png +0 -0
- package/dist-lib/resource/emoji/216.png +0 -0
- package/dist-lib/resource/emoji/217.png +0 -0
- package/dist-lib/resource/emoji/218.png +0 -0
- package/dist-lib/resource/emoji/219.png +0 -0
- package/dist-lib/resource/img/logo.png +0 -0
- package/dist-lib/resource/img/pwa-192x192.png +0 -0
- package/dist-lib/resource/img/pwa-512x512.png +0 -0
- package/dist-lib/resource/tinymce/langs/en.js +419 -0
- package/dist-lib/resource/tinymce/langs/zh_CN.js +389 -0
- package/dist-lib/resource/tinymce/skins/ui/oxide/content.inline.min.css +7 -0
- package/dist-lib/resource/tinymce/skins/ui/oxide/content.min.css +7 -0
- package/dist-lib/resource/tinymce/skins/ui/oxide/content.mobile.min.css +7 -0
- package/dist-lib/resource/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff +0 -0
- package/dist-lib/resource/tinymce/skins/ui/oxide/skin.min.css +7 -0
- package/dist-lib/resource/tinymce/skins/ui/oxide/skin.mobile.min.css +7 -0
- package/dist-lib/resource/tinymce/skins/ui/oxide/skin.shadowdom.min.css +7 -0
- package/dist-lib/resource/tinymce/skins/ui/oxide-dark/content.inline.min.css +7 -0
- package/dist-lib/resource/tinymce/skins/ui/oxide-dark/content.min.css +7 -0
- package/dist-lib/resource/tinymce/skins/ui/oxide-dark/content.mobile.min.css +7 -0
- package/dist-lib/resource/tinymce/skins/ui/oxide-dark/skin.min.css +7 -0
- package/dist-lib/resource/tinymce/skins/ui/oxide-dark/skin.mobile.min.css +7 -0
- package/dist-lib/resource/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css +7 -0
- package/dist-lib/useCommon-36969e5f.mjs +110 -0
- package/dist-lib/useCommon-36969e5f.mjs.map +1 -0
- package/dist-lib/useECharts-bb3ba984.mjs +77 -0
- package/dist-lib/useECharts-bb3ba984.mjs.map +1 -0
- package/dist-lib/useTable-99fc521a.mjs +172 -0
- package/dist-lib/useTable-99fc521a.mjs.map +1 -0
- package/dist-lib/zh_CN-5eabc04b.mjs +772 -0
- package/dist-lib/zh_CN-5eabc04b.mjs.map +1 -0
- package/dist-lib/zh_TW-ef5c69c0.mjs +774 -0
- package/dist-lib/zh_TW-ef5c69c0.mjs.map +1 -0
- package/package.json +247 -0
- package/src/components/PortalPreview/__tests__/index.spec.ts +258 -0
- package/src/components/PortalPreview/fonts/ym/iconfont.css +2419 -0
- package/src/components/PortalPreview/fonts/ym/iconfont.ttf +0 -0
- package/src/components/PortalPreview/fonts/ym/iconfont.woff +0 -0
- package/src/components/PortalPreview/fonts/ym/iconfont.woff2 +0 -0
- package/src/components/PortalPreview/fonts/ym-custom/iconfont.css +7203 -0
- package/src/components/PortalPreview/fonts/ym-custom/iconfont.ttf +0 -0
- package/src/components/PortalPreview/fonts/ym-custom/iconfont.woff +0 -0
- package/src/components/PortalPreview/fonts/ym-custom/iconfont.woff2 +0 -0
- package/src/components/PortalPreview/index.ts +31 -0
- package/src/components/PortalPreview/index.vue +329 -0
- package/src/components/PortalPreview/style/overrides.css +15 -0
- package/src/components/PortalPreview/types.ts +61 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
|
|
2
|
+
import portalPreview from './index.vue';
|
|
3
|
+
import type { PortalPreviewProps, PortalPreviewData, PortalPreviewEmits } from './types';
|
|
4
|
+
import ElementPlus from 'element-plus';
|
|
5
|
+
import 'firefly-plus-components/index.css'
|
|
6
|
+
import 'element-plus/dist/index.css';
|
|
7
|
+
import gridLayout from 'vue-grid-layout';
|
|
8
|
+
import type { App } from 'vue';
|
|
9
|
+
// 使用轻量覆盖替代 @/styles/tailwindcss.css(后者含 @tailwind utilities,生成约 17,000+ 行无用工具类)
|
|
10
|
+
import '@/styles/tailwindcss.css';
|
|
11
|
+
// 保留设计变量和全局样式,但移除 Windi/Tailwind base
|
|
12
|
+
import '@/design/windi-base.css'; // 已移除:WindI CSS 变量和动画类与组件无关
|
|
13
|
+
import '@/design/index.less';
|
|
14
|
+
import '../VisualPortal/style/index.less'
|
|
15
|
+
import './fonts/ym/iconfont.css'
|
|
16
|
+
import './fonts/ym-custom/iconfont.css'
|
|
17
|
+
|
|
18
|
+
portalPreview.install = (app: App) => {
|
|
19
|
+
app.use(ElementPlus);
|
|
20
|
+
// 注册 Grid Layout 插件
|
|
21
|
+
app.use(gridLayout);
|
|
22
|
+
const compName = portalPreview.name || portalPreview.displayName;
|
|
23
|
+
if (!compName) return;
|
|
24
|
+
app.component(compName, portalPreview);
|
|
25
|
+
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const PortalPreview = portalPreview;
|
|
29
|
+
export { PortalPreview };
|
|
30
|
+
|
|
31
|
+
export type { PortalPreviewProps, PortalPreviewData, PortalPreviewEmits };
|
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="jnpf-content-wrapper">
|
|
3
|
+
<div v-if="isShow">
|
|
4
|
+
<PortalDesign @register="registerPortalDesign" @reload="onReload" />
|
|
5
|
+
<PreviewModal @register="registerPreviewModal" @previewPc="onPreviewPc" />
|
|
6
|
+
<Preview @register="registerPreview" :isHome="isHome" @reload="onReload" />
|
|
7
|
+
</div>
|
|
8
|
+
</div>
|
|
9
|
+
</template>
|
|
10
|
+
|
|
11
|
+
<script lang="ts" setup>
|
|
12
|
+
import { computed, onMounted, onBeforeUnmount, ref, watch } from 'vue';
|
|
13
|
+
import Preview from '@/components/VisualPortal/Design/components/Preview.vue';
|
|
14
|
+
import { PreviewModal } from '@/components/CommonModal';
|
|
15
|
+
import PortalDesign from '@/components/VisualPortal/Design/index.vue';
|
|
16
|
+
import { useModal } from '@/components/Modal';
|
|
17
|
+
import { getPageHome, getWorkbench, getAdminWorkbench, portalAccessRecordAdd } from '@/api/newApi/newApi';
|
|
18
|
+
|
|
19
|
+
// 门户数据结构
|
|
20
|
+
interface PortalPreviewData {
|
|
21
|
+
id?: string;
|
|
22
|
+
layout?: any[];
|
|
23
|
+
formData?: string;
|
|
24
|
+
header?: any;
|
|
25
|
+
type?: number;
|
|
26
|
+
linkType?: number;
|
|
27
|
+
customUrl?: string;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const props = withDefaults(defineProps<{
|
|
31
|
+
/** 门户数据,若提供则直接使用,跳过 URL 解析和 API 请求 */
|
|
32
|
+
data?: PortalPreviewData;
|
|
33
|
+
/** 是否启用数据埋点记录 */
|
|
34
|
+
collectData?: boolean;
|
|
35
|
+
/** 是否监听来自父窗口的 message 事件 */
|
|
36
|
+
listenMessage?: boolean;
|
|
37
|
+
/** 接口基础 URL,若为空则使用当前项目配置 */
|
|
38
|
+
apiUrl?: string;
|
|
39
|
+
/** URL 参数名:用于获取门户 ID 的参数名(默认 data) */
|
|
40
|
+
dataParamName?: string;
|
|
41
|
+
/** URL 参数名:用于获取全员门户参数名(默认 allData) */
|
|
42
|
+
allDataParamName?: string;
|
|
43
|
+
/** 是否在 URL 中包含 'preview' 时隐藏操作按钮 */
|
|
44
|
+
isPreviewMode?: boolean;
|
|
45
|
+
/** 额外的访问记录参数 */
|
|
46
|
+
accessExtra?: Record<string, any>;
|
|
47
|
+
/** 加载失败后跳转路径,若为空则不跳转 */
|
|
48
|
+
fallbackRedirect?: string;
|
|
49
|
+
}>(), {
|
|
50
|
+
collectData: false,
|
|
51
|
+
listenMessage: false,
|
|
52
|
+
dataParamName: 'data',
|
|
53
|
+
allDataParamName: 'allData',
|
|
54
|
+
isPreviewMode: false,
|
|
55
|
+
fallbackRedirect: '',
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
const emit = defineEmits<{
|
|
59
|
+
(e: 'load', data: PortalPreviewData): void;
|
|
60
|
+
(e: 'reload'): void;
|
|
61
|
+
(e: 'error', err: any): void;
|
|
62
|
+
}>();
|
|
63
|
+
|
|
64
|
+
// 是否为首页模式:预览页或首页
|
|
65
|
+
const isHome = computed(() => !!props.isPreviewMode);
|
|
66
|
+
|
|
67
|
+
// 控制是否显示组件
|
|
68
|
+
const isShow = ref(true);
|
|
69
|
+
|
|
70
|
+
// 注册 PortalDesign 和 PreviewModal
|
|
71
|
+
const [registerPortalDesign, { openModal: openPortalDesign }] = useModal();
|
|
72
|
+
const [registerPreviewModal, { openModal: openPreviewModal }] = useModal();
|
|
73
|
+
// 注册 Preview
|
|
74
|
+
const [registerPreview, { openModal: openPreview }] = useModal();
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* 解析 URL 参数
|
|
78
|
+
*/
|
|
79
|
+
function queryURLParams(url: string, paramName: string): string {
|
|
80
|
+
const pattern = /([^?&=]+)=([^&]+)/g;
|
|
81
|
+
const params: Record<string, string | string[]> = {};
|
|
82
|
+
let match: RegExpExecArray | null;
|
|
83
|
+
|
|
84
|
+
while ((match = pattern.exec(url)) !== null) {
|
|
85
|
+
const key = decodeURIComponent(match[1]);
|
|
86
|
+
const value = decodeURIComponent(match[2]);
|
|
87
|
+
|
|
88
|
+
if (params[key]) {
|
|
89
|
+
if (Array.isArray(params[key])) {
|
|
90
|
+
(params[key] as string[]).push(value);
|
|
91
|
+
} else {
|
|
92
|
+
params[key] = [params[key] as string, value];
|
|
93
|
+
}
|
|
94
|
+
} else {
|
|
95
|
+
params[key] = value;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
if (!paramName) {
|
|
100
|
+
return JSON.stringify(params);
|
|
101
|
+
} else {
|
|
102
|
+
const p = params[paramName];
|
|
103
|
+
if (p) {
|
|
104
|
+
return Array.isArray(p) ? p[0] : p;
|
|
105
|
+
}
|
|
106
|
+
return '';
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
function isObject(obj: unknown): boolean {
|
|
111
|
+
return Object.prototype.toString.call(obj) === '[object Object]';
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* 解析门户表单数据
|
|
116
|
+
*/
|
|
117
|
+
function parseFormData(data: any): PortalPreviewData {
|
|
118
|
+
if (!data || !data.formData) {
|
|
119
|
+
return { layout: [] };
|
|
120
|
+
}
|
|
121
|
+
try {
|
|
122
|
+
const formData = isObject(data.formData) ? data.formData : JSON.parse(data.formData);
|
|
123
|
+
const res = isObject(formData.formData) ? formData.formData : JSON.parse(formData.formData);
|
|
124
|
+
return res;
|
|
125
|
+
} catch (e) {
|
|
126
|
+
return { layout: [] };
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* 处理从接口获取的数据
|
|
132
|
+
*/
|
|
133
|
+
function handlePortalData(data: any) {
|
|
134
|
+
const items = parseFormData(data);
|
|
135
|
+
emit('load', items);
|
|
136
|
+
openPreview(true, items);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* 处理从接口获取的数据(全员)
|
|
141
|
+
*/
|
|
142
|
+
function handleAdminData(data: any) {
|
|
143
|
+
const items = parseFormData(data);
|
|
144
|
+
emit('load', items);
|
|
145
|
+
openPreview(true, items);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* 处理工作台数据
|
|
150
|
+
*/
|
|
151
|
+
function handleWorkBench(data: any) {
|
|
152
|
+
const items = parseFormData(data);
|
|
153
|
+
emit('load', items);
|
|
154
|
+
openPreview(true, items);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* 初始化数据
|
|
159
|
+
*/
|
|
160
|
+
async function initData() {
|
|
161
|
+
// 若 props.data 提供,直接使用
|
|
162
|
+
if (props.data) {
|
|
163
|
+
emit('load', props.data);
|
|
164
|
+
openPreview(true, props.data);
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
const url = location.href;
|
|
169
|
+
const dataParam = queryURLParams(url, props.dataParamName || 'data');
|
|
170
|
+
const allDataParam = queryURLParams(url, props.allDataParamName || 'allData');
|
|
171
|
+
|
|
172
|
+
// URL 中有 data 参数
|
|
173
|
+
if (dataParam) {
|
|
174
|
+
try {
|
|
175
|
+
const items = isObject(dataParam)
|
|
176
|
+
? dataParam
|
|
177
|
+
: JSON.parse(dataParam);
|
|
178
|
+
emit('load', items);
|
|
179
|
+
openPreview(true, items);
|
|
180
|
+
} catch (e) {
|
|
181
|
+
emit('error', e);
|
|
182
|
+
}
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
// URL 中有 allData 参数(查询全员工作台)
|
|
187
|
+
if (allDataParam) {
|
|
188
|
+
try {
|
|
189
|
+
const res = await getAdminWorkbench();
|
|
190
|
+
handleAdminData(res.data);
|
|
191
|
+
} catch (err) {
|
|
192
|
+
emit('error', err);
|
|
193
|
+
}
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
// 默认查询个人工作台
|
|
198
|
+
try {
|
|
199
|
+
const res = await getWorkbench();
|
|
200
|
+
handleWorkBench(res.data);
|
|
201
|
+
} catch (err) {
|
|
202
|
+
emit('error', err);
|
|
203
|
+
if (props.fallbackRedirect) {
|
|
204
|
+
window.open(location.origin + props.fallbackRedirect, '_self');
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* 数据埋点
|
|
211
|
+
*/
|
|
212
|
+
function collectAccess(urlResult: string) {
|
|
213
|
+
if (!props.collectData) return;
|
|
214
|
+
const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
|
|
215
|
+
portalAccessRecordAdd({
|
|
216
|
+
clientType: isMobile ? 'app' : 'pc',
|
|
217
|
+
iconName: '',
|
|
218
|
+
linkUrl: urlResult || '',
|
|
219
|
+
loginType: localStorage.getItem('Authorization') ? 1 : 0,
|
|
220
|
+
portalType: 1,
|
|
221
|
+
title: '门户',
|
|
222
|
+
accessUrl: location.href,
|
|
223
|
+
...props.accessExtra,
|
|
224
|
+
}).catch(() => {});
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* 监听父窗口消息(用于 iframe 跨窗口通信)
|
|
229
|
+
*/
|
|
230
|
+
function handleMessage(event: MessageEvent) {
|
|
231
|
+
if (!props.listenMessage) return;
|
|
232
|
+
if (event.data?.type === 'msic' && event.data.data) {
|
|
233
|
+
try {
|
|
234
|
+
const data: any = JSON.parse(event.data.data);
|
|
235
|
+
if (data.isRefresh) {
|
|
236
|
+
refreshByUrl();
|
|
237
|
+
}
|
|
238
|
+
} catch (e) {
|
|
239
|
+
emit('error', e);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* 根据 URL 参数刷新数据
|
|
246
|
+
*/
|
|
247
|
+
async function refreshByUrl() {
|
|
248
|
+
const url = location.href;
|
|
249
|
+
const dataParam = queryURLParams(url, props.dataParamName || 'data');
|
|
250
|
+
const allDataParam = queryURLParams(url, props.allDataParamName || 'allData');
|
|
251
|
+
|
|
252
|
+
if (dataParam) {
|
|
253
|
+
try {
|
|
254
|
+
const items = JSON.parse(dataParam);
|
|
255
|
+
openPreview(true, items);
|
|
256
|
+
} catch (e) {
|
|
257
|
+
emit('error', e);
|
|
258
|
+
}
|
|
259
|
+
return;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
if (allDataParam) {
|
|
263
|
+
try {
|
|
264
|
+
const res = await getAdminWorkbench();
|
|
265
|
+
handleAdminData(res.data);
|
|
266
|
+
} catch (err) {
|
|
267
|
+
emit('error', err);
|
|
268
|
+
}
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
try {
|
|
273
|
+
const res = await getWorkbench();
|
|
274
|
+
handleWorkBench(res.data);
|
|
275
|
+
} catch (err) {
|
|
276
|
+
emit('error', err);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
// 事件处理
|
|
281
|
+
function onReload() {
|
|
282
|
+
emit('reload');
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
function onPreviewPc() {
|
|
286
|
+
// 触发父窗口预览PC
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
// 监听 props.data 变化
|
|
290
|
+
watch(
|
|
291
|
+
() => props.data,
|
|
292
|
+
(newData) => {
|
|
293
|
+
if (newData) {
|
|
294
|
+
emit('load', newData);
|
|
295
|
+
openPreview(true, newData);
|
|
296
|
+
}
|
|
297
|
+
},
|
|
298
|
+
{ deep: true }
|
|
299
|
+
);
|
|
300
|
+
|
|
301
|
+
onMounted(() => {
|
|
302
|
+
const url = location.href;
|
|
303
|
+
const parts = url.split('/');
|
|
304
|
+
const lastPart = parts[parts.length - 1];
|
|
305
|
+
let result = lastPart;
|
|
306
|
+
if (lastPart.includes('?')) {
|
|
307
|
+
result = lastPart.substring(0, lastPart.lastIndexOf('?'));
|
|
308
|
+
}
|
|
309
|
+
console.log(1231231)
|
|
310
|
+
initData();
|
|
311
|
+
collectAccess(result);
|
|
312
|
+
|
|
313
|
+
if (props.listenMessage) {
|
|
314
|
+
window.addEventListener('message', handleMessage, false);
|
|
315
|
+
}
|
|
316
|
+
});
|
|
317
|
+
|
|
318
|
+
onBeforeUnmount(() => {
|
|
319
|
+
if (props.listenMessage) {
|
|
320
|
+
window.removeEventListener('message', handleMessage, false);
|
|
321
|
+
}
|
|
322
|
+
});
|
|
323
|
+
</script>
|
|
324
|
+
|
|
325
|
+
<style lang="less">
|
|
326
|
+
.jnpf-content-wrapper {
|
|
327
|
+
/* 继承父容器样式 */
|
|
328
|
+
}
|
|
329
|
+
</style>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/* PortalPreview 组件自定义样式覆盖 */
|
|
2
|
+
/* 不包含 @tailwind utilities,避免生成大量无用工具类 */
|
|
3
|
+
|
|
4
|
+
.ant-table-tbody > tr > td {
|
|
5
|
+
border-color: transparent !important;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.ant-modal .ant-modal-footer {
|
|
9
|
+
border-top: none;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
html[data-theme='dark'] span,
|
|
13
|
+
html[data-theme='dark'] p {
|
|
14
|
+
color: var(--gp-text-color-primary) !important;
|
|
15
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PortalPreview 组件属性类型定义
|
|
3
|
+
* @description 该文件定义了 PortalPreview 组件的 Props 和 Emits 类型
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* 门户预览数据结构
|
|
9
|
+
*/
|
|
10
|
+
export interface PortalPreviewData {
|
|
11
|
+
/** 门户ID,若存在则从接口获取详情 */
|
|
12
|
+
id?: string;
|
|
13
|
+
/** 布局数据 */
|
|
14
|
+
layout?: any[];
|
|
15
|
+
/** 表单数据(包含 layout 和 header) */
|
|
16
|
+
formData?: string;
|
|
17
|
+
/** 头部配置 */
|
|
18
|
+
header?: any;
|
|
19
|
+
/** 类型,用于区分自定义页和工作台 */
|
|
20
|
+
type?: number;
|
|
21
|
+
/** 链接类型 */
|
|
22
|
+
linkType?: number;
|
|
23
|
+
/** 自定义 URL(嵌入iframe时使用) */
|
|
24
|
+
customUrl?: string;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* PortalPreview 组件属性
|
|
29
|
+
*/
|
|
30
|
+
export interface PortalPreviewProps {
|
|
31
|
+
/** 门户数据,若提供则直接使用,跳过 URL 解析和 API 请求 */
|
|
32
|
+
data?: PortalPreviewData;
|
|
33
|
+
/** 是否启用数据埋点记录 */
|
|
34
|
+
collectData?: boolean;
|
|
35
|
+
/** 是否监听来自父窗口的 message 事件 */
|
|
36
|
+
listenMessage?: boolean;
|
|
37
|
+
/** 接口基础 URL,若为空则使用当前项目配置 */
|
|
38
|
+
apiUrl?: string;
|
|
39
|
+
/** URL 参数名:用于获取门户 ID 的参数名(默认 data) */
|
|
40
|
+
dataParamName?: string;
|
|
41
|
+
/** URL 参数名:用于获取全员门户参数名(默认 allData) */
|
|
42
|
+
allDataParamName?: string;
|
|
43
|
+
/** 是否在 URL 中包含 'preview' 时隐藏操作按钮 */
|
|
44
|
+
isPreviewMode?: boolean;
|
|
45
|
+
/** 额外的访问记录参数 */
|
|
46
|
+
accessExtra?: Record<string, any>;
|
|
47
|
+
/** 加载失败后跳转路径,若为空则不跳转 */
|
|
48
|
+
fallbackRedirect?: string;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* 组件事件
|
|
53
|
+
*/
|
|
54
|
+
export interface PortalPreviewEmits {
|
|
55
|
+
/** 预加载完成时触发 */
|
|
56
|
+
(e: 'load', data: PortalPreviewData): void;
|
|
57
|
+
/** 数据刷新完成时触发 */
|
|
58
|
+
(e: 'reload'): void;
|
|
59
|
+
/** 加载错误时触发 */
|
|
60
|
+
(e: 'error', err: any): void;
|
|
61
|
+
}
|