jufubao-base 1.0.169-beta8 → 1.0.169

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 (36) hide show
  1. package/package.json +1 -1
  2. package/src/components/JfbBaseLogin/Attr.js +510 -1147
  3. package/src/components/JfbBaseLogin/JfbBaseLogin.vue +63 -364
  4. package/src/components/JfbBaseMapSearch/MapSearchMp.vue +1 -1
  5. package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetail.vue +4 -2
  6. package/src/components/JfbBaseTfkCardBind/Api.js +30 -49
  7. package/src/components/JfbBaseTfkCardBind/Attr.js +38 -635
  8. package/src/components/JfbBaseTfkCardBind/JfbBaseTfkCardBind.vue +22 -589
  9. package/src/components/JfbBaseTfkCardBind/Mock.js +9 -19
  10. package/src/components/JfbBaseTfkCardDetail/Api.js +32 -19
  11. package/src/components/JfbBaseTfkCardDetail/Attr.js +33 -692
  12. package/src/components/JfbBaseTfkCardDetail/JfbBaseTfkCardDetail.vue +23 -630
  13. package/src/components/JfbBaseTfkCardDetail/Mock.js +11 -151
  14. package/src/components/JfbBaseTfkCardLogin/Api.js +34 -19
  15. package/src/components/JfbBaseTfkCardLogin/Attr.js +33 -885
  16. package/src/components/JfbBaseTfkCardLogin/JfbBaseTfkCardLogin.vue +16 -729
  17. package/src/components/JfbBaseTfkCardLogin/Mock.js +11 -721
  18. package/src/components/JfbBaseTfkSearch/Api.js +42 -11
  19. package/src/components/JfbBaseTfkSearch/Attr.js +33 -143
  20. package/src/components/JfbBaseTfkSearch/JfbBaseTfkSearch.vue +23 -167
  21. package/src/components/JfbBaseTfkSearch/Mock.js +11 -90
  22. package/src/components/JfbBaseTfkCardLogin/XdCouponItem.vue +0 -271
  23. package/src/components/JfbBaseTfkSearch/AllList.vue +0 -231
  24. package/src/components/JfbBaseTfkSearch/ContentCinema.vue +0 -157
  25. package/src/components/JfbBaseTfkSearch/ContentFilm.vue +0 -179
  26. package/src/components/JfbBaseTfkSearch/ContentProduct.vue +0 -308
  27. package/src/components/JfbBaseTfkSearch/ContentShop.vue +0 -184
  28. package/src/components/JfbBaseTfkSearch/CusAttr.js +0 -203
  29. package/src/components/JfbBaseTfkSearch/CustomList.vue +0 -382
  30. package/src/components/JfbBaseTfkSearch/SkeletonCinema.vue +0 -45
  31. package/src/components/JfbBaseTfkSearch/SkeletonFilm.vue +0 -109
  32. package/src/components/JfbBaseTfkSearch/SkeletonProduct.vue +0 -137
  33. package/src/components/JfbBaseTfkSearch/SkeletonShop.vue +0 -81
  34. package/src/components/JfbBaseTfkSearch/handleKeyword.js +0 -24
  35. package/src/components/JfbBaseTfkSearch/listMixins.js +0 -147
  36. package/src/components/JfbBaseTfkSearch/search.js +0 -293
@@ -1,109 +0,0 @@
1
- <template>
2
- <view class="skeleton-wrap-item">
3
- <view class="skeleton-wrap-item-image skeleton-item" :style="{marginRight:outSpacing + 'rpx'}"></view>
4
- <view class="skeleton-wrap-item-title">
5
- <view class="title skeleton-item"></view>
6
- <view class="type skeleton-item"></view>
7
- <view class="director skeleton-item"></view>
8
- <view class="star skeleton-item"></view>
9
- </view>
10
- <view class="skeleton-wrap-item-btn skeleton-item" :style="{marginLeft:outSpacing + 'rpx'}">
11
- <view class="score skeleton-item"></view>
12
- <view class="btn skeleton-item"></view>
13
- </view>
14
- </view>
15
- </template>
16
-
17
- <script>
18
- export default {
19
- name: "SkeletonFilm",
20
- props:{
21
- outSpacing:{
22
- type: Number|String,
23
- default:20
24
- }
25
- }
26
- }
27
- </script>
28
-
29
-
30
-
31
- <style scoped lang="less">
32
- .skeleton-wrap-item {
33
- height: 240rpx;
34
- display: flex;
35
- justify-content: space-between;
36
- align-items: center;
37
-
38
- //影片列表骨架
39
- &-image {
40
- .skeleton-item(160rpx, 240rpx);
41
- flex-shrink: 0;
42
- margin-right: 20rpx;
43
- }
44
-
45
- &-title {
46
- flex: 1;
47
-
48
- .title {
49
- .skeleton-item(100%, 50rpx);
50
- margin-bottom: 20rpx;
51
- }
52
-
53
- .director,.star,.type {
54
- .skeleton-item(100%, 40rpx);
55
- margin-bottom: 10rpx;
56
- }
57
- }
58
-
59
- &-btn {
60
- display: flex;
61
- align-content: space-between;
62
- align-items: flex-end;
63
- justify-content: flex-end;
64
- flex-flow: wrap;
65
- height: 100%;
66
- box-sizing: border-box;
67
- padding: 10rpx 0;
68
- width: 130rpx;
69
- flex-shrink: 0;
70
-
71
- & > .score {
72
- .skeleton-item(100rpx, 40rpx);
73
- }
74
- & > .btn {
75
- .skeleton-item(130rpx, 60rpx);
76
- }
77
- }
78
-
79
- &:last-child {
80
- margin-bottom: 0!important;
81
- }
82
-
83
- //影院列表骨架
84
- &.list {
85
- display: block;
86
- }
87
- & > .title {
88
- .skeleton-item(100%, 60rpx);
89
- margin-bottom: 20rpx;
90
- }
91
- & > .address {
92
- .skeleton-item(100%, 40rpx);
93
- margin-bottom: 20rpx;
94
- }
95
- & > .bottom {
96
- display: flex;
97
- justify-content: space-between;
98
- align-items: center;
99
- padding-top: 30rpx;
100
-
101
- & > .local {
102
- .skeleton-item(120rpx, 30rpx);
103
- }
104
- & > .btn {
105
- .skeleton-item(150rpx, 70rpx);
106
- }
107
- }
108
- }
109
- </style>
@@ -1,137 +0,0 @@
1
- <template>
2
- <view class="skeleton-wrap-item" :class="{display: cell===1}">
3
- <template v-if="cell===1">
4
- <view class="image skeleton-item" :style="{marginRight:outSpacing + 'rpx'}"></view>
5
- <view class="content">
6
- <view class="top">
7
- <view class="title skeleton-item"></view>
8
- <view class="brand skeleton-item" v-if="productConfig.is_show_brand==='Y'"></view>
9
- <view class="tags">
10
- <view class="skeleton-item" v-if="productConfig.showActivityPrice==='Y'"></view>
11
- <template v-if="productConfig.isShowTag==='Y'">
12
- <view class="skeleton-item"></view>
13
- <view class="skeleton-item"></view>
14
- <view class="skeleton-item"></view>
15
- </template>
16
- </view>
17
- </view>
18
- <view class="bottom">
19
- <view class="price skeleton-item" v-if="productConfig.isPrice==='Y'"></view>
20
- <view class="orgPrice skeleton-item" v-if="productConfig.isPrice==='Y' && productConfig.isShowDiscount === 'Y'"></view>
21
- <view class="cart">
22
- <view class="skeleton-item" v-if="productConfig.isAddCart === 'Y'"></view>
23
- </view>
24
- </view>
25
- </view>
26
- </template>
27
- <template v-if="cell===2">
28
- </template>
29
- </view>
30
- </template>
31
-
32
- <script>
33
- export default {
34
- name: "SkeletonProduct",
35
- props:{
36
- outSpacing:{
37
- type: Number|String,
38
- default:20
39
- },
40
- cell:{
41
- type: Number|String,
42
- required: true
43
- },
44
- productConfig:{
45
- type:Object|null,
46
- default: null
47
- },
48
- }
49
- }
50
- </script>
51
-
52
-
53
-
54
- <style scoped lang="less">
55
- .skeleton-wrap-item {
56
- min-height: 200rpx;
57
-
58
- &.display {
59
- display: flex;
60
- justify-content: space-between;
61
- align-items: center;
62
- align-content: space-between;
63
-
64
- & .image {
65
- .skeleton-item(200rpx, 200rpx);
66
- }
67
-
68
- & .content {
69
- flex: 1;
70
- min-height: 200rpx;
71
-
72
- .top {
73
- height: 140rpx;
74
-
75
- & .title {
76
- .skeleton-item(100%, 60rpx);
77
-
78
- }
79
-
80
- & .brand {
81
- margin-top: 10rpx;
82
- .skeleton-item(70%, 25rpx);
83
- }
84
-
85
- .tags {
86
- display: flex;
87
- justify-content: flex-start;
88
- align-items: center;
89
- flex-flow: wrap;
90
- margin-top: 10rpx;
91
-
92
- & > view {
93
- .skeleton-item(80rpx, 30rpx);
94
- margin-left: 10rpx;
95
- &:first-child {
96
- margin-left: 0;
97
- width: 120rpx;
98
- }
99
- }
100
- }
101
- }
102
-
103
- .bottom {
104
- display: flex;
105
- justify-content: flex-end;
106
- align-content: center;
107
- align-items: center;
108
- width: 100%;
109
- height: 40rpx;
110
- margin-top: 20rpx;
111
-
112
- & .price {
113
- flex-shrink: 0;
114
- .skeleton-item(120rpx, 35rpx);
115
- }
116
-
117
- & .orgPrice {
118
- flex-shrink: 0;
119
- margin-left: 20rpx;
120
- .skeleton-item(130rpx, 20rpx);
121
- }
122
-
123
- & .cart {
124
- flex: 1;
125
- display: flex;
126
- justify-content: flex-end;
127
- align-items: center;
128
- & > view {
129
- .skeleton-item(40rpx, 40rpx);
130
- }
131
- }
132
- }
133
- }
134
- }
135
-
136
- }
137
- </style>
@@ -1,81 +0,0 @@
1
- <template>
2
- <view class="skeleton-wrap-item">
3
- <view class="image skeleton-item" :style="{marginRight: outSpacing + 'rpx'}"></view>
4
- <view class="content">
5
- <view class="title">
6
- <view class="title-left skeleton-item"></view>
7
- <view class="title-right skeleton-item"></view>
8
- </view>
9
- <view class="address skeleton-item"></view>
10
- <view class="phone skeleton-item"></view>
11
- <view class="btn">
12
- <view class="skeleton-item"></view>
13
- </view>
14
- </view>
15
- </view>
16
- </template>
17
-
18
- <script>
19
- export default {
20
- name: "SkeletonShop",
21
- props:{
22
- outSpacing:{
23
- type: Number|String,
24
- default:20
25
- }
26
- }
27
- }
28
- </script>
29
-
30
- <style scoped lang="less">
31
- .skeleton-wrap-item {
32
- height: 200rpx;
33
- display: flex;
34
- justify-content: space-between;
35
- align-items: center;
36
-
37
- & > .image {
38
- .skeleton-item(200rpx, 200rpx);
39
- flex-shrink: 0;
40
- }
41
-
42
- .content {
43
- height: 100%;
44
-
45
- .title {
46
- display: flex;
47
- justify-content: space-between;
48
- align-items: center;
49
- margin-bottom: 20rpx;
50
-
51
- &-left {
52
- flex: 1;
53
- margin-right: 20rpx;
54
- .skeleton-item(100%, 40rpx);
55
- }
56
- &-right {
57
- flex-shrink: 0;
58
- .skeleton-item(100rpx, 30rpx);
59
- }
60
- }
61
-
62
- flex: 1;
63
- .address {
64
- margin-bottom: 10rpx;
65
- .skeleton-item(100%, 30rpx);
66
- }
67
- .phone {
68
- margin-bottom: 10rpx;
69
- .skeleton-item(100%, 30rpx);
70
- }
71
- .btn {
72
- display: flex;
73
- justify-content: flex-end;
74
-
75
- .skeleton-item {
76
- .skeleton-item(100rpx, 50rpx)
77
- }
78
- }
79
- }
80
- }
81
- </style>
@@ -1,24 +0,0 @@
1
- 'use strict';
2
-
3
- export default ($vm, str , keyword='', options={})=>{
4
- if(keyword === '') return str;
5
- try {
6
- let __option = {
7
- tag: 'text',
8
- color: 'red',
9
- weight: '500',
10
- };
11
- if ($vm.$xdUniHelper.checkVarType(keyword) === 'array') {
12
- keyword = keyword.join('|');
13
- } else if ($vm.$xdUniHelper.checkVarType(keyword) === 'string') {
14
- keyword = keyword.trim();
15
- }
16
- let opt = Object.assign({}, __option, options);
17
- let reg = new RegExp(`(${keyword})`, 'ig');
18
- return str.replace(reg, `<${opt.tag} style="color:${opt.color};font-weight: ${opt.weight}">$1</${opt.tag}>`);
19
- } catch (e) {
20
- console.error(e)
21
- return str;
22
- }
23
- }
24
-
@@ -1,147 +0,0 @@
1
- 'use strict';
2
- import { getContainerPropsValue } from "@/utils/xd.base";
3
-
4
- export default {
5
- data(){
6
- return {
7
- isShowExchange:'N',
8
-
9
- contMargin:{},
10
- contRradius:'10',
11
- contShadow:'',
12
- contBorder:'',
13
- contBgColor:'',
14
- contBorderWidth: 0,
15
-
16
- imgRradius:'10',
17
-
18
- productConfig:null,
19
- }
20
- },
21
- created(){
22
-
23
- },
24
- methods:{
25
-
26
- cusInit(container){
27
- this.isShowExchange = getContainerPropsValue(container, 'content.isShowExchange', 'N');
28
-
29
- //商品相关
30
- let is_show_brand = getContainerPropsValue(container, 'content.is_show_brand', 'N');
31
- let isPrice = getContainerPropsValue(container, 'content.isPrice', "Y");
32
- let isShowTag = getContainerPropsValue(container, 'content.isShowTag', "Y");
33
- let isShowDiscount = getContainerPropsValue(container, 'content.isShowDiscount', "Y");
34
- let isAddCart = getContainerPropsValue(container, 'content.isAddCart', "Y");
35
- let differ = getContainerPropsValue(container, 'content.differ', 1);
36
- let showActivityPrice = getContainerPropsValue(container, 'content.showActivityPrice', 'N');
37
- this.productConfig = {is_show_brand,isPrice,isShowTag,isShowDiscount,isAddCart,differ,showActivityPrice}
38
-
39
- //内容
40
- this.contMargin = getContainerPropsValue(container, 'content.contMargin', {});
41
- this.contRradius = getContainerPropsValue(container, 'content.contRradius', '10');
42
- this.contShadow = this.getXdShadow({width:20, color:'rgba(0,0,0,0)'},getContainerPropsValue(container, 'content.contShadow', {}))
43
- this.contBorder = this.getXdBorder({width:2,color:'rgba(0,0,0,0)'},getContainerPropsValue(container, 'content.contBorder', {}));
44
- this.contBgColor = getContainerPropsValue(container, 'content.contBgColor', '#fff');
45
- this.contObjBorder = getContainerPropsValue(container, 'content.contBorder', {});
46
- if(this.contObjBorder && this.contObjBorder.type === 'Y') {
47
- if(this.contObjBorder.value && this.contObjBorder.value.width) {
48
- this.contBorderWidth = Number(this.contObjBorder.value.width);
49
- }
50
- else this.contBorderWidth = 2;
51
- }
52
-
53
- //图片
54
- this.imgRradius = getContainerPropsValue(container, 'content.imgRradius', '10');
55
-
56
- },
57
-
58
-
59
- //通信相关================
60
- handleParentVm(cb){
61
- cb(this)
62
- },
63
-
64
- onJfbReachBottom(options) {
65
- console.log('event.onJfbReachBottom', options)
66
- this.$refs['customList']['onCusReachBottom'](options)
67
-
68
- },
69
-
70
- onCusReload() {
71
- console.log('event.onCusReload', this.options)
72
- this.$refs['customList']['onCusReloadList'](this.options)
73
- },
74
- //通信相关================
75
-
76
- //cinema/film/shop/product
77
-
78
- //影片列表事件
79
- handleFilmDetail(film_id,film){
80
- // console.warn(`toFilmInfo(影片详情).${film_id}`)
81
- // if(!this.fimeDetailPath) {
82
- // console.error('未配置链接');
83
- // return;
84
- // }
85
- // if( this.isPreview) return;
86
- // this.$xdUniHelper.navigateTo({
87
- // url: this.fimeDetailPath + `?film_id=${film_id}`
88
- // })
89
- },
90
- handleBuy(film_id,film){
91
- // console.warn(`toBuyChooseCinema(选择影院).${film_id}`)
92
- // if(!this.buyPath) {
93
- // console.error('未配置链接');
94
- // return;
95
- // }
96
- // if( this.isPreview) return;
97
- // this.$xdUniHelper.navigateTo({
98
- // url: this.buyPath + `?film_id=${film_id}`
99
- // })
100
- },
101
- //影片列表事件
102
-
103
- //影院列表事件
104
- handleSchedule(item, cinema){
105
- // console.warn(`handleSchedule(选择排期).${item.cinema_id}`)
106
- // if(!this.onlinePath) {
107
- // console.error('未配置链接');
108
- // return;
109
- // }
110
- // if( this.isPreview) return;
111
- // this.$xdUniHelper.navigateTo({
112
- // url: this.onlinePath + `?cinema_id=${item.cinema_id}`,
113
- // });
114
- },
115
- handleCodeDetail(item, cinema){
116
- // console.warn(`handleCodeDetail(选择电子码列表).${item.cinema_id}`)
117
- // if(!this.codePath) {
118
- // console.error('未配置链接');
119
- // return;
120
- // }
121
- // if( this.isPreview) return;
122
- // this.$xdUniHelper.navigateTo({
123
- // url: this.codePath + `?cinema_id=${item.cinema_id}`,
124
- // });
125
- },
126
- handleCashierDetail(item, cinema){
127
- //todo
128
- },
129
- //影院列表事件
130
-
131
- //门店列表事件
132
- handleShopJhd(item, shop){
133
- debugger
134
- },
135
- handleShopDetail(item, shop){
136
- debugger
137
- },
138
- //门店列表事件
139
-
140
- //商品链接事件
141
- handleProductDetail(item, product){
142
- debugger
143
- }
144
- //商品链接事件
145
- },
146
- }
147
-