jufubao-base 1.0.169-beta9 → 1.0.170

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 (29) hide show
  1. package/package.json +1 -1
  2. package/src/components/JfbBaseHeader/JfbBaseHeader.vue +2 -2
  3. package/src/components/JfbBaseLogin/Attr.js +10 -0
  4. package/src/components/JfbBaseLogin/JfbBaseLogin.vue +6 -1
  5. package/src/components/JfbBaseNotice/JfbBaseNotice.vue +2 -2
  6. package/src/components/JfbBaseTfkCardBind/Attr.js +80 -7
  7. package/src/components/JfbBaseTfkCardBind/JfbBaseTfkCardBind.vue +112 -13
  8. package/src/components/JfbBaseTfkCardDetail/Attr.js +49 -1
  9. package/src/components/JfbBaseTfkCardDetail/JfbBaseTfkCardDetail.vue +18 -9
  10. package/src/components/JfbBaseTfkCardLogin/Attr.js +223 -13
  11. package/src/components/JfbBaseTfkCardLogin/JfbBaseTfkCardLogin.vue +118 -73
  12. package/src/components/JfbBaseTfkCardLogin/Mock.js +5 -535
  13. package/src/components/JfbBaseTfkCardLogin/XdCouponItem.vue +10 -6
  14. package/src/components/JfbBaseTfkCardLogin/XdNotice.vue +550 -0
  15. package/src/components/JfbBaseTfkSearch/AllList.vue +241 -135
  16. package/src/components/JfbBaseTfkSearch/Api.js +1 -1
  17. package/src/components/JfbBaseTfkSearch/Attr.js +203 -1
  18. package/src/components/JfbBaseTfkSearch/ContentFilm.vue +127 -88
  19. package/src/components/JfbBaseTfkSearch/ContentProduct.vue +14 -5
  20. package/src/components/JfbBaseTfkSearch/ContentShop.vue +2 -0
  21. package/src/components/JfbBaseTfkSearch/CusAttr.js +10 -0
  22. package/src/components/JfbBaseTfkSearch/CustomList.vue +130 -78
  23. package/src/components/JfbBaseTfkSearch/JfbBaseTfkSearch.vue +164 -62
  24. package/src/components/JfbBaseTfkSearch/Mock.js +184 -32
  25. package/src/components/JfbBaseTfkSearch/listMixins.js +111 -75
  26. package/src/components/JfbBaseUserInfo/JfbBaseUserInfo.vue +2 -1
  27. package/src/mixins/componentsMixins.js +33 -3
  28. package/src/mixins/posterMixins.js +122 -0
  29. package/src/components/JfbBaseTfkSearch/search.js +0 -293
@@ -15,44 +15,59 @@
15
15
  <!-- #endif -->
16
16
  <view class="jfb-base-tfk-search__body">
17
17
  <view class="x-line"></view>
18
- <view class="menu_wrap" :style="menuWrapBoxStyle">
19
- <view class="menu_list" :style="menuBoxStyle">
20
- <view class="menu_item"
21
- v-for="(item, i) in showMenuList" :key="item.value"
22
- @click="handleSwitchMenu(item)"
23
- >
24
- <view class="menu_inner"
25
- :style="[
26
- menuItemBoxStyle,
27
- item.value === tabId ? menuItemActiveStyle : menuItemStyle,
28
- {
29
- marginRight: i === showMenuList.length - 1 ? '0' : menuItemMargin + 'rpx',
30
- }
31
- ]"
32
- >{{ item.label }}</view>
18
+ <view :class="{hidden: keyword}">
19
+ <xd-search-history ref="searchHistory"
20
+ :saveKey="containerId+'_search_history'"
21
+ :saveLength="10"
22
+ @onClick="handleToSearch"></xd-search-history>
23
+ </view>
24
+ <view v-if="keyword">
25
+ <view class="menu_wrap" :style="menuWrapBoxStyle">
26
+ <view class="menu_list" :style="menuBoxStyle">
27
+ <view class="menu_item"
28
+ v-for="(item, i) in showMenuList" :key="item.value"
29
+ @click="handleSwitchMenu(item)"
30
+ >
31
+ <view class="menu_inner"
32
+ :style="[
33
+ menuItemBoxStyle,
34
+ item.value === tabId ? menuItemActiveStyle : menuItemStyle,
35
+ {
36
+ marginRight: i === showMenuList.length - 1 ? '0' : menuItemMargin + 'rpx',
37
+ }
38
+ ]"
39
+ >{{ item.label }}</view>
40
+ </view>
33
41
  </view>
34
42
  </view>
35
- </view>
36
-
37
- <view class="tfk-search" :style="{padding: outSpacing + 'rpx'}">
38
- <all-list v-if="tabId === 'all'"
39
- @on-parent-vm="handleParentVm"
40
- @on-list="handleList"
41
- ></all-list>
42
- <custom-list
43
- v-else
44
- :tab-id="tabId"
45
- :keyword="keyword"
46
- ref="customList"
47
- @on-parent-vm="handleParentVm"
48
- @on-list="handleList"
49
- ></custom-list>
43
+ <view v-if="!isPreview" :style="{height: menuHeight}"></view>
44
+ <view class="tfk-search" :style="{padding: outSpacing + 'rpx'}">
45
+ <all-list v-if="tabId === 'all'"
46
+ :keyword="keyword"
47
+ :list-item-style="listItemStyle"
48
+ :product-config="productConfig"
49
+ :all-style="allStyle"
50
+ @on-parent-vm="handleParentVm"
51
+ @on-list="handleList"
52
+ @on-switch="handleSwitchMenu"
53
+ ></all-list>
54
+ <custom-list
55
+ :tab-id="tabId"
56
+ :keyword="keyword"
57
+ :list-item-style="listItemStyle"
58
+ :product-config="productConfig"
59
+ ref="customList"
60
+ @on-parent-vm="handleParentVm"
61
+ @on-list="handleList"
62
+ ></custom-list>
63
+ </view>
50
64
  </view>
51
65
  </view>
52
66
  </view>
53
67
  </template>
54
68
 
55
69
  <script>
70
+ import XdSearchHistory from "@/components/XdSearchHistory/XdSearchHistory";
56
71
  import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
57
72
  import { jfbRootExec } from "@/utils/xd.event";
58
73
  import JfbBaseTfkSearchMixin from "./JfbBaseTfkSearchMixin";
@@ -61,15 +76,21 @@
61
76
  import extsMixins from "@/mixins/extsMixins";
62
77
  import listMixins from "./listMixins";
63
78
  import CustomList from "./CustomList.vue";
64
- import search from './search';
65
79
  import AllList from "./AllList.vue";
66
80
 
81
+ class EmitParent {
82
+ constructor(options) {
83
+ this.options = options;
84
+ }
85
+ }
86
+
67
87
  export default {
68
88
  name: "JfbBaseTfkSearch",
69
89
  components: {
70
90
  CustomList,
71
91
  XdFontIcon,
72
- AllList
92
+ AllList,
93
+ XdSearchHistory
73
94
  },
74
95
  mixins: [
75
96
  componentsMixins, extsMixins, JfbBaseTfkSearchMixin,listMixins
@@ -77,12 +98,13 @@
77
98
  data() {
78
99
  return {
79
100
  hideMask: true,
80
- tabId: '1@product@Y@2', //cinema/film/shop/product
81
- keyword: '',
101
+ tabId: 'all', //cinema/film/shop/product
102
+ keyword: '',
82
103
  options:{},
83
104
  menuList: [],
84
105
  //公共样式
85
106
  outSpacing:20,
107
+ isPreview: false,
86
108
 
87
109
  //面板
88
110
  menuMargin: {},
@@ -93,6 +115,21 @@
93
115
  menuBorderWidth: 1,
94
116
  menuItemMargin: 40,
95
117
  searchScope: [],
118
+ allListBgColor: "",
119
+ allModulePadding: {},
120
+ allModuleRadius: 0,
121
+ allModuleTitleBgColor: {},
122
+ allModuleTitlePadding: {},
123
+ allModuleMoreStyle: "",
124
+ allModuleMargin: 20,
125
+ allModuleTitleStyle: "",
126
+ allModuleItemContBorder: {},
127
+ allModuleItemContMargin: 20,
128
+ allModuleItemContShadow: {},
129
+ allModuleItemContPadding: {},
130
+ allModuleItemContRadius: 16,
131
+ allModuleItemContBgColor: "#FFFFFF",
132
+ emitParent:{},
96
133
  }
97
134
  },
98
135
  computed: {
@@ -104,9 +141,13 @@
104
141
  padding = `${padding} ${this.checkValue(this.menuMargin.right, 20)}rpx`;
105
142
  padding = `${padding} ${this.checkValue(this.menuMargin.bottom, 20)}rpx`;
106
143
  padding = `${padding} ${this.checkValue(this.menuMargin.left, 20)}rpx`;
107
- return this.styleObjectToString({
108
- padding: padding,
109
- })
144
+
145
+ let style = {padding};
146
+ if(!this.isPreview){
147
+ style['position'] = 'fixed';
148
+ style['top'] = `${this.layoutInfo.top}rpx`;
149
+ }
150
+ return this.styleObjectToString(style)
110
151
  },
111
152
  menuBoxStyle(){
112
153
  let padding = `${this.checkValue(this.menuPadding.top, 20)}rpx`;
@@ -138,6 +179,13 @@
138
179
 
139
180
  return this.styleObjectToString(styleObj)
140
181
  },
182
+ menuHeight(){
183
+ const { menuItemPadding, menuPadding, menuMargin } = this;
184
+ let height = this.checkValue(menuMargin.top, 20) + this.checkValue(menuMargin.bottom, 20) +
185
+ this.checkValue(menuPadding.top, 20) + this.checkValue(menuPadding.bottom, 20) +
186
+ this.checkValue(menuItemPadding.top, 20) + this.checkValue(menuItemPadding.bottom, 20);
187
+ return (height + 40) + 'rpx';
188
+ },
141
189
  menuItemActiveStyle(){
142
190
  let defaultTextColor = this.mainColor;
143
191
  let styleActiveObj = {
@@ -149,19 +197,42 @@
149
197
  }
150
198
  return this.styleObjectToString(styleActiveObj)
151
199
  },
200
+ allStyle(){
201
+ return {
202
+ allListBgColor: this.allListBgColor,
203
+ allModulePadding: this.allModulePadding,
204
+ allModuleRadius: this.allModuleRadius,
205
+ allModuleTitleBgColor: this.allModuleTitleBgColor,
206
+ allModuleTitlePadding: this.allModuleTitlePadding,
207
+ allModuleMoreStyle: this.allModuleMoreStyle,
208
+ allModuleMargin: this.allModuleMargin,
209
+ allModuleTitleStyle: this.allModuleTitleStyle,
210
+ allModuleItemContBorder: this.allModuleItemContBorder,
211
+ allModuleItemContMargin: this.allModuleItemContMargin,
212
+ allModuleItemContShadow: this.allModuleItemContShadow,
213
+ allModuleItemContPadding: this.allModuleItemContPadding,
214
+ allModuleItemContRadius: this.allModuleItemContRadius,
215
+ allModuleItemContBgColor: this.allModuleItemContBgColor
216
+ }
217
+ }
152
218
  },
153
219
  watch: {
154
220
  container(value, oldValue) {
155
221
  if (JSON.stringify(value) === JSON.stringify(oldValue)) return;
156
222
  if (this.$configProject['isPreview']){
157
- this.cusInit(value)
158
223
  this.init(value);
224
+ this.cusInit(value)
159
225
  }
160
226
  },
161
227
  },
162
228
  created() {
163
- this.cusInit(this.container);
229
+ this.emitParent = new EmitParent({
230
+ getParent: ()=>{
231
+ return this;
232
+ }
233
+ })
164
234
  this.init(this.container);
235
+ this.cusInit(this.container);
165
236
  },
166
237
 
167
238
  methods: {
@@ -171,14 +242,9 @@
171
242
  * @param cb {Function}
172
243
  */
173
244
  handleList({params, cb}){
174
-
175
-
176
245
  let data = {...params};
177
-
178
246
  if(this.tabId === 'all'){
179
- data['search_range'] = this.menuList.map(item => {
180
- return item.value.split('@')[0]
181
- }).join(',');
247
+ data['search_range'] = this.searchScope.map(item => item.value.split("@")[0]).join(',');
182
248
  }
183
249
 
184
250
  jfbRootExec("getTfkSearchList", {
@@ -186,14 +252,22 @@
186
252
  data: data
187
253
  }).then(res => {
188
254
  if(this.tabId === 'all'){
255
+ if(!this.$configProject['isPreview']){
256
+ res = this.filtersResData(res);
257
+ this.menuList = res.tabs;
258
+ }
189
259
  cb(res.list)
190
260
  }else{
191
- let list = null
192
- if(res.list.length > 0){
193
- list = res.list[0];
261
+ if(this.isPreview){
262
+ return cb(res.list.find(item => item.type === this.tabId.split("@")[1]))
194
263
  }
195
- cb(list)
264
+ if(res.list.length > 0) {
265
+ cb(res.list[0])
266
+ }
267
+ else cb(null)
196
268
  }
269
+ }).catch((e)=>{
270
+ cb(null);
197
271
  })
198
272
  },
199
273
 
@@ -214,29 +288,51 @@
214
288
  this.menuBorderWidth = getContainerPropsValue(container, 'content.menuBorderWidth', 1);
215
289
  this.menuItemMargin = getContainerPropsValue(container, 'content.menuItemMargin', 40);
216
290
  this.searchScope = getContainerPropsValue(container, 'content.searchScope', []);
217
- this.menuList = this.searchScope;
291
+ this.allListBgColor = getContainerPropsValue(container, 'content.allListBgColor', '');
292
+ this.allModulePadding = getContainerPropsValue(container, 'content.allModulePadding', {});
293
+ this.allModuleRadius = getContainerPropsValue(container, 'content.allModuleRadius', 0);
294
+ this.allModuleTitleBgColor = getContainerPropsValue(container, 'content.allModuleTitleBgColor', '');
295
+ this.allModuleTitlePadding = getContainerPropsValue(container, 'content.allModuleTitlePadding', {});
296
+ this.allModuleMoreStyle = getContainerPropsValue(container, 'content.allModuleMoreStyle', "");
297
+ this.allModuleMargin = getContainerPropsValue(container, 'content.allModuleMargin', 20);
298
+ this.allModuleTitleStyle = getContainerPropsValue(container, 'content.allModuleTitleStyle', "");
299
+ this.allModuleItemContBorder = getContainerPropsValue(container, 'content.allModuleItemContBorder', {});
300
+ this.allModuleItemContMargin = getContainerPropsValue(container, 'content.allModuleItemContMargin', 20);
301
+ this.allModuleItemContShadow = getContainerPropsValue(container, 'content.allModuleItemContShadow', {});
302
+ this.allModuleItemContPadding = getContainerPropsValue(container, 'content.allModuleItemContPadding', {});
303
+ this.allModuleItemContRadius = getContainerPropsValue(container, 'content.allModuleItemContRadius', 16);
304
+ this.allModuleItemContBgColor = getContainerPropsValue(container, 'content.allModuleItemContBgColor', '#FFFFFF');
305
+
306
+ if(this.$configProject['isPreview']){
307
+ this.menuList = this.searchScope;
308
+ this.keyword = "搜索关键字";
309
+ this.isPreview = true;
310
+ }
218
311
  },
219
312
  handleSwitchMenu(item){
220
313
  this.tabId = item.value;
221
314
  },
315
+ handleToSearch(item){
316
+ this.keyword = item;
317
+ },
222
318
  onJfbScroll(options) {
223
319
  // console.log('event.onJfbScroll', options)
224
320
  },
225
321
 
226
- onJfbShow(options) {
227
- console.log('event.onJfbShow', options)
228
- },
229
- onJfbHide(options) {
230
- console.log('event.onJfbHide', options)
231
- },
232
322
  onJfbBack(options) {
233
- console.log('event.onJfbBack', options)
323
+ this.$xdUniHelper.navigateBack()
234
324
  },
235
- onJfbUpdate(...data) {
236
- console.log('event.onJfbUpdate', data)
237
- },
238
- onJfbCustomEvent(options) {
239
- console.log('event.onJfbReachBottom', options)
325
+
326
+ onJfbCustomEvent({action, data}) {
327
+ if(action === 'baseHeader@search'){
328
+ uni.pageScrollTo({
329
+ scrollTop: 0,
330
+ duration: 0
331
+ });
332
+ this.keyword = data;
333
+ this.tabId = 'all';
334
+ this.$refs.searchHistory.addHistory(data);
335
+ }
240
336
  },
241
337
  }
242
338
  }
@@ -248,8 +344,14 @@
248
344
 
249
345
  .jfb-base-tfk-search {
250
346
  &__body{
347
+ .hidden{
348
+ display: none;
349
+ }
251
350
  .menu_wrap{
252
351
  box-sizing: border-box;
352
+ width: 100%;
353
+ left: 0;
354
+ z-index: 999;
253
355
  }
254
356
  .menu_list{
255
357
  display: flex;
@@ -4,22 +4,23 @@ module.exports = {
4
4
  getTfkSearchList: {
5
5
  list: [
6
6
  {
7
+ tab: "1@product@Y@2",
7
8
  type: "product",
8
9
  name: "蛋糕",
9
10
  detail_redirect_data:
10
- '{"dir":"wtxsaas","host":"sandbox-website-05.jufubao.cn","path":"\\/main\\/order\\/detail","appType":"h5","site_id":"17928cc37788be02","site_url":"https:\\/\\/sandbox-website-05.jufubao.cn\\/wtxsaas\\/main\\/order\\/detail","frontPath":"\\/wtxsaas\\/main\\/order\\/detail","fixed_business_code":""}',
11
+ '{"dir":"market","host":"sandbox-website-05.jufubao.cn","path":"\\/main\\/mall\\/detail","appType":"h5","site_id":"17928cc37788be02","site_url":"https:\\/\\/sandbox-website-05.jufubao.cn\\/market\\/main\\/mall\\/detail","frontPath":"\\/market\\/main\\/mall\\/detail","fixed_business_code":""}',
11
12
  detail1_redirect_data: "",
12
13
  more_redirect_data: "",
13
- sort: 0,
14
+ sort: 3,
14
15
  setting_id: 1,
15
- next_page_token: 'a:2:{i:0;d:1705.0785;i:1;s:8:"60030143";}',
16
+ next_page_token: 'a:2:{i:0;d:704.99896;i:1;s:8:"60030078";}',
16
17
  items: [
17
18
  {
18
19
  brand_id: 100003,
19
20
  brand_name: "品牌jls0519",
20
21
  list_title: "3",
21
22
  market_price: 2000,
22
- market_tags: [],
23
+ market_tags: ['flashsale','hot','new', 'rec'],
23
24
  product_id: 60030143,
24
25
  product_name: "仅快递实物商品(北京廊坊支持配送)",
25
26
  product_type: "good",
@@ -27,40 +28,133 @@ module.exports = {
27
28
  sale_num: 8,
28
29
  sale_price: 3000,
29
30
  status: "ok",
30
- thumb: "/uploads/20231215/b2ce0235129aa592044f96343f25c338.jpeg"
31
+ thumb: "/uploads/20231215/b2ce0235129aa592044f96343f25c338.jpeg",
32
+ },
33
+ {
34
+ brand_id: 30000,
35
+ brand_name: "其他",
36
+ list_title: "清代戏剧文化史论/北京大学明清研究丛书",
37
+ market_price: 2600,
38
+ market_tags: ['flashsale','hot','new', 'rec'],
39
+ product_id: 60029756,
40
+ product_name: "清代戏剧文化史论/北京大学明清研究丛书",
41
+ product_type: "good",
42
+ promo_price: 0,
43
+ sale_num: 0,
44
+ sale_price: 2195,
45
+ status: "ok",
46
+ thumb:
47
+ "https://img1.winxuancdn.com/1305/10251305_9.jpg?1530683968642"
48
+ },
49
+ {
50
+ brand_id: 30000,
51
+ brand_name: "其他",
52
+ list_title: "亚洲的崛起(傅骊元文集)/北京大学经济学院教授文库",
53
+ market_price: 5000,
54
+ market_tags: [],
55
+ product_id: 60030080,
56
+ product_name: "亚洲的崛起(傅骊元文集)/北京大学经济学院教授文库",
57
+ product_type: "good",
58
+ promo_price: 0,
59
+ sale_num: 0,
60
+ sale_price: 4219,
61
+ status: "ok",
62
+ thumb:
63
+ "https://img2.winxuancdn.com/9564/10309564_9.jpg?1530754178039"
64
+ },
65
+ {
66
+ brand_id: 30000,
67
+ brand_name: "其他",
68
+ list_title:
69
+ "保险.社会保障与经济改革(孙祁祥文集)/北京大学经济学院教授文库",
70
+ market_price: 5200,
71
+ market_tags: [],
72
+ product_id: 60030078,
73
+ product_name:
74
+ "保险.社会保障与经济改革(孙祁祥文集)/北京大学经济学院教授文库",
75
+ product_type: "good",
76
+ promo_price: 0,
77
+ sale_num: 0,
78
+ sale_price: 4388,
79
+ status: "ok",
80
+ thumb:
81
+ "https://img3.winxuancdn.com/9416/10309416_9.jpg?1530754178039"
31
82
  }
32
83
  ]
33
84
  },
34
85
  {
86
+ tab: "5@shop@N@1",
35
87
  type: "shop",
36
88
  name: "门店",
37
- detail_redirect_data: "",
38
- detail1_redirect_data: "",
89
+ detail_redirect_data:
90
+ '{"dir":"market","host":"sandbox-website-05.jufubao.cn","path":"\\/main\\/cake\\/storedetail","appType":"h5","site_id":"17928cc37788be02","site_url":"https:\\/\\/sandbox-website-05.jufubao.cn\\/market\\/main\\/cake\\/storedetail","frontPath":"\\/market\\/main\\/cake\\/storedetail","fixed_business_code":""}',
91
+ detail1_redirect_data:
92
+ '{"dir":"market","host":"sandbox-website-05.jufubao.cn","path":"\\/main\\/cashier\\/index","appType":"h5","site_id":"17928cc37788be02","site_url":"https:\\/\\/sandbox-website-05.jufubao.cn\\/market\\/main\\/cashier\\/index","frontPath":"\\/market\\/main\\/cashier\\/index","fixed_business_code":""}',
39
93
  more_redirect_data: "",
40
- sort: 1,
94
+ sort: 4,
41
95
  setting_id: 5,
42
- next_page_token: "a:1:{i:0;d:4.4;}",
96
+ next_page_token: "a:2:{i:0;d:20670.991802209974;i:1;d:0;}",
43
97
  items: [
44
98
  {
45
- brand_id: 0,
46
- brand_name: "",
99
+ brand_id: 20003,
100
+ brand_name: "幸福西饼",
101
+ brand_type: "MA",
102
+ business_status: "1",
103
+ consume_mode: ["STOD", "CODE", "SELL", "SELF"],
104
+ consume_mode_name: "",
105
+ distance: "21km",
106
+ is_support_jhd: true,
107
+ address: "河北廊坊市三河市燕郊镇河北廊坊燕郊润旭",
108
+ province_name: "",
109
+ city_name: "",
110
+ area_name: "",
111
+ street_name: "",
112
+ phone: "18843854566",
113
+ resource_shop_id:
114
+ "eyJyZXNvdXJjZV9zaG9wX2lkIjozMTg1NDY4LCJzaG9wX2lkIjo1MjY0OH0",
115
+ resource_shop_name: "福司令渠道门店",
47
116
  shop_icon:
48
- "https://dimg04.uat.qa.nt.ctripcorp.com/images/1lo4a12000007fyeg8D96.gif",
49
- distance: 4,
50
- business_status: "5",
51
- full_address: "北京北京北京市东城区景山前街4号",
52
- phone: "",
53
- consume_mode: ["TRAVEL"],
117
+ "https://jfbcake.oss-cn-beijing.aliyuncs.com/uploads/20220629/dda58a5983eeae3cfdea8bccc7cea714.jpg",
118
+ shop_id: 52648,
119
+ shop_tags: [],
120
+ stars: 0,
121
+ time_slot_name: "08:00-21:00",
122
+ params: {
123
+ version: 2
124
+ }
125
+ },
126
+ {
127
+ brand_id: 20004,
128
+ brand_name: "幸福西饼",
129
+ brand_type: "MA",
130
+ business_status: "1",
131
+ consume_mode: ["STOD", "CODE", "SELL", "SELF"],
54
132
  consume_mode_name: "",
55
- shop_id: 1052782,
56
- resource_shop_id: 8000302,
57
- resource_shop_name: "故宫-测试1-攻略修改",
58
- shop_tags: {},
59
- stars: 2
133
+ distance: "21km",
134
+ is_support_jhd: false,
135
+ address: "河北廊坊市三河市燕郊镇河北廊坊燕郊润旭",
136
+ province_name: "",
137
+ city_name: "",
138
+ area_name: "",
139
+ street_name: "",
140
+ phone: "18843854566",
141
+ resource_shop_id:
142
+ "eyJyZXNvdXJjZV9zaG9wX2lkIjozMTg1NDY4LCJzaG9wX2lkqewqweH0",
143
+ resource_shop_name: "福司令渠道门店",
144
+ shop_icon:
145
+ "https://jfbcake.oss-cn-beijing.aliyuncs.com/uploads/20220629/dda58a5983eeae3cfdea8bccc7cea714.jpg",
146
+ shop_id: 526428,
147
+ shop_tags: [],
148
+ stars: 0,
149
+ time_slot_name: "08:00-21:00",
150
+ params: {
151
+ version: 2
152
+ }
60
153
  }
61
154
  ]
62
155
  },
63
156
  {
157
+ tab: "10@cinema@Y@1",
64
158
  type: "cinema",
65
159
  name: "影院",
66
160
  detail_redirect_data:
@@ -68,21 +162,79 @@ module.exports = {
68
162
  detail1_redirect_data:
69
163
  '{"dir":"apply06","host":"sandbox-website-05.jufubao.cn","path":"\\/main\\/movie\\/cdetailnew","appType":"h5","site_id":"17928cc37788be02","site_url":"https:\\/\\/sandbox-website-05.jufubao.cn\\/apply06\\/main\\/movie\\/cdetailnew","frontPath":"\\/apply06\\/main\\/movie\\/cdetailnew","fixed_business_code":""}',
70
164
  more_redirect_data: "",
71
- sort: 3,
165
+ sort: 1,
72
166
  setting_id: 10,
73
167
  next_page_token: 1,
74
168
  items: [
75
169
  {
76
- address: "朝阳区安慧里三区10 (北辰购物中心对面)",
77
- brand_id: 0,
78
- brand_name: "",
79
- cinema_id: 6771413,
80
- cinema_name: "北京剧院",
81
- cinema_type: ["SEAT"],
82
- cinema_type_name: ["在线选座"],
83
- distance: "",
170
+ address: "河北省廊坊市三河市燕郊经济技术开发区汉王路34号",
171
+ brand_id: 16,
172
+ brand_name: "万达院线jls",
173
+ cinema_id: 8000121,
174
+ cinema_name: "电影门店jls-20231204(新建)北京",
175
+ cinema_type: ["SELL", "CODE"],
176
+ cinema_type_name: ["线下核销", "电子码"],
177
+ distance: "21.9km",
84
178
  is_open: "Y",
85
- shop_icon: ""
179
+ shop_icon:
180
+ "https://jfbcake.oss-cn-beijing.aliyuncs.com/uploads/20221018/5c1f49a47055a452ac6c5a3efd9d5174.jpg"
181
+ },
182
+ {
183
+ address: "燕高路西侧实验小学南侧",
184
+ brand_id: 16,
185
+ brand_name: "万达院线jls",
186
+ cinema_id: 7,
187
+ cinema_name:
188
+ "聚福宝测试影院聚福宝测试影院聚福宝测试影院聚福宝测试影院",
189
+ cinema_type: ["SEAT", "SELL"],
190
+ cinema_type_name: ["在线选座", "线下核销"],
191
+ distance: "20.8km",
192
+ is_open: "Y",
193
+ shop_icon:
194
+ "https://jfbcake.oss-cn-beijing.aliyuncs.com/uploads/20221018/5c1f49a47055a452ac6c5a3efd9d5174.jpg"
195
+ }
196
+ ]
197
+ },
198
+ {
199
+ tab: "11@film@Y@1",
200
+ type: "film",
201
+ name: "影片",
202
+ detail_redirect_data:
203
+ '{"dir":"market","host":"sandbox-website-05.jufubao.cn","path":"\\/main\\/movie\\/choose","appType":"h5","site_id":"17928cc37788be02","site_url":"https:\\/\\/sandbox-website-05.jufubao.cn\\/market\\/main\\/movie\\/choose","frontPath":"\\/market\\/main\\/movie\\/choose","fixed_business_code":""}',
204
+ detail1_redirect_data:
205
+ '{"dir":"market","host":"sandbox-website-05.jufubao.cn","path":"\\/main\\/movie\\/detail","appType":"h5","site_id":"17928cc37788be02","site_url":"https:\\/\\/sandbox-website-05.jufubao.cn\\/market\\/main\\/movie\\/detail","frontPath":"\\/market\\/main\\/movie\\/detail","fixed_business_code":""}',
206
+ more_redirect_data: "",
207
+ sort: 2,
208
+ setting_id: 11,
209
+ next_page_token: 1,
210
+ items: [
211
+ {
212
+ film_id: 130,
213
+ director: "",
214
+ is_can_buy: false,
215
+ language: "汉语普通话",
216
+ leading_role:
217
+ "费翔,李雪健,黄渤,于适,陈牧驰,娜然,此沙,武亚凡,夏雨,袁泉,王洛勇,侯雯元,黄曦彦,李昀锐,杨玏,陈坤",
218
+ open_time: 1689782400,
219
+ poster:
220
+ "https://gw.alicdn.com/tfscom/i1/O1CN01w8TjZl1xzSq3CothJ_!!6000000006514-0-alipicbeacon.jpg_320x320.jpg",
221
+ remark: "9.1分",
222
+ show_name: "封神第一部",
223
+ type: "剧情,奇幻"
224
+ },
225
+ {
226
+ film_id: 131,
227
+ director: "",
228
+ is_can_buy: false,
229
+ language: "汉语普通话",
230
+ leading_role:
231
+ "费翔,李雪健,黄渤,于适,陈牧驰,娜然,此沙,武亚凡,夏雨,袁泉,王洛勇,侯雯元,黄曦彦,李昀锐,杨玏,陈坤",
232
+ open_time: 1689782400,
233
+ poster:
234
+ "https://gw.alicdn.com/tfscom/i1/O1CN01w8TjZl1xzSq3CothJ_!!6000000006514-0-alipicbeacon.jpg_320x320.jpg",
235
+ remark: "9.1分",
236
+ show_name: "封神第二部",
237
+ type: "剧情,奇幻"
86
238
  }
87
239
  ]
88
240
  }