fl-web-component 1.3.6 → 1.3.8
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 +4 -1
- package/dist/fl-web-component.common.js +463 -67
- package/dist/fl-web-component.common.js.map +1 -1
- package/dist/fl-web-component.css +1 -1
- package/package.json +2 -3
- package/packages/components/com-flcanvas/index.vue +1 -1
- package/packages/components/com-graphics/index.vue +9 -2
- package/src/main.js +2 -0
- package/src/utils/instance-parser.js +28 -28
- package/src/utils/mini-devtool.js +309 -0
|
@@ -202,6 +202,17 @@ module.exports =
|
|
|
202
202
|
/************************************************************************/
|
|
203
203
|
/******/ ({
|
|
204
204
|
|
|
205
|
+
/***/ "00bd":
|
|
206
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
207
|
+
|
|
208
|
+
"use strict";
|
|
209
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_67cfa148_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("24b5");
|
|
210
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_67cfa148_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_67cfa148_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__);
|
|
211
|
+
/* unused harmony reexport * */
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
/***/ }),
|
|
215
|
+
|
|
205
216
|
/***/ "03e8":
|
|
206
217
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
207
218
|
|
|
@@ -2135,6 +2146,13 @@ Factory_1.Factory.addGetterSetter(Image, 'cropHeight', 0, (0, Validators_1.getNu
|
|
|
2135
2146
|
|
|
2136
2147
|
/***/ }),
|
|
2137
2148
|
|
|
2149
|
+
/***/ "24b5":
|
|
2150
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
2151
|
+
|
|
2152
|
+
// extracted by mini-css-extract-plugin
|
|
2153
|
+
|
|
2154
|
+
/***/ }),
|
|
2155
|
+
|
|
2138
2156
|
/***/ "26c8":
|
|
2139
2157
|
/***/ (function(module, exports, __webpack_require__) {
|
|
2140
2158
|
|
|
@@ -2247,6 +2265,13 @@ Factory_1.Factory.addGetterSetter(RegularPolygon, 'sides', 0, (0, Validators_1.g
|
|
|
2247
2265
|
|
|
2248
2266
|
/***/ }),
|
|
2249
2267
|
|
|
2268
|
+
/***/ "270a":
|
|
2269
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
2270
|
+
|
|
2271
|
+
// extracted by mini-css-extract-plugin
|
|
2272
|
+
|
|
2273
|
+
/***/ }),
|
|
2274
|
+
|
|
2250
2275
|
/***/ "2905":
|
|
2251
2276
|
/***/ (function(module, exports, __webpack_require__) {
|
|
2252
2277
|
|
|
@@ -2652,17 +2677,6 @@ Factory_1.Factory.addGetterSetter(TextPath, 'text', EMPTY_STRING);
|
|
|
2652
2677
|
Factory_1.Factory.addGetterSetter(TextPath, 'textDecoration', '');
|
|
2653
2678
|
Factory_1.Factory.addGetterSetter(TextPath, 'kerningFunc', undefined);
|
|
2654
2679
|
|
|
2655
|
-
/***/ }),
|
|
2656
|
-
|
|
2657
|
-
/***/ "2e9d":
|
|
2658
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
2659
|
-
|
|
2660
|
-
"use strict";
|
|
2661
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_32dc6e8c_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("459a");
|
|
2662
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_32dc6e8c_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_32dc6e8c_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__);
|
|
2663
|
-
/* unused harmony reexport * */
|
|
2664
|
-
|
|
2665
|
-
|
|
2666
2680
|
/***/ }),
|
|
2667
2681
|
|
|
2668
2682
|
/***/ "2fb2":
|
|
@@ -3303,13 +3317,6 @@ function getComponentValidator(components) {
|
|
|
3303
3317
|
|
|
3304
3318
|
/***/ }),
|
|
3305
3319
|
|
|
3306
|
-
/***/ "459a":
|
|
3307
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
3308
|
-
|
|
3309
|
-
// extracted by mini-css-extract-plugin
|
|
3310
|
-
|
|
3311
|
-
/***/ }),
|
|
3312
|
-
|
|
3313
3320
|
/***/ "461e":
|
|
3314
3321
|
/***/ (function(module, exports, __webpack_require__) {
|
|
3315
3322
|
|
|
@@ -5894,6 +5901,17 @@ Factory_1.Factory.addGetterSetter(Text, 'letterSpacing', 0, (0, Validators_1.get
|
|
|
5894
5901
|
Factory_1.Factory.addGetterSetter(Text, 'text', '', (0, Validators_1.getStringValidator)());
|
|
5895
5902
|
Factory_1.Factory.addGetterSetter(Text, 'textDecoration', '');
|
|
5896
5903
|
|
|
5904
|
+
/***/ }),
|
|
5905
|
+
|
|
5906
|
+
/***/ "5a69":
|
|
5907
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
5908
|
+
|
|
5909
|
+
"use strict";
|
|
5910
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_2fa9e609_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("270a");
|
|
5911
|
+
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_2fa9e609_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_2fa9e609_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__);
|
|
5912
|
+
/* unused harmony reexport * */
|
|
5913
|
+
|
|
5914
|
+
|
|
5897
5915
|
/***/ }),
|
|
5898
5916
|
|
|
5899
5917
|
/***/ "5c7d":
|
|
@@ -21536,17 +21554,6 @@ E.API.PDFObject = function () {
|
|
|
21536
21554
|
|
|
21537
21555
|
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("c8ba")))
|
|
21538
21556
|
|
|
21539
|
-
/***/ }),
|
|
21540
|
-
|
|
21541
|
-
/***/ "8c0d":
|
|
21542
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
21543
|
-
|
|
21544
|
-
"use strict";
|
|
21545
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_2d99390c_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("d56b");
|
|
21546
|
-
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_2d99390c_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_2d99390c_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__);
|
|
21547
|
-
/* unused harmony reexport * */
|
|
21548
|
-
|
|
21549
|
-
|
|
21550
21557
|
/***/ }),
|
|
21551
21558
|
|
|
21552
21559
|
/***/ "8c18":
|
|
@@ -22284,7 +22291,7 @@ Factory_1.Factory.addGetterSetter(Node_1.Node, 'blue', 0, Validators_1.RGBCompon
|
|
|
22284
22291
|
/***/ "9224":
|
|
22285
22292
|
/***/ (function(module) {
|
|
22286
22293
|
|
|
22287
|
-
module.exports = JSON.parse("{\"name\":\"fl-web-component\",\"version\":\"1.3.
|
|
22294
|
+
module.exports = JSON.parse("{\"name\":\"fl-web-component\",\"version\":\"1.3.8\",\"scripts\":{\"tip1\":\"仅调试本组件不涉及业务组件,请执行dev\",\"dev\":\"vue-cli-service serve\",\"lint\":\"eslint \\\"{src,packages}/**/*.{vue,js}\\\" --fix\",\"prettier\":\"prettier --write \\\"packages/**/*.{js,css,less,scss,vue,html}\\\"\",\"=\":\"=============================================================\",\"tip2\":\"同时调试本组件与业务组件,请执行watch\",\"watch\":\"vue-cli-service build --watch --mode production --target lib --name fl-web-component --formats commonjs ./src/main.js\",\"build\":\"npm run lint && vue-cli-service build --target lib --name fl-web-component --formats commonjs ./src/main.js\",\"build:test\":\"vue-cli-service build --target lib --name fl-web-component --formats commonjs ./src/main.js\",\"publish:base\":\"npm run build && npm publish --registry https://registry.npmjs.org/\",\"==\":\"=============================================================\",\"tip3\":\"发版注意: 【修改bug执行publish:fix】【新增功能执行publish:feat】【新特性执行publish:perf】\",\"publish:fix\":\"npm version patch && npm run publish:base\",\"publish:feat\":\"npm version minor && npm run publish:base\",\"publish:perf\":\"npm version major && npm run publish:base\"},\"files\":[\"dist\",\"packages\",\"src\",\"patches\"],\"main\":\"dist/fl-web-component.common.js\",\"dependencies\":{\"camera-controls\":\"2.9.0\",\"core-js\":\"^3.42.0\",\"dxf-parser\":\"^1.1.2\",\"element-ui\":\"2.15.14\",\"html2canvas\":\"^1.4.1\",\"jspdf\":\"^3.0.1\",\"konva\":\"^9.3.14\",\"lodash\":\"^4.17.21\",\"meshline\":\"^3.3.1\",\"regenerator-runtime\":\"^0.14.1\",\"svg-pan-zoom\":\"^3.6.2\",\"three\":\"^0.176.0\",\"three.path\":\"^1.0.1\",\"vue\":\"^2.6.11\"},\"devDependencies\":{\"@babel/core\":\"^7.12.16\",\"@babel/preset-env\":\"^7.0.0\",\"@babel/runtime-corejs3\":\"^7.27.1\",\"@vue/cli-plugin-babel\":\"~4.4.0\",\"@vue/cli-plugin-eslint\":\"~4.4.0\",\"@vue/cli-service\":\"~4.4.0\",\"babel-eslint\":\"^10.1.0\",\"babel-loader\":\"^8.0.0\",\"copy-webpack-plugin\":\"^4.0.1\",\"eslint\":\"^6.7.2\",\"eslint-plugin-vue\":\"^6.2.2\",\"patch-package\":\"^6.4.7\",\"sass\":\"1.32.13\",\"sass-loader\":\"10.1.1\",\"vue-template-compiler\":\"^2.6.11\"},\"eslintConfig\":{\"root\":true,\"env\":{\"node\":true},\"extends\":[\"plugin:vue/essential\",\"eslint:recommended\"],\"parserOptions\":{\"parser\":\"babel-eslint\"},\"rules\":{}},\"browserslist\":[\"> 1%\",\"last 2 versions\",\"not dead\"]}");
|
|
22288
22295
|
|
|
22289
22296
|
/***/ }),
|
|
22290
22297
|
|
|
@@ -26046,13 +26053,6 @@ Factory_1.Factory.backCompat(Transformer, {
|
|
|
26046
26053
|
|
|
26047
26054
|
/***/ }),
|
|
26048
26055
|
|
|
26049
|
-
/***/ "d56b":
|
|
26050
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
26051
|
-
|
|
26052
|
-
// extracted by mini-css-extract-plugin
|
|
26053
|
-
|
|
26054
|
-
/***/ }),
|
|
26055
|
-
|
|
26056
26056
|
/***/ "d777":
|
|
26057
26057
|
/***/ (function(module, exports, __webpack_require__) {
|
|
26058
26058
|
|
|
@@ -29256,8 +29256,8 @@ if (typeof window !== 'undefined') {
|
|
|
29256
29256
|
// Indicate to webpack that this file can be concatenated
|
|
29257
29257
|
/* harmony default export */ var setPublicPath = (null);
|
|
29258
29258
|
|
|
29259
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
29260
|
-
var
|
|
29259
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"21c8211e-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/index.vue?vue&type=template&id=67cfa148&scoped=true
|
|
29260
|
+
var com_graphicsvue_type_template_id_67cfa148_scoped_true_render = function render() {
|
|
29261
29261
|
var _vm = this,
|
|
29262
29262
|
_c = _vm._self._c;
|
|
29263
29263
|
return _c('div', {
|
|
@@ -29268,7 +29268,7 @@ var com_graphicsvue_type_template_id_2d99390c_scoped_true_render = function rend
|
|
|
29268
29268
|
};
|
|
29269
29269
|
var staticRenderFns = [];
|
|
29270
29270
|
|
|
29271
|
-
// CONCATENATED MODULE: ./packages/components/com-graphics/index.vue?vue&type=template&id=
|
|
29271
|
+
// CONCATENATED MODULE: ./packages/components/com-graphics/index.vue?vue&type=template&id=67cfa148&scoped=true
|
|
29272
29272
|
|
|
29273
29273
|
// CONCATENATED MODULE: ./node_modules/camera-controls/dist/camera-controls.module.js
|
|
29274
29274
|
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
@@ -59785,15 +59785,34 @@ function draw3Dmodel(geom, instanceName, instanceCount, nColor, nOpacity) {
|
|
|
59785
59785
|
geometry.setAttribute('opacity', new InstancedBufferAttribute(opacities, 1));
|
|
59786
59786
|
|
|
59787
59787
|
// 自定义着色器逻辑
|
|
59788
|
-
if (!customMaterial) {
|
|
59789
|
-
|
|
59790
|
-
|
|
59791
|
-
|
|
59792
|
-
|
|
59793
|
-
|
|
59794
|
-
|
|
59795
|
-
|
|
59796
|
-
|
|
59788
|
+
// if (!customMaterial) {
|
|
59789
|
+
// material.onBeforeCompile = shader => {
|
|
59790
|
+
// // 添加顶点着色器输入
|
|
59791
|
+
// shader.vertexShader = `
|
|
59792
|
+
// in float opacity; // 实例透明度属性
|
|
59793
|
+
// out float vAlpha;
|
|
59794
|
+
// ${shader.vertexShader}
|
|
59795
|
+
// `.replace(
|
|
59796
|
+
// '#include <begin_vertex>',
|
|
59797
|
+
// `
|
|
59798
|
+
// #include <begin_vertex>
|
|
59799
|
+
// vAlpha = opacity; // 传递透明度到片段着色器
|
|
59800
|
+
// `
|
|
59801
|
+
// );
|
|
59802
|
+
|
|
59803
|
+
// // 修改片段着色器
|
|
59804
|
+
// shader.fragmentShader = `
|
|
59805
|
+
// in float vAlpha;
|
|
59806
|
+
// ${shader.fragmentShader}
|
|
59807
|
+
// `.replace(
|
|
59808
|
+
// '#include <alphatest_fragment>',
|
|
59809
|
+
// `
|
|
59810
|
+
// #include <alphatest_fragment>
|
|
59811
|
+
// diffuseColor.a *= vAlpha; // 应用实例透明度
|
|
59812
|
+
// `
|
|
59813
|
+
// );
|
|
59814
|
+
// };
|
|
59815
|
+
// }
|
|
59797
59816
|
mesh = new InstancedMesh(geometry, material, instanceCount);
|
|
59798
59817
|
var visible = prop.visible;
|
|
59799
59818
|
mesh.visible = visible;
|
|
@@ -61393,7 +61412,6 @@ var guiParams = {
|
|
|
61393
61412
|
});
|
|
61394
61413
|
// cameraControls.fitToSphere(scene, true); // TODO 待处理,先用 setModelCenter 进行定位
|
|
61395
61414
|
this.setModelCenter(com_graphicsvue_type_script_lang_js_modelGroup);
|
|
61396
|
-
console.log(com_graphicsvue_type_script_lang_js_modelGroup);
|
|
61397
61415
|
this.$emit('modelLoaded');
|
|
61398
61416
|
// cameraControls.saveState();
|
|
61399
61417
|
}
|
|
@@ -61509,7 +61527,15 @@ var guiParams = {
|
|
|
61509
61527
|
},
|
|
61510
61528
|
setModelCenter: function setModelCenter(mesh) {
|
|
61511
61529
|
var box3 = new this.THREE.Box3();
|
|
61512
|
-
|
|
61530
|
+
mesh.traverseVisible(function (object) {
|
|
61531
|
+
// 3. 只处理有几何体的网格 (Mesh)
|
|
61532
|
+
if (object.isMesh) {
|
|
61533
|
+
// 4. 使用 expandByObject 扩展包围盒
|
|
61534
|
+
// 这个方法会计算 object 的世界坐标包围盒,并将其合并到 correctBoundingBox 中
|
|
61535
|
+
box3.expandByObject(object);
|
|
61536
|
+
}
|
|
61537
|
+
});
|
|
61538
|
+
// box3.setFromObject(mesh);
|
|
61513
61539
|
var center = new this.THREE.Vector3();
|
|
61514
61540
|
box3.getCenter(center);
|
|
61515
61541
|
var size = box3.getSize(new this.THREE.Vector3());
|
|
@@ -62574,8 +62600,8 @@ var guiParams = {
|
|
|
62574
62600
|
});
|
|
62575
62601
|
// CONCATENATED MODULE: ./packages/components/com-graphics/index.vue?vue&type=script&lang=js
|
|
62576
62602
|
/* harmony default export */ var components_com_graphicsvue_type_script_lang_js = (com_graphicsvue_type_script_lang_js);
|
|
62577
|
-
// EXTERNAL MODULE: ./packages/components/com-graphics/index.vue?vue&type=style&index=0&id=
|
|
62578
|
-
var
|
|
62603
|
+
// EXTERNAL MODULE: ./packages/components/com-graphics/index.vue?vue&type=style&index=0&id=67cfa148&prod&lang=scss&scoped=true
|
|
62604
|
+
var com_graphicsvue_type_style_index_0_id_67cfa148_prod_lang_scss_scoped_true = __webpack_require__("00bd");
|
|
62579
62605
|
|
|
62580
62606
|
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
|
|
62581
62607
|
/* globals __VUE_SSR_CONTEXT__ */
|
|
@@ -62686,18 +62712,18 @@ function normalizeComponent(
|
|
|
62686
62712
|
|
|
62687
62713
|
var component = normalizeComponent(
|
|
62688
62714
|
components_com_graphicsvue_type_script_lang_js,
|
|
62689
|
-
|
|
62715
|
+
com_graphicsvue_type_template_id_67cfa148_scoped_true_render,
|
|
62690
62716
|
staticRenderFns,
|
|
62691
62717
|
false,
|
|
62692
62718
|
null,
|
|
62693
|
-
"
|
|
62719
|
+
"67cfa148",
|
|
62694
62720
|
null
|
|
62695
62721
|
|
|
62696
62722
|
)
|
|
62697
62723
|
|
|
62698
62724
|
/* harmony default export */ var com_graphics = (component.exports);
|
|
62699
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
62700
|
-
var
|
|
62725
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"21c8211e-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-flcanvas/index.vue?vue&type=template&id=2fa9e609&scoped=true
|
|
62726
|
+
var com_flcanvasvue_type_template_id_2fa9e609_scoped_true_render = function render() {
|
|
62701
62727
|
var _vm = this,
|
|
62702
62728
|
_c = _vm._self._c;
|
|
62703
62729
|
return _c('div', {
|
|
@@ -62710,9 +62736,9 @@ var com_flcanvasvue_type_template_id_32dc6e8c_scoped_true_render = function rend
|
|
|
62710
62736
|
}
|
|
62711
62737
|
});
|
|
62712
62738
|
};
|
|
62713
|
-
var
|
|
62739
|
+
var com_flcanvasvue_type_template_id_2fa9e609_scoped_true_staticRenderFns = [];
|
|
62714
62740
|
|
|
62715
|
-
// CONCATENATED MODULE: ./packages/components/com-flcanvas/index.vue?vue&type=template&id=
|
|
62741
|
+
// CONCATENATED MODULE: ./packages/components/com-flcanvas/index.vue?vue&type=template&id=2fa9e609&scoped=true
|
|
62716
62742
|
|
|
62717
62743
|
// EXTERNAL MODULE: ./node_modules/konva/lib/index.js
|
|
62718
62744
|
var lib = __webpack_require__("362d");
|
|
@@ -65598,7 +65624,7 @@ var activedSvgPan = {
|
|
|
65598
65624
|
var newScale = direction > 0 ? oldScale * scaleBy : oldScale / scaleBy;
|
|
65599
65625
|
_this.scaleRatio = Math.ceil(newScale);
|
|
65600
65626
|
// 判断比例尺百分比
|
|
65601
|
-
if (_this.scaleRatio
|
|
65627
|
+
if (_this.scaleRatio < 1 || _this.scaleRatio >= 100) return;
|
|
65602
65628
|
// 设置放大缩小多少倍
|
|
65603
65629
|
konvaStage.scale({
|
|
65604
65630
|
x: newScale,
|
|
@@ -65891,8 +65917,8 @@ var activedSvgPan = {
|
|
|
65891
65917
|
});
|
|
65892
65918
|
// CONCATENATED MODULE: ./packages/components/com-flcanvas/index.vue?vue&type=script&lang=js
|
|
65893
65919
|
/* harmony default export */ var components_com_flcanvasvue_type_script_lang_js = (com_flcanvasvue_type_script_lang_js);
|
|
65894
|
-
// EXTERNAL MODULE: ./packages/components/com-flcanvas/index.vue?vue&type=style&index=0&id=
|
|
65895
|
-
var
|
|
65920
|
+
// EXTERNAL MODULE: ./packages/components/com-flcanvas/index.vue?vue&type=style&index=0&id=2fa9e609&prod&lang=scss&scoped=true
|
|
65921
|
+
var com_flcanvasvue_type_style_index_0_id_2fa9e609_prod_lang_scss_scoped_true = __webpack_require__("5a69");
|
|
65896
65922
|
|
|
65897
65923
|
// CONCATENATED MODULE: ./packages/components/com-flcanvas/index.vue
|
|
65898
65924
|
|
|
@@ -65905,17 +65931,17 @@ var com_flcanvasvue_type_style_index_0_id_32dc6e8c_prod_lang_scss_scoped_true =
|
|
|
65905
65931
|
|
|
65906
65932
|
var com_flcanvas_component = normalizeComponent(
|
|
65907
65933
|
components_com_flcanvasvue_type_script_lang_js,
|
|
65908
|
-
|
|
65909
|
-
|
|
65934
|
+
com_flcanvasvue_type_template_id_2fa9e609_scoped_true_render,
|
|
65935
|
+
com_flcanvasvue_type_template_id_2fa9e609_scoped_true_staticRenderFns,
|
|
65910
65936
|
false,
|
|
65911
65937
|
null,
|
|
65912
|
-
"
|
|
65938
|
+
"2fa9e609",
|
|
65913
65939
|
null
|
|
65914
65940
|
|
|
65915
65941
|
)
|
|
65916
65942
|
|
|
65917
65943
|
/* harmony default export */ var com_flcanvas = (com_flcanvas_component.exports);
|
|
65918
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
65944
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"21c8211e-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/per-control.vue?vue&type=template&id=f547d5c6&scoped=true
|
|
65919
65945
|
var per_controlvue_type_template_id_f547d5c6_scoped_true_render = function render() {
|
|
65920
65946
|
var _vm = this,
|
|
65921
65947
|
_c = _vm._self._c;
|
|
@@ -66023,7 +66049,7 @@ var per_control_component = normalizeComponent(
|
|
|
66023
66049
|
)
|
|
66024
66050
|
|
|
66025
66051
|
/* harmony default export */ var per_control = (per_control_component.exports);
|
|
66026
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
66052
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"21c8211e-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/pid.vue?vue&type=template&id=0ec35ee4&scoped=true
|
|
66027
66053
|
var pidvue_type_template_id_0ec35ee4_scoped_true_render = function render() {
|
|
66028
66054
|
var _vm = this,
|
|
66029
66055
|
_c = _vm._self._c;
|
|
@@ -66246,6 +66272,374 @@ var pid_component = normalizeComponent(
|
|
|
66246
66272
|
// EXTERNAL MODULE: ./package.json
|
|
66247
66273
|
var package_0 = __webpack_require__("9224");
|
|
66248
66274
|
|
|
66275
|
+
// CONCATENATED MODULE: ./src/utils/mini-devtool.js
|
|
66276
|
+
function mini_devtool_typeof(o) { "@babel/helpers - typeof"; return mini_devtool_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, mini_devtool_typeof(o); }
|
|
66277
|
+
// ========= Error & Console Panel (非阻塞右下角显示,包含 console.log 等) =========
|
|
66278
|
+
function installErrorConsolePanel() {
|
|
66279
|
+
// ========== 可配置项 ==========
|
|
66280
|
+
var MAX_ENTRIES = 400;
|
|
66281
|
+
var PANEL_ID = 'js-error-panel';
|
|
66282
|
+
var COLLAPSE_LENGTH = 1200; // 超过多少字符时折叠显示
|
|
66283
|
+
var CAPTURE_CONSOLE = true; // 是否捕获 console.log/info/warn/debug(保留原行为)
|
|
66284
|
+
// ================================
|
|
66285
|
+
|
|
66286
|
+
// 安全 stringify(处理循环引用)
|
|
66287
|
+
function getCircularReplacer() {
|
|
66288
|
+
var seen = new WeakSet();
|
|
66289
|
+
return function (key, value) {
|
|
66290
|
+
if (mini_devtool_typeof(value) === "object" && value !== null) {
|
|
66291
|
+
if (seen.has(value)) return "[Circular]";
|
|
66292
|
+
seen.add(value);
|
|
66293
|
+
}
|
|
66294
|
+
return value;
|
|
66295
|
+
};
|
|
66296
|
+
}
|
|
66297
|
+
function safeStringify(x) {
|
|
66298
|
+
try {
|
|
66299
|
+
if (typeof x === "string") return x;
|
|
66300
|
+
if (x instanceof Error) return x.stack || x.message || String(x);
|
|
66301
|
+
return JSON.stringify(x, getCircularReplacer(), 2);
|
|
66302
|
+
} catch (e) {
|
|
66303
|
+
try {
|
|
66304
|
+
return String(x);
|
|
66305
|
+
} catch (e2) {
|
|
66306
|
+
return "[unstringifiable]";
|
|
66307
|
+
}
|
|
66308
|
+
}
|
|
66309
|
+
}
|
|
66310
|
+
|
|
66311
|
+
// ========== Panel DOM 创建 ==========
|
|
66312
|
+
function createPanel() {
|
|
66313
|
+
if (document.getElementById(PANEL_ID)) return document.getElementById(PANEL_ID);
|
|
66314
|
+
var panel = document.createElement('div');
|
|
66315
|
+
panel.id = PANEL_ID;
|
|
66316
|
+
Object.assign(panel.style, {
|
|
66317
|
+
position: 'fixed',
|
|
66318
|
+
right: '12px',
|
|
66319
|
+
bottom: '12px',
|
|
66320
|
+
width: '460px',
|
|
66321
|
+
maxHeight: '45vh',
|
|
66322
|
+
boxSizing: 'border-box',
|
|
66323
|
+
overflow: 'hidden',
|
|
66324
|
+
zIndex: 2147483647,
|
|
66325
|
+
fontFamily: 'Menlo,Consolas,monospace',
|
|
66326
|
+
fontSize: '12px',
|
|
66327
|
+
color: '#fff',
|
|
66328
|
+
borderRadius: '8px',
|
|
66329
|
+
boxShadow: '0 6px 18px rgba(0,0,0,0.55)',
|
|
66330
|
+
background: 'linear-gradient(180deg, rgba(0,0,0,0.86), rgba(24,24,24,0.86))',
|
|
66331
|
+
display: 'flex',
|
|
66332
|
+
flexDirection: 'column',
|
|
66333
|
+
gap: '6px',
|
|
66334
|
+
padding: '8px'
|
|
66335
|
+
});
|
|
66336
|
+
|
|
66337
|
+
// header
|
|
66338
|
+
var header = document.createElement('div');
|
|
66339
|
+
Object.assign(header.style, {
|
|
66340
|
+
display: 'flex',
|
|
66341
|
+
justifyContent: 'space-between',
|
|
66342
|
+
alignItems: 'center',
|
|
66343
|
+
gap: '8px'
|
|
66344
|
+
});
|
|
66345
|
+
header.innerHTML = "<strong style=\"font-size:13px\">JS Logs / Errors</strong><span style=\"opacity:.7;font-size:11px\">\uFF08\u975E\u963B\u585E\uFF09</span>";
|
|
66346
|
+
var btns = document.createElement('div');
|
|
66347
|
+
var clearBtn = document.createElement('button');
|
|
66348
|
+
clearBtn.textContent = '清空';
|
|
66349
|
+
Object.assign(clearBtn.style, {
|
|
66350
|
+
marginLeft: '6px',
|
|
66351
|
+
cursor: 'pointer',
|
|
66352
|
+
fontSize: '12px'
|
|
66353
|
+
});
|
|
66354
|
+
clearBtn.onclick = function () {
|
|
66355
|
+
entriesContainer.innerHTML = '';
|
|
66356
|
+
entryCount = 0;
|
|
66357
|
+
updateStats();
|
|
66358
|
+
};
|
|
66359
|
+
var toggleBtn = document.createElement('button');
|
|
66360
|
+
toggleBtn.textContent = '隐藏';
|
|
66361
|
+
Object.assign(toggleBtn.style, {
|
|
66362
|
+
cursor: 'pointer',
|
|
66363
|
+
fontSize: '12px'
|
|
66364
|
+
});
|
|
66365
|
+
toggleBtn.onclick = function () {
|
|
66366
|
+
if (entriesContainer.style.display === 'none') {
|
|
66367
|
+
entriesContainer.style.display = '';
|
|
66368
|
+
toggleBtn.textContent = '隐藏';
|
|
66369
|
+
} else {
|
|
66370
|
+
entriesContainer.style.display = 'none';
|
|
66371
|
+
toggleBtn.textContent = '显示';
|
|
66372
|
+
}
|
|
66373
|
+
};
|
|
66374
|
+
var statsSpan = document.createElement('span');
|
|
66375
|
+
statsSpan.style.opacity = '.8';
|
|
66376
|
+
statsSpan.style.fontSize = '11px';
|
|
66377
|
+
statsSpan.textContent = '0 条';
|
|
66378
|
+
btns.appendChild(statsSpan);
|
|
66379
|
+
btns.appendChild(toggleBtn);
|
|
66380
|
+
btns.appendChild(clearBtn);
|
|
66381
|
+
header.appendChild(btns);
|
|
66382
|
+
|
|
66383
|
+
// entries container (scrollable)
|
|
66384
|
+
var entriesContainer = document.createElement('div');
|
|
66385
|
+
Object.assign(entriesContainer.style, {
|
|
66386
|
+
overflowY: 'auto',
|
|
66387
|
+
padding: '6px',
|
|
66388
|
+
borderRadius: '6px',
|
|
66389
|
+
background: 'rgba(0,0,0,0.32)',
|
|
66390
|
+
maxHeight: 'calc(45vh - 48px)',
|
|
66391
|
+
boxSizing: 'border-box'
|
|
66392
|
+
});
|
|
66393
|
+
panel.appendChild(header);
|
|
66394
|
+
panel.appendChild(entriesContainer);
|
|
66395
|
+
document.body.appendChild(panel);
|
|
66396
|
+
|
|
66397
|
+
// helper to update stats
|
|
66398
|
+
function updateStats() {
|
|
66399
|
+
statsSpan.textContent = "".concat(entryCount, " \u6761");
|
|
66400
|
+
}
|
|
66401
|
+
panel._entriesContainer = entriesContainer;
|
|
66402
|
+
panel._statsUpdater = updateStats;
|
|
66403
|
+
return panel;
|
|
66404
|
+
}
|
|
66405
|
+
|
|
66406
|
+
// ========== 添加条目 ==========
|
|
66407
|
+
var entryCount = 0;
|
|
66408
|
+
function addEntry(_ref) {
|
|
66409
|
+
var _ref$type = _ref.type,
|
|
66410
|
+
type = _ref$type === void 0 ? 'log' : _ref$type,
|
|
66411
|
+
_ref$message = _ref.message,
|
|
66412
|
+
message = _ref$message === void 0 ? '' : _ref$message,
|
|
66413
|
+
_ref$time = _ref.time,
|
|
66414
|
+
time = _ref$time === void 0 ? new Date().toLocaleString() : _ref$time,
|
|
66415
|
+
_ref$meta = _ref.meta,
|
|
66416
|
+
meta = _ref$meta === void 0 ? null : _ref$meta;
|
|
66417
|
+
var panel = createPanel();
|
|
66418
|
+
var entriesContainer = panel._entriesContainer;
|
|
66419
|
+
var updateStats = panel._statsUpdater;
|
|
66420
|
+
|
|
66421
|
+
// 限制数量
|
|
66422
|
+
if (entryCount >= MAX_ENTRIES) {
|
|
66423
|
+
var first = entriesContainer.firstChild;
|
|
66424
|
+
if (first) entriesContainer.removeChild(first);
|
|
66425
|
+
entryCount--;
|
|
66426
|
+
}
|
|
66427
|
+
var entry = document.createElement('div');
|
|
66428
|
+
Object.assign(entry.style, {
|
|
66429
|
+
padding: '6px',
|
|
66430
|
+
marginBottom: '6px',
|
|
66431
|
+
borderRadius: '6px',
|
|
66432
|
+
background: 'rgba(255,255,255,0.03)'
|
|
66433
|
+
});
|
|
66434
|
+
var header = document.createElement('div');
|
|
66435
|
+
header.style.display = 'flex';
|
|
66436
|
+
header.style.justifyContent = 'space-between';
|
|
66437
|
+
header.style.alignItems = 'center';
|
|
66438
|
+
header.style.gap = '8px';
|
|
66439
|
+
var left = document.createElement('div');
|
|
66440
|
+
// 彩色 type 标签
|
|
66441
|
+
var colorMap = {
|
|
66442
|
+
error: '#ff6b6b',
|
|
66443
|
+
'window.onerror': '#ff6b6b',
|
|
66444
|
+
resource: '#ff9966',
|
|
66445
|
+
'unhandledrejection': '#ff8c66',
|
|
66446
|
+
'console.error': '#ff6b6b',
|
|
66447
|
+
'console.warn': '#ffd966',
|
|
66448
|
+
'console.info': '#66bfff',
|
|
66449
|
+
'console.log': '#bfbfbf',
|
|
66450
|
+
'console.debug': '#a0a0a0',
|
|
66451
|
+
'Vue.error (2)': '#ff6b6b',
|
|
66452
|
+
'Vue.error (3)': '#ff6b6b'
|
|
66453
|
+
};
|
|
66454
|
+
var tagColor = colorMap[type] || '#bfbfbf';
|
|
66455
|
+
left.innerHTML = "<span style=\"font-weight:700;color:".concat(tagColor, "\">").concat(type, "</span> <span style=\"opacity:.7;font-size:11px\"> ").concat(time, "</span>");
|
|
66456
|
+
var right = document.createElement('div');
|
|
66457
|
+
right.style.display = 'flex';
|
|
66458
|
+
right.style.gap = '6px';
|
|
66459
|
+
var copyBtn = document.createElement('button');
|
|
66460
|
+
copyBtn.textContent = '复制';
|
|
66461
|
+
Object.assign(copyBtn.style, {
|
|
66462
|
+
cursor: 'pointer',
|
|
66463
|
+
fontSize: '11px'
|
|
66464
|
+
});
|
|
66465
|
+
var expandBtn = document.createElement('button');
|
|
66466
|
+
expandBtn.textContent = '展开';
|
|
66467
|
+
Object.assign(expandBtn.style, {
|
|
66468
|
+
cursor: 'pointer',
|
|
66469
|
+
fontSize: '11px'
|
|
66470
|
+
});
|
|
66471
|
+
right.appendChild(copyBtn);
|
|
66472
|
+
right.appendChild(expandBtn);
|
|
66473
|
+
header.appendChild(left);
|
|
66474
|
+
header.appendChild(right);
|
|
66475
|
+
var content = document.createElement('pre');
|
|
66476
|
+
Object.assign(content.style, {
|
|
66477
|
+
whiteSpace: 'pre-wrap',
|
|
66478
|
+
wordBreak: 'break-word',
|
|
66479
|
+
margin: '6px 0 0 0',
|
|
66480
|
+
maxHeight: '240px',
|
|
66481
|
+
overflow: 'auto',
|
|
66482
|
+
fontSize: '12px',
|
|
66483
|
+
lineHeight: '1.3',
|
|
66484
|
+
display: 'block'
|
|
66485
|
+
});
|
|
66486
|
+
|
|
66487
|
+
// 合成文本(message + meta)
|
|
66488
|
+
var txt = typeof message === 'string' ? message : safeStringify(message);
|
|
66489
|
+
if (meta) {
|
|
66490
|
+
try {
|
|
66491
|
+
var metaStr = safeStringify(meta);
|
|
66492
|
+
txt = "".concat(txt, "\n\n[meta]\n").concat(metaStr);
|
|
66493
|
+
} catch (e) {}
|
|
66494
|
+
}
|
|
66495
|
+
var fullText = txt;
|
|
66496
|
+
if (txt.length > COLLAPSE_LENGTH) {
|
|
66497
|
+
content.textContent = txt.slice(0, COLLAPSE_LENGTH) + '\n\n...(已折叠,点击展开查看全部)';
|
|
66498
|
+
expandBtn.onclick = function () {
|
|
66499
|
+
content.textContent = fullText;
|
|
66500
|
+
expandBtn.style.display = 'none';
|
|
66501
|
+
entriesContainer.scrollTop = entriesContainer.scrollHeight;
|
|
66502
|
+
};
|
|
66503
|
+
} else {
|
|
66504
|
+
content.textContent = txt;
|
|
66505
|
+
expandBtn.style.display = 'none';
|
|
66506
|
+
}
|
|
66507
|
+
copyBtn.onclick = function () {
|
|
66508
|
+
try {
|
|
66509
|
+
navigator.clipboard.writeText(fullText);
|
|
66510
|
+
} catch (e) {
|
|
66511
|
+
try {
|
|
66512
|
+
prompt('复制文本:Ctrl+C, Enter', fullText);
|
|
66513
|
+
} catch (ee) {}
|
|
66514
|
+
}
|
|
66515
|
+
};
|
|
66516
|
+
entry.appendChild(header);
|
|
66517
|
+
entry.appendChild(content);
|
|
66518
|
+
entriesContainer.appendChild(entry);
|
|
66519
|
+
entryCount++;
|
|
66520
|
+
updateStats();
|
|
66521
|
+
|
|
66522
|
+
// 自动滚到底部
|
|
66523
|
+
entriesContainer.scrollTop = entriesContainer.scrollHeight;
|
|
66524
|
+
}
|
|
66525
|
+
|
|
66526
|
+
// 报告包装
|
|
66527
|
+
function report(obj) {
|
|
66528
|
+
try {
|
|
66529
|
+
addEntry({
|
|
66530
|
+
type: obj.type || 'log',
|
|
66531
|
+
message: obj.message || safeStringify(obj),
|
|
66532
|
+
time: new Date().toLocaleString(),
|
|
66533
|
+
meta: obj.meta || null
|
|
66534
|
+
});
|
|
66535
|
+
} catch (e) {
|
|
66536
|
+
console.warn('Error panel report failed', e);
|
|
66537
|
+
}
|
|
66538
|
+
}
|
|
66539
|
+
|
|
66540
|
+
// ========== 捕获逻辑 ==========
|
|
66541
|
+
|
|
66542
|
+
// 传统同步错误
|
|
66543
|
+
window.onerror = function (message, source, lineno, colno, error) {
|
|
66544
|
+
var msg = "".concat(message, "\n at ").concat(source, ":").concat(lineno, ":").concat(colno, "\n").concat(error && error.stack ? error.stack : '');
|
|
66545
|
+
report({
|
|
66546
|
+
type: 'window.onerror',
|
|
66547
|
+
message: msg
|
|
66548
|
+
});
|
|
66549
|
+
return false;
|
|
66550
|
+
};
|
|
66551
|
+
|
|
66552
|
+
// 资源加载错误(图片/script/css 等)
|
|
66553
|
+
window.addEventListener('error', function (event) {
|
|
66554
|
+
var target = event.target || event.srcElement;
|
|
66555
|
+
if (target && (target.src || target.href)) {
|
|
66556
|
+
var tag = target.tagName;
|
|
66557
|
+
var url = target.src || target.href;
|
|
66558
|
+
report({
|
|
66559
|
+
type: 'resource',
|
|
66560
|
+
message: "Failed to load resource: <".concat(tag, "> ").concat(url)
|
|
66561
|
+
});
|
|
66562
|
+
}
|
|
66563
|
+
}, true);
|
|
66564
|
+
|
|
66565
|
+
// 未处理的 Promise 拒绝
|
|
66566
|
+
window.addEventListener('unhandledrejection', function (event) {
|
|
66567
|
+
report({
|
|
66568
|
+
type: 'unhandledrejection',
|
|
66569
|
+
message: safeStringify(event.reason)
|
|
66570
|
+
});
|
|
66571
|
+
});
|
|
66572
|
+
|
|
66573
|
+
// 捕获 console.*(可选)
|
|
66574
|
+
if (CAPTURE_CONSOLE && typeof console !== 'undefined') {
|
|
66575
|
+
var methods = ['log', 'info', 'warn', 'error', 'debug'];
|
|
66576
|
+
methods.forEach(function (m) {
|
|
66577
|
+
if (!(m in console)) return;
|
|
66578
|
+
var orig = console[m].bind(console);
|
|
66579
|
+
console[m] = function () {
|
|
66580
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
66581
|
+
args[_key] = arguments[_key];
|
|
66582
|
+
}
|
|
66583
|
+
try {
|
|
66584
|
+
// 生成调用栈(方便定位是谁调用了 console)
|
|
66585
|
+
var stack = null;
|
|
66586
|
+
try {
|
|
66587
|
+
var err = new Error();
|
|
66588
|
+
if (err.stack) {
|
|
66589
|
+
// 移除前两行(Error + 本函数)
|
|
66590
|
+
stack = err.stack.split('\n').slice(2).join('\n');
|
|
66591
|
+
}
|
|
66592
|
+
} catch (e) {
|
|
66593
|
+
stack = null;
|
|
66594
|
+
}
|
|
66595
|
+
var payload = {
|
|
66596
|
+
type: "console.".concat(m),
|
|
66597
|
+
message: args.map(function (a) {
|
|
66598
|
+
return safeStringify(a);
|
|
66599
|
+
}).join(' '),
|
|
66600
|
+
meta: stack
|
|
66601
|
+
};
|
|
66602
|
+
report(payload);
|
|
66603
|
+
} catch (e) {
|
|
66604
|
+
// noop
|
|
66605
|
+
}
|
|
66606
|
+
// 保持原有行为
|
|
66607
|
+
try {
|
|
66608
|
+
orig.apply(void 0, args);
|
|
66609
|
+
} catch (e) {}
|
|
66610
|
+
};
|
|
66611
|
+
});
|
|
66612
|
+
}
|
|
66613
|
+
|
|
66614
|
+
// Vue 2 支持(若使用全局 Vue)
|
|
66615
|
+
if (typeof Vue !== 'undefined' && Vue && Vue.config) {
|
|
66616
|
+
try {
|
|
66617
|
+
Vue.config.errorHandler = function (err, vm, info) {
|
|
66618
|
+
report({
|
|
66619
|
+
type: 'Vue.error (2)',
|
|
66620
|
+
message: "".concat(info, "\n").concat(err && err.stack ? err.stack : safeStringify(err))
|
|
66621
|
+
});
|
|
66622
|
+
};
|
|
66623
|
+
} catch (e) {/* ignore */}
|
|
66624
|
+
}
|
|
66625
|
+
|
|
66626
|
+
// Vue 3 注册函数(在 main.js 创建 app 后调用)
|
|
66627
|
+
window.registerVue3ErrorHandler = function (app) {
|
|
66628
|
+
if (!app || !app.config) return;
|
|
66629
|
+
app.config.errorHandler = function (err, instance, info) {
|
|
66630
|
+
report({
|
|
66631
|
+
type: 'Vue.error (3)',
|
|
66632
|
+
message: "".concat(info, "\n").concat(err && err.stack ? err.stack : safeStringify(err))
|
|
66633
|
+
});
|
|
66634
|
+
};
|
|
66635
|
+
};
|
|
66636
|
+
|
|
66637
|
+
// 立即创建 panel(或可改为按需)
|
|
66638
|
+
if (document.readyState === 'loading') {
|
|
66639
|
+
document.addEventListener('DOMContentLoaded', createPanel);
|
|
66640
|
+
} else createPanel();
|
|
66641
|
+
}
|
|
66642
|
+
// ========= End Panel =========
|
|
66249
66643
|
// CONCATENATED MODULE: ./src/main.js
|
|
66250
66644
|
|
|
66251
66645
|
|
|
@@ -66253,6 +66647,7 @@ var package_0 = __webpack_require__("9224");
|
|
|
66253
66647
|
|
|
66254
66648
|
|
|
66255
66649
|
|
|
66650
|
+
|
|
66256
66651
|
var components = [com_graphics, com_flcanvas, per_control, pid];
|
|
66257
66652
|
var main_install = function install(Vue) {
|
|
66258
66653
|
Vue.prototype.THREE = three_module_namespaceObject;
|
|
@@ -66264,6 +66659,7 @@ var main_install = function install(Vue) {
|
|
|
66264
66659
|
// 支持浏览器环境直接引入
|
|
66265
66660
|
if (typeof window !== 'undefined') {
|
|
66266
66661
|
window.FLVersion = package_0.version;
|
|
66662
|
+
window.FLDevTools = installErrorConsolePanel;
|
|
66267
66663
|
}
|
|
66268
66664
|
/* harmony default export */ var main = ({
|
|
66269
66665
|
install: main_install,
|