jufubao-base 1.0.169 → 1.0.171

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 (41) hide show
  1. package/package.json +1 -1
  2. package/src/components/JfbBaseHeader/JfbBaseHeader.vue +2 -2
  3. package/src/components/JfbBaseLogin/Attr.js +1133 -491
  4. package/src/components/JfbBaseLogin/JfbBaseLogin.vue +369 -63
  5. package/src/components/JfbBaseMapSearch/MapSearchMp.vue +1 -1
  6. package/src/components/JfbBaseNotice/JfbBaseNotice.vue +2 -2
  7. package/src/components/JfbBaseTfkCardBind/Api.js +49 -30
  8. package/src/components/JfbBaseTfkCardBind/Attr.js +708 -38
  9. package/src/components/JfbBaseTfkCardBind/JfbBaseTfkCardBind.vue +688 -22
  10. package/src/components/JfbBaseTfkCardBind/Mock.js +19 -9
  11. package/src/components/JfbBaseTfkCardDetail/Api.js +19 -32
  12. package/src/components/JfbBaseTfkCardDetail/Attr.js +740 -33
  13. package/src/components/JfbBaseTfkCardDetail/JfbBaseTfkCardDetail.vue +639 -23
  14. package/src/components/JfbBaseTfkCardDetail/Mock.js +151 -11
  15. package/src/components/JfbBaseTfkCardLogin/Api.js +19 -34
  16. package/src/components/JfbBaseTfkCardLogin/Attr.js +1094 -32
  17. package/src/components/JfbBaseTfkCardLogin/JfbBaseTfkCardLogin.vue +775 -17
  18. package/src/components/JfbBaseTfkCardLogin/Mock.js +191 -11
  19. package/src/components/JfbBaseTfkCardLogin/XdCouponItem.vue +275 -0
  20. package/src/components/JfbBaseTfkCardLogin/XdNotice.vue +550 -0
  21. package/src/components/JfbBaseTfkSearch/AllList.vue +337 -0
  22. package/src/components/JfbBaseTfkSearch/Api.js +11 -42
  23. package/src/components/JfbBaseTfkSearch/Attr.js +344 -32
  24. package/src/components/JfbBaseTfkSearch/ContentCinema.vue +157 -0
  25. package/src/components/JfbBaseTfkSearch/ContentFilm.vue +218 -0
  26. package/src/components/JfbBaseTfkSearch/ContentProduct.vue +317 -0
  27. package/src/components/JfbBaseTfkSearch/ContentShop.vue +186 -0
  28. package/src/components/JfbBaseTfkSearch/CusAttr.js +213 -0
  29. package/src/components/JfbBaseTfkSearch/CustomList.vue +453 -0
  30. package/src/components/JfbBaseTfkSearch/JfbBaseTfkSearch.vue +286 -35
  31. package/src/components/JfbBaseTfkSearch/Mock.js +242 -11
  32. package/src/components/JfbBaseTfkSearch/SkeletonCinema.vue +45 -0
  33. package/src/components/JfbBaseTfkSearch/SkeletonFilm.vue +109 -0
  34. package/src/components/JfbBaseTfkSearch/SkeletonProduct.vue +246 -0
  35. package/src/components/JfbBaseTfkSearch/SkeletonShop.vue +81 -0
  36. package/src/components/JfbBaseTfkSearch/handleKeyword.js +24 -0
  37. package/src/components/JfbBaseTfkSearch/listMixins.js +187 -0
  38. package/src/components/JfbBaseUserInfo/JfbBaseUserInfo.vue +2 -1
  39. package/src/mixins/colorCardMixins.js +71 -9
  40. package/src/mixins/componentsMixins.js +376 -23
  41. package/src/mixins/posterMixins.js +122 -0
@@ -1,13 +1,193 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
3
  module.exports = {
4
-
5
- getTfkByIdFilmSquate:{},
6
-
7
- updateTfkFilmPaiqiDate:{},
8
-
9
- removeTfkFilmAddress:{},
10
-
11
- addTfkFilmcart:{},
12
-
13
- }
4
+ getTfkListCardBind: {
5
+ list: [
6
+ {
7
+ card_number: "171003500000707",
8
+ card_point: 1000,
9
+ card_type: "2146",
10
+ card_type_name: "一对一次卡",
11
+ unit: "次",
12
+ end_time: "2025-12-31",
13
+ is_valid: "Y",
14
+ main_business_code_name: "",
15
+ other_card_point: 0,
16
+ is_exchange: "Y",
17
+ card_point_type: 1,
18
+ business_codes: [
19
+ "cake",
20
+ "movie",
21
+ "video",
22
+ "market",
23
+ "book",
24
+ "health",
25
+ "travel",
26
+ "play",
27
+ "small",
28
+ "supermarket",
29
+ "food"
30
+ ],
31
+ is_login: "Y",
32
+ consume_type: "1",
33
+ card_use_rule: "",
34
+ is_transfering: "Y"
35
+ },
36
+ {
37
+ card_number: "101001000008485",
38
+ card_point: 87385,
39
+ card_type: "27",
40
+ card_type_name: "聚福宝福",
41
+ unit: "点",
42
+ end_time: "2025-05-30",
43
+ is_valid: "Y",
44
+ main_business_code_name: "",
45
+ other_card_point: 0,
46
+ is_exchange: "N",
47
+ card_point_type: 1,
48
+ business_codes: ["cake", "movie", "video", "market", "book"],
49
+ is_login: "N",
50
+ consume_type: "1",
51
+ card_use_rule: "",
52
+ is_transfering: "N"
53
+ },
54
+ {
55
+ card_number: "171003500000710",
56
+ card_point: 1000,
57
+ card_type: "2146",
58
+ card_type_name: "一对一次卡(2d抵扣45,3d2张兑换一张)",
59
+ unit: "次",
60
+ end_time: "2025-12-31",
61
+ is_valid: "Y",
62
+ main_business_code_name: "",
63
+ other_card_point: 0,
64
+ is_exchange: "Y",
65
+ card_point_type: 1,
66
+ business_codes: [
67
+ "cake",
68
+ "movie",
69
+ "video",
70
+ "market",
71
+ "book",
72
+ "health",
73
+ "travel",
74
+ "play",
75
+ "small",
76
+ "supermarket",
77
+ "food"
78
+ ],
79
+ is_login: "N",
80
+ consume_type: "1",
81
+ card_use_rule: "",
82
+ is_transfering: "N"
83
+ },
84
+ {
85
+ card_number: "101001000007027",
86
+ card_point: 2356,
87
+ card_type: "2151",
88
+ card_type_name: "A加盟商福卡(12位)",
89
+ unit: "点",
90
+ end_time: "2025-06-30",
91
+ is_valid: "Y",
92
+ main_business_code_name: "",
93
+ other_card_point: 0,
94
+ is_exchange: "N",
95
+ card_point_type: 1,
96
+ business_codes: [
97
+ "cake",
98
+ "movie",
99
+ "video",
100
+ "market",
101
+ "book",
102
+ "food",
103
+ "event12",
104
+ "event18",
105
+ "event26",
106
+ "event29",
107
+ "event32"
108
+ ],
109
+ is_login: "N",
110
+ consume_type: "1",
111
+ card_use_rule: "",
112
+ is_transfering: "N"
113
+ },
114
+ {
115
+ card_number: "10001000001170",
116
+ card_point: 5000,
117
+ card_type: "0",
118
+ card_type_name: "满50减50",
119
+ show_name: "满50减50",
120
+ unit: "点",
121
+ end_time: "2024-11-23",
122
+ is_valid: "Y",
123
+ main_business_code_name: "",
124
+ other_card_point: 0,
125
+ is_exchange: "N",
126
+ card_point_type: 1,
127
+ business_codes: ["cake", "movie", "video", "market", "book"],
128
+ is_login: "N",
129
+ consume_type: "2",
130
+ card_use_rule: "满50减0",
131
+ is_transfering: "N"
132
+ },
133
+ {
134
+ card_number: "10001000001169",
135
+ card_point: 5000,
136
+ card_type: "0",
137
+ card_type_name: "满50减50",
138
+ show_name: "满50减50",
139
+ unit: "点",
140
+ end_time: "2024-11-23",
141
+ is_valid: "Y",
142
+ main_business_code_name: "",
143
+ other_card_point: 0,
144
+ is_exchange: "N",
145
+ card_point_type: 1,
146
+ business_codes: ["cake", "movie", "video", "market", "book"],
147
+ is_login: "N",
148
+ consume_type: "2",
149
+ card_use_rule: "满50减0",
150
+ is_transfering: "N"
151
+ },
152
+ {
153
+ card_number: "10001000001168",
154
+ card_point: 5000,
155
+ card_type: "0",
156
+ card_type_name: "满50减50",
157
+ show_name: "满50减50",
158
+ unit: "点",
159
+ end_time: "2024-11-23",
160
+ is_valid: "Y",
161
+ main_business_code_name: "",
162
+ other_card_point: 0,
163
+ is_exchange: "N",
164
+ card_point_type: 1,
165
+ business_codes: ["cake", "movie", "video", "market", "book"],
166
+ is_login: "N",
167
+ consume_type: "2",
168
+ card_use_rule: "满50减0",
169
+ is_transfering: "N"
170
+ },
171
+ {
172
+ card_number: "10001000001167",
173
+ card_point: 5000,
174
+ card_type: "0",
175
+ card_type_name: "满50减50",
176
+ show_name: "满50减50",
177
+ unit: "点",
178
+ end_time: "2024-11-23",
179
+ is_valid: "Y",
180
+ main_business_code_name: "",
181
+ other_card_point: 0,
182
+ is_exchange: "N",
183
+ card_point_type: 1,
184
+ business_codes: ["cake", "movie", "video", "market", "book"],
185
+ is_login: "N",
186
+ consume_type: "2",
187
+ card_use_rule: "满50减0",
188
+ is_transfering: "N"
189
+ },
190
+ ],
191
+ request_id: "413e08844fe1d1af"
192
+ }
193
+ };
@@ -0,0 +1,275 @@
1
+ <template>
2
+ <view class="xd-coupon_item" :style="couponItemBoxStyle"
3
+ @click="toDetail">
4
+ <view class="coupon_left" :style="{
5
+ background: couponLeftBgColor
6
+ }">
7
+ <view class="_point">
8
+ <xd-unit
9
+ :unitFontSize="24"
10
+ :fontSize="48"
11
+ :price="item.card_point"
12
+ :isOld="false"
13
+ :unit="item.unit || ''"
14
+ :colorNew="'#ffffff'"
15
+ ></xd-unit>
16
+ <!-- <text style="font-size: 24rpx;">{{ item.unit }}</text> -->
17
+ </view>
18
+ <view class="_rule">{{ item.show_name }}</view>
19
+ </view>
20
+ <view class="coupon_right" :style="couponRightItemBoxStyle">
21
+ <view class="cont_top" :style="{
22
+ background: couponTitleBgColor
23
+ }">{{ item.card_type_name }}</view>
24
+ <view class="cont_main">
25
+ <view class="cou_number">券号:{{ item.card_number }}</view>
26
+ <view class="cou_time">有效期:{{ item.end_time }}</view>
27
+ <view class="cou_point">
28
+ 余额:
29
+ <xd-unit
30
+ :unitFontSize="24"
31
+ :fontSize="28"
32
+ :price="item.card_point"
33
+ :isOld="false"
34
+ :unit="item.unit || ''"
35
+ :colorNew="'#333333'"
36
+ ></xd-unit>
37
+ </view>
38
+ <view class="cou_btn"
39
+ :style="[
40
+ item.is_login === 'Y' ? couponBtnActiveStyle : couponBtnStyle,
41
+ {
42
+ padding: couponBtnPadding,
43
+ borderRadius: couponBtnRadius + 'rpx'
44
+ }
45
+ ]"
46
+ @click.stop="goToUseCoupon"
47
+ >{{item.is_login === 'Y' ? '已登录' : '去使用'}}</view>
48
+ </view>
49
+ <view class="cont_bottom">
50
+ <view class="switch_rule" @click.stop="switchRule">
51
+ <view>使用规则</view>
52
+ <view>
53
+ <xd-font-icon v-if="!expand" icon="iconxia_down" size="24"></xd-font-icon>
54
+ <xd-font-icon v-else icon="iconshang_up" size="24"></xd-font-icon>
55
+ </view>
56
+ </view>
57
+ <view v-if="expand" class="expand_rule">
58
+ {{ item.card_use_rule }}
59
+ </view>
60
+ </view>
61
+ </view>
62
+ </view>
63
+ </template>
64
+ <script>
65
+ import getServiceUrl from '@/common/getServiceUrl'
66
+ import XdUnit from "@/components/XdUnit/XdUnit";
67
+ import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
68
+ export default{
69
+ name: "XdCouponItem",
70
+ components: {
71
+ XdFontIcon,
72
+ XdUnit
73
+ },
74
+ props: {
75
+ item:{
76
+ type: Object,
77
+ },
78
+ couponRadius: {
79
+ type: String,
80
+ default: "16"
81
+ },
82
+ couponLeftBgColor: {
83
+ type: String,
84
+ default: 'linear-gradient(180deg, #FFA852 0%, #FF5733 100%)'
85
+ },
86
+ couponImageUrl: {
87
+ type: Object | String
88
+ },
89
+ couponTitleBgColor: {
90
+ type: String,
91
+ default: "rgba(255, 87, 51, 0.1)"
92
+ },
93
+ couponUseBtnPadding: {
94
+ type: Object,
95
+ default(){
96
+ return {
97
+ top: 20,
98
+ right: 20,
99
+ bottom: 10,
100
+ left: 20
101
+ }
102
+ },
103
+ },
104
+ couponBtnRadius: {
105
+ type: String,
106
+ default: "16"
107
+ },
108
+ couponBtnTextStyle: {
109
+ type: Object,
110
+ default(){
111
+ return {
112
+ color: '#fff',
113
+ bgColor: '#ff5722',
114
+ fontSize: '30rpx',
115
+ fontWeight: 'normal'
116
+ }
117
+ }
118
+ }
119
+ },
120
+ data() {
121
+ return {
122
+ expand: false,
123
+ }
124
+ },
125
+ computed: {
126
+ couponItemBoxStyle(){
127
+ return this.styleObjectToString({
128
+ borderRadius: this.couponRadius + 'rpx',
129
+ })
130
+ },
131
+ couponBtnPadding(){
132
+ let padding = `${this.checkValue(this.couponUseBtnPadding.top, 20)}rpx`;
133
+ padding = `${padding} ${this.checkValue(this.couponUseBtnPadding.right, 20)}rpx`;
134
+ padding = `${padding} ${this.checkValue(this.couponUseBtnPadding.bottom, 20)}rpx`;
135
+ padding = `${padding} ${this.checkValue(this.couponUseBtnPadding.left, 20)}rpx`;
136
+ return padding;
137
+ },
138
+ couponBtnStyle(){
139
+ let styleObj = {
140
+ color: this.couponBtnTextStyle['color'] || '#333',
141
+ background: this.couponBtnTextStyle['bgColor'] || '#fff',
142
+ fontSize: this.couponBtnTextStyle['fontSize'] || '30rpx',
143
+ fontWeight: this.couponBtnTextStyle['fontWeight'] || 'normal',
144
+ }
145
+ return this.styleObjectToString(styleObj)
146
+ },
147
+ couponBtnActiveStyle(){
148
+ return this.styleObjectToString({
149
+ color: this.couponBtnTextStyle['actColor'] || '#fff',
150
+ background: this.couponBtnTextStyle['actBgColor'] || '#ff5722',
151
+ fontSize: this.couponBtnTextStyle['actFontSize'] || '30rpx',
152
+ fontWeight: this.couponBtnTextStyle['actFontWeight'] || 'normal',
153
+ })
154
+ },
155
+ couponRightItemBoxStyle(){
156
+ let image = {};
157
+ if(this.couponImageUrl) image = {
158
+ backgroundImage: `url(${this.getCouponBgImage})`,
159
+ backgroundSize: 'cover',
160
+ backgroundRepeat: 'no-repeat',
161
+ }
162
+ return this.styleObjectToString(image)
163
+ },
164
+ getCouponBgImage(){
165
+ let bg = '';
166
+ if(this.$xdUniHelper.checkVarType(this.couponImageUrl) === 'object'
167
+ || this.$xdUniHelper.checkVarType(this.couponImageUrl) === 'array'
168
+ ) {
169
+ if(!this.$xdUniHelper.isEmpty(this.couponImageUrl)) {
170
+ return getServiceUrl(this.couponImageUrl.url)
171
+ }
172
+ }
173
+ return bg
174
+ },
175
+ },
176
+ methods: {
177
+ switchRule(){
178
+ this.expand = !this.expand;
179
+ },
180
+ toDetail(){
181
+ this.$emit('toDetail', this.item);
182
+ },
183
+ goToUseCoupon(){
184
+ this.$emit('useCoupon', this.item);
185
+ },
186
+ checkValue(value, dValue = 0){
187
+ if(value === undefined || value === '' || value === null) return dValue;
188
+ return Number(value || 0);
189
+ },
190
+ }
191
+ }
192
+
193
+ </script>
194
+ <style lang="less" scoped>
195
+ .xd-coupon_item{
196
+ display: flex;
197
+ margin: 20rpx 0;
198
+ border-radius: 16rpx;
199
+ background: #FFFFFF;
200
+ overflow: hidden;
201
+ .coupon_left{
202
+ color: #FFFFFF;
203
+ width: 170rpx;
204
+ display: flex;
205
+ flex-direction: column;
206
+ align-items: center;
207
+ justify-content: center;
208
+
209
+ ._point{
210
+ font-size: 48rpx;
211
+ }
212
+ ._rule{
213
+ font-size: 24rpx;
214
+ }
215
+ }
216
+ .coupon_right{
217
+ flex: 1;
218
+ width: 530rpx;
219
+ .cont_top{
220
+ background: rgba(255, 87, 51, 0.1);
221
+ padding: 8rpx 40rpx;
222
+ font-size: 24rpx;
223
+ overflow: hidden;
224
+ white-space: nowrap;
225
+ text-overflow: ellipsis;
226
+ }
227
+ .cont_main{
228
+ position: relative;
229
+ padding: 28rpx 20rpx 28rpx 40rpx;
230
+ color: #333333;
231
+ .cou_number{
232
+ font-size: 32rpx;
233
+ font-weight: bold;
234
+ }
235
+ .cou_time{
236
+ font-size: 28rpx;
237
+ margin: 16rpx 0;
238
+ }
239
+ .cou_point{
240
+ font-size: 28rpx;
241
+ display: flex;
242
+ align-items: center;
243
+ }
244
+ .cou_btn{
245
+ position: absolute;
246
+ padding: 10rpx 30rpx;
247
+ background-color: #ddd;
248
+ border-radius: 12rpx;
249
+ right: 20rpx;
250
+ bottom: 20rpx;
251
+ }
252
+ }
253
+ .cont_bottom{
254
+ background: #EEEEEE;
255
+ .switch_rule{
256
+ display: flex;
257
+ align-items: center;
258
+ justify-content: space-between;
259
+ padding: 12rpx 40rpx;
260
+ font-size: 24rpx;
261
+ color: #666666;
262
+ }
263
+ .expand_rule{
264
+ padding: 12rpx 40rpx;
265
+ font-size: 20rpx;
266
+ color: #333333;
267
+ overflow: hidden;
268
+ white-space: nowrap;
269
+ text-overflow: ellipsis;
270
+ background-color: #F5F5F5;
271
+ }
272
+ }
273
+ }
274
+ }
275
+ </style>