jufubao-base 1.0.239-beta1 → 1.0.239-beta2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jufubao-base",
3
- "version": "1.0.239-beta1",
3
+ "version": "1.0.239-beta2",
4
4
  "private": false,
5
5
  "description": "聚福宝业务组件基础插件包",
6
6
  "main": "index.js",
@@ -100,7 +100,9 @@
100
100
  background: 'url(https://img1-b.jufubao.cn/uploads/20250507/1a97fda8cd8804f9bcf984da10e0a666.png?x-oss-process=style/size8)',
101
101
  backgroundSize: '100% 100%'
102
102
  }" v-else>
103
- <view style="display: flex;justify-content: center;align-items: center;height: 100vh;font-size: 30rpx;color: #333">{{tip}}</view>
103
+ <view
104
+ style="display: flex;justify-content: center;align-items: center;height: 100vh;font-size: 30rpx;color: #333">
105
+ {{tip}}</view>
104
106
  </view>
105
107
  <XdDialog width="80%" :show.sync="showDialog" :showClose="false" :showTitle="true">
106
108
  <view class="dialog-title" slot="title">门店确认</view>
@@ -123,7 +125,7 @@
123
125
  import { jfbRootExec } from "@/utils/xd.event";
124
126
  import JfbBaseConsumpCodeMixin from "./JfbBaseConsumpCodeMixin";
125
127
  import getServiceUrl from "@/common/getServiceUrl";
126
- import { getContainerPropsValue,isWechat,isWechatTools } from "@/utils/xd.base";
128
+ import { getContainerPropsValue, isWechat, isWechatTools } from "@/utils/xd.base";
127
129
  import componentsMixins from "@/mixins/componentsMixins";
128
130
  import extsMixins from "@/mixins/extsMixins";
129
131
  import { mapState } from 'vuex';
@@ -402,6 +404,7 @@
402
404
  }
403
405
  } else if (res.status === 'Y') {
404
406
  //订单下单有效时间 秒
407
+ if (this.statusTimer) clearTimeout(this.statusTimer);
405
408
  this.orderSeconds = res.seconds;
406
409
  if (this.orderSeconds > 0) {
407
410
  this.validTimer = setInterval(() => {
@@ -414,6 +417,7 @@
414
417
  }
415
418
  this.p_createOrder();
416
419
  } else if (res.status === 'E') {
420
+ if (this.statusTimer) clearTimeout(this.statusTimer);
417
421
  this.$xdAlert({
418
422
  content: res.message,
419
423
  time: 1500,
@@ -73,7 +73,7 @@ export default {
73
73
  mixins: [componentsMixins, extsMixins, JfbBaseNoticeDialogMixin],
74
74
  data() {
75
75
  return {
76
- isShow: true,
76
+ isShow: false,
77
77
  backgroundColor: "",
78
78
  isPreview: false, //是否预览
79
79
  is_hide_dailog: "N",
@@ -150,7 +150,7 @@ export default {
150
150
  } else {
151
151
  if(this.showGroup==='all') {
152
152
  this.handlePop();
153
- }else {
153
+ }else {
154
154
  if(this.getTokenForKey('user_level')&&this.getTokenForKey('user_level')==='VIP') {
155
155
  this.handlePop();
156
156
  }
@@ -590,7 +590,6 @@
590
590
  >
591
591
  <view :style="{ fontWeight: item.style }">{{ item.label }}</view>
592
592
  <xd-unit
593
- :isShowIcon="isShowIcon"
594
593
  :colorNew="isPlusSite ? '#999':''"
595
594
  :largeZero="false"
596
595
  :fontSize="28"
@@ -996,10 +995,6 @@ export default {
996
995
  backgroundColor: this.bottomBgColor,
997
996
  }
998
997
  },
999
- isShowIcon() {
1000
- if(this.$configProject['isPreview']) return true;
1001
- return this.siteInfo.mapping.is_show_coin_icon==='Y'
1002
- },
1003
998
  isPlusSite(){
1004
999
  return this.projectAttr.headers['X-Site-Group']==="vip";
1005
1000
  },
@@ -7,7 +7,52 @@ export default {
7
7
  style: [],
8
8
  content: (data) => {
9
9
  return [
10
-
10
+ {
11
+ label: '发送朋友按钮背景图:', //label
12
+ ele: 'xd-upload', //package 名称
13
+ valueKey: 'shareImage', //form[valueKey]
14
+ value: data.shareImage || null, //v-model
15
+ defaultValue: data.shareImage || null, //默认图片对象
16
+ groupKey: "content",
17
+ slot: true, //按钮是否使用slot
18
+ oneWidth: 150, //单个图片显示宽度
19
+ oneHeight: 40, //单个图片显示高度
20
+ elinputClassName: 'input40',
21
+ tipsformet: '上传文件格式:@imageType@,不超过@size@MB.建议尺寸为300*80px。',
22
+ type: ['jpg', 'png', 'jpeg'],
23
+ styleType: 'one', //其值:one=>单文件上传 auth=>证件正反面上传 list=>多文件上传
24
+ uploadType: 'aliyun', //''=>API服务上传 qiniu=>七牛云OSS上传 aliyun=> 阿里云OSS上传
25
+ size: 5, //5M
26
+ action: 'aliyun',
27
+ sort: true, //当上传图片列表时候,是否启用排序
28
+ maxlen: 100, //当上传图片列表时候,最大数量数量
29
+ rules: [
30
+ { required: true, message: '请上传图片', trigger: ['blur', 'change'] },
31
+ ]
32
+ },
33
+ {
34
+ label: '保存到相册按钮背景图:', //label
35
+ ele: 'xd-upload', //package 名称
36
+ valueKey: 'savaImage', //form[valueKey]
37
+ value: data.savaImage || null, //v-model
38
+ defaultValue: data.savaImage || null, //默认图片对象
39
+ groupKey: "content",
40
+ slot: true, //按钮是否使用slot
41
+ oneWidth: 150, //单个图片显示宽度
42
+ oneHeight: 40, //单个图片显示高度
43
+ elinputClassName: 'input40',
44
+ tipsformet: '上传文件格式:@imageType@,不超过@size@MB.建议尺寸为300*80px。',
45
+ type: ['jpg', 'png', 'jpeg'],
46
+ styleType: 'one', //其值:one=>单文件上传 auth=>证件正反面上传 list=>多文件上传
47
+ uploadType: 'aliyun', //''=>API服务上传 qiniu=>七牛云OSS上传 aliyun=> 阿里云OSS上传
48
+ size: 5, //5M
49
+ action: 'aliyun',
50
+ sort: true, //当上传图片列表时候,是否启用排序
51
+ maxlen: 100, //当上传图片列表时候,最大数量数量
52
+ rules: [
53
+ { required: true, message: '请上传图片', trigger: ['blur', 'change'] },
54
+ ]
55
+ },
11
56
  ].filter(i=>i)
12
57
  },
13
58
  advanced: [],
@@ -19,23 +19,17 @@
19
19
  <swiper-item class="swiper_item" v-for="(item,i) in shareList" :key="i">
20
20
  <view class="swiper_item-inner">
21
21
  <image :src="item.share_image_url" mode="aspectFill"></image>
22
- <!-- <view class="swiper_item-logo"></view>
23
- <view class="swiper_item-title">邀请好友领福利</view>
24
- <view class="swiper_item-qrcode"></view>
25
- <view class="swiper_item-visit">邀请码<br/>LWNXK7H</view> -->
26
22
  </view>
27
- <!-- <image style="width: 600rpx;height: 900rpx;"
28
- src="https://sandbox-img.jufubao.cn/uploads/20250410/34559f90dd5a01e7368c02bf33f1b484.png?ver=1744249748881&x-oss-process=style/size5"></image> -->
29
23
  </swiper-item>
30
24
  </swiper>
31
25
  </view>
32
26
 
33
27
  <view v-if="showShare" class="share_wrap">
34
- <view class="share_btn" @click="toSendWx">
35
- <image src="https://sandbox-img.jufubao.cn/uploads/20250410/57bc093618bc51a85dc8bb68825d2b97.png?x-oss-process=style/size8" mode="widthFix"></image>
36
- </view>
37
- <view class="share_btn" @click="toSaveImg">
38
- <image src="https://sandbox-img1.jufubao.cn/uploads/20250410/faeb136bfd684ab6fa4608208ad26294.png?x-oss-process=style/size8" mode="widthFix"></image>
28
+ <button class="share_btn" open-type="share" @click="toSendWx" :style="{backgroundImage: `url(${shareImage})`}">
29
+ <!-- <image :src="shareImage" mode="widthFix"></image> -->
30
+ </button>
31
+ <view class="share_btn" @click="toSaveImg" :style="{backgroundImage: `url(${savaImage})`}">
32
+ <!-- <image src="https://sandbox-img1.jufubao.cn/uploads/20250410/faeb136bfd684ab6fa4608208ad26294.png?x-oss-process=style/size8" mode="widthFix"></image> -->
39
33
  </view>
40
34
  </view>
41
35
 
@@ -70,11 +64,12 @@
70
64
  shareList: [],
71
65
  isPreview: false,
72
66
  //todo
67
+ shareImage: "",
68
+ savaImage: "",
73
69
  }
74
70
  },
75
71
  computed: {
76
72
  ...mapState(["shareInfo"]),
77
- ...mapMutations(["setShareInfo"]),
78
73
  showShare(){
79
74
  if(this.isPreview) return true;
80
75
  // #ifdef MP-WEIXIN
@@ -97,6 +92,7 @@
97
92
  //todo
98
93
  },
99
94
  methods: {
95
+ ...mapMutations(["setShareInfo"]),
100
96
  onJfbLoad(options) {
101
97
 
102
98
  this.p_getInviteCardList();
@@ -106,7 +102,8 @@
106
102
  * @param container {object} 业务组件对象自己
107
103
  */
108
104
  init(container) {
109
-
105
+ this.shareImage = getServiceUrl(getContainerPropsValue(container, 'content.shareImage', {url: ""}).url);
106
+ this.savaImage = getServiceUrl(getContainerPropsValue(container, 'content.savaImage', {url: ""}).url);
110
107
  },
111
108
  p_getInviteCardList(){
112
109
  jfbRootExec("getInviteCardList", {
@@ -251,8 +248,14 @@
251
248
  align-items: center;
252
249
  justify-content: center;
253
250
  .share_btn{
254
- margin-top: 60rpx;
255
251
  width: 300rpx;
252
+ height: 80rpx;
253
+ background-size: 100% 100%;
254
+ background-color: transparent;
255
+ margin: 60rpx 0 0 0;
256
+ &::after{
257
+ border: none !important;
258
+ }
256
259
  image{
257
260
  width: 100%;
258
261
  }
@@ -65,7 +65,6 @@
65
65
  <view v-if="settle.type === 'price'">
66
66
  <xd-unit
67
67
  :largeZero="false"
68
- :isShowIcon="isShowIcon"
69
68
  :colorNew="is_plus_site ? '#999':''"
70
69
  :price="settle.value" :is-old="false"></xd-unit>
71
70
  </view>
@@ -463,10 +462,6 @@ export default {
463
462
  computed: {
464
463
  ...mapState(["brandInfo", "siteInfo"]),
465
464
  ...styleForm.getComputedItem(),
466
- isShowIcon() {
467
- if(this.$configProject['isPreview']) return true;
468
- return this.siteInfo.mapping.is_show_coin_icon==='Y'
469
- },
470
465
  },
471
466
  created() {
472
467
  this.isPreview = this.$configProject.isPreview;