jufubao-base 1.0.311-beta1 → 1.0.311-beta101

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.
Files changed (25) hide show
  1. package/package.json +1 -1
  2. package/src/components/JfbBaseBlock/Attr.js +167 -34
  3. package/src/components/JfbBaseBlock/JfbBaseBlock.vue +12 -9
  4. package/src/components/JfbBaseCardDetail/Attr.js +0 -12
  5. package/src/components/JfbBaseCardDetail/JfbBaseCardDetail.vue +1 -162
  6. package/src/components/JfbBaseCardDetailEntry/Attr.js +0 -12
  7. package/src/components/JfbBaseCardDetailEntry/JfbBaseCardDetailEntry.vue +2 -163
  8. package/src/components/JfbBaseEntry/Attr.js +5 -72
  9. package/src/components/JfbBaseEntry/JfbBaseEntry.vue +183 -47
  10. package/src/components/JfbBaseEntry/cusAttr/content.js +77 -0
  11. package/src/components/JfbBaseEntry/cusAttr/style.js +288 -0
  12. package/src/components/JfbBaseImageBlock/Attr.js +150 -23
  13. package/src/components/JfbBaseImageBlock/JfbBaseImageBlock.vue +29 -27
  14. package/src/components/JfbBaseNotice/Attr.js +5 -512
  15. package/src/components/JfbBaseNotice/JfbBaseNotice.vue +188 -181
  16. package/src/components/JfbBaseNotice/cusAttr/content.js +308 -0
  17. package/src/components/JfbBaseNotice/cusAttr/cssOne.js +395 -0
  18. package/src/components/JfbBaseNotice/cusAttr/cssThree.js +101 -0
  19. package/src/components/JfbBaseNotice/cusAttr/cssTwo.js +208 -0
  20. package/src/components/JfbBaseNotice/cusAttr/style.js +31 -0
  21. package/src/components/JfbBaseVideo/Attr.js +5 -297
  22. package/src/components/JfbBaseVideo/JfbBaseVideo.vue +36 -62
  23. package/src/components/JfbBaseVideo/cusAttr/content.js +236 -0
  24. package/src/components/JfbBaseVideo/cusAttr/image.js +213 -0
  25. package/src/components/JfbBaseVideo/cusAttr/style.js +172 -0
@@ -18,19 +18,12 @@
18
18
  <view
19
19
  v-if="isShow"
20
20
  class="x-video"
21
- :style="{
22
- backgroundColor:bgColor,
23
- margin:outMargin,
24
- borderRadius:radius + 'rpx',
25
- padding:outPadding,
26
- width: contentWidth + 'rpx',
27
- height:contentHeight + 'rpx'
28
- }"
21
+ :style="[boxStyleComp]"
29
22
  >
30
23
  <xd-video
31
- v-if="video !== null && video !== ''"
24
+ v-if="!['',null].includes(video)"
32
25
  :key="videoKey"
33
- :poster="videoSetting"
26
+ :poster="videoConf"
34
27
  :video="video"
35
28
  ></xd-video>
36
29
  <view class="not-video" v-if="isPreview && video === ''">
@@ -47,7 +40,7 @@
47
40
  import JfbBaseVideoMixin from "./JfbBaseVideoMixin";
48
41
  import componentsMixins from "@/mixins/componentsMixins";
49
42
  import extsMixins from "@/mixins/extsMixins"
50
- import { getContainerPropsValue } from "@/utils/xd.base";
43
+ import {gCPVal } from "@/utils/xd.base";
51
44
  import XdVideo from "./XdVideo.vue";
52
45
 
53
46
 
@@ -59,60 +52,46 @@
59
52
  mixins: [componentsMixins,extsMixins,JfbBaseVideoMixin],
60
53
  data() {
61
54
  return {
55
+ closeMask: true,
62
56
  isPreview: false,
63
57
  page_size: 1,
64
- options:{},
65
58
 
66
- //data
67
- video: null,
68
- videoSetting: null,
59
+ //视频配置
60
+ video: null, //视频内容
61
+ videoKey : Date.now(),
62
+ videoConf: null, //视频配置
63
+
64
+ //样式
69
65
  margin:{},
70
66
  padding:{},
71
- height:0,
72
- width:750,
73
- bgColor:'',
67
+ height:388,
68
+ width:690,
69
+ bgColor:'rgba(0,0,0,0)',
74
70
  radius:0,
75
- videoKey : Date.now(),
76
71
  }
77
72
  },
78
73
  computed: {
74
+ boxStyleComp(){
75
+ return {
76
+ backgroundColor: this.bgColor,
77
+ borderRadius: this.radius + 'rpx',
78
+ margin: this.getMarginAndPadding(this.margin, 0),
79
+ padding: this.getMarginAndPadding(this.padding, 0),
80
+ width: this.contentWidth + 'rpx',
81
+ height: this.contentHeight + 'rpx'
82
+ }
83
+ },
79
84
  isShow(){
80
85
  if(this.isPreview) return true;
81
86
  else return this.video
82
87
  },
83
- iconFont(){
84
- if(this.autoplay === 'N') return 'iconplayright'
85
- if(this.autoplay === 'E') return 'iconshibai';
86
- if(this.autoplay === 'R') return 'iconplayreplay';
87
- },
88
88
  contentWidth(){
89
- let margin = Number(this.checkValue(this.margin.left, 0)) + Number(this.checkValue(this.margin.right, 0));
90
- let padding = Number(this.checkValue(this.padding.left, 0)) + Number(this.checkValue(this.padding.right, 0));
91
- let border = 0;
92
- //if(this.isPreview) border = 2;
93
- return this.width - (padding + margin + border);
89
+ let marginRL = this.getPMValue(this.margin,'RL',0);
90
+ let paddingRL = this.getPMValue(this.padding,'RL',0);
91
+ return 750 - (marginRL + paddingRL)
94
92
  },
95
93
  contentHeight(){
96
- let margin = Number(this.checkValue(this.margin.left, 0)) + Number(this.checkValue(this.margin.right, 0));
97
- let padding = Number(this.checkValue(this.padding.left, 0)) + Number(this.checkValue(this.padding.right, 0));
98
- let border = 0;
99
- //if(this.isPreview) border = 2;
100
- let winWidth = this.width - (padding + margin + border);
101
- return winWidth * this.height/this.width;
102
- },
103
- outMargin(){
104
- let str = `${this.checkValue(this.margin.top, 0)}rpx`;
105
- str = `${str} ${this.checkValue(this.margin.right, 0)}rpx`;
106
- str = `${str} ${this.checkValue(this.margin.bottom, 0)}rpx`;
107
- str = `${str} ${this.checkValue(this.margin.left, 0)}rpx`;
108
- return str
109
- },
110
- outPadding(){
111
- let str = `${this.checkValue(this.padding.top, 0)}rpx`;
112
- str = `${str} ${this.checkValue(this.padding.right, 0)}rpx`;
113
- str = `${str} ${this.checkValue(this.padding.bottom, 0)}rpx`;
114
- str = `${str} ${this.checkValue(this.padding.left, 0)}rpx`;
115
- return str
94
+ return (this.height*this.contentWidth)/this.width;
116
95
  },
117
96
  getVideoSrc(){
118
97
  let width = Math.floor(this.contentWidth * this.$rpxNum);
@@ -125,7 +104,7 @@
125
104
  if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
126
105
  if (this.$configProject['isPreview']) {
127
106
  this.init(value);
128
- this.onJfbLoad(this.options)
107
+ this.onJfbLoad()
129
108
  }
130
109
  }
131
110
  },
@@ -140,19 +119,14 @@
140
119
  * @param container {object} 业务组件对象自己
141
120
  */
142
121
  init(container) {
143
- this.videoSetting = getContainerPropsValue(container, 'content.video', {size:{width: 400, height: 300}, type: '1'});
144
- if(this.videoSetting && this.videoSetting.size && this.videoSetting.size.height) {
145
- this.height = Number(this.videoSetting.size.height) || 563;
146
- this.width = 750;
147
- }
148
- this.margin = getContainerPropsValue(container, 'content.margin', {});
149
- this.padding = getContainerPropsValue(container, 'content.padding', {});
150
- this.radius = getContainerPropsValue(container, 'content.radius', 0);
151
- this.bgColor = getContainerPropsValue(container, 'content.bgColor', 'rgba(0,0,0,0)');
122
+ this.videoConf = gCPVal(container, 'video', { size: {width:690, height: 388}, type: '1'});
123
+ this.radius = gCPVal(container, 'radius', [this.gStyleValue.radius,0],{sKey: 'radiusStatus', fields: ['radius']})||0;
124
+ this.bgColor = gCPVal(container, 'bgColor', '#fff',{sKey: 'bgColorStatus', fields: ['bgColor']});
125
+ this.margin = gCPVal(container, 'margin', [0],{sKey: 'marginStatus', fields: ['margin'], isPMR: true});
126
+ this.padding = gCPVal(container, 'padding', [0],{sKey: 'paddingStatus', fields: ['padding'], isPMR: true});
152
127
  },
153
128
 
154
- onJfbLoad(options) {
155
- this.options = options;
129
+ onJfbLoad() {
156
130
  jfbRootExec('getListVideoContent', {
157
131
  vm: this,
158
132
  data: {
@@ -174,7 +148,7 @@
174
148
  },
175
149
 
176
150
  onJfbUpdate() {
177
- this.onJfbLoad(this.options);
151
+ this.onJfbLoad();
178
152
  },
179
153
 
180
154
  }
@@ -0,0 +1,236 @@
1
+ 'use strict';
2
+ import {
3
+ dataVal ,
4
+ statusShow,
5
+ statusDataVal,
6
+ customVal,
7
+ cusDisabled ,
8
+ getCustomAttr,
9
+ isArray,
10
+ isObject
11
+ } from "@/utils/AttrTools";
12
+
13
+ export default (data, gValue,gColor,oldData)=>{
14
+ let video = { size: {width:690, height: 388}, type:'1', position: {}};
15
+ return[
16
+ {
17
+ ele: 'title',
18
+ label: '基础',
19
+ size: 'small',
20
+ groupKey:'content',
21
+ },
22
+ {
23
+ label: '组件样式',
24
+ ele: 'xd-site-poster',
25
+ valueKey: 'video',
26
+ groupKey:'content',
27
+ className: 'input100',
28
+ value: video,
29
+ labelInline:true,
30
+ setting: {
31
+ count: 1,
32
+ scene: {label: '视频', value: 'video'},
33
+ sizeDisabled: {
34
+ wDisabled:true,
35
+ hDisabled: false,
36
+ },
37
+ isNew: 'video',
38
+ },
39
+ handleCustom({action, data}) {
40
+ //设置场景参数
41
+ if(data) {
42
+ data.params = Object.assign({}, {scene: 'video'}, data.params || {})
43
+ }
44
+
45
+ //获取显示内容
46
+ if (action === 'screenList') {
47
+ XdBus.getParentApi('getOptionsSettingList')({setting_id: 'editx_base_ad_split_screen'})
48
+ .then(res => {
49
+ data.cb(res['list'])
50
+ })
51
+ .catch(error => {
52
+ console.error(error);
53
+ });
54
+ return
55
+ }
56
+
57
+ //获取返回参数(广告位高度必选项)
58
+ if (action === 'getPosterInfo') {
59
+ XdBus.getParentApi('cmsGetPublishEditxContent')(data.params)
60
+ .then(res => {
61
+ data.cb({list: res.list, selectId: res.selected})
62
+ })
63
+ .catch(error => {
64
+ console.error(error);
65
+ });
66
+ return
67
+ }
68
+
69
+ //使用内容分类
70
+ if (action === 'cmsPublishEditxContent') {
71
+ XdBus.getParentApi('cmsPublishEditxContent')(data.params)
72
+ .then(res => {
73
+ data.cb(res)
74
+ })
75
+ .catch(error => {
76
+ console.error(error);
77
+ });
78
+ return
79
+ }
80
+
81
+ let loading = XdBus.getParentApi('loading')({});
82
+ //位置列表
83
+ if (action === 'getListPostion') {
84
+ XdBus.getParentApi('getListPosterPosition')(data.params)
85
+ .then(res => {
86
+ loading.close();
87
+ data.cb(res)
88
+ })
89
+ .catch(error => {
90
+ loading.close();
91
+ console.error(error);
92
+ });
93
+ }
94
+
95
+ //位置创建
96
+ if (action === 'addPostion') {
97
+ XdBus.getParentApi('addPosterPosition')(data.params)
98
+ .then(res => {
99
+ loading.close();
100
+ data.cb(true)
101
+ })
102
+ .catch(error => {
103
+ console.error(error);
104
+ loading.close();
105
+ data.cb(false)
106
+ });
107
+ }
108
+
109
+ //位置编辑
110
+ if (action === 'editPostion') {
111
+ XdBus.getParentApi('updatePosterPosition')(data.params)
112
+ .then(res => {
113
+ loading.close();
114
+ data.cb(true)
115
+ })
116
+ .catch(error => {
117
+ console.error(error);
118
+ loading.close();
119
+ data.cb(false)
120
+ });
121
+ }
122
+
123
+ //位置删除
124
+ if (action === 'deleltePostion') {
125
+ XdBus.getParentApi('deletePosterPosition')(data.params)
126
+ .then(res => {
127
+ loading.close();
128
+ data.cb(true)
129
+ })
130
+ .catch(error => {
131
+ console.error(error);
132
+ loading.close();
133
+ data.cb(false)
134
+ });
135
+ }
136
+
137
+ //获取广告位内容列表
138
+ if (action === 'getListContent') {
139
+ XdBus.getParentApi('getListPosterContent')(data.params)
140
+ .then(res => {
141
+ loading.close();
142
+ data.cb(res)
143
+ })
144
+ .catch(error => {
145
+ loading.close();
146
+ console.error(error);
147
+ });
148
+ }
149
+
150
+ //广告内容创建
151
+ if (action === 'addContent') {
152
+ XdBus.getParentApi('addPosterContent')(data.params)
153
+ .then(res => {
154
+ loading.close();
155
+ data.cb(true)
156
+ })
157
+ .catch(error => {
158
+ console.error(error);
159
+ loading.close();
160
+ data.cb(false)
161
+ });
162
+ }
163
+
164
+ //广告内容编辑
165
+ if (action === 'editContent') {
166
+ XdBus.getParentApi('updatePosterContent')(data.params)
167
+ .then(res => {
168
+ loading.close();
169
+ data.cb(true)
170
+ })
171
+ .catch(error => {
172
+ console.error(error);
173
+ loading.close();
174
+ data.cb(false)
175
+ });
176
+ }
177
+
178
+ //广告内容删除
179
+ if (action === 'deleteContent') {
180
+ XdBus.getParentApi('deletePosterContent')(data.params)
181
+ .then(res => {
182
+ loading.close();
183
+ data.cb(true)
184
+ })
185
+ .catch(error => {
186
+ console.error(error);
187
+ loading.close();
188
+ data.cb(false)
189
+ });
190
+ }
191
+
192
+ //获取广告内容跳转地址类型
193
+ if (action === 'jumpPosterContentType') {
194
+ XdBus.getParentApi('getOptionsSettingList')({setting_id: "cms_setting"})
195
+ .then(res => {
196
+ loading.close();
197
+ data.cb(res['redirect_type'])
198
+ })
199
+ .catch(error => {
200
+ loading.close();
201
+ console.error(error);
202
+ });
203
+ }
204
+
205
+ //发布
206
+ if (action === 'publish') {
207
+ console.log('publish', data.params)
208
+ XdBus.getParentApi('cmsPublishContent')(data.params)
209
+ .then(res => {
210
+ loading.close();
211
+ data.cb(res)
212
+ })
213
+ .catch(error => {
214
+ loading.close();
215
+ console.error(error);
216
+ });
217
+ }
218
+
219
+ //获取站内页面地址
220
+ if (action === 'router') {
221
+ loading.close()
222
+ return XdBus.getParentApi('getPagesTree');
223
+
224
+ }
225
+
226
+ //通知页面进行刷新
227
+ if(action === 'update') {
228
+ XdBus.getParentApi('getXdBusUpdateView')('onUpdateView', {});
229
+ loading.close()
230
+ }
231
+ },
232
+ notice:`建议尺寸:${video.size.width}*${video.size.height}`,
233
+ inline: false,
234
+ },
235
+ ]
236
+ }
@@ -0,0 +1,213 @@
1
+ 'use strict';
2
+ import {
3
+ dataVal,
4
+ statusShow,
5
+ getPMarginRLTB,
6
+ getAttrData,
7
+ getBorOrShaHeight,
8
+ cRaBorShadow
9
+ } from "@/utils/AttrTools";
10
+
11
+
12
+ export default (data, gValue, gColor, oldData ,isBody=false)=> {
13
+ let listLayout = 'slide';
14
+ if(data['listLayout'] !== undefined) listLayout = data['listLayout'];
15
+
16
+ let listRow = 1;
17
+ let enterMode = 'round';
18
+ let carouselHeight = 0; //滚动高度
19
+ if(listLayout === 'carousel') {
20
+ listRow = 2;
21
+ if(data['listRow'] !== undefined) listRow = data['listRow'];
22
+ if(data['enterMode'] !== undefined) enterMode = data['enterMode'];
23
+ if(enterMode === 'normal') carouselHeight = 10;
24
+ else carouselHeight = 46;
25
+
26
+ }
27
+
28
+ //品牌内容显示
29
+ let itemHeight = 0, bodyHeight = 0, bodyWidth = 0, tabHeight = 56;
30
+
31
+
32
+ //滑动效果
33
+ if(listLayout === 'slide') {
34
+ let text = 36;
35
+ let image = 120;
36
+ itemHeight = text + image + getAttrData(data,'imageText', [16,44],{
37
+ sKey: 'imageTextStatus',
38
+ fields:['imageText'],
39
+ isData: true,
40
+ gValue
41
+ });
42
+ }
43
+
44
+ //轮廓外边距
45
+ let defMargin = {top:0,left:16,right:16, bottom:16},oldDefMargin = {top:0,left:0,right:0, bottom:20};
46
+ let bodyMargin = getAttrData(data,'margin', [defMargin,oldDefMargin],{
47
+ sKey: 'marginStatus',
48
+ fields:['margin'],
49
+ isPM:true,
50
+ isData: true,
51
+ gValue
52
+ });
53
+ bodyWidth = 750 - getPMarginRLTB(bodyMargin,'RL', 0);
54
+
55
+
56
+ //轮廓内填充
57
+ let defBgImagePadding = 0, oldDefBgImagePadding = 32;
58
+ if(listLayout === 'carousel') {
59
+ defBgImagePadding = 0;
60
+ oldDefBgImagePadding = 0;
61
+ }
62
+ let bodyPadding = getAttrData(data,'bgImagePadding', [defBgImagePadding,oldDefBgImagePadding],{
63
+ sKey: 'bgImagePaddingStatus',
64
+ fields:['bgImagePadding'],
65
+ isPM:true,
66
+ isData: true,
67
+ gValue
68
+ });
69
+ let bodyPaddingTB = getPMarginRLTB(bodyPadding,'TB', 0);
70
+ if(isBody === false) bodyWidth = bodyWidth - getPMarginRLTB(bodyPadding,'RL', 0);
71
+
72
+ //内容区域投影
73
+ let itemShadow = cRaBorShadow( data, 'itemShadow', {dValue:'N', old:['is_shadow','is_shadow_w','is_shadow_bg']},gValue);
74
+ let itemShadowWidth = getBorOrShaHeight(itemShadow,{width:0, type:'N'});
75
+
76
+ //内容区域边距
77
+ let defItemPadding = {top:16,left:16,right:0, bottom:16}, oldDefItemPadding = {top:32,left:0,right:0, bottom:0};
78
+ if(listLayout === 'carousel') {
79
+ defItemPadding = 16;
80
+ oldDefItemPadding = 20;
81
+ }
82
+ let itemPadding = getAttrData(data,'itemPadding', [defItemPadding,oldDefItemPadding],{
83
+ sKey: 'itemPaddingStatus',
84
+ fields:['itemPadding'],
85
+ isPM:true,
86
+ isData: true,
87
+ gValue
88
+ });
89
+ itemPadding.top = Math.max(itemPadding.top,itemShadowWidth);
90
+ itemPadding.bottom = Math.max(itemPadding.bottom,itemShadowWidth);
91
+ itemPadding.left = Math.max(itemPadding.left,itemShadowWidth);
92
+ itemPadding.right = Math.max(itemPadding.right,itemShadowWidth);
93
+ let itemPaddingTB = getPMarginRLTB(itemPadding,'TB', 0);
94
+
95
+ //品牌填充
96
+ let defContPadding = 16,defOldContPadding = {top:32, left:32, right:32, bottom:16};
97
+ if(listLayout === 'carousel') {
98
+ defContPadding = 0;
99
+ defOldContPadding = 0;
100
+ }
101
+ let contPadding = getAttrData(data,'contPadding', [defContPadding,defOldContPadding],{
102
+ sKey: 'contPaddingStatus',
103
+ fields:['contPadding'],
104
+ isPM:true,
105
+ isData: true,
106
+ gValue
107
+ });
108
+ if(listLayout === 'carousel') contPadding = {top:0, bottom:0, left: 0, right:0}
109
+ let contPaddingTB = getPMarginRLTB(contPadding,'TB', 0);
110
+
111
+
112
+ //品牌边框
113
+ let tabBorder = cRaBorShadow( data, 'tabBorder', {dValue:'N'},gValue);
114
+ let tabBorderWidth = getBorOrShaHeight(tabBorder,{width:0, type:'N'}) * 2;
115
+
116
+ //标题边距
117
+ let tabPadding = getAttrData(data,'tabPadding', [24,{top:0, left:0, right:0, bottom:0}],{
118
+ sKey: 'tabPaddingStatus',
119
+ fields:['tabPadding'],
120
+ isPM:true,
121
+ isData: true,
122
+ gValue
123
+ });
124
+ let tabPaddingTB = getPMarginRLTB(tabPadding,'TB', 0);
125
+
126
+ //标题描边
127
+ let itemBorder = cRaBorShadow( data, 'itemBorder', {dValue:'D'},gValue);
128
+ let itemBorderWidth = getBorOrShaHeight(itemBorder,{width:2, type:'Y'}) * 2;
129
+
130
+ //间距设置
131
+ let spacing = listLayout === 'slide'?16:24;
132
+ let itemSpacing = getAttrData(data,'padding', [spacing,32],{
133
+ sKey: 'paddingStatus',
134
+ fields:['itemSpacing'],
135
+ isData: true,
136
+ gValue
137
+ });
138
+ let rowSpacing = getAttrData(data,'rowSpacing', [spacing,10],{
139
+ sKey: 'paddingStatus',
140
+ fields:['rowSpacing'],
141
+ isData: true,
142
+ gValue
143
+ });
144
+
145
+
146
+ //轮播图
147
+ if(listLayout === 'carousel'){
148
+ const cell = 5;
149
+ const textHeight = 40; //品牌标题高度
150
+ const bodyPaddingRL = getPMarginRLTB(bodyPadding,'RL', 0);
151
+ const bodyMarginRL = getPMarginRLTB(bodyMargin,'RL', 0);
152
+ const itemPaddingRL = getPMarginRLTB(itemPadding,'RL', 0);
153
+ const cellWidth = itemSpacing * (cell - 1);
154
+ const rowWidth = rowSpacing * (listRow - 1);
155
+ let itemWidth = 750 - bodyPaddingRL - bodyMarginRL - itemPaddingRL - cellWidth - itemBorderWidth * (cell - 1);
156
+ itemWidth = itemWidth/5;
157
+ const textMarginTop = 8;//标题间距
158
+ itemHeight = (itemWidth + textHeight + textMarginTop) * listRow + rowWidth;
159
+ }
160
+
161
+ //内容区域高度
162
+ let contentHeight = carouselHeight + itemHeight + itemPaddingTB + contPaddingTB + itemBorderWidth * listRow;
163
+ //标题区域高度
164
+ let titleHeight = tabHeight + tabPaddingTB + tabBorderWidth + bodyPaddingTB;
165
+
166
+ if(isBody) bodyHeight = contentHeight + titleHeight;
167
+ else bodyHeight = contentHeight;
168
+
169
+ bodyHeight = Math.floor(bodyHeight);
170
+ bodyWidth = Math.floor(bodyWidth);
171
+
172
+ return [
173
+ isBody === true && {
174
+ label: '背景图',
175
+ ele: 'xd-upload',
176
+ valueKey: 'bgImage',
177
+ defaultValue: dataVal({data, key:'bgImage', dValue: {}, gValue}),
178
+ value: dataVal({data, key:'bgImage', dValue:{}, gValue}),
179
+ hidden: !statusShow({data, key: 'outBgColorStatus', fields:['outBgColor','bgImage'], gValue}),
180
+ labelInline:true,
181
+ slot: true,
182
+ tipsformet: `上传文件格式:@imageType@,不超过@size@MB.,建议尺寸为:<span style="color:red">${bodyWidth}*${bodyHeight}</span>像素。`,
183
+ type: ['jpg', 'png', 'jpeg'],
184
+ styleType: 'one',
185
+ uploadType: 'aliyun',
186
+ size: 2,
187
+ action: 'aliyun',
188
+ oneWidth: 275,
189
+ oneHeight: 275 * (bodyHeight)/ bodyWidth,
190
+ groupKey: 'style'
191
+ },
192
+ isBody === false && {
193
+ label: '背景图',
194
+ ele: 'xd-upload',
195
+ valueKey: 'contBgImage',
196
+ defaultValue: dataVal({data, key:'contBgImage', dValue: {}, gValue}),
197
+ value: dataVal({data, key:'contBgImage', dValue:{}, gValue}),
198
+ hidden: !statusShow({data, key: 'contBgColorStatus', fields:['contBgColor','contBgImage'], gValue}),
199
+ labelInline:true,
200
+ slot: true,
201
+ tipsformet: `上传文件格式:@imageType@,不超过@size@MB.,建议尺寸为:<span style="color:red">${bodyWidth}*${bodyHeight}</span>像素。`,
202
+ type: ['jpg', 'png', 'jpeg'],
203
+ styleType: 'one',
204
+ uploadType: 'aliyun',
205
+ size: 2,
206
+ action: 'aliyun',
207
+ oneWidth: 275,
208
+ oneHeight: 275 * (bodyHeight)/ bodyWidth,
209
+ groupKey: 'style'
210
+ }
211
+ ].filter(i=>i);
212
+ }
213
+