cms-chenhj-ui 2.0.38 → 2.0.39

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
 
@@ -1652,13 +1898,35 @@ module.exports = !fails(function () {
1652
1898
  __webpack_require__.r(__webpack_exports__);
1653
1899
  /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
1654
1900
 
1655
- const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 9418));
1901
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 201));
1656
1902
  const langData = {
1657
1903
  colNums_PC: 1,
1658
1904
  colNums_Mobile: 1,
1659
1905
  defaultCol: 12,
1660
- gap: 10
1906
+ gap: 10,
1907
+ cornerRadius: {
1908
+ topLeft: "8",
1909
+ topRight: "8",
1910
+ bottomLeft: "8",
1911
+ bottomRight: "8"
1912
+ }
1661
1913
  };
1914
+ const radiusOptions = [{
1915
+ label: "0",
1916
+ value: "0"
1917
+ }, {
1918
+ label: "4",
1919
+ value: "4"
1920
+ }, {
1921
+ label: "8",
1922
+ value: "8"
1923
+ }, {
1924
+ label: "16",
1925
+ value: "16"
1926
+ }, {
1927
+ label: "全圆角",
1928
+ value: "full"
1929
+ }];
1662
1930
  const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataType)(langData, {
1663
1931
  // 布局配置
1664
1932
  colNums_PC: {
@@ -1700,6 +1968,11 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
1700
1968
  step: 1,
1701
1969
  isCol: true,
1702
1970
  unit: "行"
1971
+ },
1972
+ cornerRadius: {
1973
+ label: "圆角",
1974
+ widgetType: "CornerRadiusPicker",
1975
+ options: radiusOptions
1703
1976
  }
1704
1977
  });
1705
1978
  const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSchema)(langData);
@@ -3942,6 +4215,251 @@ module.exports = {
3942
4215
 
3943
4216
  /***/ }),
3944
4217
 
4218
+ /***/ 1243:
4219
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4220
+
4221
+ "use strict";
4222
+ // ESM COMPAT FLAG
4223
+ __webpack_require__.r(__webpack_exports__);
4224
+
4225
+ // EXPORTS
4226
+ __webpack_require__.d(__webpack_exports__, {
4227
+ "default": function() { return /* binding */ View; }
4228
+ });
4229
+
4230
+ ;// ./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
4231
+ var render = function render() {
4232
+ var _vm = this,
4233
+ _c = _vm._self._c;
4234
+ return _c('BaseComp', _vm._b({
4235
+ attrs: {
4236
+ "data": _vm.data,
4237
+ "nowCompId": _vm.nowCompId,
4238
+ "isOpcacity": _vm.isOpcacity,
4239
+ "isMask": false,
4240
+ "lang": _vm.lang
4241
+ },
4242
+ on: {
4243
+ "getConfigData": _vm.getConfigData
4244
+ }
4245
+ }, 'BaseComp', _vm.$attrs, false), [_c('section', {
4246
+ staticClass: "cmhk-home_main"
4247
+ }, [_c('div', {
4248
+ staticClass: "wrap",
4249
+ style: _vm.wrapStyle
4250
+ }, _vm._l(_vm.showVideoList, function (item) {
4251
+ return _c('cms-image', {
4252
+ key: item.componentId,
4253
+ staticStyle: {
4254
+ "overflow": "hidden"
4255
+ },
4256
+ attrs: {
4257
+ "data": item,
4258
+ "nowCompId": _vm.nowCompId,
4259
+ "isOpcacity": _vm.isOpcacity,
4260
+ "isMask": false,
4261
+ "lang": _vm.lang
4262
+ }
4263
+ });
4264
+ }), 1), _vm.isShowPannel ? [_c('div', {
4265
+ staticClass: "view-more-container"
4266
+ }, [_c('div', {
4267
+ staticClass: "view-more-btn",
4268
+ on: {
4269
+ "click": _vm.foldMessText
4270
+ }
4271
+ }, [_c('span', {
4272
+ staticClass: "view-more-text"
4273
+ }, [_vm._v(" " + _vm._s(_vm.messFold ? _vm.$t("roamIndex.Collpase") : _vm.$t("roamIndex.More")) + " ")]), _c('i', {
4274
+ class: ['view-more-icon', _vm.messFold ? 'el-icon-arrow-up' : 'el-icon-arrow-down']
4275
+ })])])] : _vm._e()], 2)]);
4276
+ };
4277
+ var staticRenderFns = [];
4278
+
4279
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
4280
+ var baseComp = __webpack_require__(4272);
4281
+ ;// ./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
4282
+
4283
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
4284
+ name: "cms-image-group",
4285
+ components: {
4286
+ BaseComp: baseComp["default"]
4287
+ },
4288
+ props: {
4289
+ data: {
4290
+ type: Object,
4291
+ default: () => {
4292
+ return {};
4293
+ }
4294
+ },
4295
+ nowCompId: {
4296
+ type: [String, Number],
4297
+ default: ""
4298
+ },
4299
+ isOpcacity: {
4300
+ type: Boolean,
4301
+ default: true
4302
+ },
4303
+ lang: {
4304
+ type: String,
4305
+ default: "zh-HK"
4306
+ }
4307
+ },
4308
+ data() {
4309
+ return {
4310
+ configData: {},
4311
+ messFold: false,
4312
+ // 默认配置数据
4313
+ defaultConfig: {
4314
+ colNums: 1,
4315
+ defaultCol: 12,
4316
+ gap: 10,
4317
+ cornerRadius: {
4318
+ topLeft: "8",
4319
+ topRight: "8",
4320
+ bottomLeft: "8",
4321
+ bottomRight: "8"
4322
+ }
4323
+ },
4324
+ isShowPannel: false
4325
+ };
4326
+ },
4327
+ mounted() {},
4328
+ watch: {
4329
+ configData: {
4330
+ handler() {
4331
+ this.updateStyles();
4332
+ },
4333
+ deep: true
4334
+ }
4335
+ },
4336
+ computed: {
4337
+ showVideoList() {
4338
+ if (this.isShowPannel && !this.messFold) return this.data.childList.slice(0, this.configData.colNums * this.configData.defaultCol);
4339
+ return this.data.childList;
4340
+ },
4341
+ isConfigPage() {
4342
+ return this.$EventBus && this.isOpcacity;
4343
+ },
4344
+ borderRadiusStyle() {
4345
+ const config = {
4346
+ ...this.defaultConfig,
4347
+ ...this.configData
4348
+ };
4349
+ const radiusConfig = config.cornerRadius || {};
4350
+ const legacyMap = {
4351
+ topLeft: config.borderRadiusTopLeft,
4352
+ topRight: config.borderRadiusTopRight,
4353
+ bottomLeft: config.borderRadiusBottomLeft,
4354
+ bottomRight: config.borderRadiusBottomRight
4355
+ };
4356
+ const formatRadius = value => {
4357
+ if (value === "full") return "9999px";
4358
+ if (value === undefined || value === null || value === "") {
4359
+ return "0px";
4360
+ }
4361
+ const num = Number(value);
4362
+ return Number.isNaN(num) ? "0px" : `${num}px`;
4363
+ };
4364
+ const resolveValue = corner => {
4365
+ const value = radiusConfig[corner] !== undefined && radiusConfig[corner] !== null ? radiusConfig[corner] : legacyMap[corner];
4366
+ return formatRadius(value);
4367
+ };
4368
+ return {
4369
+ topLeft: resolveValue("topLeft"),
4370
+ topRight: resolveValue("topRight"),
4371
+ bottomLeft: resolveValue("bottomLeft"),
4372
+ bottomRight: resolveValue("bottomRight")
4373
+ };
4374
+ },
4375
+ wrapStyle() {
4376
+ const config = {
4377
+ ...this.defaultConfig,
4378
+ ...this.configData
4379
+ };
4380
+ return {
4381
+ gridTemplateColumns: `repeat(${config.colNums}, 1fr)`,
4382
+ gridGap: `${config.gap}px`,
4383
+ borderTopLeftRadius: this.borderRadiusStyle.topLeft,
4384
+ borderTopRightRadius: this.borderRadiusStyle.topRight,
4385
+ borderBottomLeftRadius: this.borderRadiusStyle.bottomLeft,
4386
+ borderBottomRightRadius: this.borderRadiusStyle.bottomRight,
4387
+ overflow: "hidden"
4388
+ };
4389
+ }
4390
+ },
4391
+ methods: {
4392
+ // 获取配置数据
4393
+ getConfigData(configData) {
4394
+ this.configData = this.getMergedConfig(configData);
4395
+ this.updateStyles();
4396
+ this.isShowPannel = this.configData.colNums * this.configData.defaultCol < this.data.childList.length;
4397
+ },
4398
+ // 更新样式
4399
+ updateStyles() {
4400
+ this.$nextTick(() => {
4401
+ // 触发样式更新
4402
+ this.$forceUpdate();
4403
+ });
4404
+ },
4405
+ // 折叠/展开文本
4406
+ foldMessText() {
4407
+ this.messFold = !this.messFold;
4408
+ },
4409
+ getMergedConfig(configData = {}) {
4410
+ const mergedCorner = {
4411
+ ...(this.defaultConfig.cornerRadius || {})
4412
+ };
4413
+ if (configData.cornerRadius) {
4414
+ Object.assign(mergedCorner, configData.cornerRadius);
4415
+ } else {
4416
+ var _configData$borderRad, _configData$borderRad2, _configData$borderRad3, _configData$borderRad4;
4417
+ mergedCorner.topLeft = (_configData$borderRad = configData.borderRadiusTopLeft) === null || _configData$borderRad === void 0 ? void 0 : _configData$borderRad.mergedCorner.topLeft;
4418
+ mergedCorner.topRight = (_configData$borderRad2 = configData.borderRadiusTopRight) === null || _configData$borderRad2 === void 0 ? void 0 : _configData$borderRad2.mergedCorner.topRight;
4419
+ mergedCorner.bottomLeft = (_configData$borderRad3 = configData.borderRadiusBottomLeft) === null || _configData$borderRad3 === void 0 ? void 0 : _configData$borderRad3.mergedCorner.bottomLeft;
4420
+ mergedCorner.bottomRight = (_configData$borderRad4 = configData.borderRadiusBottomRight) === null || _configData$borderRad4 === void 0 ? void 0 : _configData$borderRad4.mergedCorner.bottomRight;
4421
+ }
4422
+ return {
4423
+ ...this.defaultConfig,
4424
+ ...configData,
4425
+ cornerRadius: mergedCorner
4426
+ };
4427
+ }
4428
+ }
4429
+ });
4430
+ ;// ./package/cms-image-group/View.vue?vue&type=script&lang=js
4431
+ /* harmony default export */ var cms_image_group_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
4432
+ ;// ./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
4433
+ // extracted by mini-css-extract-plugin
4434
+
4435
+ ;// ./package/cms-image-group/View.vue?vue&type=style&index=0&id=4dee5e5e&prod&lang=scss&scoped=true
4436
+
4437
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
4438
+ var componentNormalizer = __webpack_require__(1656);
4439
+ ;// ./package/cms-image-group/View.vue
4440
+
4441
+
4442
+
4443
+ ;
4444
+
4445
+
4446
+ /* normalize component */
4447
+
4448
+ var component = (0,componentNormalizer/* default */.A)(
4449
+ cms_image_group_Viewvue_type_script_lang_js,
4450
+ render,
4451
+ staticRenderFns,
4452
+ false,
4453
+ null,
4454
+ "4dee5e5e",
4455
+ null
4456
+
4457
+ )
4458
+
4459
+ /* harmony default export */ var View = (component.exports);
4460
+
4461
+ /***/ }),
4462
+
3945
4463
  /***/ 1291:
3946
4464
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3947
4465
 
@@ -10625,8 +11143,8 @@ var map = {
10625
11143
  "./cms-column": 3923,
10626
11144
  "./cms-column-card": 5340,
10627
11145
  "./cms-column-card/": 5340,
10628
- "./cms-column-card/View": 2159,
10629
- "./cms-column-card/View.vue": 2159,
11146
+ "./cms-column-card/View": 2003,
11147
+ "./cms-column-card/View.vue": 2003,
10630
11148
  "./cms-column-card/index": 5340,
10631
11149
  "./cms-column-card/index.js": 5340,
10632
11150
  "./cms-column/": 3923,
@@ -10655,13 +11173,13 @@ var map = {
10655
11173
  "./cms-image": 8886,
10656
11174
  "./cms-image-group": 6940,
10657
11175
  "./cms-image-group/": 6940,
10658
- "./cms-image-group/View": 6745,
10659
- "./cms-image-group/View.vue": 6745,
11176
+ "./cms-image-group/View": 1243,
11177
+ "./cms-image-group/View.vue": 1243,
10660
11178
  "./cms-image-group/index": 6940,
10661
11179
  "./cms-image-group/index.js": 6940,
10662
11180
  "./cms-image/": 8886,
10663
- "./cms-image/View": 4825,
10664
- "./cms-image/View.vue": 4825,
11181
+ "./cms-image/View": 2521,
11182
+ "./cms-image/View.vue": 2521,
10665
11183
  "./cms-image/index": 8886,
10666
11184
  "./cms-image/index.js": 8886,
10667
11185
  "./cms-imgFour": 4352,
@@ -10786,13 +11304,13 @@ var map = {
10786
11304
  "./cms-video": 2404,
10787
11305
  "./cms-video-group": 622,
10788
11306
  "./cms-video-group/": 622,
10789
- "./cms-video-group/View": 9418,
10790
- "./cms-video-group/View.vue": 9418,
11307
+ "./cms-video-group/View": 201,
11308
+ "./cms-video-group/View.vue": 201,
10791
11309
  "./cms-video-group/index": 622,
10792
11310
  "./cms-video-group/index.js": 622,
10793
11311
  "./cms-video/": 2404,
10794
- "./cms-video/View": 8863,
10795
- "./cms-video/View.vue": 8863,
11312
+ "./cms-video/View": 3761,
11313
+ "./cms-video/View.vue": 3761,
10796
11314
  "./cms-video/index": 2404,
10797
11315
  "./cms-video/index.js": 2404,
10798
11316
  "./cms-view": 2392,
@@ -11868,398 +12386,7 @@ function isIos() {
11868
12386
 
11869
12387
  /***/ }),
11870
12388
 
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:
12389
+ /***/ 2003:
12263
12390
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
12264
12391
 
12265
12392
  "use strict";
@@ -12275,7 +12402,7 @@ __webpack_require__.d(__webpack_exports__, {
12275
12402
  var es_iterator_constructor = __webpack_require__(8111);
12276
12403
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.drop.js
12277
12404
  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
12405
+ ;// ./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
12406
 
12280
12407
 
12281
12408
 
@@ -12387,7 +12514,7 @@ var render = function render() {
12387
12514
  };
12388
12515
  var staticRenderFns = [];
12389
12516
 
12390
- ;// ./package/cms-column-card/View.vue?vue&type=template&id=155a8242&scoped=true
12517
+ ;// ./package/cms-column-card/View.vue?vue&type=template&id=ad0fdc1e&scoped=true
12391
12518
 
12392
12519
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js
12393
12520
  var es_array_push = __webpack_require__(4114);
@@ -12529,10 +12656,12 @@ var standard_page = __webpack_require__(8134);
12529
12656
  },
12530
12657
  // 获取容器圆角
12531
12658
  getContainerBorderRadius() {
12532
- if (this.configData.borderRadius) {
12533
- return `${this.configData.borderRadius}px`;
12659
+ const radius = this.configData.borderRadius !== undefined && this.configData.borderRadius !== null ? this.configData.borderRadius : 0;
12660
+ if (radius === "full") {
12661
+ return "9999px";
12534
12662
  }
12535
- return "0";
12663
+ const radiusNumber = Number(radius);
12664
+ return Number.isNaN(radiusNumber) ? "0px" : `${radiusNumber}px`;
12536
12665
  },
12537
12666
  getConfigData(configData) {
12538
12667
  this.configData = configData;
@@ -12692,10 +12821,10 @@ var standard_page = __webpack_require__(8134);
12692
12821
  });
12693
12822
  ;// ./package/cms-column-card/View.vue?vue&type=script&lang=js
12694
12823
  /* 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
12824
+ ;// ./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
12825
  // extracted by mini-css-extract-plugin
12697
12826
 
12698
- ;// ./package/cms-column-card/View.vue?vue&type=style&index=0&id=155a8242&prod&lang=scss&scoped=true
12827
+ ;// ./package/cms-column-card/View.vue?vue&type=style&index=0&id=ad0fdc1e&prod&lang=scss&scoped=true
12699
12828
 
12700
12829
  // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
12701
12830
  var componentNormalizer = __webpack_require__(1656);
@@ -12714,13 +12843,404 @@ var component = (0,componentNormalizer/* default */.A)(
12714
12843
  staticRenderFns,
12715
12844
  false,
12716
12845
  null,
12717
- "155a8242",
12846
+ "ad0fdc1e",
12718
12847
  null
12719
12848
 
12720
12849
  )
12721
12850
 
12722
12851
  /* harmony default export */ var View = (component.exports);
12723
12852
 
12853
+ /***/ }),
12854
+
12855
+ /***/ 2059:
12856
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
12857
+
12858
+ "use strict";
12859
+ __webpack_require__.r(__webpack_exports__);
12860
+ /* harmony default export */ __webpack_exports__["default"] = ({
12861
+ listPrice: 'Monthly Fee',
12862
+ oneoffPrice: 'One-off Price',
12863
+ bannerName: 'My collection',
12864
+ price: 'Price',
12865
+ all: 'All',
12866
+ bannerDes: 'Enjoy a leisurely journey in the Greater Bay Area, carrying your bags without any worries',
12867
+ addValue: 'Add value immediately',
12868
+ whyFiveG: 'Why CMHK 5G Broadband?',
12869
+ whyFiveGDes: 'Perfect for replacing slow-speed landlines / having your own broadband network',
12870
+ fiveGDesTitle: 'Choose Your 5G Broadband Service Plan',
12871
+ fiveGDesSubTitle: 'Come and choose the 5G widescreen service plan that suits you! Diverse and rich digital content opens up new possibilities for your world ',
12872
+ nowCostomersYh: 'Exclusive Offers for Existing CMHK Customers',
12873
+ login: 'Login',
12874
+ lookNowCostomerYh: 'and Check Your Exclusive Offers',
12875
+ yhPlaceholder: 'Enter Promo Code',
12876
+ search: 'Apply',
12877
+ select: 'Apply',
12878
+ detail: 'Learn more',
12879
+ yhCode: 'Promo Code Applied:',
12880
+ listHyq: 'Contract Period(Month)',
12881
+ basePrice: 'Originally',
12882
+ closeDetail: 'Collapse Details',
12883
+ open: 'Choose The Plan',
12884
+ expend: 'Expand',
12885
+ close: 'Collapse',
12886
+ lookDetail: 'View Details',
12887
+ chooseHyq: 'Contract Period (Month)',
12888
+ addService: 'Promotional Offers',
12889
+ reset: 'Reset Options',
12890
+ next: 'Next',
12891
+ nextMobile: 'Next',
12892
+ seeOther: "Let's take a look at other products",
12893
+ seeOtherDesc: 'Diverse and rich digital content opens up new possibilities for your world',
12894
+ stageWay: 'On stage way',
12895
+ newPhone: 'New number',
12896
+ systemNum: 'Number assigned by the system',
12897
+ simType: 'SIM card type',
12898
+ shitiSim: 'Physical SIM card',
12899
+ yhCodeText: 'Promo code',
12900
+ bandwidth: 'bandwidth',
12901
+ sfmx: 'Summary'
12902
+ });
12903
+
12904
+ /***/ }),
12905
+
12906
+ /***/ 2071:
12907
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
12908
+
12909
+ "use strict";
12910
+
12911
+
12912
+ exports.__esModule = true;
12913
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) {
12914
+ return typeof obj;
12915
+ } : function (obj) {
12916
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
12917
+ };
12918
+ exports["default"] = function (Vue) {
12919
+ /**
12920
+ * template
12921
+ *
12922
+ * @param {String} string
12923
+ * @param {Array} ...args
12924
+ * @return {String}
12925
+ */
12926
+
12927
+ function template(string) {
12928
+ for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
12929
+ args[_key - 1] = arguments[_key];
12930
+ }
12931
+ if (args.length === 1 && _typeof(args[0]) === 'object') {
12932
+ args = args[0];
12933
+ }
12934
+ if (!args || !args.hasOwnProperty) {
12935
+ args = {};
12936
+ }
12937
+ return string.replace(RE_NARGS, function (match, prefix, i, index) {
12938
+ var result = void 0;
12939
+ if (string[index - 1] === '{' && string[index + match.length] === '}') {
12940
+ return i;
12941
+ } else {
12942
+ result = (0, _util.hasOwn)(args, i) ? args[i] : null;
12943
+ if (result === null || result === undefined) {
12944
+ return '';
12945
+ }
12946
+ return result;
12947
+ }
12948
+ });
12949
+ }
12950
+ return template;
12951
+ };
12952
+ var _util = __webpack_require__(2125);
12953
+ var RE_NARGS = /(%|)\{([0-9a-zA-Z_]+)\}/g;
12954
+ /**
12955
+ * String format template
12956
+ * - Inspired:
12957
+ * https://github.com/Matt-Esch/string-template/index.js
12958
+ */
12959
+
12960
+ /***/ }),
12961
+
12962
+ /***/ 2106:
12963
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
12964
+
12965
+ "use strict";
12966
+
12967
+ var makeBuiltIn = __webpack_require__(283);
12968
+ var defineProperty = __webpack_require__(4913);
12969
+
12970
+ module.exports = function (target, name, descriptor) {
12971
+ if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });
12972
+ if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });
12973
+ return defineProperty.f(target, name, descriptor);
12974
+ };
12975
+
12976
+
12977
+ /***/ }),
12978
+
12979
+ /***/ 2125:
12980
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
12981
+
12982
+ "use strict";
12983
+
12984
+
12985
+ exports.__esModule = true;
12986
+ 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;
12987
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) {
12988
+ return typeof obj;
12989
+ } : function (obj) {
12990
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
12991
+ };
12992
+ exports.noop = noop;
12993
+ exports.hasOwn = hasOwn;
12994
+ exports.toObject = toObject;
12995
+ exports.getPropByPath = getPropByPath;
12996
+ exports.rafThrottle = rafThrottle;
12997
+ exports.objToArray = objToArray;
12998
+ var _vue = __webpack_require__(6848);
12999
+ var _vue2 = _interopRequireDefault(_vue);
13000
+ var _types = __webpack_require__(7012);
13001
+ function _interopRequireDefault(obj) {
13002
+ return obj && obj.__esModule ? obj : {
13003
+ default: obj
13004
+ };
13005
+ }
13006
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
13007
+ function noop() {}
13008
+ ;
13009
+ function hasOwn(obj, key) {
13010
+ return hasOwnProperty.call(obj, key);
13011
+ }
13012
+ ;
13013
+ function extend(to, _from) {
13014
+ for (var key in _from) {
13015
+ to[key] = _from[key];
13016
+ }
13017
+ return to;
13018
+ }
13019
+ ;
13020
+ function toObject(arr) {
13021
+ var res = {};
13022
+ for (var i = 0; i < arr.length; i++) {
13023
+ if (arr[i]) {
13024
+ extend(res, arr[i]);
13025
+ }
13026
+ }
13027
+ return res;
13028
+ }
13029
+ ;
13030
+ var getValueByPath = exports.getValueByPath = function getValueByPath(object, prop) {
13031
+ prop = prop || '';
13032
+ var paths = prop.split('.');
13033
+ var current = object;
13034
+ var result = null;
13035
+ for (var i = 0, j = paths.length; i < j; i++) {
13036
+ var path = paths[i];
13037
+ if (!current) break;
13038
+ if (i === j - 1) {
13039
+ result = current[path];
13040
+ break;
13041
+ }
13042
+ current = current[path];
13043
+ }
13044
+ return result;
13045
+ };
13046
+ function getPropByPath(obj, path, strict) {
13047
+ var tempObj = obj;
13048
+ path = path.replace(/\[(\w+)\]/g, '.$1');
13049
+ path = path.replace(/^\./, '');
13050
+ var keyArr = path.split('.');
13051
+ var i = 0;
13052
+ for (var len = keyArr.length; i < len - 1; ++i) {
13053
+ if (!tempObj && !strict) break;
13054
+ var key = keyArr[i];
13055
+ if (key in tempObj) {
13056
+ tempObj = tempObj[key];
13057
+ } else {
13058
+ if (strict) {
13059
+ throw new Error('please transfer a valid prop path to form item!');
13060
+ }
13061
+ break;
13062
+ }
13063
+ }
13064
+ return {
13065
+ o: tempObj,
13066
+ k: keyArr[i],
13067
+ v: tempObj ? tempObj[keyArr[i]] : null
13068
+ };
13069
+ }
13070
+ ;
13071
+ var generateId = exports.generateId = function generateId() {
13072
+ return Math.floor(Math.random() * 10000);
13073
+ };
13074
+ var valueEquals = exports.valueEquals = function valueEquals(a, b) {
13075
+ // see: https://stackoverflow.com/questions/3115982/how-to-check-if-two-arrays-are-equal-with-javascript
13076
+ if (a === b) return true;
13077
+ if (!(a instanceof Array)) return false;
13078
+ if (!(b instanceof Array)) return false;
13079
+ if (a.length !== b.length) return false;
13080
+ for (var i = 0; i !== a.length; ++i) {
13081
+ if (a[i] !== b[i]) return false;
13082
+ }
13083
+ return true;
13084
+ };
13085
+ var escapeRegexpString = exports.escapeRegexpString = function escapeRegexpString() {
13086
+ var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
13087
+ return String(value).replace(/[|\\{}()[\]^$+*?.]/g, '\\$&');
13088
+ };
13089
+
13090
+ // TODO: use native Array.find, Array.findIndex when IE support is dropped
13091
+ var arrayFindIndex = exports.arrayFindIndex = function arrayFindIndex(arr, pred) {
13092
+ for (var i = 0; i !== arr.length; ++i) {
13093
+ if (pred(arr[i])) {
13094
+ return i;
13095
+ }
13096
+ }
13097
+ return -1;
13098
+ };
13099
+ var arrayFind = exports.arrayFind = function arrayFind(arr, pred) {
13100
+ var idx = arrayFindIndex(arr, pred);
13101
+ return idx !== -1 ? arr[idx] : undefined;
13102
+ };
13103
+
13104
+ // coerce truthy value to array
13105
+ var coerceTruthyValueToArray = exports.coerceTruthyValueToArray = function coerceTruthyValueToArray(val) {
13106
+ if (Array.isArray(val)) {
13107
+ return val;
13108
+ } else if (val) {
13109
+ return [val];
13110
+ } else {
13111
+ return [];
13112
+ }
13113
+ };
13114
+ var isIE = exports.isIE = function isIE() {
13115
+ return !_vue2.default.prototype.$isServer && !isNaN(Number(document.documentMode));
13116
+ };
13117
+ var isEdge = exports.isEdge = function isEdge() {
13118
+ return !_vue2.default.prototype.$isServer && navigator.userAgent.indexOf('Edge') > -1;
13119
+ };
13120
+ var isFirefox = exports.isFirefox = function isFirefox() {
13121
+ return !_vue2.default.prototype.$isServer && !!window.navigator.userAgent.match(/firefox/i);
13122
+ };
13123
+ var autoprefixer = exports.autoprefixer = function autoprefixer(style) {
13124
+ if ((typeof style === 'undefined' ? 'undefined' : _typeof(style)) !== 'object') return style;
13125
+ var rules = ['transform', 'transition', 'animation'];
13126
+ var prefixes = ['ms-', 'webkit-'];
13127
+ rules.forEach(function (rule) {
13128
+ var value = style[rule];
13129
+ if (rule && value) {
13130
+ prefixes.forEach(function (prefix) {
13131
+ style[prefix + rule] = value;
13132
+ });
13133
+ }
13134
+ });
13135
+ return style;
13136
+ };
13137
+ var kebabCase = exports.kebabCase = function kebabCase(str) {
13138
+ var hyphenateRE = /([^-])([A-Z])/g;
13139
+ return str.replace(hyphenateRE, '$1-$2').replace(hyphenateRE, '$1-$2').toLowerCase();
13140
+ };
13141
+ var capitalize = exports.capitalize = function capitalize(str) {
13142
+ if (!(0, _types.isString)(str)) return str;
13143
+ return str.charAt(0).toUpperCase() + str.slice(1);
13144
+ };
13145
+ var looseEqual = exports.looseEqual = function looseEqual(a, b) {
13146
+ var isObjectA = (0, _types.isObject)(a);
13147
+ var isObjectB = (0, _types.isObject)(b);
13148
+ if (isObjectA && isObjectB) {
13149
+ return JSON.stringify(a) === JSON.stringify(b);
13150
+ } else if (!isObjectA && !isObjectB) {
13151
+ return String(a) === String(b);
13152
+ } else {
13153
+ return false;
13154
+ }
13155
+ };
13156
+ var arrayEquals = exports.arrayEquals = function arrayEquals(arrayA, arrayB) {
13157
+ arrayA = arrayA || [];
13158
+ arrayB = arrayB || [];
13159
+ if (arrayA.length !== arrayB.length) {
13160
+ return false;
13161
+ }
13162
+ for (var i = 0; i < arrayA.length; i++) {
13163
+ if (!looseEqual(arrayA[i], arrayB[i])) {
13164
+ return false;
13165
+ }
13166
+ }
13167
+ return true;
13168
+ };
13169
+ var isEqual = exports.isEqual = function isEqual(value1, value2) {
13170
+ if (Array.isArray(value1) && Array.isArray(value2)) {
13171
+ return arrayEquals(value1, value2);
13172
+ }
13173
+ return looseEqual(value1, value2);
13174
+ };
13175
+ var isEmpty = exports.isEmpty = function isEmpty(val) {
13176
+ // null or undefined
13177
+ if (val == null) return true;
13178
+ if (typeof val === 'boolean') return false;
13179
+ if (typeof val === 'number') return !val;
13180
+ if (val instanceof Error) return val.message === '';
13181
+ switch (Object.prototype.toString.call(val)) {
13182
+ // String or Array
13183
+ case '[object String]':
13184
+ case '[object Array]':
13185
+ return !val.length;
13186
+
13187
+ // Map or Set or File
13188
+ case '[object File]':
13189
+ case '[object Map]':
13190
+ case '[object Set]':
13191
+ {
13192
+ return !val.size;
13193
+ }
13194
+ // Plain Object
13195
+ case '[object Object]':
13196
+ {
13197
+ return !Object.keys(val).length;
13198
+ }
13199
+ }
13200
+ return false;
13201
+ };
13202
+ function rafThrottle(fn) {
13203
+ var locked = false;
13204
+ return function () {
13205
+ var _this = this;
13206
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
13207
+ args[_key] = arguments[_key];
13208
+ }
13209
+ if (locked) return;
13210
+ locked = true;
13211
+ window.requestAnimationFrame(function (_) {
13212
+ fn.apply(_this, args);
13213
+ locked = false;
13214
+ });
13215
+ };
13216
+ }
13217
+ function objToArray(obj) {
13218
+ if (Array.isArray(obj)) {
13219
+ return obj;
13220
+ }
13221
+ return isEmpty(obj) ? [] : [obj];
13222
+ }
13223
+ var isMac = exports.isMac = function isMac() {
13224
+ return !_vue2.default.prototype.$isServer && /macintosh|mac os x/i.test(navigator.userAgent);
13225
+ };
13226
+
13227
+ /***/ }),
13228
+
13229
+ /***/ 2140:
13230
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
13231
+
13232
+ "use strict";
13233
+
13234
+ var wellKnownSymbol = __webpack_require__(8227);
13235
+
13236
+ var TO_STRING_TAG = wellKnownSymbol('toStringTag');
13237
+ var test = {};
13238
+
13239
+ test[TO_STRING_TAG] = 'z';
13240
+
13241
+ module.exports = String(test) === '[object z]';
13242
+
13243
+
12724
13244
  /***/ }),
12725
13245
 
12726
13246
  /***/ 2195:
@@ -13540,7 +14060,7 @@ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind
13540
14060
  __webpack_require__.r(__webpack_exports__);
13541
14061
  /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
13542
14062
 
13543
- const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 8863));
14063
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 3761));
13544
14064
  const langData = {
13545
14065
  // 视频源设置
13546
14066
  title: '',
@@ -13557,10 +14077,32 @@ const langData = {
13557
14077
  aspectRatio: "16:9",
13558
14078
  // 样式设置
13559
14079
  borderRadius: 0,
14080
+ cornerRadius: {
14081
+ topLeft: "8",
14082
+ topRight: "8",
14083
+ bottomLeft: "8",
14084
+ bottomRight: "8"
14085
+ },
13560
14086
  // 高级配置
13561
14087
  customClass: "",
13562
14088
  customStyle: ""
13563
14089
  };
14090
+ const radiusOptions = [{
14091
+ label: "0",
14092
+ value: "0"
14093
+ }, {
14094
+ label: "4",
14095
+ value: "4"
14096
+ }, {
14097
+ label: "8",
14098
+ value: "8"
14099
+ }, {
14100
+ label: "16",
14101
+ value: "16"
14102
+ }, {
14103
+ label: "全圆角",
14104
+ value: "full"
14105
+ }];
13564
14106
  const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataType)(langData, {
13565
14107
  // 视频源设置配置
13566
14108
  title: {
@@ -13638,13 +14180,10 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
13638
14180
  }]
13639
14181
  },
13640
14182
  // 样式设置配置
13641
- borderRadius: {
13642
- label: "圆角(px)",
13643
- widgetType: "el-input-number",
13644
- size: "small",
13645
- min: 0,
13646
- max: 100,
13647
- step: 1
14183
+ cornerRadius: {
14184
+ label: "圆角",
14185
+ widgetType: "CornerRadiusPicker",
14186
+ options: radiusOptions
13648
14187
  }
13649
14188
 
13650
14189
  // 高级配置
@@ -13899,6 +14438,361 @@ module.exports = Object;
13899
14438
 
13900
14439
  /***/ }),
13901
14440
 
14441
+ /***/ 2521:
14442
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
14443
+
14444
+ "use strict";
14445
+ // ESM COMPAT FLAG
14446
+ __webpack_require__.r(__webpack_exports__);
14447
+
14448
+ // EXPORTS
14449
+ __webpack_require__.d(__webpack_exports__, {
14450
+ "default": function() { return /* binding */ View; }
14451
+ });
14452
+
14453
+ ;// ./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
14454
+ var render = function render() {
14455
+ var _vm = this,
14456
+ _c = _vm._self._c;
14457
+ return _c('BaseComp', _vm._b({
14458
+ attrs: {
14459
+ "data": _vm.data,
14460
+ "nowCompId": _vm.nowCompId,
14461
+ "isOpcacity": _vm.isOpcacity,
14462
+ "lang": _vm.lang
14463
+ },
14464
+ on: {
14465
+ "getConfigData": _vm.getConfigData
14466
+ }
14467
+ }, 'BaseComp', _vm.$attrs, false), [_c('section', {
14468
+ staticClass: "cms-image-container",
14469
+ class: [_vm.configData.customClass || '', {
14470
+ 'has-link': _vm.configData.zoomDynamic
14471
+ }],
14472
+ style: _vm.containerStyle
14473
+ }, [_c('div', {
14474
+ staticClass: "image-wrapper",
14475
+ style: _vm.wrapperStyle,
14476
+ on: {
14477
+ "click": _vm.handleClick
14478
+ }
14479
+ }, [_vm.configData.imageUrl ? _c('img', {
14480
+ staticClass: "cms-image",
14481
+ style: _vm.imageStyle,
14482
+ attrs: {
14483
+ "src": _vm.configData.imageUrl,
14484
+ "alt": _vm.configData.altText || '图片',
14485
+ "title": _vm.configData.title
14486
+ },
14487
+ on: {
14488
+ "load": _vm.onImageLoad,
14489
+ "error": _vm.onImageError
14490
+ }
14491
+ }) : _c('div', {
14492
+ staticClass: "image-placeholder",
14493
+ style: _vm.placeholderStyle
14494
+ }, [_c('img', {
14495
+ staticStyle: {
14496
+ "width": "200px",
14497
+ "height": "200px"
14498
+ },
14499
+ attrs: {
14500
+ "src": __webpack_require__(4806),
14501
+ "alt": "Picture"
14502
+ }
14503
+ })])])]), _vm.configData.remark ? _c('div', {
14504
+ staticClass: "f-c-c"
14505
+ }, [_vm._v(_vm._s(_vm.configData.remark))]) : _vm._e()]);
14506
+ };
14507
+ var staticRenderFns = [];
14508
+
14509
+ ;// ./package/cms-image/View.vue?vue&type=template&id=0c128a30&scoped=true
14510
+
14511
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
14512
+ var es_iterator_constructor = __webpack_require__(8111);
14513
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
14514
+ var es_iterator_for_each = __webpack_require__(7588);
14515
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
14516
+ var baseComp = __webpack_require__(4272);
14517
+ ;// ./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
14518
+
14519
+
14520
+
14521
+
14522
+
14523
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
14524
+ name: "cms-image",
14525
+ components: {
14526
+ BaseComp: baseComp["default"]
14527
+ },
14528
+ props: {
14529
+ data: {
14530
+ type: Object,
14531
+ default: () => {
14532
+ return {};
14533
+ }
14534
+ },
14535
+ nowCompId: {
14536
+ type: [String, Number],
14537
+ default: ""
14538
+ },
14539
+ isOpcacity: {
14540
+ type: Boolean,
14541
+ default: true
14542
+ },
14543
+ lang: {
14544
+ type: String,
14545
+ default: "zh-HK"
14546
+ }
14547
+ },
14548
+ data() {
14549
+ return {
14550
+ configData: {},
14551
+ imageLoaded: false,
14552
+ imageError: false,
14553
+ // 默认配置数据
14554
+ defaultConfig: {
14555
+ // 图片设置
14556
+ imageUrl: "",
14557
+ altText: "图片",
14558
+ title: "",
14559
+ // 样式设置
14560
+ borderRadius: 0,
14561
+ cornerRadius: {
14562
+ topLeft: "8",
14563
+ topRight: "8",
14564
+ bottomLeft: "8",
14565
+ bottomRight: "8"
14566
+ },
14567
+ objectFit: "cover",
14568
+ // 交互功能
14569
+ linkUrl: "",
14570
+ linkTarget: "_self",
14571
+ // 高级配置
14572
+ customClass: "",
14573
+ customStyle: "",
14574
+ lazyLoad: false,
14575
+ zoomDynamic: false
14576
+ }
14577
+ };
14578
+ },
14579
+ mounted() {
14580
+ this.initConfigData();
14581
+ },
14582
+ watch: {
14583
+ configData: {
14584
+ handler() {
14585
+ this.updateStyles();
14586
+ },
14587
+ deep: true
14588
+ }
14589
+ },
14590
+ computed: {
14591
+ // 容器样式
14592
+ containerStyle() {
14593
+ const config = {
14594
+ ...this.defaultConfig,
14595
+ ...this.configData
14596
+ };
14597
+ return {
14598
+ ...this.parseCustomStyle(config.customStyle)
14599
+ };
14600
+ },
14601
+ borderRadiusStyle() {
14602
+ const config = {
14603
+ ...this.defaultConfig,
14604
+ ...this.configData
14605
+ };
14606
+ const fallback = config.borderRadius !== undefined && config.borderRadius !== null ? `${config.borderRadius}px` : "0px";
14607
+ const radiusConfig = config.cornerRadius || {};
14608
+ const legacyMap = {
14609
+ topLeft: config.borderRadiusTopLeft,
14610
+ topRight: config.borderRadiusTopRight,
14611
+ bottomLeft: config.borderRadiusBottomLeft,
14612
+ bottomRight: config.borderRadiusBottomRight
14613
+ };
14614
+ const resolveValue = corner => {
14615
+ const value = radiusConfig[corner] !== undefined && radiusConfig[corner] !== null ? radiusConfig[corner] : legacyMap[corner];
14616
+ if (value === "full") return "9999px";
14617
+ if (value === undefined || value === null || value === "") {
14618
+ return fallback;
14619
+ }
14620
+ const num = Number(value);
14621
+ return Number.isNaN(num) ? fallback : `${num}px`;
14622
+ };
14623
+ return {
14624
+ topLeft: resolveValue("topLeft"),
14625
+ topRight: resolveValue("topRight"),
14626
+ bottomLeft: resolveValue("bottomLeft"),
14627
+ bottomRight: resolveValue("bottomRight")
14628
+ };
14629
+ },
14630
+ // 包装器样式
14631
+ wrapperStyle() {
14632
+ const config = {
14633
+ ...this.defaultConfig,
14634
+ ...this.configData
14635
+ };
14636
+ return {
14637
+ width: "100%",
14638
+ height: "auto",
14639
+ maxWidth: "100%",
14640
+ borderTopLeftRadius: this.borderRadiusStyle.topLeft,
14641
+ borderTopRightRadius: this.borderRadiusStyle.topRight,
14642
+ borderBottomLeftRadius: this.borderRadiusStyle.bottomLeft,
14643
+ borderBottomRightRadius: this.borderRadiusStyle.bottomRight,
14644
+ overflow: "hidden",
14645
+ cursor: config.linkUrl ? "pointer" : "default",
14646
+ display: "block"
14647
+ };
14648
+ },
14649
+ // 图片样式
14650
+ imageStyle() {
14651
+ const config = {
14652
+ ...this.defaultConfig,
14653
+ ...this.configData
14654
+ };
14655
+ return {
14656
+ width: "100%",
14657
+ height: "auto",
14658
+ objectFit: config.objectFit,
14659
+ display: "block"
14660
+ };
14661
+ },
14662
+ // 占位符样式
14663
+ placeholderStyle() {
14664
+ const config = {
14665
+ ...this.defaultConfig,
14666
+ ...this.configData
14667
+ };
14668
+ return {
14669
+ width: "100%",
14670
+ minHeight: "150px",
14671
+ backgroundColor: "#F2F9FF",
14672
+ border: "1px dashed #dcdfe6",
14673
+ borderTopLeftRadius: this.borderRadiusStyle.topLeft,
14674
+ borderTopRightRadius: this.borderRadiusStyle.topRight,
14675
+ borderBottomLeftRadius: this.borderRadiusStyle.bottomLeft,
14676
+ borderBottomRightRadius: this.borderRadiusStyle.bottomRight,
14677
+ display: "flex",
14678
+ flexDirection: "column",
14679
+ alignItems: "center",
14680
+ justifyContent: "center",
14681
+ color: "#909399",
14682
+ fontSize: "14px"
14683
+ };
14684
+ }
14685
+ },
14686
+ methods: {
14687
+ // 初始化配置数据
14688
+ initConfigData() {
14689
+ this.configData = this.getMergedConfig(this.configData);
14690
+ },
14691
+ // 获取配置数据
14692
+ getConfigData(configData) {
14693
+ this.configData = this.getMergedConfig(configData);
14694
+ this.updateStyles();
14695
+ },
14696
+ // 更新样式
14697
+ updateStyles() {
14698
+ this.$nextTick(() => {
14699
+ this.$forceUpdate();
14700
+ });
14701
+ },
14702
+ getMergedConfig(configData = {}) {
14703
+ const mergedCorner = {
14704
+ ...(this.defaultConfig.cornerRadius || {})
14705
+ };
14706
+ if (configData.cornerRadius) {
14707
+ Object.assign(mergedCorner, configData.cornerRadius);
14708
+ } else {
14709
+ var _configData$borderRad, _configData$borderRad2, _configData$borderRad3, _configData$borderRad4;
14710
+ mergedCorner.topLeft = (_configData$borderRad = configData.borderRadiusTopLeft) === null || _configData$borderRad === void 0 ? void 0 : _configData$borderRad.mergedCorner.topLeft;
14711
+ mergedCorner.topRight = (_configData$borderRad2 = configData.borderRadiusTopRight) === null || _configData$borderRad2 === void 0 ? void 0 : _configData$borderRad2.mergedCorner.topRight;
14712
+ mergedCorner.bottomLeft = (_configData$borderRad3 = configData.borderRadiusBottomLeft) === null || _configData$borderRad3 === void 0 ? void 0 : _configData$borderRad3.mergedCorner.bottomLeft;
14713
+ mergedCorner.bottomRight = (_configData$borderRad4 = configData.borderRadiusBottomRight) === null || _configData$borderRad4 === void 0 ? void 0 : _configData$borderRad4.mergedCorner.bottomRight;
14714
+ }
14715
+ return {
14716
+ ...this.defaultConfig,
14717
+ ...configData,
14718
+ cornerRadius: mergedCorner
14719
+ };
14720
+ },
14721
+ // 处理点击事件
14722
+ handleClick() {
14723
+ if (this.configData.linkUrl) {
14724
+ const target = this.configData.linkTarget || "_self";
14725
+ if (target === "_blank") {
14726
+ window.open(this.configData.linkUrl, "_blank");
14727
+ } else {
14728
+ window.location.href = this.configData.linkUrl;
14729
+ }
14730
+ }
14731
+ },
14732
+ // 图片加载成功
14733
+ onImageLoad() {
14734
+ this.imageLoaded = true;
14735
+ this.imageError = false;
14736
+ },
14737
+ // 图片加载失败
14738
+ onImageError() {
14739
+ this.imageLoaded = false;
14740
+ this.imageError = true;
14741
+ },
14742
+ // 解析自定义样式
14743
+ parseCustomStyle(customStyle) {
14744
+ if (!customStyle) return {};
14745
+ try {
14746
+ const styles = {};
14747
+ const declarations = customStyle.split(";");
14748
+ declarations.forEach(declaration => {
14749
+ const [property, value] = declaration.split(":");
14750
+ if (property && value) {
14751
+ const camelCaseProperty = property.trim().replace(/-([a-z])/g, g => g[1].toUpperCase());
14752
+ styles[camelCaseProperty] = value.trim();
14753
+ }
14754
+ });
14755
+ return styles;
14756
+ } catch (error) {
14757
+ console.warn("解析自定义样式失败:", error);
14758
+ return {};
14759
+ }
14760
+ }
14761
+ }
14762
+ });
14763
+ ;// ./package/cms-image/View.vue?vue&type=script&lang=js
14764
+ /* harmony default export */ var cms_image_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
14765
+ ;// ./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
14766
+ // extracted by mini-css-extract-plugin
14767
+
14768
+ ;// ./package/cms-image/View.vue?vue&type=style&index=0&id=0c128a30&prod&lang=scss&scoped=true
14769
+
14770
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
14771
+ var componentNormalizer = __webpack_require__(1656);
14772
+ ;// ./package/cms-image/View.vue
14773
+
14774
+
14775
+
14776
+ ;
14777
+
14778
+
14779
+ /* normalize component */
14780
+
14781
+ var component = (0,componentNormalizer/* default */.A)(
14782
+ cms_image_Viewvue_type_script_lang_js,
14783
+ render,
14784
+ staticRenderFns,
14785
+ false,
14786
+ null,
14787
+ "0c128a30",
14788
+ null
14789
+
14790
+ )
14791
+
14792
+ /* harmony default export */ var View = (component.exports);
14793
+
14794
+ /***/ }),
14795
+
13902
14796
  /***/ 2528:
13903
14797
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
13904
14798
 
@@ -27166,6 +28060,388 @@ const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSc
27166
28060
 
27167
28061
  /***/ }),
27168
28062
 
28063
+ /***/ 3761:
28064
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
28065
+
28066
+ "use strict";
28067
+ // ESM COMPAT FLAG
28068
+ __webpack_require__.r(__webpack_exports__);
28069
+
28070
+ // EXPORTS
28071
+ __webpack_require__.d(__webpack_exports__, {
28072
+ "default": function() { return /* binding */ View; }
28073
+ });
28074
+
28075
+ ;// ./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
28076
+ var render = function render() {
28077
+ var _vm = this,
28078
+ _c = _vm._self._c;
28079
+ return _c('BaseComp', _vm._b({
28080
+ attrs: {
28081
+ "data": _vm.data,
28082
+ "nowCompId": _vm.nowCompId,
28083
+ "isOpcacity": _vm.isOpcacity,
28084
+ "lang": _vm.lang
28085
+ },
28086
+ on: {
28087
+ "getConfigData": _vm.getConfigData
28088
+ }
28089
+ }, 'BaseComp', _vm.$attrs, false), [_c('section', {
28090
+ staticClass: "cms-video-container",
28091
+ class: [_vm.configData.customClass || ''],
28092
+ style: _vm.containerStyle
28093
+ }, [_c('div', {
28094
+ staticClass: "video-wrapper",
28095
+ style: _vm.wrapperStyle
28096
+ }, [_vm.videoType === 'direct' && _vm.configData.videoUrl ? _c('video', {
28097
+ staticClass: "cms-video direct-video",
28098
+ style: _vm.videoStyle,
28099
+ attrs: {
28100
+ "src": _vm.configData.videoUrl,
28101
+ "controls": _vm.configData.showControls,
28102
+ "autoplay": _vm.configData.autoplay,
28103
+ "loop": _vm.configData.loop,
28104
+ "poster": _vm.configData.posterUrl
28105
+ },
28106
+ domProps: {
28107
+ "muted": _vm.configData.muted
28108
+ },
28109
+ on: {
28110
+ "loadstart": _vm.onVideoLoadStart,
28111
+ "loadeddata": _vm.onVideoLoaded,
28112
+ "error": _vm.onVideoError
28113
+ }
28114
+ }) : _vm.configData.embedCode ? _c('div', {
28115
+ staticClass: "cms-video embed-video cms-ht",
28116
+ style: _vm.videoStyle,
28117
+ domProps: {
28118
+ "innerHTML": _vm._s(_vm.configData.embedCode)
28119
+ }
28120
+ }) : _c('div', {
28121
+ staticClass: "video-placeholder",
28122
+ style: _vm.placeholderStyle
28123
+ }, [_c('img', {
28124
+ staticStyle: {
28125
+ "width": "97.82px",
28126
+ "height": "97.82px"
28127
+ },
28128
+ attrs: {
28129
+ "src": __webpack_require__(6148),
28130
+ "alt": "Video Camera"
28131
+ }
28132
+ })])]), _vm.configData.title ? _c('div', {
28133
+ staticClass: "f-c-c"
28134
+ }, [_vm._v(_vm._s(_vm.configData.title))]) : _vm._e()])]);
28135
+ };
28136
+ var staticRenderFns = [];
28137
+
28138
+ ;// ./package/cms-video/View.vue?vue&type=template&id=11fc0d9a&scoped=true
28139
+
28140
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
28141
+ var es_iterator_constructor = __webpack_require__(8111);
28142
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
28143
+ var es_iterator_for_each = __webpack_require__(7588);
28144
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
28145
+ var baseComp = __webpack_require__(4272);
28146
+ ;// ./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
28147
+
28148
+
28149
+
28150
+
28151
+
28152
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
28153
+ name: "cms-video",
28154
+ components: {
28155
+ BaseComp: baseComp["default"]
28156
+ },
28157
+ props: {
28158
+ data: {
28159
+ type: Object,
28160
+ default: () => {
28161
+ return {};
28162
+ }
28163
+ },
28164
+ nowCompId: {
28165
+ type: [String, Number],
28166
+ default: ""
28167
+ },
28168
+ isOpcacity: {
28169
+ type: Boolean,
28170
+ default: true
28171
+ },
28172
+ lang: {
28173
+ type: String,
28174
+ default: "zh-HK"
28175
+ }
28176
+ },
28177
+ data() {
28178
+ return {
28179
+ configData: {},
28180
+ videoLoaded: false,
28181
+ videoError: false,
28182
+ // 默认配置数据
28183
+ defaultConfig: {
28184
+ // 视频源设置
28185
+ videoType: "direct",
28186
+ videoUrl: "",
28187
+ embedCode: "",
28188
+ posterUrl: "",
28189
+ // 播放控制
28190
+ showControls: true,
28191
+ autoplay: false,
28192
+ loop: false,
28193
+ muted: false,
28194
+ // 尺寸控制
28195
+ aspectRatio: "16:9",
28196
+ // 样式设置
28197
+ borderRadius: 0,
28198
+ cornerRadius: {
28199
+ topLeft: "8",
28200
+ topRight: "8",
28201
+ bottomLeft: "8",
28202
+ bottomRight: "8"
28203
+ },
28204
+ // 高级配置
28205
+ customClass: "",
28206
+ customStyle: ""
28207
+ }
28208
+ };
28209
+ },
28210
+ mounted() {
28211
+ this.initConfigData();
28212
+ },
28213
+ watch: {
28214
+ configData: {
28215
+ handler() {
28216
+ this.updateStyles();
28217
+ },
28218
+ deep: true
28219
+ }
28220
+ },
28221
+ computed: {
28222
+ showEmbedCode() {
28223
+ return this.configData.embedCode.replace(/<iframe(.*?)width="(\d+)"(.*?)height="(\d+)"(.*?)>/gi, '<iframe$1width="100%"$3height="auto"$5 aspect-ratio="$2/$4">');
28224
+ },
28225
+ // 视频类型
28226
+ videoType() {
28227
+ return this.configData.videoType || this.defaultConfig.videoType;
28228
+ },
28229
+ // 实际使用的宽高比
28230
+ actualAspectRatio() {
28231
+ const config = {
28232
+ ...this.defaultConfig,
28233
+ ...this.configData
28234
+ };
28235
+ return config.aspectRatio || "16:9";
28236
+ },
28237
+ aspectRatioValue() {
28238
+ const ratio = this.actualAspectRatio;
28239
+ if (!ratio || ratio === "auto") {
28240
+ return null;
28241
+ }
28242
+ return ratio.replace(":", "/");
28243
+ },
28244
+ // 容器样式
28245
+ containerStyle() {
28246
+ const config = {
28247
+ ...this.defaultConfig,
28248
+ ...this.configData
28249
+ };
28250
+ return {
28251
+ ...this.parseCustomStyle(config.customStyle)
28252
+ };
28253
+ },
28254
+ borderRadiusStyle() {
28255
+ const config = {
28256
+ ...this.defaultConfig,
28257
+ ...this.configData
28258
+ };
28259
+ const fallback = config.borderRadius !== undefined && config.borderRadius !== null ? `${config.borderRadius}px` : "0px";
28260
+ const radiusConfig = config.cornerRadius || {};
28261
+ const resolveValue = corner => {
28262
+ const value = radiusConfig[corner] !== undefined && radiusConfig[corner] !== null ? radiusConfig[corner] : config.borderRadius;
28263
+ if (value === "full") return "9999px";
28264
+ if (value === undefined || value === null || value === "") {
28265
+ return fallback;
28266
+ }
28267
+ const num = Number(value);
28268
+ return Number.isNaN(num) ? fallback : `${num}px`;
28269
+ };
28270
+ return {
28271
+ topLeft: resolveValue("topLeft"),
28272
+ topRight: resolveValue("topRight"),
28273
+ bottomLeft: resolveValue("bottomLeft"),
28274
+ bottomRight: resolveValue("bottomRight")
28275
+ };
28276
+ },
28277
+ // 包装器样式
28278
+ wrapperStyle() {
28279
+ const config = {
28280
+ ...this.defaultConfig,
28281
+ ...this.configData
28282
+ };
28283
+ const style = {
28284
+ width: "100%",
28285
+ borderTopLeftRadius: this.borderRadiusStyle.topLeft,
28286
+ borderTopRightRadius: this.borderRadiusStyle.topRight,
28287
+ borderBottomLeftRadius: this.borderRadiusStyle.bottomLeft,
28288
+ borderBottomRightRadius: this.borderRadiusStyle.bottomRight,
28289
+ overflow: "hidden",
28290
+ display: "block",
28291
+ position: "relative"
28292
+ };
28293
+ if (this.aspectRatioValue) {
28294
+ style.aspectRatio = this.aspectRatioValue;
28295
+ }
28296
+ return style;
28297
+ },
28298
+ // 视频样式
28299
+ videoStyle() {
28300
+ const config = {
28301
+ ...this.defaultConfig,
28302
+ ...this.configData
28303
+ };
28304
+ const style = {
28305
+ width: "100%",
28306
+ display: "block",
28307
+ border: "none",
28308
+ outline: "none"
28309
+ };
28310
+ if (this.aspectRatioValue) {
28311
+ style.height = "100%";
28312
+ style.aspectRatio = this.aspectRatioValue;
28313
+ } else {
28314
+ style.height = "auto";
28315
+ }
28316
+ return style;
28317
+ },
28318
+ // 占位符样式
28319
+ placeholderStyle() {
28320
+ const config = {
28321
+ ...this.defaultConfig,
28322
+ ...this.configData
28323
+ };
28324
+ const style = {
28325
+ width: "100%",
28326
+ backgroundColor: "#f5f7fa",
28327
+ border: "1px dashed #dcdfe6",
28328
+ borderTopLeftRadius: this.borderRadiusStyle.topLeft,
28329
+ borderTopRightRadius: this.borderRadiusStyle.topRight,
28330
+ borderBottomLeftRadius: this.borderRadiusStyle.bottomLeft,
28331
+ borderBottomRightRadius: this.borderRadiusStyle.bottomRight,
28332
+ display: "flex",
28333
+ flexDirection: "column",
28334
+ alignItems: "center",
28335
+ justifyContent: "center",
28336
+ color: "#909399",
28337
+ fontSize: "14px"
28338
+ };
28339
+ if (this.aspectRatioValue) {
28340
+ style.aspectRatio = this.aspectRatioValue;
28341
+ } else {
28342
+ style.minHeight = "160px";
28343
+ }
28344
+ return style;
28345
+ }
28346
+ },
28347
+ methods: {
28348
+ // 初始化配置数据
28349
+ initConfigData() {
28350
+ this.configData = this.getMergedConfig(this.configData);
28351
+ },
28352
+ // 获取配置数据
28353
+ getConfigData(configData) {
28354
+ this.configData = this.getMergedConfig(configData);
28355
+ this.updateStyles();
28356
+ },
28357
+ // 更新样式
28358
+ updateStyles() {
28359
+ this.$nextTick(() => {
28360
+ this.$forceUpdate();
28361
+ });
28362
+ },
28363
+ // 视频开始加载
28364
+ onVideoLoadStart() {
28365
+ this.videoLoaded = false;
28366
+ this.videoError = false;
28367
+ },
28368
+ // 视频加载完成
28369
+ onVideoLoaded() {
28370
+ this.videoLoaded = true;
28371
+ this.videoError = false;
28372
+ },
28373
+ // 视频加载失败
28374
+ onVideoError() {
28375
+ this.videoLoaded = false;
28376
+ this.videoError = true;
28377
+ },
28378
+ getMergedConfig(configData = {}) {
28379
+ const mergedCorner = {
28380
+ ...(this.defaultConfig.cornerRadius || {})
28381
+ };
28382
+ if (configData.cornerRadius) {
28383
+ Object.assign(mergedCorner, configData.cornerRadius);
28384
+ }
28385
+ return {
28386
+ ...this.defaultConfig,
28387
+ ...configData,
28388
+ cornerRadius: mergedCorner
28389
+ };
28390
+ },
28391
+ // 解析自定义样式
28392
+ parseCustomStyle(customStyle) {
28393
+ if (!customStyle) return {};
28394
+ try {
28395
+ const styles = {};
28396
+ const declarations = customStyle.split(";");
28397
+ declarations.forEach(declaration => {
28398
+ const [property, value] = declaration.split(":");
28399
+ if (property && value) {
28400
+ const camelCaseProperty = property.trim().replace(/-([a-z])/g, g => g[1].toUpperCase());
28401
+ styles[camelCaseProperty] = value.trim();
28402
+ }
28403
+ });
28404
+ return styles;
28405
+ } catch (error) {
28406
+ console.warn("解析自定义样式失败:", error);
28407
+ return {};
28408
+ }
28409
+ }
28410
+ }
28411
+ });
28412
+ ;// ./package/cms-video/View.vue?vue&type=script&lang=js
28413
+ /* harmony default export */ var cms_video_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
28414
+ ;// ./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
28415
+ // extracted by mini-css-extract-plugin
28416
+
28417
+ ;// ./package/cms-video/View.vue?vue&type=style&index=0&id=11fc0d9a&prod&lang=scss&scoped=true
28418
+
28419
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
28420
+ var componentNormalizer = __webpack_require__(1656);
28421
+ ;// ./package/cms-video/View.vue
28422
+
28423
+
28424
+
28425
+ ;
28426
+
28427
+
28428
+ /* normalize component */
28429
+
28430
+ var component = (0,componentNormalizer/* default */.A)(
28431
+ cms_video_Viewvue_type_script_lang_js,
28432
+ render,
28433
+ staticRenderFns,
28434
+ false,
28435
+ null,
28436
+ "11fc0d9a",
28437
+ null
28438
+
28439
+ )
28440
+
28441
+ /* harmony default export */ var View = (component.exports);
28442
+
28443
+ /***/ }),
28444
+
27169
28445
  /***/ 3783:
27170
28446
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
27171
28447
 
@@ -39041,361 +40317,6 @@ function nonStandardBrowserEnv() {
39041
40317
 
39042
40318
  /***/ }),
39043
40319
 
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
40320
  /***/ 4860:
39400
40321
  /***/ (function(module) {
39401
40322
 
@@ -41202,13 +42123,13 @@ var map = {
41202
42123
  "./cms-banner/View.vue": 6815,
41203
42124
  "./cms-button/View.vue": 7891,
41204
42125
  "./cms-cells/View.vue": 5700,
41205
- "./cms-column-card/View.vue": 2159,
42126
+ "./cms-column-card/View.vue": 2003,
41206
42127
  "./cms-column/View.vue": 5519,
41207
42128
  "./cms-description/View.vue": 3203,
41208
42129
  "./cms-dynamic-comp/View.vue": 2809,
41209
42130
  "./cms-iconFour/View.vue": 8235,
41210
- "./cms-image-group/View.vue": 6745,
41211
- "./cms-image/View.vue": 4825,
42131
+ "./cms-image-group/View.vue": 1243,
42132
+ "./cms-image/View.vue": 2521,
41212
42133
  "./cms-imgFour/View.vue": 9751,
41213
42134
  "./cms-lineFive/View.vue": 4432,
41214
42135
  "./cms-lineFour/View.vue": 9703,
@@ -41228,8 +42149,8 @@ var map = {
41228
42149
  "./cms-titleCenter/View.vue": 1429,
41229
42150
  "./cms-titleLeft/View.vue": 7874,
41230
42151
  "./cms-via-storedValueCard/View.vue": 8498,
41231
- "./cms-video-group/View.vue": 9418,
41232
- "./cms-video/View.vue": 8863,
42152
+ "./cms-video-group/View.vue": 201,
42153
+ "./cms-video/View.vue": 3761,
41233
42154
  "./cms-view/View.vue": 1380
41234
42155
  };
41235
42156
 
@@ -41327,7 +42248,23 @@ module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAVAAAAEQCAYAAADm
41327
42248
  __webpack_require__.r(__webpack_exports__);
41328
42249
  /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
41329
42250
 
41330
- const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 2159));
42251
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 2003));
42252
+ const radiusOptions = [{
42253
+ label: "0",
42254
+ value: 0
42255
+ }, {
42256
+ label: "4",
42257
+ value: 4
42258
+ }, {
42259
+ label: "8",
42260
+ value: 8
42261
+ }, {
42262
+ label: "16",
42263
+ value: 16
42264
+ }, {
42265
+ label: "全圆角",
42266
+ value: "full"
42267
+ }];
41331
42268
 
41332
42269
  // 默认配置数据
41333
42270
  const langData = {
@@ -41338,7 +42275,7 @@ const langData = {
41338
42275
  borderWidth: 0,
41339
42276
  borderStyle: "solid",
41340
42277
  borderColor: "",
41341
- borderRadius: 0,
42278
+ borderRadius: 8,
41342
42279
  // 背景设置
41343
42280
  backgroundColor: "",
41344
42281
  backgroundImage: "",
@@ -41401,12 +42338,9 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
41401
42338
  predefine: ["#262729", "rgb(36,38,40,0.8)", "rgb(36,38,40,0.5)", "#2F85FF", "#D6197F", "#52C41A", "#f48427", "#FFFFFF"]
41402
42339
  },
41403
42340
  borderRadius: {
41404
- label: "圆角(px)",
41405
- widgetType: "el-input-number",
41406
- size: "small",
41407
- min: 0,
41408
- max: 100,
41409
- step: 1
42341
+ label: "圆角",
42342
+ widgetType: "el-select",
42343
+ options: radiusOptions
41410
42344
  },
41411
42345
  // 背景设置配置
41412
42346
  backgroundColor: {
@@ -43211,251 +44145,6 @@ module.exports = function (object, key, method) {
43211
44145
  };
43212
44146
 
43213
44147
 
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
44148
  /***/ }),
43460
44149
 
43461
44150
  /***/ 6763:
@@ -52446,16 +53135,16 @@ module.exports = Math.min;
52446
53135
  __webpack_require__.r(__webpack_exports__);
52447
53136
  /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
52448
53137
 
52449
- const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 6745));
53138
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 1243));
52450
53139
  const langData = {
52451
53140
  colNums: 1,
52452
53141
  defaultCol: 12,
52453
53142
  gap: 10,
52454
53143
  cornerRadius: {
52455
- topLeft: "0",
52456
- topRight: "0",
52457
- bottomLeft: "0",
52458
- bottomRight: "0"
53144
+ topLeft: "8",
53145
+ topRight: "8",
53146
+ bottomLeft: "8",
53147
+ bottomRight: "8"
52459
53148
  }
52460
53149
  };
52461
53150
  const radiusOptions = [{
@@ -59965,346 +60654,6 @@ module.exports = {
59965
60654
 
59966
60655
  /***/ }),
59967
60656
 
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
60657
  /***/ 8886:
60309
60658
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
60310
60659
 
@@ -60312,7 +60661,7 @@ var component = (0,componentNormalizer/* default */.A)(
60312
60661
  __webpack_require__.r(__webpack_exports__);
60313
60662
  /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
60314
60663
 
60315
- const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 4825));
60664
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 2521));
60316
60665
  const langData = {
60317
60666
  // 图片设置
60318
60667
  remark: "",
@@ -60322,10 +60671,10 @@ const langData = {
60322
60671
  // 样式设置
60323
60672
  borderRadius: 0,
60324
60673
  cornerRadius: {
60325
- topLeft: "0",
60326
- topRight: "0",
60327
- bottomLeft: "0",
60328
- bottomRight: "0"
60674
+ topLeft: "8",
60675
+ topRight: "8",
60676
+ bottomLeft: "8",
60677
+ bottomRight: "8"
60329
60678
  },
60330
60679
  objectFit: "cover",
60331
60680
  // 交互功能
@@ -61074,189 +61423,6 @@ const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSc
61074
61423
 
61075
61424
  /***/ }),
61076
61425
 
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
61426
  /***/ 9429:
61261
61427
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
61262
61428