cms-chenhj-ui 2.0.38 → 2.0.40

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.
@@ -238,6 +238,252 @@ const install = function (Vue) {
238
238
 
239
239
  /***/ }),
240
240
 
241
+ /***/ 201:
242
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
243
+
244
+ "use strict";
245
+ // ESM COMPAT FLAG
246
+ __webpack_require__.r(__webpack_exports__);
247
+
248
+ // EXPORTS
249
+ __webpack_require__.d(__webpack_exports__, {
250
+ "default": function() { return /* binding */ View; }
251
+ });
252
+
253
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-video-group/View.vue?vue&type=template&id=279ca476&scoped=true
254
+ var render = function render() {
255
+ var _vm = this,
256
+ _c = _vm._self._c;
257
+ return _c('BaseComp', _vm._b({
258
+ attrs: {
259
+ "data": _vm.data,
260
+ "nowCompId": _vm.nowCompId,
261
+ "isOpcacity": _vm.isOpcacity,
262
+ "isMask": false,
263
+ "lang": _vm.lang
264
+ },
265
+ on: {
266
+ "getConfigData": _vm.getConfigData,
267
+ "getDevice": _vm.getDevice
268
+ }
269
+ }, 'BaseComp', _vm.$attrs, false), [_c('section', {
270
+ staticClass: "cmhk-home_main"
271
+ }, [_c('div', {
272
+ staticClass: "wrap",
273
+ style: _vm.wrapStyle
274
+ }, _vm._l(_vm.showVideoList, function (item) {
275
+ return _c('cms-video', {
276
+ key: item.componentId,
277
+ staticStyle: {
278
+ "overflow": "hidden"
279
+ },
280
+ attrs: {
281
+ "data": item,
282
+ "nowCompId": _vm.nowCompId,
283
+ "isOpcacity": _vm.isOpcacity,
284
+ "isMask": false,
285
+ "lang": _vm.lang
286
+ }
287
+ });
288
+ }), 1), _vm.isShowPannel ? [_c('div', {
289
+ staticClass: "view-more-container"
290
+ }, [_c('div', {
291
+ staticClass: "view-more-btn",
292
+ on: {
293
+ "click": _vm.foldMessText
294
+ }
295
+ }, [_c('span', {
296
+ staticClass: "view-more-text"
297
+ }, [_vm._v(" " + _vm._s(_vm.messFold ? _vm.$t("roamIndex.Collpase") : _vm.$t("roamIndex.More")) + " ")]), _c('i', {
298
+ class: ['view-more-icon', _vm.messFold ? 'el-icon-arrow-up' : 'el-icon-arrow-down']
299
+ })])])] : _vm._e()], 2)]);
300
+ };
301
+ var staticRenderFns = [];
302
+
303
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
304
+ var baseComp = __webpack_require__(4272);
305
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-video-group/View.vue?vue&type=script&lang=js
306
+
307
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
308
+ name: "cms-video-group",
309
+ components: {
310
+ BaseComp: baseComp["default"]
311
+ },
312
+ props: {
313
+ data: {
314
+ type: Object,
315
+ default: () => {
316
+ return {};
317
+ }
318
+ },
319
+ nowCompId: {
320
+ type: [String, Number],
321
+ default: ""
322
+ },
323
+ isOpcacity: {
324
+ type: Boolean,
325
+ default: true
326
+ },
327
+ lang: {
328
+ type: String,
329
+ default: "zh-HK"
330
+ }
331
+ },
332
+ data() {
333
+ return {
334
+ configData: {},
335
+ messFold: false,
336
+ // 默认配置数据
337
+ defaultConfig: {
338
+ colNums_PC: 1,
339
+ colNums_Mobile: 1,
340
+ defaultCol: 12,
341
+ gap: 10,
342
+ cornerRadius: {
343
+ topLeft: "0",
344
+ topRight: "0",
345
+ bottomLeft: "0",
346
+ bottomRight: "0"
347
+ }
348
+ },
349
+ isShowPannel: false,
350
+ isMobile: false
351
+ };
352
+ },
353
+ mounted() {},
354
+ watch: {
355
+ configData: {
356
+ handler() {
357
+ this.updateStyles();
358
+ },
359
+ deep: true
360
+ }
361
+ },
362
+ computed: {
363
+ colNums() {
364
+ const config = {
365
+ ...this.defaultConfig,
366
+ ...this.configData
367
+ };
368
+ return this.isMobile ? config.colNums_Mobile : config.colNums_PC;
369
+ },
370
+ showVideoList() {
371
+ if (this.isShowPannel && !this.messFold) return this.data.childList.slice(0, this.colNums * this.configData.defaultCol);
372
+ return this.data.childList;
373
+ },
374
+ isConfigPage() {
375
+ return this.$EventBus && this.isOpcacity;
376
+ },
377
+ borderRadiusStyle() {
378
+ const config = {
379
+ ...this.defaultConfig,
380
+ ...this.configData
381
+ };
382
+ const radiusConfig = config.cornerRadius || {};
383
+ const formatRadius = value => {
384
+ if (value === "full") return "9999px";
385
+ if (value === undefined || value === null || value === "") {
386
+ return "0px";
387
+ }
388
+ const num = Number(value);
389
+ return Number.isNaN(num) ? "0px" : `${num}px`;
390
+ };
391
+ const resolveValue = corner => {
392
+ const value = radiusConfig[corner];
393
+ return formatRadius(value);
394
+ };
395
+ return {
396
+ topLeft: resolveValue("topLeft"),
397
+ topRight: resolveValue("topRight"),
398
+ bottomLeft: resolveValue("bottomLeft"),
399
+ bottomRight: resolveValue("bottomRight")
400
+ };
401
+ },
402
+ wrapStyle() {
403
+ const config = {
404
+ ...this.defaultConfig,
405
+ ...this.configData
406
+ };
407
+ return {
408
+ gridTemplateColumns: `repeat(${this.colNums}, 1fr)`,
409
+ gridGap: `${config.gap}px`,
410
+ borderTopLeftRadius: this.borderRadiusStyle.topLeft,
411
+ borderTopRightRadius: this.borderRadiusStyle.topRight,
412
+ borderBottomLeftRadius: this.borderRadiusStyle.bottomLeft,
413
+ borderBottomRightRadius: this.borderRadiusStyle.bottomRight,
414
+ overflow: "hidden"
415
+ };
416
+ }
417
+ },
418
+ methods: {
419
+ getDevice(val) {
420
+ this.isMobile = val;
421
+ },
422
+ // 获取配置数据
423
+ getConfigData(configData) {
424
+ this.configData = this.getMergedConfig(configData);
425
+ this.updateStyles();
426
+ this.isShowPannel = this.colNums * this.configData.defaultCol < this.data.childList.length;
427
+ },
428
+ // 更新样式
429
+ updateStyles() {
430
+ this.$nextTick(() => {
431
+ // 触发样式更新
432
+ this.$forceUpdate();
433
+ });
434
+ },
435
+ // 折叠/展开文本
436
+ foldMessText() {
437
+ this.messFold = !this.messFold;
438
+ },
439
+ getMergedConfig(configData = {}) {
440
+ const mergedCorner = {
441
+ ...(this.defaultConfig.cornerRadius || {})
442
+ };
443
+ if (configData.cornerRadius) {
444
+ Object.assign(mergedCorner, configData.cornerRadius);
445
+ }
446
+ return {
447
+ ...this.defaultConfig,
448
+ ...configData,
449
+ cornerRadius: mergedCorner
450
+ };
451
+ }
452
+ }
453
+ });
454
+ ;// ./package/cms-video-group/View.vue?vue&type=script&lang=js
455
+ /* harmony default export */ var cms_video_group_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
456
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-video-group/View.vue?vue&type=style&index=0&id=279ca476&prod&lang=scss&scoped=true
457
+ // extracted by mini-css-extract-plugin
458
+
459
+ ;// ./package/cms-video-group/View.vue?vue&type=style&index=0&id=279ca476&prod&lang=scss&scoped=true
460
+
461
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
462
+ var componentNormalizer = __webpack_require__(1656);
463
+ ;// ./package/cms-video-group/View.vue
464
+
465
+
466
+
467
+ ;
468
+
469
+
470
+ /* normalize component */
471
+
472
+ var component = (0,componentNormalizer/* default */.A)(
473
+ cms_video_group_Viewvue_type_script_lang_js,
474
+ render,
475
+ staticRenderFns,
476
+ false,
477
+ null,
478
+ "279ca476",
479
+ null
480
+
481
+ )
482
+
483
+ /* harmony default export */ var View = (component.exports);
484
+
485
+ /***/ }),
486
+
241
487
  /***/ 209:
242
488
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
243
489
 
@@ -1149,140 +1395,6 @@ var component = (0,componentNormalizer/* default */.A)(
1149
1395
 
1150
1396
  /***/ }),
1151
1397
 
1152
- /***/ 450:
1153
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1154
-
1155
- "use strict";
1156
- // ESM COMPAT FLAG
1157
- __webpack_require__.r(__webpack_exports__);
1158
-
1159
- // EXPORTS
1160
- __webpack_require__.d(__webpack_exports__, {
1161
- "default": function() { return /* binding */ View; }
1162
- });
1163
-
1164
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-richText/View.vue?vue&type=template&id=982cf5e8&scoped=true
1165
- var render = function render() {
1166
- var _vm = this,
1167
- _c = _vm._self._c;
1168
- return _c('BaseComp', _vm._b({
1169
- attrs: {
1170
- "data": _vm.data,
1171
- "nowCompId": _vm.nowCompId,
1172
- "isOpcacity": _vm.isOpcacity,
1173
- "lang": _vm.lang
1174
- },
1175
- on: {
1176
- "getConfigData": _vm.getConfigData
1177
- }
1178
- }, 'BaseComp', _vm.$attrs, false), [_c('section', {
1179
- class: {
1180
- 'cmhk-home_main': _vm.showCmhkMain
1181
- }
1182
- }, [_c('div', [_c('div', {
1183
- staticClass: "inner"
1184
- }, [_c('p', {
1185
- staticClass: "cms-ht",
1186
- domProps: {
1187
- "innerHTML": _vm._s(_vm.configData.input1)
1188
- }
1189
- })])])])]);
1190
- };
1191
- var staticRenderFns = [];
1192
-
1193
- // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
1194
- var baseComp = __webpack_require__(4272);
1195
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-richText/View.vue?vue&type=script&lang=js
1196
-
1197
- /* harmony default export */ var Viewvue_type_script_lang_js = ({
1198
- name: "cms-richText",
1199
- components: {
1200
- BaseComp: baseComp["default"]
1201
- },
1202
- props: {
1203
- data: {
1204
- type: Object,
1205
- default: () => {
1206
- return {};
1207
- }
1208
- },
1209
- nowCompId: {
1210
- type: [String, Number],
1211
- default: ""
1212
- },
1213
- isOpcacity: {
1214
- type: Boolean,
1215
- default: true
1216
- },
1217
- lang: {
1218
- type: String,
1219
- default: "zh-HK"
1220
- },
1221
- showCmhkMain: {
1222
- type: Boolean,
1223
- default: true
1224
- }
1225
- },
1226
- data() {
1227
- return {
1228
- configData: {},
1229
- messFold: false
1230
- };
1231
- },
1232
- mounted() {},
1233
- watch: {},
1234
- methods: {
1235
- getConfigData(configData) {
1236
- this.configData = configData;
1237
- },
1238
- foldMessText() {
1239
- this.messFold = !this.messFold;
1240
- },
1241
- decodeJumpUrl(url) {
1242
- if (!url) return;
1243
- top.location.href = url;
1244
- }
1245
- }
1246
- });
1247
- ;// ./package/cms-richText/View.vue?vue&type=script&lang=js
1248
- /* harmony default export */ var cms_richText_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
1249
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-richText/View.vue?vue&type=style&index=0&id=982cf5e8&prod&lang=scss&scoped=true
1250
- // extracted by mini-css-extract-plugin
1251
-
1252
- ;// ./package/cms-richText/View.vue?vue&type=style&index=0&id=982cf5e8&prod&lang=scss&scoped=true
1253
-
1254
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-richText/View.vue?vue&type=style&index=1&id=982cf5e8&prod&lang=scss
1255
- // extracted by mini-css-extract-plugin
1256
-
1257
- ;// ./package/cms-richText/View.vue?vue&type=style&index=1&id=982cf5e8&prod&lang=scss
1258
-
1259
- // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
1260
- var componentNormalizer = __webpack_require__(1656);
1261
- ;// ./package/cms-richText/View.vue
1262
-
1263
-
1264
-
1265
- ;
1266
-
1267
-
1268
-
1269
- /* normalize component */
1270
-
1271
- var component = (0,componentNormalizer/* default */.A)(
1272
- cms_richText_Viewvue_type_script_lang_js,
1273
- render,
1274
- staticRenderFns,
1275
- false,
1276
- null,
1277
- "982cf5e8",
1278
- null
1279
-
1280
- )
1281
-
1282
- /* harmony default export */ var View = (component.exports);
1283
-
1284
- /***/ }),
1285
-
1286
1398
  /***/ 492:
1287
1399
  /***/ (function(module) {
1288
1400
 
@@ -1652,13 +1764,35 @@ module.exports = !fails(function () {
1652
1764
  __webpack_require__.r(__webpack_exports__);
1653
1765
  /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
1654
1766
 
1655
- const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 9418));
1767
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 201));
1656
1768
  const langData = {
1657
1769
  colNums_PC: 1,
1658
1770
  colNums_Mobile: 1,
1659
1771
  defaultCol: 12,
1660
- gap: 10
1772
+ gap: 10,
1773
+ cornerRadius: {
1774
+ topLeft: "8",
1775
+ topRight: "8",
1776
+ bottomLeft: "8",
1777
+ bottomRight: "8"
1778
+ }
1661
1779
  };
1780
+ const radiusOptions = [{
1781
+ label: "0",
1782
+ value: "0"
1783
+ }, {
1784
+ label: "4",
1785
+ value: "4"
1786
+ }, {
1787
+ label: "8",
1788
+ value: "8"
1789
+ }, {
1790
+ label: "16",
1791
+ value: "16"
1792
+ }, {
1793
+ label: "全圆角",
1794
+ value: "full"
1795
+ }];
1662
1796
  const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataType)(langData, {
1663
1797
  // 布局配置
1664
1798
  colNums_PC: {
@@ -1700,6 +1834,11 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
1700
1834
  step: 1,
1701
1835
  isCol: true,
1702
1836
  unit: "行"
1837
+ },
1838
+ cornerRadius: {
1839
+ label: "圆角",
1840
+ widgetType: "CornerRadiusPicker",
1841
+ options: radiusOptions
1703
1842
  }
1704
1843
  });
1705
1844
  const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSchema)(langData);
@@ -2557,7 +2696,7 @@ __webpack_require__.r(__webpack_exports__);
2557
2696
  /* harmony export */ WL: function() { return /* binding */ queryV1; },
2558
2697
  /* harmony export */ yX: function() { return /* binding */ getCommodityDetails; }
2559
2698
  /* harmony export */ });
2560
- /* unused harmony exports saveInstance, queryInstanceConfig, queryCategoryInfo, queryCommodityList, listV1, queryMenuList, uploadImage, uploadVideo, queryDeptList, queryBreadCrumbsList, queryPageHfList, queryUrl, createPage, queryPageInfo, editPage, getPreDictonaryList, saveTemporaryInfo, getTemporaryInfo, queryApproveList, queryComponentByColumn, queryCollections, collectionComponent, syncComponentConfigure, queryComponentConfigure, queryOperateList, updateDefaultConfig, omniHeartbeat, emallHeartbeat, qryBtList */
2699
+ /* unused harmony exports saveInstance, queryInstanceConfig, queryCategoryInfo, queryCommodityList, listV1, queryMenuList, uploadImage, uploadVideo, queryDeptList, queryBreadCrumbsList, queryPageHfList, queryUrl, createPage, queryPageInfo, editPage, getPreDictonaryList, saveTemporaryInfo, getTemporaryInfo, queryApproveList, queryComponentByColumn, queryCollections, collectionComponent, syncComponentConfigure, queryComponentConfigure, queryOperateList, updateDefaultConfig, omniHeartbeat, emallHeartbeat, qryBtList, uploadToResourceLibrary, getResourceLibraryList */
2561
2700
  /* harmony import */ var _utils_request__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1564);
2562
2701
 
2563
2702
 
@@ -2642,9 +2781,9 @@ function uploadVideo(data) {
2642
2781
  data
2643
2782
  });
2644
2783
  }
2645
- /**
2646
- * 查询部门列表
2647
- * @returns {Promise}
2784
+ /**
2785
+ * 查询部门列表
2786
+ * @returns {Promise}
2648
2787
  */
2649
2788
  function queryDeptList(data) {
2650
2789
  return request({
@@ -2654,9 +2793,9 @@ function queryDeptList(data) {
2654
2793
  });
2655
2794
  }
2656
2795
 
2657
- /**
2658
- * 查询面包屑列表
2659
- * @returns {Promise}
2796
+ /**
2797
+ * 查询面包屑列表
2798
+ * @returns {Promise}
2660
2799
  */
2661
2800
  function queryBreadCrumbsList(data) {
2662
2801
  return request({
@@ -2666,9 +2805,9 @@ function queryBreadCrumbsList(data) {
2666
2805
  });
2667
2806
  }
2668
2807
 
2669
- /**
2670
- * 查询页头页脚列表
2671
- * @returns {Promise}
2808
+ /**
2809
+ * 查询页头页脚列表
2810
+ * @returns {Promise}
2672
2811
  */
2673
2812
  function queryPageHfList(data) {
2674
2813
  return request({
@@ -2678,9 +2817,9 @@ function queryPageHfList(data) {
2678
2817
  });
2679
2818
  }
2680
2819
 
2681
- /**
2682
- * 查询URL接口
2683
- * @returns {Promise}
2820
+ /**
2821
+ * 查询URL接口
2822
+ * @returns {Promise}
2684
2823
  */
2685
2824
  function queryUrl(data) {
2686
2825
  return request({
@@ -2690,10 +2829,10 @@ function queryUrl(data) {
2690
2829
  });
2691
2830
  }
2692
2831
 
2693
- /**
2694
- * 创建页面
2695
- * @param {Object} pageData 页面数据
2696
- * @returns {Promise}
2832
+ /**
2833
+ * 创建页面
2834
+ * @param {Object} pageData 页面数据
2835
+ * @returns {Promise}
2697
2836
  */
2698
2837
  function createPage(data) {
2699
2838
  return request({
@@ -2702,9 +2841,9 @@ function createPage(data) {
2702
2841
  data
2703
2842
  });
2704
2843
  }
2705
- /**
2706
- * 查询页面信息
2707
- * @returns {Promise}
2844
+ /**
2845
+ * 查询页面信息
2846
+ * @returns {Promise}
2708
2847
  */
2709
2848
  function queryPageInfo(data) {
2710
2849
  return request({
@@ -2714,9 +2853,9 @@ function queryPageInfo(data) {
2714
2853
  });
2715
2854
  }
2716
2855
 
2717
- /**
2718
- * 查询页面信息
2719
- * @returns {Promise}
2856
+ /**
2857
+ * 查询页面信息
2858
+ * @returns {Promise}
2720
2859
  */
2721
2860
  function editPage(data) {
2722
2861
  return request({
@@ -2725,9 +2864,9 @@ function editPage(data) {
2725
2864
  data
2726
2865
  });
2727
2866
  }
2728
- /**
2729
- * 字典值
2730
- * @returns {Promise}
2867
+ /**
2868
+ * 字典值
2869
+ * @returns {Promise}
2731
2870
  */
2732
2871
  function getPreDictonaryList(data) {
2733
2872
  return request({
@@ -2737,9 +2876,9 @@ function getPreDictonaryList(data) {
2737
2876
  });
2738
2877
  }
2739
2878
 
2740
- /**
2741
- * 无痕浏览
2742
- * @returns {Promise}
2879
+ /**
2880
+ * 无痕浏览
2881
+ * @returns {Promise}
2743
2882
  */
2744
2883
  function saveTemporaryInfo(data) {
2745
2884
  return request({
@@ -2748,9 +2887,9 @@ function saveTemporaryInfo(data) {
2748
2887
  data
2749
2888
  });
2750
2889
  }
2751
- /**
2752
- * 无痕浏览
2753
- * @returns {Promise}
2890
+ /**
2891
+ * 无痕浏览
2892
+ * @returns {Promise}
2754
2893
  */
2755
2894
  function getTemporaryInfo(data) {
2756
2895
  return request({
@@ -2759,9 +2898,9 @@ function getTemporaryInfo(data) {
2759
2898
  data
2760
2899
  });
2761
2900
  }
2762
- /**
2763
- * 查询操作记录
2764
- * @returns {Promise}
2901
+ /**
2902
+ * 查询操作记录
2903
+ * @returns {Promise}
2765
2904
  */
2766
2905
  function queryApproveList(data) {
2767
2906
  return request({
@@ -2770,8 +2909,8 @@ function queryApproveList(data) {
2770
2909
  data
2771
2910
  });
2772
2911
  }
2773
- /**
2774
- * 通过栏目查询组件列表
2912
+ /**
2913
+ * 通过栏目查询组件列表
2775
2914
  */
2776
2915
  function queryComponentByColumn(data) {
2777
2916
  return request({
@@ -2780,8 +2919,8 @@ function queryComponentByColumn(data) {
2780
2919
  data
2781
2920
  });
2782
2921
  }
2783
- /**
2784
- * 查询收藏组件列表
2922
+ /**
2923
+ * 查询收藏组件列表
2785
2924
  */
2786
2925
  function queryCollections(data) {
2787
2926
  return request({
@@ -2790,8 +2929,8 @@ function queryCollections(data) {
2790
2929
  data
2791
2930
  });
2792
2931
  }
2793
- /**
2794
- * 收藏组件
2932
+ /**
2933
+ * 收藏组件
2795
2934
  */
2796
2935
  function collectionComponent(data) {
2797
2936
  return request({
@@ -2800,8 +2939,8 @@ function collectionComponent(data) {
2800
2939
  data
2801
2940
  });
2802
2941
  }
2803
- /**
2804
- * 保存/删除/修改组件配置
2942
+ /**
2943
+ * 保存/删除/修改组件配置
2805
2944
  */
2806
2945
  function syncComponentConfigure(data) {
2807
2946
  return request({
@@ -2810,8 +2949,8 @@ function syncComponentConfigure(data) {
2810
2949
  data
2811
2950
  });
2812
2951
  }
2813
- /**
2814
- * 查询已保存组件列表
2952
+ /**
2953
+ * 查询已保存组件列表
2815
2954
  */
2816
2955
  function queryComponentConfigure(data) {
2817
2956
  return request({
@@ -2863,6 +3002,27 @@ function queryViaComponentByCode(data) {
2863
3002
  });
2864
3003
  }
2865
3004
 
3005
+ // 本地上传到资源库
3006
+ function uploadToResourceLibrary(formData) {
3007
+ return request({
3008
+ method: "post",
3009
+ url: "/omni-channel-service-console/rest/cmsUpload/common/onlineshop",
3010
+ data: formData,
3011
+ headers: {
3012
+ "Content-Type": "multipart/form-data"
3013
+ }
3014
+ });
3015
+ }
3016
+
3017
+ // 资源库列表查询
3018
+ function getResourceLibraryList(params) {
3019
+ return request({
3020
+ method: "post",
3021
+ url: "/omni-channel-service-console/rest/cmsUpload/list",
3022
+ data: params
3023
+ });
3024
+ }
3025
+
2866
3026
  /***/ }),
2867
3027
 
2868
3028
  /***/ 1012:
@@ -3942,6 +4102,251 @@ module.exports = {
3942
4102
 
3943
4103
  /***/ }),
3944
4104
 
4105
+ /***/ 1243:
4106
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4107
+
4108
+ "use strict";
4109
+ // ESM COMPAT FLAG
4110
+ __webpack_require__.r(__webpack_exports__);
4111
+
4112
+ // EXPORTS
4113
+ __webpack_require__.d(__webpack_exports__, {
4114
+ "default": function() { return /* binding */ View; }
4115
+ });
4116
+
4117
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-image-group/View.vue?vue&type=template&id=4dee5e5e&scoped=true
4118
+ var render = function render() {
4119
+ var _vm = this,
4120
+ _c = _vm._self._c;
4121
+ return _c('BaseComp', _vm._b({
4122
+ attrs: {
4123
+ "data": _vm.data,
4124
+ "nowCompId": _vm.nowCompId,
4125
+ "isOpcacity": _vm.isOpcacity,
4126
+ "isMask": false,
4127
+ "lang": _vm.lang
4128
+ },
4129
+ on: {
4130
+ "getConfigData": _vm.getConfigData
4131
+ }
4132
+ }, 'BaseComp', _vm.$attrs, false), [_c('section', {
4133
+ staticClass: "cmhk-home_main"
4134
+ }, [_c('div', {
4135
+ staticClass: "wrap",
4136
+ style: _vm.wrapStyle
4137
+ }, _vm._l(_vm.showVideoList, function (item) {
4138
+ return _c('cms-image', {
4139
+ key: item.componentId,
4140
+ staticStyle: {
4141
+ "overflow": "hidden"
4142
+ },
4143
+ attrs: {
4144
+ "data": item,
4145
+ "nowCompId": _vm.nowCompId,
4146
+ "isOpcacity": _vm.isOpcacity,
4147
+ "isMask": false,
4148
+ "lang": _vm.lang
4149
+ }
4150
+ });
4151
+ }), 1), _vm.isShowPannel ? [_c('div', {
4152
+ staticClass: "view-more-container"
4153
+ }, [_c('div', {
4154
+ staticClass: "view-more-btn",
4155
+ on: {
4156
+ "click": _vm.foldMessText
4157
+ }
4158
+ }, [_c('span', {
4159
+ staticClass: "view-more-text"
4160
+ }, [_vm._v(" " + _vm._s(_vm.messFold ? _vm.$t("roamIndex.Collpase") : _vm.$t("roamIndex.More")) + " ")]), _c('i', {
4161
+ class: ['view-more-icon', _vm.messFold ? 'el-icon-arrow-up' : 'el-icon-arrow-down']
4162
+ })])])] : _vm._e()], 2)]);
4163
+ };
4164
+ var staticRenderFns = [];
4165
+
4166
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
4167
+ var baseComp = __webpack_require__(4272);
4168
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-image-group/View.vue?vue&type=script&lang=js
4169
+
4170
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
4171
+ name: "cms-image-group",
4172
+ components: {
4173
+ BaseComp: baseComp["default"]
4174
+ },
4175
+ props: {
4176
+ data: {
4177
+ type: Object,
4178
+ default: () => {
4179
+ return {};
4180
+ }
4181
+ },
4182
+ nowCompId: {
4183
+ type: [String, Number],
4184
+ default: ""
4185
+ },
4186
+ isOpcacity: {
4187
+ type: Boolean,
4188
+ default: true
4189
+ },
4190
+ lang: {
4191
+ type: String,
4192
+ default: "zh-HK"
4193
+ }
4194
+ },
4195
+ data() {
4196
+ return {
4197
+ configData: {},
4198
+ messFold: false,
4199
+ // 默认配置数据
4200
+ defaultConfig: {
4201
+ colNums: 1,
4202
+ defaultCol: 12,
4203
+ gap: 10,
4204
+ cornerRadius: {
4205
+ topLeft: "8",
4206
+ topRight: "8",
4207
+ bottomLeft: "8",
4208
+ bottomRight: "8"
4209
+ }
4210
+ },
4211
+ isShowPannel: false
4212
+ };
4213
+ },
4214
+ mounted() {},
4215
+ watch: {
4216
+ configData: {
4217
+ handler() {
4218
+ this.updateStyles();
4219
+ },
4220
+ deep: true
4221
+ }
4222
+ },
4223
+ computed: {
4224
+ showVideoList() {
4225
+ if (this.isShowPannel && !this.messFold) return this.data.childList.slice(0, this.configData.colNums * this.configData.defaultCol);
4226
+ return this.data.childList;
4227
+ },
4228
+ isConfigPage() {
4229
+ return this.$EventBus && this.isOpcacity;
4230
+ },
4231
+ borderRadiusStyle() {
4232
+ const config = {
4233
+ ...this.defaultConfig,
4234
+ ...this.configData
4235
+ };
4236
+ const radiusConfig = config.cornerRadius || {};
4237
+ const legacyMap = {
4238
+ topLeft: config.borderRadiusTopLeft,
4239
+ topRight: config.borderRadiusTopRight,
4240
+ bottomLeft: config.borderRadiusBottomLeft,
4241
+ bottomRight: config.borderRadiusBottomRight
4242
+ };
4243
+ const formatRadius = value => {
4244
+ if (value === "full") return "9999px";
4245
+ if (value === undefined || value === null || value === "") {
4246
+ return "0px";
4247
+ }
4248
+ const num = Number(value);
4249
+ return Number.isNaN(num) ? "0px" : `${num}px`;
4250
+ };
4251
+ const resolveValue = corner => {
4252
+ const value = radiusConfig[corner] !== undefined && radiusConfig[corner] !== null ? radiusConfig[corner] : legacyMap[corner];
4253
+ return formatRadius(value);
4254
+ };
4255
+ return {
4256
+ topLeft: resolveValue("topLeft"),
4257
+ topRight: resolveValue("topRight"),
4258
+ bottomLeft: resolveValue("bottomLeft"),
4259
+ bottomRight: resolveValue("bottomRight")
4260
+ };
4261
+ },
4262
+ wrapStyle() {
4263
+ const config = {
4264
+ ...this.defaultConfig,
4265
+ ...this.configData
4266
+ };
4267
+ return {
4268
+ gridTemplateColumns: `repeat(${config.colNums}, 1fr)`,
4269
+ gridGap: `${config.gap}px`,
4270
+ borderTopLeftRadius: this.borderRadiusStyle.topLeft,
4271
+ borderTopRightRadius: this.borderRadiusStyle.topRight,
4272
+ borderBottomLeftRadius: this.borderRadiusStyle.bottomLeft,
4273
+ borderBottomRightRadius: this.borderRadiusStyle.bottomRight,
4274
+ overflow: "hidden"
4275
+ };
4276
+ }
4277
+ },
4278
+ methods: {
4279
+ // 获取配置数据
4280
+ getConfigData(configData) {
4281
+ this.configData = this.getMergedConfig(configData);
4282
+ this.updateStyles();
4283
+ this.isShowPannel = this.configData.colNums * this.configData.defaultCol < this.data.childList.length;
4284
+ },
4285
+ // 更新样式
4286
+ updateStyles() {
4287
+ this.$nextTick(() => {
4288
+ // 触发样式更新
4289
+ this.$forceUpdate();
4290
+ });
4291
+ },
4292
+ // 折叠/展开文本
4293
+ foldMessText() {
4294
+ this.messFold = !this.messFold;
4295
+ },
4296
+ getMergedConfig(configData = {}) {
4297
+ const mergedCorner = {
4298
+ ...(this.defaultConfig.cornerRadius || {})
4299
+ };
4300
+ if (configData.cornerRadius) {
4301
+ Object.assign(mergedCorner, configData.cornerRadius);
4302
+ } else {
4303
+ var _configData$borderRad, _configData$borderRad2, _configData$borderRad3, _configData$borderRad4;
4304
+ mergedCorner.topLeft = (_configData$borderRad = configData.borderRadiusTopLeft) === null || _configData$borderRad === void 0 ? void 0 : _configData$borderRad.mergedCorner.topLeft;
4305
+ mergedCorner.topRight = (_configData$borderRad2 = configData.borderRadiusTopRight) === null || _configData$borderRad2 === void 0 ? void 0 : _configData$borderRad2.mergedCorner.topRight;
4306
+ mergedCorner.bottomLeft = (_configData$borderRad3 = configData.borderRadiusBottomLeft) === null || _configData$borderRad3 === void 0 ? void 0 : _configData$borderRad3.mergedCorner.bottomLeft;
4307
+ mergedCorner.bottomRight = (_configData$borderRad4 = configData.borderRadiusBottomRight) === null || _configData$borderRad4 === void 0 ? void 0 : _configData$borderRad4.mergedCorner.bottomRight;
4308
+ }
4309
+ return {
4310
+ ...this.defaultConfig,
4311
+ ...configData,
4312
+ cornerRadius: mergedCorner
4313
+ };
4314
+ }
4315
+ }
4316
+ });
4317
+ ;// ./package/cms-image-group/View.vue?vue&type=script&lang=js
4318
+ /* harmony default export */ var cms_image_group_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
4319
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-image-group/View.vue?vue&type=style&index=0&id=4dee5e5e&prod&lang=scss&scoped=true
4320
+ // extracted by mini-css-extract-plugin
4321
+
4322
+ ;// ./package/cms-image-group/View.vue?vue&type=style&index=0&id=4dee5e5e&prod&lang=scss&scoped=true
4323
+
4324
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
4325
+ var componentNormalizer = __webpack_require__(1656);
4326
+ ;// ./package/cms-image-group/View.vue
4327
+
4328
+
4329
+
4330
+ ;
4331
+
4332
+
4333
+ /* normalize component */
4334
+
4335
+ var component = (0,componentNormalizer/* default */.A)(
4336
+ cms_image_group_Viewvue_type_script_lang_js,
4337
+ render,
4338
+ staticRenderFns,
4339
+ false,
4340
+ null,
4341
+ "4dee5e5e",
4342
+ null
4343
+
4344
+ )
4345
+
4346
+ /* harmony default export */ var View = (component.exports);
4347
+
4348
+ /***/ }),
4349
+
3945
4350
  /***/ 1291:
3946
4351
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3947
4352
 
@@ -10625,8 +11030,8 @@ var map = {
10625
11030
  "./cms-column": 3923,
10626
11031
  "./cms-column-card": 5340,
10627
11032
  "./cms-column-card/": 5340,
10628
- "./cms-column-card/View": 2159,
10629
- "./cms-column-card/View.vue": 2159,
11033
+ "./cms-column-card/View": 2003,
11034
+ "./cms-column-card/View.vue": 2003,
10630
11035
  "./cms-column-card/index": 5340,
10631
11036
  "./cms-column-card/index.js": 5340,
10632
11037
  "./cms-column/": 3923,
@@ -10655,13 +11060,13 @@ var map = {
10655
11060
  "./cms-image": 8886,
10656
11061
  "./cms-image-group": 6940,
10657
11062
  "./cms-image-group/": 6940,
10658
- "./cms-image-group/View": 6745,
10659
- "./cms-image-group/View.vue": 6745,
11063
+ "./cms-image-group/View": 1243,
11064
+ "./cms-image-group/View.vue": 1243,
10660
11065
  "./cms-image-group/index": 6940,
10661
11066
  "./cms-image-group/index.js": 6940,
10662
11067
  "./cms-image/": 8886,
10663
- "./cms-image/View": 4825,
10664
- "./cms-image/View.vue": 4825,
11068
+ "./cms-image/View": 2521,
11069
+ "./cms-image/View.vue": 2521,
10665
11070
  "./cms-image/index": 8886,
10666
11071
  "./cms-image/index.js": 8886,
10667
11072
  "./cms-imgFour": 4352,
@@ -10720,8 +11125,8 @@ var map = {
10720
11125
  "./cms-question/index.js": 2269,
10721
11126
  "./cms-richText": 7616,
10722
11127
  "./cms-richText/": 7616,
10723
- "./cms-richText/View": 450,
10724
- "./cms-richText/View.vue": 450,
11128
+ "./cms-richText/View": 7163,
11129
+ "./cms-richText/View.vue": 7163,
10725
11130
  "./cms-richText/index": 7616,
10726
11131
  "./cms-richText/index.js": 7616,
10727
11132
  "./cms-servePlan-tab": 1373,
@@ -10786,13 +11191,13 @@ var map = {
10786
11191
  "./cms-video": 2404,
10787
11192
  "./cms-video-group": 622,
10788
11193
  "./cms-video-group/": 622,
10789
- "./cms-video-group/View": 9418,
10790
- "./cms-video-group/View.vue": 9418,
11194
+ "./cms-video-group/View": 201,
11195
+ "./cms-video-group/View.vue": 201,
10791
11196
  "./cms-video-group/index": 622,
10792
11197
  "./cms-video-group/index.js": 622,
10793
11198
  "./cms-video/": 2404,
10794
- "./cms-video/View": 8863,
10795
- "./cms-video/View.vue": 8863,
11199
+ "./cms-video/View": 3761,
11200
+ "./cms-video/View.vue": 3761,
10796
11201
  "./cms-video/index": 2404,
10797
11202
  "./cms-video/index.js": 2404,
10798
11203
  "./cms-view": 2392,
@@ -11696,17 +12101,17 @@ function throttleNew(fun, wait) {
11696
12101
  }
11697
12102
  function getDevice() {
11698
12103
  const DEVICES = {
11699
- /**
11700
- * 桌面
12104
+ /**
12105
+ * 桌面
11701
12106
  */
11702
12107
  DESKTOP: "pc",
11703
12108
  PC: "pc",
11704
- /**
11705
- * 平板
12109
+ /**
12110
+ * 平板
11706
12111
  */
11707
12112
  TABLET: "tablet",
11708
- /**
11709
- * 移动端/手机
12113
+ /**
12114
+ * 移动端/手机
11710
12115
  */
11711
12116
  MOBILE: "mobile"
11712
12117
  };
@@ -11868,398 +12273,7 @@ function isIos() {
11868
12273
 
11869
12274
  /***/ }),
11870
12275
 
11871
- /***/ 2059:
11872
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
11873
-
11874
- "use strict";
11875
- __webpack_require__.r(__webpack_exports__);
11876
- /* harmony default export */ __webpack_exports__["default"] = ({
11877
- listPrice: 'Monthly Fee',
11878
- oneoffPrice: 'One-off Price',
11879
- bannerName: 'My collection',
11880
- price: 'Price',
11881
- all: 'All',
11882
- bannerDes: 'Enjoy a leisurely journey in the Greater Bay Area, carrying your bags without any worries',
11883
- addValue: 'Add value immediately',
11884
- whyFiveG: 'Why CMHK 5G Broadband?',
11885
- whyFiveGDes: 'Perfect for replacing slow-speed landlines / having your own broadband network',
11886
- fiveGDesTitle: 'Choose Your 5G Broadband Service Plan',
11887
- fiveGDesSubTitle: 'Come and choose the 5G widescreen service plan that suits you! Diverse and rich digital content opens up new possibilities for your world ',
11888
- nowCostomersYh: 'Exclusive Offers for Existing CMHK Customers',
11889
- login: 'Login',
11890
- lookNowCostomerYh: 'and Check Your Exclusive Offers',
11891
- yhPlaceholder: 'Enter Promo Code',
11892
- search: 'Apply',
11893
- select: 'Apply',
11894
- detail: 'Learn more',
11895
- yhCode: 'Promo Code Applied:',
11896
- listHyq: 'Contract Period(Month)',
11897
- basePrice: 'Originally',
11898
- closeDetail: 'Collapse Details',
11899
- open: 'Choose The Plan',
11900
- expend: 'Expand',
11901
- close: 'Collapse',
11902
- lookDetail: 'View Details',
11903
- chooseHyq: 'Contract Period (Month)',
11904
- addService: 'Promotional Offers',
11905
- reset: 'Reset Options',
11906
- next: 'Next',
11907
- nextMobile: 'Next',
11908
- seeOther: "Let's take a look at other products",
11909
- seeOtherDesc: 'Diverse and rich digital content opens up new possibilities for your world',
11910
- stageWay: 'On stage way',
11911
- newPhone: 'New number',
11912
- systemNum: 'Number assigned by the system',
11913
- simType: 'SIM card type',
11914
- shitiSim: 'Physical SIM card',
11915
- yhCodeText: 'Promo code',
11916
- bandwidth: 'bandwidth',
11917
- sfmx: 'Summary'
11918
- });
11919
-
11920
- /***/ }),
11921
-
11922
- /***/ 2071:
11923
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
11924
-
11925
- "use strict";
11926
-
11927
-
11928
- exports.__esModule = true;
11929
- var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) {
11930
- return typeof obj;
11931
- } : function (obj) {
11932
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
11933
- };
11934
- exports["default"] = function (Vue) {
11935
- /**
11936
- * template
11937
- *
11938
- * @param {String} string
11939
- * @param {Array} ...args
11940
- * @return {String}
11941
- */
11942
-
11943
- function template(string) {
11944
- for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
11945
- args[_key - 1] = arguments[_key];
11946
- }
11947
- if (args.length === 1 && _typeof(args[0]) === 'object') {
11948
- args = args[0];
11949
- }
11950
- if (!args || !args.hasOwnProperty) {
11951
- args = {};
11952
- }
11953
- return string.replace(RE_NARGS, function (match, prefix, i, index) {
11954
- var result = void 0;
11955
- if (string[index - 1] === '{' && string[index + match.length] === '}') {
11956
- return i;
11957
- } else {
11958
- result = (0, _util.hasOwn)(args, i) ? args[i] : null;
11959
- if (result === null || result === undefined) {
11960
- return '';
11961
- }
11962
- return result;
11963
- }
11964
- });
11965
- }
11966
- return template;
11967
- };
11968
- var _util = __webpack_require__(2125);
11969
- var RE_NARGS = /(%|)\{([0-9a-zA-Z_]+)\}/g;
11970
- /**
11971
- * String format template
11972
- * - Inspired:
11973
- * https://github.com/Matt-Esch/string-template/index.js
11974
- */
11975
-
11976
- /***/ }),
11977
-
11978
- /***/ 2106:
11979
- /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
11980
-
11981
- "use strict";
11982
-
11983
- var makeBuiltIn = __webpack_require__(283);
11984
- var defineProperty = __webpack_require__(4913);
11985
-
11986
- module.exports = function (target, name, descriptor) {
11987
- if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });
11988
- if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });
11989
- return defineProperty.f(target, name, descriptor);
11990
- };
11991
-
11992
-
11993
- /***/ }),
11994
-
11995
- /***/ 2125:
11996
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
11997
-
11998
- "use strict";
11999
-
12000
-
12001
- exports.__esModule = true;
12002
- exports.isMac = exports.isEmpty = exports.isEqual = exports.arrayEquals = exports.looseEqual = exports.capitalize = exports.kebabCase = exports.autoprefixer = exports.isFirefox = exports.isEdge = exports.isIE = exports.coerceTruthyValueToArray = exports.arrayFind = exports.arrayFindIndex = exports.escapeRegexpString = exports.valueEquals = exports.generateId = exports.getValueByPath = undefined;
12003
- var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) {
12004
- return typeof obj;
12005
- } : function (obj) {
12006
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
12007
- };
12008
- exports.noop = noop;
12009
- exports.hasOwn = hasOwn;
12010
- exports.toObject = toObject;
12011
- exports.getPropByPath = getPropByPath;
12012
- exports.rafThrottle = rafThrottle;
12013
- exports.objToArray = objToArray;
12014
- var _vue = __webpack_require__(6848);
12015
- var _vue2 = _interopRequireDefault(_vue);
12016
- var _types = __webpack_require__(7012);
12017
- function _interopRequireDefault(obj) {
12018
- return obj && obj.__esModule ? obj : {
12019
- default: obj
12020
- };
12021
- }
12022
- var hasOwnProperty = Object.prototype.hasOwnProperty;
12023
- function noop() {}
12024
- ;
12025
- function hasOwn(obj, key) {
12026
- return hasOwnProperty.call(obj, key);
12027
- }
12028
- ;
12029
- function extend(to, _from) {
12030
- for (var key in _from) {
12031
- to[key] = _from[key];
12032
- }
12033
- return to;
12034
- }
12035
- ;
12036
- function toObject(arr) {
12037
- var res = {};
12038
- for (var i = 0; i < arr.length; i++) {
12039
- if (arr[i]) {
12040
- extend(res, arr[i]);
12041
- }
12042
- }
12043
- return res;
12044
- }
12045
- ;
12046
- var getValueByPath = exports.getValueByPath = function getValueByPath(object, prop) {
12047
- prop = prop || '';
12048
- var paths = prop.split('.');
12049
- var current = object;
12050
- var result = null;
12051
- for (var i = 0, j = paths.length; i < j; i++) {
12052
- var path = paths[i];
12053
- if (!current) break;
12054
- if (i === j - 1) {
12055
- result = current[path];
12056
- break;
12057
- }
12058
- current = current[path];
12059
- }
12060
- return result;
12061
- };
12062
- function getPropByPath(obj, path, strict) {
12063
- var tempObj = obj;
12064
- path = path.replace(/\[(\w+)\]/g, '.$1');
12065
- path = path.replace(/^\./, '');
12066
- var keyArr = path.split('.');
12067
- var i = 0;
12068
- for (var len = keyArr.length; i < len - 1; ++i) {
12069
- if (!tempObj && !strict) break;
12070
- var key = keyArr[i];
12071
- if (key in tempObj) {
12072
- tempObj = tempObj[key];
12073
- } else {
12074
- if (strict) {
12075
- throw new Error('please transfer a valid prop path to form item!');
12076
- }
12077
- break;
12078
- }
12079
- }
12080
- return {
12081
- o: tempObj,
12082
- k: keyArr[i],
12083
- v: tempObj ? tempObj[keyArr[i]] : null
12084
- };
12085
- }
12086
- ;
12087
- var generateId = exports.generateId = function generateId() {
12088
- return Math.floor(Math.random() * 10000);
12089
- };
12090
- var valueEquals = exports.valueEquals = function valueEquals(a, b) {
12091
- // see: https://stackoverflow.com/questions/3115982/how-to-check-if-two-arrays-are-equal-with-javascript
12092
- if (a === b) return true;
12093
- if (!(a instanceof Array)) return false;
12094
- if (!(b instanceof Array)) return false;
12095
- if (a.length !== b.length) return false;
12096
- for (var i = 0; i !== a.length; ++i) {
12097
- if (a[i] !== b[i]) return false;
12098
- }
12099
- return true;
12100
- };
12101
- var escapeRegexpString = exports.escapeRegexpString = function escapeRegexpString() {
12102
- var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
12103
- return String(value).replace(/[|\\{}()[\]^$+*?.]/g, '\\$&');
12104
- };
12105
-
12106
- // TODO: use native Array.find, Array.findIndex when IE support is dropped
12107
- var arrayFindIndex = exports.arrayFindIndex = function arrayFindIndex(arr, pred) {
12108
- for (var i = 0; i !== arr.length; ++i) {
12109
- if (pred(arr[i])) {
12110
- return i;
12111
- }
12112
- }
12113
- return -1;
12114
- };
12115
- var arrayFind = exports.arrayFind = function arrayFind(arr, pred) {
12116
- var idx = arrayFindIndex(arr, pred);
12117
- return idx !== -1 ? arr[idx] : undefined;
12118
- };
12119
-
12120
- // coerce truthy value to array
12121
- var coerceTruthyValueToArray = exports.coerceTruthyValueToArray = function coerceTruthyValueToArray(val) {
12122
- if (Array.isArray(val)) {
12123
- return val;
12124
- } else if (val) {
12125
- return [val];
12126
- } else {
12127
- return [];
12128
- }
12129
- };
12130
- var isIE = exports.isIE = function isIE() {
12131
- return !_vue2.default.prototype.$isServer && !isNaN(Number(document.documentMode));
12132
- };
12133
- var isEdge = exports.isEdge = function isEdge() {
12134
- return !_vue2.default.prototype.$isServer && navigator.userAgent.indexOf('Edge') > -1;
12135
- };
12136
- var isFirefox = exports.isFirefox = function isFirefox() {
12137
- return !_vue2.default.prototype.$isServer && !!window.navigator.userAgent.match(/firefox/i);
12138
- };
12139
- var autoprefixer = exports.autoprefixer = function autoprefixer(style) {
12140
- if ((typeof style === 'undefined' ? 'undefined' : _typeof(style)) !== 'object') return style;
12141
- var rules = ['transform', 'transition', 'animation'];
12142
- var prefixes = ['ms-', 'webkit-'];
12143
- rules.forEach(function (rule) {
12144
- var value = style[rule];
12145
- if (rule && value) {
12146
- prefixes.forEach(function (prefix) {
12147
- style[prefix + rule] = value;
12148
- });
12149
- }
12150
- });
12151
- return style;
12152
- };
12153
- var kebabCase = exports.kebabCase = function kebabCase(str) {
12154
- var hyphenateRE = /([^-])([A-Z])/g;
12155
- return str.replace(hyphenateRE, '$1-$2').replace(hyphenateRE, '$1-$2').toLowerCase();
12156
- };
12157
- var capitalize = exports.capitalize = function capitalize(str) {
12158
- if (!(0, _types.isString)(str)) return str;
12159
- return str.charAt(0).toUpperCase() + str.slice(1);
12160
- };
12161
- var looseEqual = exports.looseEqual = function looseEqual(a, b) {
12162
- var isObjectA = (0, _types.isObject)(a);
12163
- var isObjectB = (0, _types.isObject)(b);
12164
- if (isObjectA && isObjectB) {
12165
- return JSON.stringify(a) === JSON.stringify(b);
12166
- } else if (!isObjectA && !isObjectB) {
12167
- return String(a) === String(b);
12168
- } else {
12169
- return false;
12170
- }
12171
- };
12172
- var arrayEquals = exports.arrayEquals = function arrayEquals(arrayA, arrayB) {
12173
- arrayA = arrayA || [];
12174
- arrayB = arrayB || [];
12175
- if (arrayA.length !== arrayB.length) {
12176
- return false;
12177
- }
12178
- for (var i = 0; i < arrayA.length; i++) {
12179
- if (!looseEqual(arrayA[i], arrayB[i])) {
12180
- return false;
12181
- }
12182
- }
12183
- return true;
12184
- };
12185
- var isEqual = exports.isEqual = function isEqual(value1, value2) {
12186
- if (Array.isArray(value1) && Array.isArray(value2)) {
12187
- return arrayEquals(value1, value2);
12188
- }
12189
- return looseEqual(value1, value2);
12190
- };
12191
- var isEmpty = exports.isEmpty = function isEmpty(val) {
12192
- // null or undefined
12193
- if (val == null) return true;
12194
- if (typeof val === 'boolean') return false;
12195
- if (typeof val === 'number') return !val;
12196
- if (val instanceof Error) return val.message === '';
12197
- switch (Object.prototype.toString.call(val)) {
12198
- // String or Array
12199
- case '[object String]':
12200
- case '[object Array]':
12201
- return !val.length;
12202
-
12203
- // Map or Set or File
12204
- case '[object File]':
12205
- case '[object Map]':
12206
- case '[object Set]':
12207
- {
12208
- return !val.size;
12209
- }
12210
- // Plain Object
12211
- case '[object Object]':
12212
- {
12213
- return !Object.keys(val).length;
12214
- }
12215
- }
12216
- return false;
12217
- };
12218
- function rafThrottle(fn) {
12219
- var locked = false;
12220
- return function () {
12221
- var _this = this;
12222
- for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
12223
- args[_key] = arguments[_key];
12224
- }
12225
- if (locked) return;
12226
- locked = true;
12227
- window.requestAnimationFrame(function (_) {
12228
- fn.apply(_this, args);
12229
- locked = false;
12230
- });
12231
- };
12232
- }
12233
- function objToArray(obj) {
12234
- if (Array.isArray(obj)) {
12235
- return obj;
12236
- }
12237
- return isEmpty(obj) ? [] : [obj];
12238
- }
12239
- var isMac = exports.isMac = function isMac() {
12240
- return !_vue2.default.prototype.$isServer && /macintosh|mac os x/i.test(navigator.userAgent);
12241
- };
12242
-
12243
- /***/ }),
12244
-
12245
- /***/ 2140:
12246
- /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
12247
-
12248
- "use strict";
12249
-
12250
- var wellKnownSymbol = __webpack_require__(8227);
12251
-
12252
- var TO_STRING_TAG = wellKnownSymbol('toStringTag');
12253
- var test = {};
12254
-
12255
- test[TO_STRING_TAG] = 'z';
12256
-
12257
- module.exports = String(test) === '[object z]';
12258
-
12259
-
12260
- /***/ }),
12261
-
12262
- /***/ 2159:
12276
+ /***/ 2003:
12263
12277
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
12264
12278
 
12265
12279
  "use strict";
@@ -12275,7 +12289,7 @@ __webpack_require__.d(__webpack_exports__, {
12275
12289
  var es_iterator_constructor = __webpack_require__(8111);
12276
12290
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.drop.js
12277
12291
  var es_iterator_drop = __webpack_require__(9314);
12278
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-column-card/View.vue?vue&type=template&id=155a8242&scoped=true
12292
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-column-card/View.vue?vue&type=template&id=ad0fdc1e&scoped=true
12279
12293
 
12280
12294
 
12281
12295
 
@@ -12387,7 +12401,7 @@ var render = function render() {
12387
12401
  };
12388
12402
  var staticRenderFns = [];
12389
12403
 
12390
- ;// ./package/cms-column-card/View.vue?vue&type=template&id=155a8242&scoped=true
12404
+ ;// ./package/cms-column-card/View.vue?vue&type=template&id=ad0fdc1e&scoped=true
12391
12405
 
12392
12406
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js
12393
12407
  var es_array_push = __webpack_require__(4114);
@@ -12529,10 +12543,12 @@ var standard_page = __webpack_require__(8134);
12529
12543
  },
12530
12544
  // 获取容器圆角
12531
12545
  getContainerBorderRadius() {
12532
- if (this.configData.borderRadius) {
12533
- return `${this.configData.borderRadius}px`;
12546
+ const radius = this.configData.borderRadius !== undefined && this.configData.borderRadius !== null ? this.configData.borderRadius : 0;
12547
+ if (radius === "full") {
12548
+ return "9999px";
12534
12549
  }
12535
- return "0";
12550
+ const radiusNumber = Number(radius);
12551
+ return Number.isNaN(radiusNumber) ? "0px" : `${radiusNumber}px`;
12536
12552
  },
12537
12553
  getConfigData(configData) {
12538
12554
  this.configData = configData;
@@ -12692,10 +12708,10 @@ var standard_page = __webpack_require__(8134);
12692
12708
  });
12693
12709
  ;// ./package/cms-column-card/View.vue?vue&type=script&lang=js
12694
12710
  /* harmony default export */ var cms_column_card_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
12695
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-column-card/View.vue?vue&type=style&index=0&id=155a8242&prod&lang=scss&scoped=true
12711
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-column-card/View.vue?vue&type=style&index=0&id=ad0fdc1e&prod&lang=scss&scoped=true
12696
12712
  // extracted by mini-css-extract-plugin
12697
12713
 
12698
- ;// ./package/cms-column-card/View.vue?vue&type=style&index=0&id=155a8242&prod&lang=scss&scoped=true
12714
+ ;// ./package/cms-column-card/View.vue?vue&type=style&index=0&id=ad0fdc1e&prod&lang=scss&scoped=true
12699
12715
 
12700
12716
  // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
12701
12717
  var componentNormalizer = __webpack_require__(1656);
@@ -12714,13 +12730,404 @@ var component = (0,componentNormalizer/* default */.A)(
12714
12730
  staticRenderFns,
12715
12731
  false,
12716
12732
  null,
12717
- "155a8242",
12733
+ "ad0fdc1e",
12718
12734
  null
12719
12735
 
12720
12736
  )
12721
12737
 
12722
12738
  /* harmony default export */ var View = (component.exports);
12723
12739
 
12740
+ /***/ }),
12741
+
12742
+ /***/ 2059:
12743
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
12744
+
12745
+ "use strict";
12746
+ __webpack_require__.r(__webpack_exports__);
12747
+ /* harmony default export */ __webpack_exports__["default"] = ({
12748
+ listPrice: 'Monthly Fee',
12749
+ oneoffPrice: 'One-off Price',
12750
+ bannerName: 'My collection',
12751
+ price: 'Price',
12752
+ all: 'All',
12753
+ bannerDes: 'Enjoy a leisurely journey in the Greater Bay Area, carrying your bags without any worries',
12754
+ addValue: 'Add value immediately',
12755
+ whyFiveG: 'Why CMHK 5G Broadband?',
12756
+ whyFiveGDes: 'Perfect for replacing slow-speed landlines / having your own broadband network',
12757
+ fiveGDesTitle: 'Choose Your 5G Broadband Service Plan',
12758
+ fiveGDesSubTitle: 'Come and choose the 5G widescreen service plan that suits you! Diverse and rich digital content opens up new possibilities for your world ',
12759
+ nowCostomersYh: 'Exclusive Offers for Existing CMHK Customers',
12760
+ login: 'Login',
12761
+ lookNowCostomerYh: 'and Check Your Exclusive Offers',
12762
+ yhPlaceholder: 'Enter Promo Code',
12763
+ search: 'Apply',
12764
+ select: 'Apply',
12765
+ detail: 'Learn more',
12766
+ yhCode: 'Promo Code Applied:',
12767
+ listHyq: 'Contract Period(Month)',
12768
+ basePrice: 'Originally',
12769
+ closeDetail: 'Collapse Details',
12770
+ open: 'Choose The Plan',
12771
+ expend: 'Expand',
12772
+ close: 'Collapse',
12773
+ lookDetail: 'View Details',
12774
+ chooseHyq: 'Contract Period (Month)',
12775
+ addService: 'Promotional Offers',
12776
+ reset: 'Reset Options',
12777
+ next: 'Next',
12778
+ nextMobile: 'Next',
12779
+ seeOther: "Let's take a look at other products",
12780
+ seeOtherDesc: 'Diverse and rich digital content opens up new possibilities for your world',
12781
+ stageWay: 'On stage way',
12782
+ newPhone: 'New number',
12783
+ systemNum: 'Number assigned by the system',
12784
+ simType: 'SIM card type',
12785
+ shitiSim: 'Physical SIM card',
12786
+ yhCodeText: 'Promo code',
12787
+ bandwidth: 'bandwidth',
12788
+ sfmx: 'Summary'
12789
+ });
12790
+
12791
+ /***/ }),
12792
+
12793
+ /***/ 2071:
12794
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
12795
+
12796
+ "use strict";
12797
+
12798
+
12799
+ exports.__esModule = true;
12800
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) {
12801
+ return typeof obj;
12802
+ } : function (obj) {
12803
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
12804
+ };
12805
+ exports["default"] = function (Vue) {
12806
+ /**
12807
+ * template
12808
+ *
12809
+ * @param {String} string
12810
+ * @param {Array} ...args
12811
+ * @return {String}
12812
+ */
12813
+
12814
+ function template(string) {
12815
+ for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
12816
+ args[_key - 1] = arguments[_key];
12817
+ }
12818
+ if (args.length === 1 && _typeof(args[0]) === 'object') {
12819
+ args = args[0];
12820
+ }
12821
+ if (!args || !args.hasOwnProperty) {
12822
+ args = {};
12823
+ }
12824
+ return string.replace(RE_NARGS, function (match, prefix, i, index) {
12825
+ var result = void 0;
12826
+ if (string[index - 1] === '{' && string[index + match.length] === '}') {
12827
+ return i;
12828
+ } else {
12829
+ result = (0, _util.hasOwn)(args, i) ? args[i] : null;
12830
+ if (result === null || result === undefined) {
12831
+ return '';
12832
+ }
12833
+ return result;
12834
+ }
12835
+ });
12836
+ }
12837
+ return template;
12838
+ };
12839
+ var _util = __webpack_require__(2125);
12840
+ var RE_NARGS = /(%|)\{([0-9a-zA-Z_]+)\}/g;
12841
+ /**
12842
+ * String format template
12843
+ * - Inspired:
12844
+ * https://github.com/Matt-Esch/string-template/index.js
12845
+ */
12846
+
12847
+ /***/ }),
12848
+
12849
+ /***/ 2106:
12850
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
12851
+
12852
+ "use strict";
12853
+
12854
+ var makeBuiltIn = __webpack_require__(283);
12855
+ var defineProperty = __webpack_require__(4913);
12856
+
12857
+ module.exports = function (target, name, descriptor) {
12858
+ if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });
12859
+ if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });
12860
+ return defineProperty.f(target, name, descriptor);
12861
+ };
12862
+
12863
+
12864
+ /***/ }),
12865
+
12866
+ /***/ 2125:
12867
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
12868
+
12869
+ "use strict";
12870
+
12871
+
12872
+ exports.__esModule = true;
12873
+ exports.isMac = exports.isEmpty = exports.isEqual = exports.arrayEquals = exports.looseEqual = exports.capitalize = exports.kebabCase = exports.autoprefixer = exports.isFirefox = exports.isEdge = exports.isIE = exports.coerceTruthyValueToArray = exports.arrayFind = exports.arrayFindIndex = exports.escapeRegexpString = exports.valueEquals = exports.generateId = exports.getValueByPath = undefined;
12874
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) {
12875
+ return typeof obj;
12876
+ } : function (obj) {
12877
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
12878
+ };
12879
+ exports.noop = noop;
12880
+ exports.hasOwn = hasOwn;
12881
+ exports.toObject = toObject;
12882
+ exports.getPropByPath = getPropByPath;
12883
+ exports.rafThrottle = rafThrottle;
12884
+ exports.objToArray = objToArray;
12885
+ var _vue = __webpack_require__(6848);
12886
+ var _vue2 = _interopRequireDefault(_vue);
12887
+ var _types = __webpack_require__(7012);
12888
+ function _interopRequireDefault(obj) {
12889
+ return obj && obj.__esModule ? obj : {
12890
+ default: obj
12891
+ };
12892
+ }
12893
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
12894
+ function noop() {}
12895
+ ;
12896
+ function hasOwn(obj, key) {
12897
+ return hasOwnProperty.call(obj, key);
12898
+ }
12899
+ ;
12900
+ function extend(to, _from) {
12901
+ for (var key in _from) {
12902
+ to[key] = _from[key];
12903
+ }
12904
+ return to;
12905
+ }
12906
+ ;
12907
+ function toObject(arr) {
12908
+ var res = {};
12909
+ for (var i = 0; i < arr.length; i++) {
12910
+ if (arr[i]) {
12911
+ extend(res, arr[i]);
12912
+ }
12913
+ }
12914
+ return res;
12915
+ }
12916
+ ;
12917
+ var getValueByPath = exports.getValueByPath = function getValueByPath(object, prop) {
12918
+ prop = prop || '';
12919
+ var paths = prop.split('.');
12920
+ var current = object;
12921
+ var result = null;
12922
+ for (var i = 0, j = paths.length; i < j; i++) {
12923
+ var path = paths[i];
12924
+ if (!current) break;
12925
+ if (i === j - 1) {
12926
+ result = current[path];
12927
+ break;
12928
+ }
12929
+ current = current[path];
12930
+ }
12931
+ return result;
12932
+ };
12933
+ function getPropByPath(obj, path, strict) {
12934
+ var tempObj = obj;
12935
+ path = path.replace(/\[(\w+)\]/g, '.$1');
12936
+ path = path.replace(/^\./, '');
12937
+ var keyArr = path.split('.');
12938
+ var i = 0;
12939
+ for (var len = keyArr.length; i < len - 1; ++i) {
12940
+ if (!tempObj && !strict) break;
12941
+ var key = keyArr[i];
12942
+ if (key in tempObj) {
12943
+ tempObj = tempObj[key];
12944
+ } else {
12945
+ if (strict) {
12946
+ throw new Error('please transfer a valid prop path to form item!');
12947
+ }
12948
+ break;
12949
+ }
12950
+ }
12951
+ return {
12952
+ o: tempObj,
12953
+ k: keyArr[i],
12954
+ v: tempObj ? tempObj[keyArr[i]] : null
12955
+ };
12956
+ }
12957
+ ;
12958
+ var generateId = exports.generateId = function generateId() {
12959
+ return Math.floor(Math.random() * 10000);
12960
+ };
12961
+ var valueEquals = exports.valueEquals = function valueEquals(a, b) {
12962
+ // see: https://stackoverflow.com/questions/3115982/how-to-check-if-two-arrays-are-equal-with-javascript
12963
+ if (a === b) return true;
12964
+ if (!(a instanceof Array)) return false;
12965
+ if (!(b instanceof Array)) return false;
12966
+ if (a.length !== b.length) return false;
12967
+ for (var i = 0; i !== a.length; ++i) {
12968
+ if (a[i] !== b[i]) return false;
12969
+ }
12970
+ return true;
12971
+ };
12972
+ var escapeRegexpString = exports.escapeRegexpString = function escapeRegexpString() {
12973
+ var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
12974
+ return String(value).replace(/[|\\{}()[\]^$+*?.]/g, '\\$&');
12975
+ };
12976
+
12977
+ // TODO: use native Array.find, Array.findIndex when IE support is dropped
12978
+ var arrayFindIndex = exports.arrayFindIndex = function arrayFindIndex(arr, pred) {
12979
+ for (var i = 0; i !== arr.length; ++i) {
12980
+ if (pred(arr[i])) {
12981
+ return i;
12982
+ }
12983
+ }
12984
+ return -1;
12985
+ };
12986
+ var arrayFind = exports.arrayFind = function arrayFind(arr, pred) {
12987
+ var idx = arrayFindIndex(arr, pred);
12988
+ return idx !== -1 ? arr[idx] : undefined;
12989
+ };
12990
+
12991
+ // coerce truthy value to array
12992
+ var coerceTruthyValueToArray = exports.coerceTruthyValueToArray = function coerceTruthyValueToArray(val) {
12993
+ if (Array.isArray(val)) {
12994
+ return val;
12995
+ } else if (val) {
12996
+ return [val];
12997
+ } else {
12998
+ return [];
12999
+ }
13000
+ };
13001
+ var isIE = exports.isIE = function isIE() {
13002
+ return !_vue2.default.prototype.$isServer && !isNaN(Number(document.documentMode));
13003
+ };
13004
+ var isEdge = exports.isEdge = function isEdge() {
13005
+ return !_vue2.default.prototype.$isServer && navigator.userAgent.indexOf('Edge') > -1;
13006
+ };
13007
+ var isFirefox = exports.isFirefox = function isFirefox() {
13008
+ return !_vue2.default.prototype.$isServer && !!window.navigator.userAgent.match(/firefox/i);
13009
+ };
13010
+ var autoprefixer = exports.autoprefixer = function autoprefixer(style) {
13011
+ if ((typeof style === 'undefined' ? 'undefined' : _typeof(style)) !== 'object') return style;
13012
+ var rules = ['transform', 'transition', 'animation'];
13013
+ var prefixes = ['ms-', 'webkit-'];
13014
+ rules.forEach(function (rule) {
13015
+ var value = style[rule];
13016
+ if (rule && value) {
13017
+ prefixes.forEach(function (prefix) {
13018
+ style[prefix + rule] = value;
13019
+ });
13020
+ }
13021
+ });
13022
+ return style;
13023
+ };
13024
+ var kebabCase = exports.kebabCase = function kebabCase(str) {
13025
+ var hyphenateRE = /([^-])([A-Z])/g;
13026
+ return str.replace(hyphenateRE, '$1-$2').replace(hyphenateRE, '$1-$2').toLowerCase();
13027
+ };
13028
+ var capitalize = exports.capitalize = function capitalize(str) {
13029
+ if (!(0, _types.isString)(str)) return str;
13030
+ return str.charAt(0).toUpperCase() + str.slice(1);
13031
+ };
13032
+ var looseEqual = exports.looseEqual = function looseEqual(a, b) {
13033
+ var isObjectA = (0, _types.isObject)(a);
13034
+ var isObjectB = (0, _types.isObject)(b);
13035
+ if (isObjectA && isObjectB) {
13036
+ return JSON.stringify(a) === JSON.stringify(b);
13037
+ } else if (!isObjectA && !isObjectB) {
13038
+ return String(a) === String(b);
13039
+ } else {
13040
+ return false;
13041
+ }
13042
+ };
13043
+ var arrayEquals = exports.arrayEquals = function arrayEquals(arrayA, arrayB) {
13044
+ arrayA = arrayA || [];
13045
+ arrayB = arrayB || [];
13046
+ if (arrayA.length !== arrayB.length) {
13047
+ return false;
13048
+ }
13049
+ for (var i = 0; i < arrayA.length; i++) {
13050
+ if (!looseEqual(arrayA[i], arrayB[i])) {
13051
+ return false;
13052
+ }
13053
+ }
13054
+ return true;
13055
+ };
13056
+ var isEqual = exports.isEqual = function isEqual(value1, value2) {
13057
+ if (Array.isArray(value1) && Array.isArray(value2)) {
13058
+ return arrayEquals(value1, value2);
13059
+ }
13060
+ return looseEqual(value1, value2);
13061
+ };
13062
+ var isEmpty = exports.isEmpty = function isEmpty(val) {
13063
+ // null or undefined
13064
+ if (val == null) return true;
13065
+ if (typeof val === 'boolean') return false;
13066
+ if (typeof val === 'number') return !val;
13067
+ if (val instanceof Error) return val.message === '';
13068
+ switch (Object.prototype.toString.call(val)) {
13069
+ // String or Array
13070
+ case '[object String]':
13071
+ case '[object Array]':
13072
+ return !val.length;
13073
+
13074
+ // Map or Set or File
13075
+ case '[object File]':
13076
+ case '[object Map]':
13077
+ case '[object Set]':
13078
+ {
13079
+ return !val.size;
13080
+ }
13081
+ // Plain Object
13082
+ case '[object Object]':
13083
+ {
13084
+ return !Object.keys(val).length;
13085
+ }
13086
+ }
13087
+ return false;
13088
+ };
13089
+ function rafThrottle(fn) {
13090
+ var locked = false;
13091
+ return function () {
13092
+ var _this = this;
13093
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
13094
+ args[_key] = arguments[_key];
13095
+ }
13096
+ if (locked) return;
13097
+ locked = true;
13098
+ window.requestAnimationFrame(function (_) {
13099
+ fn.apply(_this, args);
13100
+ locked = false;
13101
+ });
13102
+ };
13103
+ }
13104
+ function objToArray(obj) {
13105
+ if (Array.isArray(obj)) {
13106
+ return obj;
13107
+ }
13108
+ return isEmpty(obj) ? [] : [obj];
13109
+ }
13110
+ var isMac = exports.isMac = function isMac() {
13111
+ return !_vue2.default.prototype.$isServer && /macintosh|mac os x/i.test(navigator.userAgent);
13112
+ };
13113
+
13114
+ /***/ }),
13115
+
13116
+ /***/ 2140:
13117
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
13118
+
13119
+ "use strict";
13120
+
13121
+ var wellKnownSymbol = __webpack_require__(8227);
13122
+
13123
+ var TO_STRING_TAG = wellKnownSymbol('toStringTag');
13124
+ var test = {};
13125
+
13126
+ test[TO_STRING_TAG] = 'z';
13127
+
13128
+ module.exports = String(test) === '[object z]';
13129
+
13130
+
12724
13131
  /***/ }),
12725
13132
 
12726
13133
  /***/ 2195:
@@ -13540,7 +13947,7 @@ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind
13540
13947
  __webpack_require__.r(__webpack_exports__);
13541
13948
  /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
13542
13949
 
13543
- const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 8863));
13950
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 3761));
13544
13951
  const langData = {
13545
13952
  // 视频源设置
13546
13953
  title: '',
@@ -13557,10 +13964,32 @@ const langData = {
13557
13964
  aspectRatio: "16:9",
13558
13965
  // 样式设置
13559
13966
  borderRadius: 0,
13967
+ cornerRadius: {
13968
+ topLeft: "8",
13969
+ topRight: "8",
13970
+ bottomLeft: "8",
13971
+ bottomRight: "8"
13972
+ },
13560
13973
  // 高级配置
13561
13974
  customClass: "",
13562
13975
  customStyle: ""
13563
13976
  };
13977
+ const radiusOptions = [{
13978
+ label: "0",
13979
+ value: "0"
13980
+ }, {
13981
+ label: "4",
13982
+ value: "4"
13983
+ }, {
13984
+ label: "8",
13985
+ value: "8"
13986
+ }, {
13987
+ label: "16",
13988
+ value: "16"
13989
+ }, {
13990
+ label: "全圆角",
13991
+ value: "full"
13992
+ }];
13564
13993
  const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataType)(langData, {
13565
13994
  // 视频源设置配置
13566
13995
  title: {
@@ -13638,13 +14067,10 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
13638
14067
  }]
13639
14068
  },
13640
14069
  // 样式设置配置
13641
- borderRadius: {
13642
- label: "圆角(px)",
13643
- widgetType: "el-input-number",
13644
- size: "small",
13645
- min: 0,
13646
- max: 100,
13647
- step: 1
14070
+ cornerRadius: {
14071
+ label: "圆角",
14072
+ widgetType: "CornerRadiusPicker",
14073
+ options: radiusOptions
13648
14074
  }
13649
14075
 
13650
14076
  // 高级配置
@@ -13899,6 +14325,361 @@ module.exports = Object;
13899
14325
 
13900
14326
  /***/ }),
13901
14327
 
14328
+ /***/ 2521:
14329
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
14330
+
14331
+ "use strict";
14332
+ // ESM COMPAT FLAG
14333
+ __webpack_require__.r(__webpack_exports__);
14334
+
14335
+ // EXPORTS
14336
+ __webpack_require__.d(__webpack_exports__, {
14337
+ "default": function() { return /* binding */ View; }
14338
+ });
14339
+
14340
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-image/View.vue?vue&type=template&id=0c128a30&scoped=true
14341
+ var render = function render() {
14342
+ var _vm = this,
14343
+ _c = _vm._self._c;
14344
+ return _c('BaseComp', _vm._b({
14345
+ attrs: {
14346
+ "data": _vm.data,
14347
+ "nowCompId": _vm.nowCompId,
14348
+ "isOpcacity": _vm.isOpcacity,
14349
+ "lang": _vm.lang
14350
+ },
14351
+ on: {
14352
+ "getConfigData": _vm.getConfigData
14353
+ }
14354
+ }, 'BaseComp', _vm.$attrs, false), [_c('section', {
14355
+ staticClass: "cms-image-container",
14356
+ class: [_vm.configData.customClass || '', {
14357
+ 'has-link': _vm.configData.zoomDynamic
14358
+ }],
14359
+ style: _vm.containerStyle
14360
+ }, [_c('div', {
14361
+ staticClass: "image-wrapper",
14362
+ style: _vm.wrapperStyle,
14363
+ on: {
14364
+ "click": _vm.handleClick
14365
+ }
14366
+ }, [_vm.configData.imageUrl ? _c('img', {
14367
+ staticClass: "cms-image",
14368
+ style: _vm.imageStyle,
14369
+ attrs: {
14370
+ "src": _vm.configData.imageUrl,
14371
+ "alt": _vm.configData.altText || '图片',
14372
+ "title": _vm.configData.title
14373
+ },
14374
+ on: {
14375
+ "load": _vm.onImageLoad,
14376
+ "error": _vm.onImageError
14377
+ }
14378
+ }) : _c('div', {
14379
+ staticClass: "image-placeholder",
14380
+ style: _vm.placeholderStyle
14381
+ }, [_c('img', {
14382
+ staticStyle: {
14383
+ "width": "200px",
14384
+ "height": "200px"
14385
+ },
14386
+ attrs: {
14387
+ "src": __webpack_require__(4806),
14388
+ "alt": "Picture"
14389
+ }
14390
+ })])])]), _vm.configData.remark ? _c('div', {
14391
+ staticClass: "f-c-c"
14392
+ }, [_vm._v(_vm._s(_vm.configData.remark))]) : _vm._e()]);
14393
+ };
14394
+ var staticRenderFns = [];
14395
+
14396
+ ;// ./package/cms-image/View.vue?vue&type=template&id=0c128a30&scoped=true
14397
+
14398
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
14399
+ var es_iterator_constructor = __webpack_require__(8111);
14400
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
14401
+ var es_iterator_for_each = __webpack_require__(7588);
14402
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
14403
+ var baseComp = __webpack_require__(4272);
14404
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-image/View.vue?vue&type=script&lang=js
14405
+
14406
+
14407
+
14408
+
14409
+
14410
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
14411
+ name: "cms-image",
14412
+ components: {
14413
+ BaseComp: baseComp["default"]
14414
+ },
14415
+ props: {
14416
+ data: {
14417
+ type: Object,
14418
+ default: () => {
14419
+ return {};
14420
+ }
14421
+ },
14422
+ nowCompId: {
14423
+ type: [String, Number],
14424
+ default: ""
14425
+ },
14426
+ isOpcacity: {
14427
+ type: Boolean,
14428
+ default: true
14429
+ },
14430
+ lang: {
14431
+ type: String,
14432
+ default: "zh-HK"
14433
+ }
14434
+ },
14435
+ data() {
14436
+ return {
14437
+ configData: {},
14438
+ imageLoaded: false,
14439
+ imageError: false,
14440
+ // 默认配置数据
14441
+ defaultConfig: {
14442
+ // 图片设置
14443
+ imageUrl: "",
14444
+ altText: "图片",
14445
+ title: "",
14446
+ // 样式设置
14447
+ borderRadius: 0,
14448
+ cornerRadius: {
14449
+ topLeft: "8",
14450
+ topRight: "8",
14451
+ bottomLeft: "8",
14452
+ bottomRight: "8"
14453
+ },
14454
+ objectFit: "cover",
14455
+ // 交互功能
14456
+ linkUrl: "",
14457
+ linkTarget: "_self",
14458
+ // 高级配置
14459
+ customClass: "",
14460
+ customStyle: "",
14461
+ lazyLoad: false,
14462
+ zoomDynamic: false
14463
+ }
14464
+ };
14465
+ },
14466
+ mounted() {
14467
+ this.initConfigData();
14468
+ },
14469
+ watch: {
14470
+ configData: {
14471
+ handler() {
14472
+ this.updateStyles();
14473
+ },
14474
+ deep: true
14475
+ }
14476
+ },
14477
+ computed: {
14478
+ // 容器样式
14479
+ containerStyle() {
14480
+ const config = {
14481
+ ...this.defaultConfig,
14482
+ ...this.configData
14483
+ };
14484
+ return {
14485
+ ...this.parseCustomStyle(config.customStyle)
14486
+ };
14487
+ },
14488
+ borderRadiusStyle() {
14489
+ const config = {
14490
+ ...this.defaultConfig,
14491
+ ...this.configData
14492
+ };
14493
+ const fallback = config.borderRadius !== undefined && config.borderRadius !== null ? `${config.borderRadius}px` : "0px";
14494
+ const radiusConfig = config.cornerRadius || {};
14495
+ const legacyMap = {
14496
+ topLeft: config.borderRadiusTopLeft,
14497
+ topRight: config.borderRadiusTopRight,
14498
+ bottomLeft: config.borderRadiusBottomLeft,
14499
+ bottomRight: config.borderRadiusBottomRight
14500
+ };
14501
+ const resolveValue = corner => {
14502
+ const value = radiusConfig[corner] !== undefined && radiusConfig[corner] !== null ? radiusConfig[corner] : legacyMap[corner];
14503
+ if (value === "full") return "9999px";
14504
+ if (value === undefined || value === null || value === "") {
14505
+ return fallback;
14506
+ }
14507
+ const num = Number(value);
14508
+ return Number.isNaN(num) ? fallback : `${num}px`;
14509
+ };
14510
+ return {
14511
+ topLeft: resolveValue("topLeft"),
14512
+ topRight: resolveValue("topRight"),
14513
+ bottomLeft: resolveValue("bottomLeft"),
14514
+ bottomRight: resolveValue("bottomRight")
14515
+ };
14516
+ },
14517
+ // 包装器样式
14518
+ wrapperStyle() {
14519
+ const config = {
14520
+ ...this.defaultConfig,
14521
+ ...this.configData
14522
+ };
14523
+ return {
14524
+ width: "100%",
14525
+ height: "auto",
14526
+ maxWidth: "100%",
14527
+ borderTopLeftRadius: this.borderRadiusStyle.topLeft,
14528
+ borderTopRightRadius: this.borderRadiusStyle.topRight,
14529
+ borderBottomLeftRadius: this.borderRadiusStyle.bottomLeft,
14530
+ borderBottomRightRadius: this.borderRadiusStyle.bottomRight,
14531
+ overflow: "hidden",
14532
+ cursor: config.linkUrl ? "pointer" : "default",
14533
+ display: "block"
14534
+ };
14535
+ },
14536
+ // 图片样式
14537
+ imageStyle() {
14538
+ const config = {
14539
+ ...this.defaultConfig,
14540
+ ...this.configData
14541
+ };
14542
+ return {
14543
+ width: "100%",
14544
+ height: "auto",
14545
+ objectFit: config.objectFit,
14546
+ display: "block"
14547
+ };
14548
+ },
14549
+ // 占位符样式
14550
+ placeholderStyle() {
14551
+ const config = {
14552
+ ...this.defaultConfig,
14553
+ ...this.configData
14554
+ };
14555
+ return {
14556
+ width: "100%",
14557
+ minHeight: "150px",
14558
+ backgroundColor: "#F2F9FF",
14559
+ border: "1px dashed #dcdfe6",
14560
+ borderTopLeftRadius: this.borderRadiusStyle.topLeft,
14561
+ borderTopRightRadius: this.borderRadiusStyle.topRight,
14562
+ borderBottomLeftRadius: this.borderRadiusStyle.bottomLeft,
14563
+ borderBottomRightRadius: this.borderRadiusStyle.bottomRight,
14564
+ display: "flex",
14565
+ flexDirection: "column",
14566
+ alignItems: "center",
14567
+ justifyContent: "center",
14568
+ color: "#909399",
14569
+ fontSize: "14px"
14570
+ };
14571
+ }
14572
+ },
14573
+ methods: {
14574
+ // 初始化配置数据
14575
+ initConfigData() {
14576
+ this.configData = this.getMergedConfig(this.configData);
14577
+ },
14578
+ // 获取配置数据
14579
+ getConfigData(configData) {
14580
+ this.configData = this.getMergedConfig(configData);
14581
+ this.updateStyles();
14582
+ },
14583
+ // 更新样式
14584
+ updateStyles() {
14585
+ this.$nextTick(() => {
14586
+ this.$forceUpdate();
14587
+ });
14588
+ },
14589
+ getMergedConfig(configData = {}) {
14590
+ const mergedCorner = {
14591
+ ...(this.defaultConfig.cornerRadius || {})
14592
+ };
14593
+ if (configData.cornerRadius) {
14594
+ Object.assign(mergedCorner, configData.cornerRadius);
14595
+ } else {
14596
+ var _configData$borderRad, _configData$borderRad2, _configData$borderRad3, _configData$borderRad4;
14597
+ mergedCorner.topLeft = (_configData$borderRad = configData.borderRadiusTopLeft) === null || _configData$borderRad === void 0 ? void 0 : _configData$borderRad.mergedCorner.topLeft;
14598
+ mergedCorner.topRight = (_configData$borderRad2 = configData.borderRadiusTopRight) === null || _configData$borderRad2 === void 0 ? void 0 : _configData$borderRad2.mergedCorner.topRight;
14599
+ mergedCorner.bottomLeft = (_configData$borderRad3 = configData.borderRadiusBottomLeft) === null || _configData$borderRad3 === void 0 ? void 0 : _configData$borderRad3.mergedCorner.bottomLeft;
14600
+ mergedCorner.bottomRight = (_configData$borderRad4 = configData.borderRadiusBottomRight) === null || _configData$borderRad4 === void 0 ? void 0 : _configData$borderRad4.mergedCorner.bottomRight;
14601
+ }
14602
+ return {
14603
+ ...this.defaultConfig,
14604
+ ...configData,
14605
+ cornerRadius: mergedCorner
14606
+ };
14607
+ },
14608
+ // 处理点击事件
14609
+ handleClick() {
14610
+ if (this.configData.linkUrl) {
14611
+ const target = this.configData.linkTarget || "_self";
14612
+ if (target === "_blank") {
14613
+ window.open(this.configData.linkUrl, "_blank");
14614
+ } else {
14615
+ window.location.href = this.configData.linkUrl;
14616
+ }
14617
+ }
14618
+ },
14619
+ // 图片加载成功
14620
+ onImageLoad() {
14621
+ this.imageLoaded = true;
14622
+ this.imageError = false;
14623
+ },
14624
+ // 图片加载失败
14625
+ onImageError() {
14626
+ this.imageLoaded = false;
14627
+ this.imageError = true;
14628
+ },
14629
+ // 解析自定义样式
14630
+ parseCustomStyle(customStyle) {
14631
+ if (!customStyle) return {};
14632
+ try {
14633
+ const styles = {};
14634
+ const declarations = customStyle.split(";");
14635
+ declarations.forEach(declaration => {
14636
+ const [property, value] = declaration.split(":");
14637
+ if (property && value) {
14638
+ const camelCaseProperty = property.trim().replace(/-([a-z])/g, g => g[1].toUpperCase());
14639
+ styles[camelCaseProperty] = value.trim();
14640
+ }
14641
+ });
14642
+ return styles;
14643
+ } catch (error) {
14644
+ console.warn("解析自定义样式失败:", error);
14645
+ return {};
14646
+ }
14647
+ }
14648
+ }
14649
+ });
14650
+ ;// ./package/cms-image/View.vue?vue&type=script&lang=js
14651
+ /* harmony default export */ var cms_image_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
14652
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-image/View.vue?vue&type=style&index=0&id=0c128a30&prod&lang=scss&scoped=true
14653
+ // extracted by mini-css-extract-plugin
14654
+
14655
+ ;// ./package/cms-image/View.vue?vue&type=style&index=0&id=0c128a30&prod&lang=scss&scoped=true
14656
+
14657
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
14658
+ var componentNormalizer = __webpack_require__(1656);
14659
+ ;// ./package/cms-image/View.vue
14660
+
14661
+
14662
+
14663
+ ;
14664
+
14665
+
14666
+ /* normalize component */
14667
+
14668
+ var component = (0,componentNormalizer/* default */.A)(
14669
+ cms_image_Viewvue_type_script_lang_js,
14670
+ render,
14671
+ staticRenderFns,
14672
+ false,
14673
+ null,
14674
+ "0c128a30",
14675
+ null
14676
+
14677
+ )
14678
+
14679
+ /* harmony default export */ var View = (component.exports);
14680
+
14681
+ /***/ }),
14682
+
13902
14683
  /***/ 2528:
13903
14684
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
13904
14685
 
@@ -27166,6 +27947,388 @@ const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSc
27166
27947
 
27167
27948
  /***/ }),
27168
27949
 
27950
+ /***/ 3761:
27951
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
27952
+
27953
+ "use strict";
27954
+ // ESM COMPAT FLAG
27955
+ __webpack_require__.r(__webpack_exports__);
27956
+
27957
+ // EXPORTS
27958
+ __webpack_require__.d(__webpack_exports__, {
27959
+ "default": function() { return /* binding */ View; }
27960
+ });
27961
+
27962
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-video/View.vue?vue&type=template&id=11fc0d9a&scoped=true
27963
+ var render = function render() {
27964
+ var _vm = this,
27965
+ _c = _vm._self._c;
27966
+ return _c('BaseComp', _vm._b({
27967
+ attrs: {
27968
+ "data": _vm.data,
27969
+ "nowCompId": _vm.nowCompId,
27970
+ "isOpcacity": _vm.isOpcacity,
27971
+ "lang": _vm.lang
27972
+ },
27973
+ on: {
27974
+ "getConfigData": _vm.getConfigData
27975
+ }
27976
+ }, 'BaseComp', _vm.$attrs, false), [_c('section', {
27977
+ staticClass: "cms-video-container",
27978
+ class: [_vm.configData.customClass || ''],
27979
+ style: _vm.containerStyle
27980
+ }, [_c('div', {
27981
+ staticClass: "video-wrapper",
27982
+ style: _vm.wrapperStyle
27983
+ }, [_vm.videoType === 'direct' && _vm.configData.videoUrl ? _c('video', {
27984
+ staticClass: "cms-video direct-video",
27985
+ style: _vm.videoStyle,
27986
+ attrs: {
27987
+ "src": _vm.configData.videoUrl,
27988
+ "controls": _vm.configData.showControls,
27989
+ "autoplay": _vm.configData.autoplay,
27990
+ "loop": _vm.configData.loop,
27991
+ "poster": _vm.configData.posterUrl
27992
+ },
27993
+ domProps: {
27994
+ "muted": _vm.configData.muted
27995
+ },
27996
+ on: {
27997
+ "loadstart": _vm.onVideoLoadStart,
27998
+ "loadeddata": _vm.onVideoLoaded,
27999
+ "error": _vm.onVideoError
28000
+ }
28001
+ }) : _vm.configData.embedCode ? _c('div', {
28002
+ staticClass: "cms-video embed-video cms-ht",
28003
+ style: _vm.videoStyle,
28004
+ domProps: {
28005
+ "innerHTML": _vm._s(_vm.configData.embedCode)
28006
+ }
28007
+ }) : _c('div', {
28008
+ staticClass: "video-placeholder",
28009
+ style: _vm.placeholderStyle
28010
+ }, [_c('img', {
28011
+ staticStyle: {
28012
+ "width": "97.82px",
28013
+ "height": "97.82px"
28014
+ },
28015
+ attrs: {
28016
+ "src": __webpack_require__(6148),
28017
+ "alt": "Video Camera"
28018
+ }
28019
+ })])]), _vm.configData.title ? _c('div', {
28020
+ staticClass: "f-c-c"
28021
+ }, [_vm._v(_vm._s(_vm.configData.title))]) : _vm._e()])]);
28022
+ };
28023
+ var staticRenderFns = [];
28024
+
28025
+ ;// ./package/cms-video/View.vue?vue&type=template&id=11fc0d9a&scoped=true
28026
+
28027
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
28028
+ var es_iterator_constructor = __webpack_require__(8111);
28029
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
28030
+ var es_iterator_for_each = __webpack_require__(7588);
28031
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
28032
+ var baseComp = __webpack_require__(4272);
28033
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-video/View.vue?vue&type=script&lang=js
28034
+
28035
+
28036
+
28037
+
28038
+
28039
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
28040
+ name: "cms-video",
28041
+ components: {
28042
+ BaseComp: baseComp["default"]
28043
+ },
28044
+ props: {
28045
+ data: {
28046
+ type: Object,
28047
+ default: () => {
28048
+ return {};
28049
+ }
28050
+ },
28051
+ nowCompId: {
28052
+ type: [String, Number],
28053
+ default: ""
28054
+ },
28055
+ isOpcacity: {
28056
+ type: Boolean,
28057
+ default: true
28058
+ },
28059
+ lang: {
28060
+ type: String,
28061
+ default: "zh-HK"
28062
+ }
28063
+ },
28064
+ data() {
28065
+ return {
28066
+ configData: {},
28067
+ videoLoaded: false,
28068
+ videoError: false,
28069
+ // 默认配置数据
28070
+ defaultConfig: {
28071
+ // 视频源设置
28072
+ videoType: "direct",
28073
+ videoUrl: "",
28074
+ embedCode: "",
28075
+ posterUrl: "",
28076
+ // 播放控制
28077
+ showControls: true,
28078
+ autoplay: false,
28079
+ loop: false,
28080
+ muted: false,
28081
+ // 尺寸控制
28082
+ aspectRatio: "16:9",
28083
+ // 样式设置
28084
+ borderRadius: 0,
28085
+ cornerRadius: {
28086
+ topLeft: "8",
28087
+ topRight: "8",
28088
+ bottomLeft: "8",
28089
+ bottomRight: "8"
28090
+ },
28091
+ // 高级配置
28092
+ customClass: "",
28093
+ customStyle: ""
28094
+ }
28095
+ };
28096
+ },
28097
+ mounted() {
28098
+ this.initConfigData();
28099
+ },
28100
+ watch: {
28101
+ configData: {
28102
+ handler() {
28103
+ this.updateStyles();
28104
+ },
28105
+ deep: true
28106
+ }
28107
+ },
28108
+ computed: {
28109
+ showEmbedCode() {
28110
+ return this.configData.embedCode.replace(/<iframe(.*?)width="(\d+)"(.*?)height="(\d+)"(.*?)>/gi, '<iframe$1width="100%"$3height="auto"$5 aspect-ratio="$2/$4">');
28111
+ },
28112
+ // 视频类型
28113
+ videoType() {
28114
+ return this.configData.videoType || this.defaultConfig.videoType;
28115
+ },
28116
+ // 实际使用的宽高比
28117
+ actualAspectRatio() {
28118
+ const config = {
28119
+ ...this.defaultConfig,
28120
+ ...this.configData
28121
+ };
28122
+ return config.aspectRatio || "16:9";
28123
+ },
28124
+ aspectRatioValue() {
28125
+ const ratio = this.actualAspectRatio;
28126
+ if (!ratio || ratio === "auto") {
28127
+ return null;
28128
+ }
28129
+ return ratio.replace(":", "/");
28130
+ },
28131
+ // 容器样式
28132
+ containerStyle() {
28133
+ const config = {
28134
+ ...this.defaultConfig,
28135
+ ...this.configData
28136
+ };
28137
+ return {
28138
+ ...this.parseCustomStyle(config.customStyle)
28139
+ };
28140
+ },
28141
+ borderRadiusStyle() {
28142
+ const config = {
28143
+ ...this.defaultConfig,
28144
+ ...this.configData
28145
+ };
28146
+ const fallback = config.borderRadius !== undefined && config.borderRadius !== null ? `${config.borderRadius}px` : "0px";
28147
+ const radiusConfig = config.cornerRadius || {};
28148
+ const resolveValue = corner => {
28149
+ const value = radiusConfig[corner] !== undefined && radiusConfig[corner] !== null ? radiusConfig[corner] : config.borderRadius;
28150
+ if (value === "full") return "9999px";
28151
+ if (value === undefined || value === null || value === "") {
28152
+ return fallback;
28153
+ }
28154
+ const num = Number(value);
28155
+ return Number.isNaN(num) ? fallback : `${num}px`;
28156
+ };
28157
+ return {
28158
+ topLeft: resolveValue("topLeft"),
28159
+ topRight: resolveValue("topRight"),
28160
+ bottomLeft: resolveValue("bottomLeft"),
28161
+ bottomRight: resolveValue("bottomRight")
28162
+ };
28163
+ },
28164
+ // 包装器样式
28165
+ wrapperStyle() {
28166
+ const config = {
28167
+ ...this.defaultConfig,
28168
+ ...this.configData
28169
+ };
28170
+ const style = {
28171
+ width: "100%",
28172
+ borderTopLeftRadius: this.borderRadiusStyle.topLeft,
28173
+ borderTopRightRadius: this.borderRadiusStyle.topRight,
28174
+ borderBottomLeftRadius: this.borderRadiusStyle.bottomLeft,
28175
+ borderBottomRightRadius: this.borderRadiusStyle.bottomRight,
28176
+ overflow: "hidden",
28177
+ display: "block",
28178
+ position: "relative"
28179
+ };
28180
+ if (this.aspectRatioValue) {
28181
+ style.aspectRatio = this.aspectRatioValue;
28182
+ }
28183
+ return style;
28184
+ },
28185
+ // 视频样式
28186
+ videoStyle() {
28187
+ const config = {
28188
+ ...this.defaultConfig,
28189
+ ...this.configData
28190
+ };
28191
+ const style = {
28192
+ width: "100%",
28193
+ display: "block",
28194
+ border: "none",
28195
+ outline: "none"
28196
+ };
28197
+ if (this.aspectRatioValue) {
28198
+ style.height = "100%";
28199
+ style.aspectRatio = this.aspectRatioValue;
28200
+ } else {
28201
+ style.height = "auto";
28202
+ }
28203
+ return style;
28204
+ },
28205
+ // 占位符样式
28206
+ placeholderStyle() {
28207
+ const config = {
28208
+ ...this.defaultConfig,
28209
+ ...this.configData
28210
+ };
28211
+ const style = {
28212
+ width: "100%",
28213
+ backgroundColor: "#f5f7fa",
28214
+ border: "1px dashed #dcdfe6",
28215
+ borderTopLeftRadius: this.borderRadiusStyle.topLeft,
28216
+ borderTopRightRadius: this.borderRadiusStyle.topRight,
28217
+ borderBottomLeftRadius: this.borderRadiusStyle.bottomLeft,
28218
+ borderBottomRightRadius: this.borderRadiusStyle.bottomRight,
28219
+ display: "flex",
28220
+ flexDirection: "column",
28221
+ alignItems: "center",
28222
+ justifyContent: "center",
28223
+ color: "#909399",
28224
+ fontSize: "14px"
28225
+ };
28226
+ if (this.aspectRatioValue) {
28227
+ style.aspectRatio = this.aspectRatioValue;
28228
+ } else {
28229
+ style.minHeight = "160px";
28230
+ }
28231
+ return style;
28232
+ }
28233
+ },
28234
+ methods: {
28235
+ // 初始化配置数据
28236
+ initConfigData() {
28237
+ this.configData = this.getMergedConfig(this.configData);
28238
+ },
28239
+ // 获取配置数据
28240
+ getConfigData(configData) {
28241
+ this.configData = this.getMergedConfig(configData);
28242
+ this.updateStyles();
28243
+ },
28244
+ // 更新样式
28245
+ updateStyles() {
28246
+ this.$nextTick(() => {
28247
+ this.$forceUpdate();
28248
+ });
28249
+ },
28250
+ // 视频开始加载
28251
+ onVideoLoadStart() {
28252
+ this.videoLoaded = false;
28253
+ this.videoError = false;
28254
+ },
28255
+ // 视频加载完成
28256
+ onVideoLoaded() {
28257
+ this.videoLoaded = true;
28258
+ this.videoError = false;
28259
+ },
28260
+ // 视频加载失败
28261
+ onVideoError() {
28262
+ this.videoLoaded = false;
28263
+ this.videoError = true;
28264
+ },
28265
+ getMergedConfig(configData = {}) {
28266
+ const mergedCorner = {
28267
+ ...(this.defaultConfig.cornerRadius || {})
28268
+ };
28269
+ if (configData.cornerRadius) {
28270
+ Object.assign(mergedCorner, configData.cornerRadius);
28271
+ }
28272
+ return {
28273
+ ...this.defaultConfig,
28274
+ ...configData,
28275
+ cornerRadius: mergedCorner
28276
+ };
28277
+ },
28278
+ // 解析自定义样式
28279
+ parseCustomStyle(customStyle) {
28280
+ if (!customStyle) return {};
28281
+ try {
28282
+ const styles = {};
28283
+ const declarations = customStyle.split(";");
28284
+ declarations.forEach(declaration => {
28285
+ const [property, value] = declaration.split(":");
28286
+ if (property && value) {
28287
+ const camelCaseProperty = property.trim().replace(/-([a-z])/g, g => g[1].toUpperCase());
28288
+ styles[camelCaseProperty] = value.trim();
28289
+ }
28290
+ });
28291
+ return styles;
28292
+ } catch (error) {
28293
+ console.warn("解析自定义样式失败:", error);
28294
+ return {};
28295
+ }
28296
+ }
28297
+ }
28298
+ });
28299
+ ;// ./package/cms-video/View.vue?vue&type=script&lang=js
28300
+ /* harmony default export */ var cms_video_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
28301
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-video/View.vue?vue&type=style&index=0&id=11fc0d9a&prod&lang=scss&scoped=true
28302
+ // extracted by mini-css-extract-plugin
28303
+
28304
+ ;// ./package/cms-video/View.vue?vue&type=style&index=0&id=11fc0d9a&prod&lang=scss&scoped=true
28305
+
28306
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
28307
+ var componentNormalizer = __webpack_require__(1656);
28308
+ ;// ./package/cms-video/View.vue
28309
+
28310
+
28311
+
28312
+ ;
28313
+
28314
+
28315
+ /* normalize component */
28316
+
28317
+ var component = (0,componentNormalizer/* default */.A)(
28318
+ cms_video_Viewvue_type_script_lang_js,
28319
+ render,
28320
+ staticRenderFns,
28321
+ false,
28322
+ null,
28323
+ "11fc0d9a",
28324
+ null
28325
+
28326
+ )
28327
+
28328
+ /* harmony default export */ var View = (component.exports);
28329
+
28330
+ /***/ }),
28331
+
27169
28332
  /***/ 3783:
27170
28333
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
27171
28334
 
@@ -39041,361 +40204,6 @@ function nonStandardBrowserEnv() {
39041
40204
 
39042
40205
  /***/ }),
39043
40206
 
39044
- /***/ 4825:
39045
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
39046
-
39047
- "use strict";
39048
- // ESM COMPAT FLAG
39049
- __webpack_require__.r(__webpack_exports__);
39050
-
39051
- // EXPORTS
39052
- __webpack_require__.d(__webpack_exports__, {
39053
- "default": function() { return /* binding */ View; }
39054
- });
39055
-
39056
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-image/View.vue?vue&type=template&id=1fc80050&scoped=true
39057
- var render = function render() {
39058
- var _vm = this,
39059
- _c = _vm._self._c;
39060
- return _c('BaseComp', _vm._b({
39061
- attrs: {
39062
- "data": _vm.data,
39063
- "nowCompId": _vm.nowCompId,
39064
- "isOpcacity": _vm.isOpcacity,
39065
- "lang": _vm.lang
39066
- },
39067
- on: {
39068
- "getConfigData": _vm.getConfigData
39069
- }
39070
- }, 'BaseComp', _vm.$attrs, false), [_c('section', {
39071
- staticClass: "cms-image-container",
39072
- class: [_vm.configData.customClass || '', {
39073
- 'has-link': _vm.configData.zoomDynamic
39074
- }],
39075
- style: _vm.containerStyle
39076
- }, [_c('div', {
39077
- staticClass: "image-wrapper",
39078
- style: _vm.wrapperStyle,
39079
- on: {
39080
- "click": _vm.handleClick
39081
- }
39082
- }, [_vm.configData.imageUrl ? _c('img', {
39083
- staticClass: "cms-image",
39084
- style: _vm.imageStyle,
39085
- attrs: {
39086
- "src": _vm.configData.imageUrl,
39087
- "alt": _vm.configData.altText || '图片',
39088
- "title": _vm.configData.title
39089
- },
39090
- on: {
39091
- "load": _vm.onImageLoad,
39092
- "error": _vm.onImageError
39093
- }
39094
- }) : _c('div', {
39095
- staticClass: "image-placeholder",
39096
- style: _vm.placeholderStyle
39097
- }, [_c('img', {
39098
- staticStyle: {
39099
- "width": "200px",
39100
- "height": "200px"
39101
- },
39102
- attrs: {
39103
- "src": __webpack_require__(4806),
39104
- "alt": "Picture"
39105
- }
39106
- })])])]), _vm.configData.remark ? _c('div', {
39107
- staticClass: "f-c-c"
39108
- }, [_vm._v(_vm._s(_vm.configData.remark))]) : _vm._e()]);
39109
- };
39110
- var staticRenderFns = [];
39111
-
39112
- ;// ./package/cms-image/View.vue?vue&type=template&id=1fc80050&scoped=true
39113
-
39114
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
39115
- var es_iterator_constructor = __webpack_require__(8111);
39116
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
39117
- var es_iterator_for_each = __webpack_require__(7588);
39118
- // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
39119
- var baseComp = __webpack_require__(4272);
39120
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-image/View.vue?vue&type=script&lang=js
39121
-
39122
-
39123
-
39124
-
39125
-
39126
- /* harmony default export */ var Viewvue_type_script_lang_js = ({
39127
- name: "cms-image",
39128
- components: {
39129
- BaseComp: baseComp["default"]
39130
- },
39131
- props: {
39132
- data: {
39133
- type: Object,
39134
- default: () => {
39135
- return {};
39136
- }
39137
- },
39138
- nowCompId: {
39139
- type: [String, Number],
39140
- default: ""
39141
- },
39142
- isOpcacity: {
39143
- type: Boolean,
39144
- default: true
39145
- },
39146
- lang: {
39147
- type: String,
39148
- default: "zh-HK"
39149
- }
39150
- },
39151
- data() {
39152
- return {
39153
- configData: {},
39154
- imageLoaded: false,
39155
- imageError: false,
39156
- // 默认配置数据
39157
- defaultConfig: {
39158
- // 图片设置
39159
- imageUrl: "",
39160
- altText: "图片",
39161
- title: "",
39162
- // 样式设置
39163
- borderRadius: 0,
39164
- cornerRadius: {
39165
- topLeft: "0",
39166
- topRight: "0",
39167
- bottomLeft: "0",
39168
- bottomRight: "0"
39169
- },
39170
- objectFit: "cover",
39171
- // 交互功能
39172
- linkUrl: "",
39173
- linkTarget: "_self",
39174
- // 高级配置
39175
- customClass: "",
39176
- customStyle: "",
39177
- lazyLoad: false,
39178
- zoomDynamic: false
39179
- }
39180
- };
39181
- },
39182
- mounted() {
39183
- this.initConfigData();
39184
- },
39185
- watch: {
39186
- configData: {
39187
- handler() {
39188
- this.updateStyles();
39189
- },
39190
- deep: true
39191
- }
39192
- },
39193
- computed: {
39194
- // 容器样式
39195
- containerStyle() {
39196
- const config = {
39197
- ...this.defaultConfig,
39198
- ...this.configData
39199
- };
39200
- return {
39201
- ...this.parseCustomStyle(config.customStyle)
39202
- };
39203
- },
39204
- borderRadiusStyle() {
39205
- const config = {
39206
- ...this.defaultConfig,
39207
- ...this.configData
39208
- };
39209
- const fallback = config.borderRadius !== undefined && config.borderRadius !== null ? `${config.borderRadius}px` : "0px";
39210
- const radiusConfig = config.cornerRadius || {};
39211
- const legacyMap = {
39212
- topLeft: config.borderRadiusTopLeft,
39213
- topRight: config.borderRadiusTopRight,
39214
- bottomLeft: config.borderRadiusBottomLeft,
39215
- bottomRight: config.borderRadiusBottomRight
39216
- };
39217
- const resolveValue = corner => {
39218
- const value = radiusConfig[corner] !== undefined && radiusConfig[corner] !== null ? radiusConfig[corner] : legacyMap[corner];
39219
- if (value === "full") return "9999px";
39220
- if (value === undefined || value === null || value === "") {
39221
- return fallback;
39222
- }
39223
- const num = Number(value);
39224
- return Number.isNaN(num) ? fallback : `${num}px`;
39225
- };
39226
- return {
39227
- topLeft: resolveValue("topLeft"),
39228
- topRight: resolveValue("topRight"),
39229
- bottomLeft: resolveValue("bottomLeft"),
39230
- bottomRight: resolveValue("bottomRight")
39231
- };
39232
- },
39233
- // 包装器样式
39234
- wrapperStyle() {
39235
- const config = {
39236
- ...this.defaultConfig,
39237
- ...this.configData
39238
- };
39239
- return {
39240
- width: "100%",
39241
- height: "auto",
39242
- maxWidth: "100%",
39243
- borderTopLeftRadius: this.borderRadiusStyle.topLeft,
39244
- borderTopRightRadius: this.borderRadiusStyle.topRight,
39245
- borderBottomLeftRadius: this.borderRadiusStyle.bottomLeft,
39246
- borderBottomRightRadius: this.borderRadiusStyle.bottomRight,
39247
- overflow: "hidden",
39248
- cursor: config.linkUrl ? "pointer" : "default",
39249
- display: "block"
39250
- };
39251
- },
39252
- // 图片样式
39253
- imageStyle() {
39254
- const config = {
39255
- ...this.defaultConfig,
39256
- ...this.configData
39257
- };
39258
- return {
39259
- width: "100%",
39260
- height: "auto",
39261
- objectFit: config.objectFit,
39262
- display: "block"
39263
- };
39264
- },
39265
- // 占位符样式
39266
- placeholderStyle() {
39267
- const config = {
39268
- ...this.defaultConfig,
39269
- ...this.configData
39270
- };
39271
- return {
39272
- width: "100%",
39273
- minHeight: "150px",
39274
- backgroundColor: "#F2F9FF",
39275
- border: "1px dashed #dcdfe6",
39276
- borderTopLeftRadius: this.borderRadiusStyle.topLeft,
39277
- borderTopRightRadius: this.borderRadiusStyle.topRight,
39278
- borderBottomLeftRadius: this.borderRadiusStyle.bottomLeft,
39279
- borderBottomRightRadius: this.borderRadiusStyle.bottomRight,
39280
- display: "flex",
39281
- flexDirection: "column",
39282
- alignItems: "center",
39283
- justifyContent: "center",
39284
- color: "#909399",
39285
- fontSize: "14px"
39286
- };
39287
- }
39288
- },
39289
- methods: {
39290
- // 初始化配置数据
39291
- initConfigData() {
39292
- this.configData = this.getMergedConfig(this.configData);
39293
- },
39294
- // 获取配置数据
39295
- getConfigData(configData) {
39296
- this.configData = this.getMergedConfig(configData);
39297
- this.updateStyles();
39298
- },
39299
- // 更新样式
39300
- updateStyles() {
39301
- this.$nextTick(() => {
39302
- this.$forceUpdate();
39303
- });
39304
- },
39305
- getMergedConfig(configData = {}) {
39306
- const mergedCorner = {
39307
- ...(this.defaultConfig.cornerRadius || {})
39308
- };
39309
- if (configData.cornerRadius) {
39310
- Object.assign(mergedCorner, configData.cornerRadius);
39311
- } else {
39312
- var _configData$borderRad, _configData$borderRad2, _configData$borderRad3, _configData$borderRad4;
39313
- mergedCorner.topLeft = (_configData$borderRad = configData.borderRadiusTopLeft) === null || _configData$borderRad === void 0 ? void 0 : _configData$borderRad.mergedCorner.topLeft;
39314
- mergedCorner.topRight = (_configData$borderRad2 = configData.borderRadiusTopRight) === null || _configData$borderRad2 === void 0 ? void 0 : _configData$borderRad2.mergedCorner.topRight;
39315
- mergedCorner.bottomLeft = (_configData$borderRad3 = configData.borderRadiusBottomLeft) === null || _configData$borderRad3 === void 0 ? void 0 : _configData$borderRad3.mergedCorner.bottomLeft;
39316
- mergedCorner.bottomRight = (_configData$borderRad4 = configData.borderRadiusBottomRight) === null || _configData$borderRad4 === void 0 ? void 0 : _configData$borderRad4.mergedCorner.bottomRight;
39317
- }
39318
- return {
39319
- ...this.defaultConfig,
39320
- ...configData,
39321
- cornerRadius: mergedCorner
39322
- };
39323
- },
39324
- // 处理点击事件
39325
- handleClick() {
39326
- if (this.configData.linkUrl) {
39327
- const target = this.configData.linkTarget || "_self";
39328
- if (target === "_blank") {
39329
- window.open(this.configData.linkUrl, "_blank");
39330
- } else {
39331
- window.location.href = this.configData.linkUrl;
39332
- }
39333
- }
39334
- },
39335
- // 图片加载成功
39336
- onImageLoad() {
39337
- this.imageLoaded = true;
39338
- this.imageError = false;
39339
- },
39340
- // 图片加载失败
39341
- onImageError() {
39342
- this.imageLoaded = false;
39343
- this.imageError = true;
39344
- },
39345
- // 解析自定义样式
39346
- parseCustomStyle(customStyle) {
39347
- if (!customStyle) return {};
39348
- try {
39349
- const styles = {};
39350
- const declarations = customStyle.split(";");
39351
- declarations.forEach(declaration => {
39352
- const [property, value] = declaration.split(":");
39353
- if (property && value) {
39354
- const camelCaseProperty = property.trim().replace(/-([a-z])/g, g => g[1].toUpperCase());
39355
- styles[camelCaseProperty] = value.trim();
39356
- }
39357
- });
39358
- return styles;
39359
- } catch (error) {
39360
- console.warn("解析自定义样式失败:", error);
39361
- return {};
39362
- }
39363
- }
39364
- }
39365
- });
39366
- ;// ./package/cms-image/View.vue?vue&type=script&lang=js
39367
- /* harmony default export */ var cms_image_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
39368
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-image/View.vue?vue&type=style&index=0&id=1fc80050&prod&lang=scss&scoped=true
39369
- // extracted by mini-css-extract-plugin
39370
-
39371
- ;// ./package/cms-image/View.vue?vue&type=style&index=0&id=1fc80050&prod&lang=scss&scoped=true
39372
-
39373
- // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
39374
- var componentNormalizer = __webpack_require__(1656);
39375
- ;// ./package/cms-image/View.vue
39376
-
39377
-
39378
-
39379
- ;
39380
-
39381
-
39382
- /* normalize component */
39383
-
39384
- var component = (0,componentNormalizer/* default */.A)(
39385
- cms_image_Viewvue_type_script_lang_js,
39386
- render,
39387
- staticRenderFns,
39388
- false,
39389
- null,
39390
- "1fc80050",
39391
- null
39392
-
39393
- )
39394
-
39395
- /* harmony default export */ var View = (component.exports);
39396
-
39397
- /***/ }),
39398
-
39399
40207
  /***/ 4860:
39400
40208
  /***/ (function(module) {
39401
40209
 
@@ -41202,13 +42010,13 @@ var map = {
41202
42010
  "./cms-banner/View.vue": 6815,
41203
42011
  "./cms-button/View.vue": 7891,
41204
42012
  "./cms-cells/View.vue": 5700,
41205
- "./cms-column-card/View.vue": 2159,
42013
+ "./cms-column-card/View.vue": 2003,
41206
42014
  "./cms-column/View.vue": 5519,
41207
42015
  "./cms-description/View.vue": 3203,
41208
42016
  "./cms-dynamic-comp/View.vue": 2809,
41209
42017
  "./cms-iconFour/View.vue": 8235,
41210
- "./cms-image-group/View.vue": 6745,
41211
- "./cms-image/View.vue": 4825,
42018
+ "./cms-image-group/View.vue": 1243,
42019
+ "./cms-image/View.vue": 2521,
41212
42020
  "./cms-imgFour/View.vue": 9751,
41213
42021
  "./cms-lineFive/View.vue": 4432,
41214
42022
  "./cms-lineFour/View.vue": 9703,
@@ -41218,7 +42026,7 @@ var map = {
41218
42026
  "./cms-prodCustomization/View.vue": 1470,
41219
42027
  "./cms-productDetails/View.vue": 4110,
41220
42028
  "./cms-question/View.vue": 4024,
41221
- "./cms-richText/View.vue": 450,
42029
+ "./cms-richText/View.vue": 7163,
41222
42030
  "./cms-servePlan-tab/View.vue": 8502,
41223
42031
  "./cms-servePlan-text/View.vue": 448,
41224
42032
  "./cms-tab/View.vue": 4685,
@@ -41228,8 +42036,8 @@ var map = {
41228
42036
  "./cms-titleCenter/View.vue": 1429,
41229
42037
  "./cms-titleLeft/View.vue": 7874,
41230
42038
  "./cms-via-storedValueCard/View.vue": 8498,
41231
- "./cms-video-group/View.vue": 9418,
41232
- "./cms-video/View.vue": 8863,
42039
+ "./cms-video-group/View.vue": 201,
42040
+ "./cms-video/View.vue": 3761,
41233
42041
  "./cms-view/View.vue": 1380
41234
42042
  };
41235
42043
 
@@ -41327,7 +42135,23 @@ module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAVAAAAEQCAYAAADm
41327
42135
  __webpack_require__.r(__webpack_exports__);
41328
42136
  /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
41329
42137
 
41330
- const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 2159));
42138
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 2003));
42139
+ const radiusOptions = [{
42140
+ label: "0",
42141
+ value: 0
42142
+ }, {
42143
+ label: "4",
42144
+ value: 4
42145
+ }, {
42146
+ label: "8",
42147
+ value: 8
42148
+ }, {
42149
+ label: "16",
42150
+ value: 16
42151
+ }, {
42152
+ label: "全圆角",
42153
+ value: "full"
42154
+ }];
41331
42155
 
41332
42156
  // 默认配置数据
41333
42157
  const langData = {
@@ -41338,7 +42162,7 @@ const langData = {
41338
42162
  borderWidth: 0,
41339
42163
  borderStyle: "solid",
41340
42164
  borderColor: "",
41341
- borderRadius: 0,
42165
+ borderRadius: 8,
41342
42166
  // 背景设置
41343
42167
  backgroundColor: "",
41344
42168
  backgroundImage: "",
@@ -41401,12 +42225,9 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
41401
42225
  predefine: ["#262729", "rgb(36,38,40,0.8)", "rgb(36,38,40,0.5)", "#2F85FF", "#D6197F", "#52C41A", "#f48427", "#FFFFFF"]
41402
42226
  },
41403
42227
  borderRadius: {
41404
- label: "圆角(px)",
41405
- widgetType: "el-input-number",
41406
- size: "small",
41407
- min: 0,
41408
- max: 100,
41409
- step: 1
42228
+ label: "圆角",
42229
+ widgetType: "el-select",
42230
+ options: radiusOptions
41410
42231
  },
41411
42232
  // 背景设置配置
41412
42233
  backgroundColor: {
@@ -43211,251 +44032,6 @@ module.exports = function (object, key, method) {
43211
44032
  };
43212
44033
 
43213
44034
 
43214
- /***/ }),
43215
-
43216
- /***/ 6745:
43217
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
43218
-
43219
- "use strict";
43220
- // ESM COMPAT FLAG
43221
- __webpack_require__.r(__webpack_exports__);
43222
-
43223
- // EXPORTS
43224
- __webpack_require__.d(__webpack_exports__, {
43225
- "default": function() { return /* binding */ View; }
43226
- });
43227
-
43228
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-image-group/View.vue?vue&type=template&id=a0772124&scoped=true
43229
- var render = function render() {
43230
- var _vm = this,
43231
- _c = _vm._self._c;
43232
- return _c('BaseComp', _vm._b({
43233
- attrs: {
43234
- "data": _vm.data,
43235
- "nowCompId": _vm.nowCompId,
43236
- "isOpcacity": _vm.isOpcacity,
43237
- "isMask": false,
43238
- "lang": _vm.lang
43239
- },
43240
- on: {
43241
- "getConfigData": _vm.getConfigData
43242
- }
43243
- }, 'BaseComp', _vm.$attrs, false), [_c('section', {
43244
- staticClass: "cmhk-home_main"
43245
- }, [_c('div', {
43246
- staticClass: "wrap",
43247
- style: _vm.wrapStyle
43248
- }, _vm._l(_vm.showVideoList, function (item) {
43249
- return _c('cms-image', {
43250
- key: item.componentId,
43251
- staticStyle: {
43252
- "overflow": "hidden"
43253
- },
43254
- attrs: {
43255
- "data": item,
43256
- "nowCompId": _vm.nowCompId,
43257
- "isOpcacity": _vm.isOpcacity,
43258
- "isMask": false,
43259
- "lang": _vm.lang
43260
- }
43261
- });
43262
- }), 1), _vm.isShowPannel ? [_c('div', {
43263
- staticClass: "view-more-container"
43264
- }, [_c('div', {
43265
- staticClass: "view-more-btn",
43266
- on: {
43267
- "click": _vm.foldMessText
43268
- }
43269
- }, [_c('span', {
43270
- staticClass: "view-more-text"
43271
- }, [_vm._v(" " + _vm._s(_vm.messFold ? _vm.$t("roamIndex.Collpase") : _vm.$t("roamIndex.More")) + " ")]), _c('i', {
43272
- class: ['view-more-icon', _vm.messFold ? 'el-icon-arrow-up' : 'el-icon-arrow-down']
43273
- })])])] : _vm._e()], 2)]);
43274
- };
43275
- var staticRenderFns = [];
43276
-
43277
- // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
43278
- var baseComp = __webpack_require__(4272);
43279
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-image-group/View.vue?vue&type=script&lang=js
43280
-
43281
- /* harmony default export */ var Viewvue_type_script_lang_js = ({
43282
- name: "cms-image-group",
43283
- components: {
43284
- BaseComp: baseComp["default"]
43285
- },
43286
- props: {
43287
- data: {
43288
- type: Object,
43289
- default: () => {
43290
- return {};
43291
- }
43292
- },
43293
- nowCompId: {
43294
- type: [String, Number],
43295
- default: ""
43296
- },
43297
- isOpcacity: {
43298
- type: Boolean,
43299
- default: true
43300
- },
43301
- lang: {
43302
- type: String,
43303
- default: "zh-HK"
43304
- }
43305
- },
43306
- data() {
43307
- return {
43308
- configData: {},
43309
- messFold: false,
43310
- // 默认配置数据
43311
- defaultConfig: {
43312
- colNums: 1,
43313
- defaultCol: 12,
43314
- gap: 10,
43315
- cornerRadius: {
43316
- topLeft: "0",
43317
- topRight: "0",
43318
- bottomLeft: "0",
43319
- bottomRight: "0"
43320
- }
43321
- },
43322
- isShowPannel: false
43323
- };
43324
- },
43325
- mounted() {},
43326
- watch: {
43327
- configData: {
43328
- handler() {
43329
- this.updateStyles();
43330
- },
43331
- deep: true
43332
- }
43333
- },
43334
- computed: {
43335
- showVideoList() {
43336
- if (this.isShowPannel && !this.messFold) return this.data.childList.slice(0, this.configData.colNums * this.configData.defaultCol);
43337
- return this.data.childList;
43338
- },
43339
- isConfigPage() {
43340
- return this.$EventBus && this.isOpcacity;
43341
- },
43342
- borderRadiusStyle() {
43343
- const config = {
43344
- ...this.defaultConfig,
43345
- ...this.configData
43346
- };
43347
- const radiusConfig = config.cornerRadius || {};
43348
- const legacyMap = {
43349
- topLeft: config.borderRadiusTopLeft,
43350
- topRight: config.borderRadiusTopRight,
43351
- bottomLeft: config.borderRadiusBottomLeft,
43352
- bottomRight: config.borderRadiusBottomRight
43353
- };
43354
- const formatRadius = value => {
43355
- if (value === "full") return "9999px";
43356
- if (value === undefined || value === null || value === "") {
43357
- return "0px";
43358
- }
43359
- const num = Number(value);
43360
- return Number.isNaN(num) ? "0px" : `${num}px`;
43361
- };
43362
- const resolveValue = corner => {
43363
- const value = radiusConfig[corner] !== undefined && radiusConfig[corner] !== null ? radiusConfig[corner] : legacyMap[corner];
43364
- return formatRadius(value);
43365
- };
43366
- return {
43367
- topLeft: resolveValue("topLeft"),
43368
- topRight: resolveValue("topRight"),
43369
- bottomLeft: resolveValue("bottomLeft"),
43370
- bottomRight: resolveValue("bottomRight")
43371
- };
43372
- },
43373
- wrapStyle() {
43374
- const config = {
43375
- ...this.defaultConfig,
43376
- ...this.configData
43377
- };
43378
- return {
43379
- gridTemplateColumns: `repeat(${config.colNums}, 1fr)`,
43380
- gridGap: `${config.gap}px`,
43381
- borderTopLeftRadius: this.borderRadiusStyle.topLeft,
43382
- borderTopRightRadius: this.borderRadiusStyle.topRight,
43383
- borderBottomLeftRadius: this.borderRadiusStyle.bottomLeft,
43384
- borderBottomRightRadius: this.borderRadiusStyle.bottomRight,
43385
- overflow: "hidden"
43386
- };
43387
- }
43388
- },
43389
- methods: {
43390
- // 获取配置数据
43391
- getConfigData(configData) {
43392
- this.configData = this.getMergedConfig(configData);
43393
- this.updateStyles();
43394
- this.isShowPannel = this.configData.colNums * this.configData.defaultCol < this.data.childList.length;
43395
- },
43396
- // 更新样式
43397
- updateStyles() {
43398
- this.$nextTick(() => {
43399
- // 触发样式更新
43400
- this.$forceUpdate();
43401
- });
43402
- },
43403
- // 折叠/展开文本
43404
- foldMessText() {
43405
- this.messFold = !this.messFold;
43406
- },
43407
- getMergedConfig(configData = {}) {
43408
- const mergedCorner = {
43409
- ...(this.defaultConfig.cornerRadius || {})
43410
- };
43411
- if (configData.cornerRadius) {
43412
- Object.assign(mergedCorner, configData.cornerRadius);
43413
- } else {
43414
- var _configData$borderRad, _configData$borderRad2, _configData$borderRad3, _configData$borderRad4;
43415
- mergedCorner.topLeft = (_configData$borderRad = configData.borderRadiusTopLeft) === null || _configData$borderRad === void 0 ? void 0 : _configData$borderRad.mergedCorner.topLeft;
43416
- mergedCorner.topRight = (_configData$borderRad2 = configData.borderRadiusTopRight) === null || _configData$borderRad2 === void 0 ? void 0 : _configData$borderRad2.mergedCorner.topRight;
43417
- mergedCorner.bottomLeft = (_configData$borderRad3 = configData.borderRadiusBottomLeft) === null || _configData$borderRad3 === void 0 ? void 0 : _configData$borderRad3.mergedCorner.bottomLeft;
43418
- mergedCorner.bottomRight = (_configData$borderRad4 = configData.borderRadiusBottomRight) === null || _configData$borderRad4 === void 0 ? void 0 : _configData$borderRad4.mergedCorner.bottomRight;
43419
- }
43420
- return {
43421
- ...this.defaultConfig,
43422
- ...configData,
43423
- cornerRadius: mergedCorner
43424
- };
43425
- }
43426
- }
43427
- });
43428
- ;// ./package/cms-image-group/View.vue?vue&type=script&lang=js
43429
- /* harmony default export */ var cms_image_group_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
43430
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-image-group/View.vue?vue&type=style&index=0&id=a0772124&prod&lang=scss&scoped=true
43431
- // extracted by mini-css-extract-plugin
43432
-
43433
- ;// ./package/cms-image-group/View.vue?vue&type=style&index=0&id=a0772124&prod&lang=scss&scoped=true
43434
-
43435
- // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
43436
- var componentNormalizer = __webpack_require__(1656);
43437
- ;// ./package/cms-image-group/View.vue
43438
-
43439
-
43440
-
43441
- ;
43442
-
43443
-
43444
- /* normalize component */
43445
-
43446
- var component = (0,componentNormalizer/* default */.A)(
43447
- cms_image_group_Viewvue_type_script_lang_js,
43448
- render,
43449
- staticRenderFns,
43450
- false,
43451
- null,
43452
- "a0772124",
43453
- null
43454
-
43455
- )
43456
-
43457
- /* harmony default export */ var View = (component.exports);
43458
-
43459
44035
  /***/ }),
43460
44036
 
43461
44037
  /***/ 6763:
@@ -52446,16 +53022,16 @@ module.exports = Math.min;
52446
53022
  __webpack_require__.r(__webpack_exports__);
52447
53023
  /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
52448
53024
 
52449
- const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 6745));
53025
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 1243));
52450
53026
  const langData = {
52451
53027
  colNums: 1,
52452
53028
  defaultCol: 12,
52453
53029
  gap: 10,
52454
53030
  cornerRadius: {
52455
- topLeft: "0",
52456
- topRight: "0",
52457
- bottomLeft: "0",
52458
- bottomRight: "0"
53031
+ topLeft: "8",
53032
+ topRight: "8",
53033
+ bottomLeft: "8",
53034
+ bottomRight: "8"
52459
53035
  }
52460
53036
  };
52461
53037
  const radiusOptions = [{
@@ -52928,6 +53504,140 @@ module.exports = function (it) {
52928
53504
  };
52929
53505
 
52930
53506
 
53507
+ /***/ }),
53508
+
53509
+ /***/ 7163:
53510
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
53511
+
53512
+ "use strict";
53513
+ // ESM COMPAT FLAG
53514
+ __webpack_require__.r(__webpack_exports__);
53515
+
53516
+ // EXPORTS
53517
+ __webpack_require__.d(__webpack_exports__, {
53518
+ "default": function() { return /* binding */ View; }
53519
+ });
53520
+
53521
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-richText/View.vue?vue&type=template&id=9800760a&scoped=true
53522
+ var render = function render() {
53523
+ var _vm = this,
53524
+ _c = _vm._self._c;
53525
+ return _c('BaseComp', _vm._b({
53526
+ attrs: {
53527
+ "data": _vm.data,
53528
+ "nowCompId": _vm.nowCompId,
53529
+ "isOpcacity": _vm.isOpcacity,
53530
+ "lang": _vm.lang
53531
+ },
53532
+ on: {
53533
+ "getConfigData": _vm.getConfigData
53534
+ }
53535
+ }, 'BaseComp', _vm.$attrs, false), [_c('section', {
53536
+ class: {
53537
+ 'cmhk-home_main': _vm.showCmhkMain
53538
+ }
53539
+ }, [_c('div', [_c('div', {
53540
+ staticClass: "inner"
53541
+ }, [_c('p', {
53542
+ staticClass: "cms-ht",
53543
+ domProps: {
53544
+ "innerHTML": _vm._s(_vm.configData.input1)
53545
+ }
53546
+ })])])])]);
53547
+ };
53548
+ var staticRenderFns = [];
53549
+
53550
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
53551
+ var baseComp = __webpack_require__(4272);
53552
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-richText/View.vue?vue&type=script&lang=js
53553
+
53554
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
53555
+ name: "cms-richText",
53556
+ components: {
53557
+ BaseComp: baseComp["default"]
53558
+ },
53559
+ props: {
53560
+ data: {
53561
+ type: Object,
53562
+ default: () => {
53563
+ return {};
53564
+ }
53565
+ },
53566
+ nowCompId: {
53567
+ type: [String, Number],
53568
+ default: ""
53569
+ },
53570
+ isOpcacity: {
53571
+ type: Boolean,
53572
+ default: true
53573
+ },
53574
+ lang: {
53575
+ type: String,
53576
+ default: "zh-HK"
53577
+ },
53578
+ showCmhkMain: {
53579
+ type: Boolean,
53580
+ default: true
53581
+ }
53582
+ },
53583
+ data() {
53584
+ return {
53585
+ configData: {},
53586
+ messFold: false
53587
+ };
53588
+ },
53589
+ mounted() {},
53590
+ watch: {},
53591
+ methods: {
53592
+ getConfigData(configData) {
53593
+ this.configData = configData;
53594
+ },
53595
+ foldMessText() {
53596
+ this.messFold = !this.messFold;
53597
+ },
53598
+ decodeJumpUrl(url) {
53599
+ if (!url) return;
53600
+ top.location.href = url;
53601
+ }
53602
+ }
53603
+ });
53604
+ ;// ./package/cms-richText/View.vue?vue&type=script&lang=js
53605
+ /* harmony default export */ var cms_richText_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
53606
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-richText/View.vue?vue&type=style&index=0&id=9800760a&prod&lang=scss&scoped=true
53607
+ // extracted by mini-css-extract-plugin
53608
+
53609
+ ;// ./package/cms-richText/View.vue?vue&type=style&index=0&id=9800760a&prod&lang=scss&scoped=true
53610
+
53611
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-richText/View.vue?vue&type=style&index=1&id=9800760a&prod&lang=scss
53612
+ // extracted by mini-css-extract-plugin
53613
+
53614
+ ;// ./package/cms-richText/View.vue?vue&type=style&index=1&id=9800760a&prod&lang=scss
53615
+
53616
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
53617
+ var componentNormalizer = __webpack_require__(1656);
53618
+ ;// ./package/cms-richText/View.vue
53619
+
53620
+
53621
+
53622
+ ;
53623
+
53624
+
53625
+
53626
+ /* normalize component */
53627
+
53628
+ var component = (0,componentNormalizer/* default */.A)(
53629
+ cms_richText_Viewvue_type_script_lang_js,
53630
+ render,
53631
+ staticRenderFns,
53632
+ false,
53633
+ null,
53634
+ "9800760a",
53635
+ null
53636
+
53637
+ )
53638
+
53639
+ /* harmony default export */ var View = (component.exports);
53640
+
52931
53641
  /***/ }),
52932
53642
 
52933
53643
  /***/ 7197:
@@ -53326,7 +54036,7 @@ $({ target: 'Iterator', proto: true, real: true }, {
53326
54036
  __webpack_require__.r(__webpack_exports__);
53327
54037
  /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
53328
54038
 
53329
- const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 450));
54039
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 7163));
53330
54040
  const langData = {
53331
54041
  input1: "请输入富文本内容"
53332
54042
  };
@@ -59965,346 +60675,6 @@ module.exports = {
59965
60675
 
59966
60676
  /***/ }),
59967
60677
 
59968
- /***/ 8863:
59969
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
59970
-
59971
- "use strict";
59972
- // ESM COMPAT FLAG
59973
- __webpack_require__.r(__webpack_exports__);
59974
-
59975
- // EXPORTS
59976
- __webpack_require__.d(__webpack_exports__, {
59977
- "default": function() { return /* binding */ View; }
59978
- });
59979
-
59980
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-video/View.vue?vue&type=template&id=9d8bb9e8&scoped=true
59981
- var render = function render() {
59982
- var _vm = this,
59983
- _c = _vm._self._c;
59984
- return _c('BaseComp', _vm._b({
59985
- attrs: {
59986
- "data": _vm.data,
59987
- "nowCompId": _vm.nowCompId,
59988
- "isOpcacity": _vm.isOpcacity,
59989
- "lang": _vm.lang
59990
- },
59991
- on: {
59992
- "getConfigData": _vm.getConfigData
59993
- }
59994
- }, 'BaseComp', _vm.$attrs, false), [_c('section', {
59995
- staticClass: "cms-video-container",
59996
- class: [_vm.configData.customClass || ''],
59997
- style: _vm.containerStyle
59998
- }, [_c('div', {
59999
- staticClass: "video-wrapper",
60000
- style: _vm.wrapperStyle
60001
- }, [_vm.videoType === 'direct' && _vm.configData.videoUrl ? _c('video', {
60002
- staticClass: "cms-video direct-video",
60003
- style: _vm.videoStyle,
60004
- attrs: {
60005
- "src": _vm.configData.videoUrl,
60006
- "controls": _vm.configData.showControls,
60007
- "autoplay": _vm.configData.autoplay,
60008
- "loop": _vm.configData.loop,
60009
- "poster": _vm.configData.posterUrl
60010
- },
60011
- domProps: {
60012
- "muted": _vm.configData.muted
60013
- },
60014
- on: {
60015
- "loadstart": _vm.onVideoLoadStart,
60016
- "loadeddata": _vm.onVideoLoaded,
60017
- "error": _vm.onVideoError
60018
- }
60019
- }) : _vm.configData.embedCode ? _c('div', {
60020
- staticClass: "cms-video embed-video cms-ht",
60021
- style: _vm.videoStyle,
60022
- domProps: {
60023
- "innerHTML": _vm._s(_vm.configData.embedCode)
60024
- }
60025
- }) : _c('div', {
60026
- staticClass: "video-placeholder",
60027
- style: _vm.placeholderStyle
60028
- }, [_c('img', {
60029
- staticStyle: {
60030
- "width": "97.82px",
60031
- "height": "97.82px"
60032
- },
60033
- attrs: {
60034
- "src": __webpack_require__(6148),
60035
- "alt": "Video Camera"
60036
- }
60037
- })])]), _vm.configData.title ? _c('div', {
60038
- staticClass: "f-c-c"
60039
- }, [_vm._v(_vm._s(_vm.configData.title))]) : _vm._e()])]);
60040
- };
60041
- var staticRenderFns = [];
60042
-
60043
- ;// ./package/cms-video/View.vue?vue&type=template&id=9d8bb9e8&scoped=true
60044
-
60045
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
60046
- var es_iterator_constructor = __webpack_require__(8111);
60047
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
60048
- var es_iterator_for_each = __webpack_require__(7588);
60049
- // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
60050
- var baseComp = __webpack_require__(4272);
60051
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-video/View.vue?vue&type=script&lang=js
60052
-
60053
-
60054
-
60055
-
60056
-
60057
- /* harmony default export */ var Viewvue_type_script_lang_js = ({
60058
- name: "cms-video",
60059
- components: {
60060
- BaseComp: baseComp["default"]
60061
- },
60062
- props: {
60063
- data: {
60064
- type: Object,
60065
- default: () => {
60066
- return {};
60067
- }
60068
- },
60069
- nowCompId: {
60070
- type: [String, Number],
60071
- default: ""
60072
- },
60073
- isOpcacity: {
60074
- type: Boolean,
60075
- default: true
60076
- },
60077
- lang: {
60078
- type: String,
60079
- default: "zh-HK"
60080
- }
60081
- },
60082
- data() {
60083
- return {
60084
- configData: {},
60085
- videoLoaded: false,
60086
- videoError: false,
60087
- // 默认配置数据
60088
- defaultConfig: {
60089
- // 视频源设置
60090
- videoType: "direct",
60091
- videoUrl: "",
60092
- embedCode: "",
60093
- posterUrl: "",
60094
- // 播放控制
60095
- showControls: true,
60096
- autoplay: false,
60097
- loop: false,
60098
- muted: false,
60099
- // 尺寸控制
60100
- aspectRatio: "16:9",
60101
- // 样式设置
60102
- borderRadius: 0,
60103
- // 高级配置
60104
- customClass: "",
60105
- customStyle: ""
60106
- }
60107
- };
60108
- },
60109
- mounted() {
60110
- this.initConfigData();
60111
- },
60112
- watch: {
60113
- configData: {
60114
- handler() {
60115
- this.updateStyles();
60116
- },
60117
- deep: true
60118
- }
60119
- },
60120
- computed: {
60121
- showEmbedCode() {
60122
- return this.configData.embedCode.replace(/<iframe(.*?)width="(\d+)"(.*?)height="(\d+)"(.*?)>/gi, '<iframe$1width="100%"$3height="auto"$5 aspect-ratio="$2/$4">');
60123
- },
60124
- // 视频类型
60125
- videoType() {
60126
- return this.configData.videoType || this.defaultConfig.videoType;
60127
- },
60128
- // 实际使用的宽高比
60129
- actualAspectRatio() {
60130
- const config = {
60131
- ...this.defaultConfig,
60132
- ...this.configData
60133
- };
60134
- return config.aspectRatio || "16:9";
60135
- },
60136
- aspectRatioValue() {
60137
- const ratio = this.actualAspectRatio;
60138
- if (!ratio || ratio === "auto") {
60139
- return null;
60140
- }
60141
- return ratio.replace(":", "/");
60142
- },
60143
- // 容器样式
60144
- containerStyle() {
60145
- const config = {
60146
- ...this.defaultConfig,
60147
- ...this.configData
60148
- };
60149
- return {
60150
- ...this.parseCustomStyle(config.customStyle)
60151
- };
60152
- },
60153
- // 包装器样式
60154
- wrapperStyle() {
60155
- const config = {
60156
- ...this.defaultConfig,
60157
- ...this.configData
60158
- };
60159
- const style = {
60160
- width: "100%",
60161
- borderRadius: `${config.borderRadius}px`,
60162
- overflow: "hidden",
60163
- display: "block",
60164
- position: "relative"
60165
- };
60166
- if (this.aspectRatioValue) {
60167
- style.aspectRatio = this.aspectRatioValue;
60168
- }
60169
- return style;
60170
- },
60171
- // 视频样式
60172
- videoStyle() {
60173
- const config = {
60174
- ...this.defaultConfig,
60175
- ...this.configData
60176
- };
60177
- const style = {
60178
- width: "100%",
60179
- display: "block",
60180
- border: "none",
60181
- outline: "none"
60182
- };
60183
- if (this.aspectRatioValue) {
60184
- style.height = "100%";
60185
- style.aspectRatio = this.aspectRatioValue;
60186
- } else {
60187
- style.height = "auto";
60188
- }
60189
- return style;
60190
- },
60191
- // 占位符样式
60192
- placeholderStyle() {
60193
- const config = {
60194
- ...this.defaultConfig,
60195
- ...this.configData
60196
- };
60197
- const style = {
60198
- width: "100%",
60199
- backgroundColor: "#f5f7fa",
60200
- border: "1px dashed #dcdfe6",
60201
- borderRadius: `${config.borderRadius}px`,
60202
- display: "flex",
60203
- flexDirection: "column",
60204
- alignItems: "center",
60205
- justifyContent: "center",
60206
- color: "#909399",
60207
- fontSize: "14px"
60208
- };
60209
- if (this.aspectRatioValue) {
60210
- style.aspectRatio = this.aspectRatioValue;
60211
- } else {
60212
- style.minHeight = "160px";
60213
- }
60214
- return style;
60215
- }
60216
- },
60217
- methods: {
60218
- // 初始化配置数据
60219
- initConfigData() {
60220
- this.configData = {
60221
- ...this.defaultConfig,
60222
- ...this.configData
60223
- };
60224
- },
60225
- // 获取配置数据
60226
- getConfigData(configData) {
60227
- this.configData = {
60228
- ...this.defaultConfig,
60229
- ...configData
60230
- };
60231
- this.updateStyles();
60232
- },
60233
- // 更新样式
60234
- updateStyles() {
60235
- this.$nextTick(() => {
60236
- this.$forceUpdate();
60237
- });
60238
- },
60239
- // 视频开始加载
60240
- onVideoLoadStart() {
60241
- this.videoLoaded = false;
60242
- this.videoError = false;
60243
- },
60244
- // 视频加载完成
60245
- onVideoLoaded() {
60246
- this.videoLoaded = true;
60247
- this.videoError = false;
60248
- },
60249
- // 视频加载失败
60250
- onVideoError() {
60251
- this.videoLoaded = false;
60252
- this.videoError = true;
60253
- },
60254
- // 解析自定义样式
60255
- parseCustomStyle(customStyle) {
60256
- if (!customStyle) return {};
60257
- try {
60258
- const styles = {};
60259
- const declarations = customStyle.split(";");
60260
- declarations.forEach(declaration => {
60261
- const [property, value] = declaration.split(":");
60262
- if (property && value) {
60263
- const camelCaseProperty = property.trim().replace(/-([a-z])/g, g => g[1].toUpperCase());
60264
- styles[camelCaseProperty] = value.trim();
60265
- }
60266
- });
60267
- return styles;
60268
- } catch (error) {
60269
- console.warn("解析自定义样式失败:", error);
60270
- return {};
60271
- }
60272
- }
60273
- }
60274
- });
60275
- ;// ./package/cms-video/View.vue?vue&type=script&lang=js
60276
- /* harmony default export */ var cms_video_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
60277
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-video/View.vue?vue&type=style&index=0&id=9d8bb9e8&prod&lang=scss&scoped=true
60278
- // extracted by mini-css-extract-plugin
60279
-
60280
- ;// ./package/cms-video/View.vue?vue&type=style&index=0&id=9d8bb9e8&prod&lang=scss&scoped=true
60281
-
60282
- // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
60283
- var componentNormalizer = __webpack_require__(1656);
60284
- ;// ./package/cms-video/View.vue
60285
-
60286
-
60287
-
60288
- ;
60289
-
60290
-
60291
- /* normalize component */
60292
-
60293
- var component = (0,componentNormalizer/* default */.A)(
60294
- cms_video_Viewvue_type_script_lang_js,
60295
- render,
60296
- staticRenderFns,
60297
- false,
60298
- null,
60299
- "9d8bb9e8",
60300
- null
60301
-
60302
- )
60303
-
60304
- /* harmony default export */ var View = (component.exports);
60305
-
60306
- /***/ }),
60307
-
60308
60678
  /***/ 8886:
60309
60679
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
60310
60680
 
@@ -60312,7 +60682,7 @@ var component = (0,componentNormalizer/* default */.A)(
60312
60682
  __webpack_require__.r(__webpack_exports__);
60313
60683
  /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
60314
60684
 
60315
- const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 4825));
60685
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 2521));
60316
60686
  const langData = {
60317
60687
  // 图片设置
60318
60688
  remark: "",
@@ -60322,10 +60692,10 @@ const langData = {
60322
60692
  // 样式设置
60323
60693
  borderRadius: 0,
60324
60694
  cornerRadius: {
60325
- topLeft: "0",
60326
- topRight: "0",
60327
- bottomLeft: "0",
60328
- bottomRight: "0"
60695
+ topLeft: "8",
60696
+ topRight: "8",
60697
+ bottomLeft: "8",
60698
+ bottomRight: "8"
60329
60699
  },
60330
60700
  objectFit: "cover",
60331
60701
  // 交互功能
@@ -61074,189 +61444,6 @@ const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSc
61074
61444
 
61075
61445
  /***/ }),
61076
61446
 
61077
- /***/ 9418:
61078
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
61079
-
61080
- "use strict";
61081
- // ESM COMPAT FLAG
61082
- __webpack_require__.r(__webpack_exports__);
61083
-
61084
- // EXPORTS
61085
- __webpack_require__.d(__webpack_exports__, {
61086
- "default": function() { return /* binding */ View; }
61087
- });
61088
-
61089
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-video-group/View.vue?vue&type=template&id=bc32924e&scoped=true
61090
- var render = function render() {
61091
- var _vm = this,
61092
- _c = _vm._self._c;
61093
- return _c('BaseComp', _vm._b({
61094
- attrs: {
61095
- "data": _vm.data,
61096
- "nowCompId": _vm.nowCompId,
61097
- "isOpcacity": _vm.isOpcacity,
61098
- "isMask": false,
61099
- "lang": _vm.lang
61100
- },
61101
- on: {
61102
- "getConfigData": _vm.getConfigData,
61103
- "getDevice": _vm.getDevice
61104
- }
61105
- }, 'BaseComp', _vm.$attrs, false), [_c('section', {
61106
- staticClass: "cmhk-home_main"
61107
- }, [_c('div', {
61108
- staticClass: "wrap",
61109
- style: {
61110
- 'grid-template-columns': `repeat(${_vm.colNums}, 1fr)`,
61111
- 'grid-gap': `${_vm.configData.gap}px`
61112
- }
61113
- }, _vm._l(_vm.showVideoList, function (item) {
61114
- return _c('cms-video', {
61115
- key: item.componentId,
61116
- staticStyle: {
61117
- "overflow": "hidden"
61118
- },
61119
- attrs: {
61120
- "data": item,
61121
- "nowCompId": _vm.nowCompId,
61122
- "isOpcacity": _vm.isOpcacity,
61123
- "isMask": false,
61124
- "lang": _vm.lang
61125
- }
61126
- });
61127
- }), 1), _vm.isShowPannel ? [_c('div', {
61128
- staticClass: "view-more-container"
61129
- }, [_c('div', {
61130
- staticClass: "view-more-btn",
61131
- on: {
61132
- "click": _vm.foldMessText
61133
- }
61134
- }, [_c('span', {
61135
- staticClass: "view-more-text"
61136
- }, [_vm._v(" " + _vm._s(_vm.messFold ? _vm.$t("roamIndex.Collpase") : _vm.$t("roamIndex.More")) + " ")]), _c('i', {
61137
- class: ['view-more-icon', _vm.messFold ? 'el-icon-arrow-up' : 'el-icon-arrow-down']
61138
- })])])] : _vm._e()], 2)]);
61139
- };
61140
- var staticRenderFns = [];
61141
-
61142
- // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
61143
- var baseComp = __webpack_require__(4272);
61144
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-video-group/View.vue?vue&type=script&lang=js
61145
-
61146
- /* harmony default export */ var Viewvue_type_script_lang_js = ({
61147
- name: "cms-video-group",
61148
- components: {
61149
- BaseComp: baseComp["default"]
61150
- },
61151
- props: {
61152
- data: {
61153
- type: Object,
61154
- default: () => {
61155
- return {};
61156
- }
61157
- },
61158
- nowCompId: {
61159
- type: [String, Number],
61160
- default: ""
61161
- },
61162
- isOpcacity: {
61163
- type: Boolean,
61164
- default: true
61165
- },
61166
- lang: {
61167
- type: String,
61168
- default: "zh-HK"
61169
- }
61170
- },
61171
- data() {
61172
- return {
61173
- configData: {},
61174
- messFold: false,
61175
- // 默认配置数据
61176
- isShowPannel: false,
61177
- isMobile: false
61178
- };
61179
- },
61180
- mounted() {},
61181
- watch: {
61182
- configData: {
61183
- handler() {
61184
- this.updateStyles();
61185
- },
61186
- deep: true
61187
- }
61188
- },
61189
- computed: {
61190
- colNums() {
61191
- return this.isMobile ? this.configData.colNums_Mobile : this.configData.colNums_PC;
61192
- },
61193
- showVideoList() {
61194
- if (this.isShowPannel && !this.messFold) return this.data.childList.slice(0, this.colNums * this.configData.defaultCol);
61195
- return this.data.childList;
61196
- },
61197
- isConfigPage() {
61198
- return this.$EventBus && this.isOpcacity;
61199
- }
61200
- },
61201
- methods: {
61202
- getDevice(val) {
61203
- this.isMobile = val;
61204
- },
61205
- // 获取配置数据
61206
- getConfigData(configData) {
61207
- this.configData = {
61208
- ...this.defaultConfig,
61209
- ...configData
61210
- };
61211
- this.updateStyles();
61212
- this.isShowPannel = this.colNums * this.configData.defaultCol < this.data.childList.length;
61213
- },
61214
- // 更新样式
61215
- updateStyles() {
61216
- this.$nextTick(() => {
61217
- // 触发样式更新
61218
- this.$forceUpdate();
61219
- });
61220
- },
61221
- // 折叠/展开文本
61222
- foldMessText() {
61223
- this.messFold = !this.messFold;
61224
- }
61225
- }
61226
- });
61227
- ;// ./package/cms-video-group/View.vue?vue&type=script&lang=js
61228
- /* harmony default export */ var cms_video_group_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
61229
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-video-group/View.vue?vue&type=style&index=0&id=bc32924e&prod&lang=scss&scoped=true
61230
- // extracted by mini-css-extract-plugin
61231
-
61232
- ;// ./package/cms-video-group/View.vue?vue&type=style&index=0&id=bc32924e&prod&lang=scss&scoped=true
61233
-
61234
- // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
61235
- var componentNormalizer = __webpack_require__(1656);
61236
- ;// ./package/cms-video-group/View.vue
61237
-
61238
-
61239
-
61240
- ;
61241
-
61242
-
61243
- /* normalize component */
61244
-
61245
- var component = (0,componentNormalizer/* default */.A)(
61246
- cms_video_group_Viewvue_type_script_lang_js,
61247
- render,
61248
- staticRenderFns,
61249
- false,
61250
- null,
61251
- "bc32924e",
61252
- null
61253
-
61254
- )
61255
-
61256
- /* harmony default export */ var View = (component.exports);
61257
-
61258
- /***/ }),
61259
-
61260
61447
  /***/ 9429:
61261
61448
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
61262
61449