jufubao-base 1.0.237-beta2 → 1.0.237-beta5

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 (35) hide show
  1. package/package.json +1 -1
  2. package/src/components/JfbBaseBalance/JfbBaseBalance.vue +0 -1
  3. package/src/components/JfbBaseCodeOpenVip/Api.js +1 -2
  4. package/src/components/JfbBaseCodeOpenVip/JfbBaseCodeOpenVip.vue +0 -2
  5. package/src/components/JfbBaseConsumpCode/Attr.js +1 -1
  6. package/src/components/JfbBaseConsumpCode/JfbBaseConsumpCode.vue +14 -2
  7. package/src/components/JfbBaseFastLink/Attr.js +12 -1
  8. package/src/components/JfbBaseFastLink/JfbBaseFastLink.vue +63 -0
  9. package/src/components/JfbBaseNoticeDialog/JfbBaseNoticeDialog.vue +2 -2
  10. package/src/components/JfbBaseOpenVip/Api.js +1 -1
  11. package/src/components/JfbBaseOpenVip/Attr.js +50 -1
  12. package/src/components/JfbBaseOpenVip/JfbBaseOpenVip.vue +40 -15
  13. package/src/components/JfbBaseOpenVip/Mock.js +1 -1
  14. package/src/components/JfbBaseOpenVip/XdVipList.vue +4 -1
  15. package/src/components/JfbBaseOpenVipDetail/Api.js +1 -2
  16. package/src/components/JfbBaseOpenVipDetail/JfbBaseOpenVipDetail.vue +2 -3
  17. package/src/components/JfbBaseOpenVipDetail/Mock.js +13 -11
  18. package/src/components/JfbBasePay/Attr.js +40 -0
  19. package/src/components/JfbBasePay/JfbBasePay.vue +12 -4
  20. package/src/components/JfbBasePay/Mock.js +0 -9
  21. package/src/components/JfbBasePersonalData/JfbBasePersonalData.vue +1 -1
  22. package/src/components/JfbBasePoster/Attr.js +1 -1
  23. package/src/components/JfbBasePosterBigSmall/JfbBasePosterBigSmall.vue +2 -2
  24. package/src/components/JfbBasePosterGroup/Api.js +7 -43
  25. package/src/components/JfbBasePosterGroup/Attr.js +124 -26
  26. package/src/components/JfbBasePosterGroup/JfbBasePosterGroup.vue +189 -34
  27. package/src/components/JfbBaseShare/JfbBaseShare.vue +16 -5
  28. package/src/components/JfbBaseTfkSearch/ContentProduct.vue +1 -0
  29. package/src/components/JfbBaseTfkSearch/JfbBaseTfkSearch.vue +4 -0
  30. package/src/components/JfbBaseTfkSearch/listMixins.js +2 -1
  31. package/src/components/JfbBaseUserInfo/Attr.js +12 -0
  32. package/src/components/JfbBaseUserInfo/JfbBaseUserInfo.vue +9 -2
  33. package/src/components/JfbBaseUserOrder/Attr.js +16 -0
  34. package/src/components/JfbBaseUserOrder/JfbBaseUserOrder.vue +11 -2
  35. package/src/components/JfbBaseWithdraw/JfbBaseWithdraw.vue +15 -3
@@ -100,7 +100,7 @@
100
100
  <view class="remain_pay" v-if="payInfo.channel_amount > 0">
101
101
  <view style="border-bottom: 2rpx solid #eee;" class="column-group">
102
102
  <view class="column-item" style="padding: 30rpx 60rpx">
103
- <view class="column_label">仍需扣点<text class="label_sub">(可使用多张票券点数)</text></view>
103
+ <view class="column_label">{{text1}}<text class="label_sub">{{ text2 }}</text></view>
104
104
  <view class="column_value text-primary">
105
105
  <xd-unit
106
106
  :price="payInfo.channel_amount"
@@ -112,8 +112,8 @@
112
112
  </view>
113
113
  </view>
114
114
  <view class="remain_header">
115
- <view>选择以下补差方式</view>
116
- <view class="flex align-center text-primary">
115
+ <view>{{ text3 }}</view>
116
+ <view v-if="showContinuePay==='Y'" class="flex align-center text-primary">
117
117
  <view class="margin-right">继续补差</view>
118
118
  <xd-unit
119
119
  :price="payInfo.channel_amount"
@@ -212,7 +212,11 @@ export default {
212
212
  rechargeSuccessPath: "", //充值成功
213
213
  ...styleForm.getDataItem(),
214
214
  borderColor:'rgba(0,0,0,0)',
215
- options:{}
215
+ options:{},
216
+ text1: "",
217
+ text2: "",
218
+ text3: "",
219
+ showContinuePay: "",
216
220
  };
217
221
  },
218
222
  watch: {
@@ -262,6 +266,10 @@ export default {
262
266
  * @param container {object} 业务组件对象自己
263
267
  */
264
268
  init(container) {
269
+ this.text1 = getContainerPropsValue(container, 'content.text1', "");
270
+ this.text2 = getContainerPropsValue(container, 'content.text2', "");
271
+ this.text3 = getContainerPropsValue(container, 'content.text3', "");
272
+ this.showContinuePay = getContainerPropsValue(container, 'content.showContinuePay', 'Y');
265
273
  this.paySuccessPath = getContainerPropsValue(
266
274
  container,
267
275
  "content.pay_success_path",
@@ -24,15 +24,6 @@ module.exports = {
24
24
  "card_use_price": 10000,
25
25
  "use_card_point": "5000"
26
26
  },
27
- {
28
- "card_number": "101001000005195",
29
- "card_type_name": "聚福宝福卡测试蛋糕",
30
- "end_time": 1679034403,
31
- "card_point": 5000,
32
- "is_bind_card": true,
33
- "card_use_price": 10000,
34
- "use_card_point": "5000"
35
- },
36
27
  ],
37
28
  },
38
29
  getBaseOrderStatus:{},
@@ -125,7 +125,7 @@
125
125
  vm: this,
126
126
  data: {
127
127
  nickname: this.info.nickname,
128
- sex: this.info.sex.value,
128
+ sex: this.info.sex,
129
129
  birthday_date: this.info.birthday_date
130
130
  },
131
131
  }).then(res => {
@@ -264,7 +264,7 @@ export default {
264
264
  size: 'small',
265
265
  groupKey:'content',
266
266
  },
267
- showBg && params.poster && params.poster['type']&& params.poster['type'] !== '1' && {
267
+ showBg && params.poster && params.poster['type'] && {
268
268
  label: '广告背景图:',
269
269
  ele: 'xd-upload',
270
270
  valueKey: 'background',
@@ -112,7 +112,7 @@
112
112
  }"
113
113
  >
114
114
  <view
115
- v-if="topIsCarousel === 1 && topList.lenght > 0"
115
+ v-if="topIsCarousel === 1 "
116
116
  :style="{
117
117
  width: bigWidth + 'rpx',
118
118
  height: smallHeight + 'rpx',
@@ -190,7 +190,7 @@
190
190
  }"
191
191
  >
192
192
  <view
193
- v-if="bottomIsCarousel === 1 && bottomList.lenght > 0"
193
+ v-if="bottomIsCarousel === 1 "
194
194
  :style="{
195
195
  width: bigWidth + 'rpx',
196
196
  height: smallHeight + 'rpx',
@@ -6,51 +6,15 @@
6
6
  */
7
7
  module.exports = [
8
8
  {
9
- //设置方法名字当别忘记加上【模块名字】:Poster
10
- mapFnName: 'getPosterByIdFilmSquate',
11
- title: '获取电影广场列表',
12
- path: '/api/account/film/list-film-square',
9
+ mapFnName: 'getListPosterGroupContent', //自定义方法名字(必选)
10
+ title: '获取内容',
11
+ path: '/cms/v1/ad-content',
13
12
  isRule: false,
14
13
  params: {
15
- last_key: ['当前页', 'Number', '必选'],
16
- page_size: ['每页数量', 'Number', '必选'],
17
- },
18
- isConsole: true,
19
- disabled: true,
20
- },
21
- {
22
- //设置方法名字当别忘记加上【模块名字】:Poster
23
- mapFnName: 'updatePosterFilmPaiqiDate',
24
- title: '更新排期',
25
- path: '/api/account/film/paiqi-date',
26
- isRule: false,
27
- params: {
28
- film_id: ['电影id', 'Number', '必选'],
29
- cinema_id: ['影院id', 'Number', '必选'],
30
- },
31
- isConsole: true,
32
- disabled: true,
33
- },
34
- {
35
- //设置方法名字当别忘记加上【模块名字】:Poster
36
- mapFnName: 'removePosterFilmAddress',
37
- title: '删除我的配送地址',
38
- path: '/api/account/film/paiqi-date',
39
- isRule: false,
40
- params: {
41
- film_id: ['电影id', 'Number', '必选'],
42
- },
43
- isConsole: true,
44
- disabled: true,
45
- },
46
- {
47
- //设置方法名字当别忘记加上【模块名字】:Poster
48
- mapFnName: 'addPosterFilmcart',
49
- title: '添加购物车',
50
- path: '/api/account/film/paiqi-date',
51
- isRule: false,
52
- params: {
53
- film_id: ['电影id', 'Number', '必选'],
14
+ scene: ['使用场景', 'String', '选填'],
15
+ container_id: ['插件ID', 'String', '必填'],
16
+ page_id: ['页面ID', 'String', '必填'],
17
+ page_size: ['记录条数', 'Number', '必填'],
54
18
  },
55
19
  isConsole: true,
56
20
  disabled: true,
@@ -8,41 +8,139 @@ export default {
8
8
  content: (data) => {
9
9
  return [
10
10
  {
11
- label: '背景颜色:',
12
- ele: 'xd-color',
13
- valueKey: 'bgColor',
14
- value: data.bgColor || '',
15
- placeholder: '请输入占位框背景颜色',
16
- groupKey:'content',
11
+ label: '外边距:',
12
+ ele: 'xd-margin-padding',
13
+ valueKey: 'bodyMargin',
14
+ groupKey: 'style',
15
+ value: data['bodyMargin'] || null,
16
+ setting: {
17
+ type: 'margin',
18
+ },
19
+ placeholder: '请设置外边距',
20
+ inline: false,
21
+ notice: '设置外边距,<span style="color: red">单位:像素</span>。默认值:<span style="color: red">0</span>像素',
17
22
  },
18
23
  {
19
- label: '选中路径:',
20
- groupKey:'advanced',
21
- className: 'input100',
22
- ele: 'xd-select-pages-path',
23
- valueKey: 'select-pages-path',
24
- value: data['select-pages-path'] || null,
24
+ label: '外填充:',
25
+ ele: 'xd-margin-padding',
26
+ valueKey: 'bodyPadding',
27
+ groupKey: 'style',
28
+ value: data['bodyPadding'] || null,
25
29
  setting: {
26
- router: XdBus.getParentApi('getPagesTree')
30
+ type: 'padding',
27
31
  },
32
+ placeholder: '请设置外填充',
33
+ inline: false,
34
+ notice: '设置填充值,<span style="color: red">单位:像素</span>。默认值:<span style="color: red">20</span>像素',
28
35
  },
29
- data.bgColor && {
30
- label: '高度:',
31
- ele: 'el-input',
32
- groupKey:'style',
33
- type: 'number',
34
- valueKey: 'height',
35
- value: data.height || 100,
36
- placeholder: '请输入占位框高度,单位像素,默认:10px',
36
+ {
37
+ label: '圆角设置:',
38
+ ele: 'xd-site-select-list',
39
+ valueKey: 'radius',
40
+ value: data['radius'] || '20',
41
+ labelInline: true,
42
+ groupKey: 'style',
43
+ placeholder: '请选择圆角设置',
44
+ multiple: false,
37
45
  className: 'input60',
46
+ handleCustom({ action, data }) {
47
+ XdBus.getParentApi('getOptionsSettingList')({
48
+ setting_id: 'edtix_style_radius',
49
+ key: Date.now()
50
+ })
51
+ .then(res => {
52
+ data.cb(res.list)
53
+ })
54
+ .catch(error => {
55
+ console.error(error);
56
+ });
57
+ },
58
+ },
59
+ {
60
+ label: '背景图:',
61
+ ele: 'xd-upload',
62
+ valueKey: 'backgroundImage',
63
+ groupKey: 'content',
64
+ value: data.backgroundImage || {},
65
+ defaultValue: data.backgroundImage || null,
66
+ slot: true,
67
+ oneWidth: 375,
68
+ oneHeight: 290,
69
+ elinputClassName: 'input40',
70
+ tipsformet: `上传文件格式:@imageType@,不超过@size@MB,尺寸:375*290像素`,
71
+ type: ['jpg', 'png', 'jpeg'],
72
+ styleType: 'one',
73
+ uploadType: 'aliyun',
74
+ size: 5,
75
+ action: 'action',
76
+ sort: true,
77
+ maxlen: 100,
78
+ },
79
+ {
80
+ label: "主标题:",
81
+ ele: "xd-tinymce",
82
+ valueKey: "title",
83
+ value: data.title || '',
84
+ groupKey: 'content',
85
+ imageConfig: {
86
+ sort: true,
87
+ maxlen: 100,
88
+ action: "action",
89
+ size: 5,
90
+ tipsformet: "上传文件格式:@imageType@,不超过@size@MB.",
91
+ uploadType: "aliyun",
92
+ type: ["jpg", "png", "jpeg"],
93
+ },
38
94
  },
39
95
  {
40
- label: '', //label
41
- groupKey:'advanced',
42
- ele: 'slot', //package 名称
43
- slot: 'is_reference',
96
+ label: "副标题:",
97
+ ele: "el-input",
98
+ valueKey: "subtitle",
99
+ groupKey: 'content',
100
+ value: data.subtitle || '',
101
+ },
102
+ {
103
+ label: '是否展示更多:',
104
+ ele: 'xd-radio',
105
+ valueKey: 'is_show_more',
106
+ value: data['is_show_more'] || 'Y',
107
+ groupKey: 'content',
108
+ placeholder: '请选择是否展示更多',
109
+ multiple: false,
110
+ className: 'input80',
111
+ list: [
112
+ { label: '展示', value: 'Y' },
113
+ { label: '隐藏', value: 'N' },
114
+ ]
115
+ },
116
+ data['is_show_more'] === 'Y' && {
117
+ label: '更多跳转路径:',
118
+ ele: 'xd-select-pages-path',
119
+ valueKey: 'morePath',
120
+ groupKey: 'advanced',
121
+ placeholder: '请选择更多跳转路径',
122
+ value: data['morePath'] || null,
123
+ setting: {
124
+ router: XdBus.getParentApi('getPagesTree'),
125
+ },
126
+ inline: false,
127
+ },
128
+ {
129
+ label: '广告组:',
130
+ ele: 'xd-site-poster-group',
131
+ valueKey: 'posterGroup',
132
+ groupKey: 'content',
133
+ value: data.posterGroup || {},
134
+ isKey: true,
135
+ key: new Date().getTime(),
136
+ setting: {
137
+ scene: { label: '广告', value: 'normal' },
138
+ },
139
+ rules: [
140
+ { required: true, message: '请选择广告位', trigger: 'change' },
141
+ ],
44
142
  },
45
- ].filter(i=>i)
143
+ ].filter(i => i)
46
144
  },
47
145
  advanced: [],
48
146
  };
@@ -1,43 +1,73 @@
1
1
  <template>
2
- <view
3
- class="jfb-base-poster-group"
4
- @click="handleEditxSelect"
5
- :class="{ editx : isEditx && active }"
6
- >
2
+ <view class="jfb-base-poster-group" @click="handleEditxSelect" :class="{ editx : isEditx && active }">
7
3
  <!--#ifdef H5-->
8
- <view
9
- class="jfb-base-poster-group__edit"
10
- :class="{ editx : isEditx && active }"
11
- v-if="isEditx && active"
12
- >
4
+ <view class="jfb-base-poster-group__edit" :class="{ editx : isEditx && active }" v-if="isEditx && active">
13
5
  <view class="jfb-base-poster-group__edit-icon" @click="delEdit">删除</view>
14
6
  </view>
15
7
  <!-- #endif -->
16
- <view class="jfb-base-poster-group__body">
17
- <view>测试插件( {{containerId}} )</view>
8
+ <view class="jfb-base-poster-group__body" :style="[bodyStyleComp]">
9
+ <view class="jfb-base-poster-group__body-header">
10
+ <view class="jfb-base-poster-group__body-header-title">
11
+ <XdContentXss v-html="title"></XdContentXss>
12
+ <view @click="handleToMore" v-if="is_show_more==='Y'" class="jfb-base-poster-group__body-header-title-more">
13
+ 更多
14
+ <XdFontIcon size="20" icon="iconxiangyou_xian"></XdFontIcon>
15
+ </view>
16
+ </view>
17
+ <view class="jfb-base-poster-group__body-header-subtitle">
18
+ {{subtitle}}
19
+ </view>
20
+ </view>
21
+ <view class="jfb-base-poster-group__body-content">
22
+ <view class="jfb-base-poster-group__body-content-tabs">
23
+ <view @click="handleChangeTab(item)" :style="tab===item.random?[activeStyleComp]:[normalStyleComp]"
24
+ class="jfb-base-poster-group__body-content-tabs-item" v-for="(item, index) in posterGroup.group"
25
+ :key="index">
26
+ {{item.title}}
27
+ </view>
28
+ </view>
29
+ <view v-if="imageGroup&&imageGroup.length>0" class="jfb-base-poster-group__body-content-images">
30
+ <image :style="{width: imageWidth,height:imageWidth}" @click="handleClick(item)"
31
+ v-for="(item,index) in imageGroup" :key="index" :src="item.image_url">
32
+ </image>
33
+ </view>
34
+ </view>
18
35
  </view>
19
36
  </view>
20
37
  </template>
21
38
 
22
39
  <script>
23
40
  import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
41
+ import XdContentXss from '@/components/XdContentXss/XdContentXss';
24
42
  import { jfbRootExec } from "@/utils/xd.event";
25
43
  import JfbBasePosterGroupMixin from "./JfbBasePosterGroupMixin";
26
44
  import { getContainerPropsValue } from "@/utils/xd.base";
45
+ import getServiceUrl from "@/common/getServiceUrl";
27
46
  import componentsMixins from "@/mixins/componentsMixins";
47
+ import posterMixins from "@/mixins/posterMixins";
28
48
  import extsMixins from "@/mixins/extsMixins";
29
49
  export default {
30
50
  name: "JfbBasePosterGroup",
31
51
  components: {
32
- XdFontIcon
52
+ XdFontIcon,
53
+ XdContentXss
33
54
  },
34
55
  mixins: [
35
- componentsMixins, extsMixins, JfbBasePosterGroupMixin
56
+ componentsMixins, extsMixins, JfbBasePosterGroupMixin, posterMixins
36
57
  ],
37
58
  data() {
38
59
  return {
39
-
40
- //todo
60
+ posterGroup: {},
61
+ morePath: '',
62
+ is_show_more: 'Y',
63
+ backgroundImage: '',
64
+ title: '',
65
+ subtitle: '',
66
+ imageGroup: [],
67
+ tab: '',
68
+ radius: 0,
69
+ margin: {},
70
+ padding: {},
41
71
  }
42
72
  },
43
73
  watch: {
@@ -46,33 +76,100 @@
46
76
  if (this.$configProject['isPreview']) this.init(value)
47
77
  },
48
78
  },
79
+ computed: {
80
+ bodyStyleComp() {
81
+ return {
82
+ backgroundImage: `url(${this.backgroundImage})`,
83
+ backgroundSize: '100% 100%',
84
+ backgroundPosition: 'center',
85
+ backgroundRepeat: 'no-repeat',
86
+ borderRadius: `${this.radius}rpx`,
87
+ margin: this.getMarginAndPadding(this.margin, 20),
88
+ padding: this.getMarginAndPadding(this.padding, 20),
89
+ }
90
+ },
91
+ activeStyleComp() {
92
+ return {
93
+ color: '#6D4604',
94
+ background: '#FDDC83',
95
+ border: '1px solid #FDDC83',
96
+ borderRadius: '40rpx'
97
+ }
98
+ },
99
+ normalStyleComp() {
100
+ return {
101
+ color: '#F5DC9E',
102
+ border: '1px solid #F5DC9E',
103
+ borderRadius: '40rpx'
104
+ }
105
+ },
106
+ imageWidth() {
107
+ let width = 750
108
+ let paddingLeft = this.checkValue(this.padding.left,20)
109
+ let paddingRight = this.checkValue(this.padding.right,20)
110
+ let marginLeft = this.checkValue(this.margin.left,20)
111
+ let marginRight = this.checkValue(this.margin.right,20)
112
+ width = width - paddingLeft - paddingRight - marginLeft - marginRight
113
+ width = width - 60 //减去右边距
114
+ return `${width / 4}rpx`
115
+ }
116
+ },
49
117
  created() {
50
118
  this.init(this.container);
51
-
52
- //todo
53
119
  },
54
120
  methods: {
55
121
  onJfbLoad(options) {
56
-
57
- // jfbRootExec('baiduUserLogin', {
58
-
59
- // vm: this,// data: {
60
-
61
- // account: 'gaoshiyong',// password: '123456789',// type: 3,// ...options
62
-
63
- // }
64
-
65
- // }).then().catch()
122
+ this.getPosterGroup(this.posterGroup.group[0])
123
+ },
124
+ getPosterGroup(item) {
125
+ this.tab = item.random;
126
+ this.imageGroup = [];
127
+ jfbRootExec('getListPosterGroupContent', {
128
+ vm: this,
129
+ data: {
130
+ page_id: this.pageAttr["page_id"], //页面ID
131
+ container_id: this.containerId + item.random, //组件ID
132
+ page_size: 200
133
+ }
134
+ }).then(res => {
135
+ this.imageGroup = res.list.map(item => {
136
+ return {
137
+ ...item,
138
+ image_url: getServiceUrl(item.image_url)
139
+ }
140
+ })
141
+ }).catch()
66
142
  },
67
143
  /**
68
144
  * @description 监听事件变化
69
145
  * @param container {object} 业务组件对象自己
70
146
  */
71
147
  init(container) {
72
-
73
- //this.bgcolor = getContainerPropsValue(container, 'content.bgcolor', '#fff');
74
-
75
- //this.height = getContainerPropsValue(container, 'content.height', 10);
148
+ this.posterGroup = getContainerPropsValue(container, 'content.posterGroup', {});
149
+ this.morePath = getContainerPropsValue(container, 'content.morePath', { value: "" }).value;
150
+ this.is_show_more = getContainerPropsValue(container, 'content.is_show_more', 'Y');
151
+ this.backgroundImage = getServiceUrl(getContainerPropsValue(container, 'content.backgroundImage', { url: "" }).url);
152
+ this.title = getContainerPropsValue(container, 'content.title', '<p style="font-weight:bold;font-size:16px"><span style="color: #FFF">全球大牌,会员低至</span><span style="color: #F2D894">8折</span></p>');
153
+ this.subtitle = getContainerPropsValue(container, 'content.subtitle', '超300+品牌商品');
154
+ this.radius = getContainerPropsValue(container, 'content.radius', 20);
155
+ this.margin = getContainerPropsValue(container, 'content.bodyMargin', {});
156
+ this.padding = getContainerPropsValue(container, 'content.bodyPadding', {});
157
+ },
158
+ checkValue(value, dValue = 0) {
159
+ if (value === undefined || value === '' || value === null) return dValue;
160
+ return Number(value || 0);
161
+ },
162
+ handleClick(item) {
163
+ if (this.isPreview) return;
164
+ this.handlePosterClick(item)
165
+ },
166
+ handleToMore() {
167
+ this.$xdUniHelper.navigateTo({
168
+ url: this.morePath,
169
+ });
170
+ },
171
+ handleChangeTab(item) {
172
+ this.getPosterGroup(item)
76
173
  },
77
174
  onJfbScroll(options) {
78
175
  console.log('event.onJfbScroll', options)
@@ -104,8 +201,66 @@
104
201
  @import "./JfbBasePosterGroupLess.less";
105
202
 
106
203
  .jfb-base-poster-group {
107
- &__body{
204
+ &__body {
205
+ padding: 24rpx;
206
+ margin: 20rpx;
207
+ border-radius: 30rpx;
208
+
209
+ &-header {
210
+ &-title {
211
+ display: flex;
212
+ align-items: center;
213
+ justify-content: space-between;
214
+ margin-bottom: 10rpx;
215
+
216
+ &-more {
217
+ display: flex;
218
+ align-items: center;
219
+ color: #FFFFFF;
220
+ font-size: 24rpx;
221
+ }
222
+ }
108
223
 
224
+ &-subtitle {
225
+ color: #FFFFFF;
226
+ font-size: 24rpx;
227
+ }
228
+ }
229
+
230
+ &-content {
231
+ &-tabs {
232
+ display: flex;
233
+ flex-wrap: wrap;
234
+
235
+ &-item {
236
+ margin-top: 20rpx;
237
+ margin-right: 20rpx;
238
+ padding: 11rpx 25rpx;
239
+ font-size: 25rpx;
240
+ }
241
+ }
242
+
243
+ &-images {
244
+ display: flex;
245
+ flex-wrap: wrap;
246
+ align-content: flex-start;
247
+
248
+ &>image {
249
+ display: flex;
250
+ justify-content: center;
251
+ align-items: center;
252
+ margin-top: 20rpx;
253
+ margin-right: 20rpx;
254
+ width: 145rpx;
255
+ height: 145rpx;
256
+ border-radius: 14rpx;
257
+ }
258
+
259
+ &>image:nth-child(4n) {
260
+ margin-right: 0;
261
+ }
262
+ }
263
+ }
109
264
  }
110
265
  }
111
- </style>
266
+ </style>
@@ -29,8 +29,8 @@
29
29
  </swiper-item>
30
30
  </swiper>
31
31
  </view>
32
- <!-- #ifdef MP-WEIXIN -->
33
- <view class="share_wrap">
32
+
33
+ <view v-if="showShare" class="share_wrap">
34
34
  <view class="share_btn" @click="toSendWx">
35
35
  <image src="https://sandbox-img.jufubao.cn/uploads/20250410/57bc093618bc51a85dc8bb68825d2b97.png?x-oss-process=style/size8" mode="widthFix"></image>
36
36
  </view>
@@ -38,7 +38,6 @@
38
38
  <image src="https://sandbox-img1.jufubao.cn/uploads/20250410/faeb136bfd684ab6fa4608208ad26294.png?x-oss-process=style/size8" mode="widthFix"></image>
39
39
  </view>
40
40
  </view>
41
- <!-- #endif -->
42
41
 
43
42
  <view class="visit_tip">
44
43
  好友使用你的邀请码成功注册后<br/>Ta将成为你的邀请用户
@@ -69,11 +68,21 @@
69
68
  closeMask: true,
70
69
  shareIndex: 0,
71
70
  shareList: [],
71
+ isPreview: false,
72
72
  //todo
73
73
  }
74
74
  },
75
75
  computed: {
76
76
  ...mapState(["shareInfo"]),
77
+ showShare(){
78
+ if(this.isPreview) return true;
79
+ // #ifdef MP-WEIXIN
80
+ return true;
81
+ // #endif
82
+ // #ifdef H5
83
+ return false;
84
+ // #endif
85
+ }
77
86
  },
78
87
  watch: {
79
88
  container(value, oldValue) {
@@ -83,7 +92,7 @@
83
92
  },
84
93
  created() {
85
94
  this.init(this.container);
86
-
95
+ this.isPreview = this.$configProject['isPreview'];
87
96
  //todo
88
97
  },
89
98
  methods: {
@@ -106,7 +115,9 @@
106
115
  }
107
116
  }).then(res => {
108
117
  this.shareList = res.list.map(item => {
109
- item.share_image_url = getServiceUrl(item.share_image_url);
118
+ let urlSearch = item.share_image_url.split('?')[1];
119
+ let newImgUrl = getServiceUrl(item.share_image_url);
120
+ item.share_image_url = newImgUrl.split('?')[0] + '?' + urlSearch;
110
121
  return item;
111
122
  });
112
123
  })
@@ -32,6 +32,7 @@
32
32
  v-if="productConfig.isPrice === 'Y'"
33
33
  type="two"
34
34
  :showPrice="item['show_prices']"
35
+ :isShowIcon="productConfig.isShowIcon"
35
36
  :isPlus="productConfig.is_plus_site">
36
37
  </CusPrice>
37
38
  </view>