@tplc/business 0.4.106 → 0.4.108

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/CHANGELOG.md CHANGED
@@ -2,6 +2,21 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [0.4.108](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/compare/v0.4.107...v0.4.108) (2025-05-10)
6
+
7
+
8
+ ### ✨ Features | 新功能
9
+
10
+ * 对比修改 ([2decf5d](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/2decf5d485bd6d9c197d1d9fd2566bbcb29d9ffb))
11
+ * 暂时提交骨架屏 ([4314836](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/43148361462a43b75f4f80806b6021d979b398d5))
12
+
13
+
14
+ ### 🐛 Bug Fixes | Bug 修复
15
+
16
+ * nav 判断 ([6fd5aa6](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/6fd5aa6e27722e1a17ebd637cf4b1c29d0599eab))
17
+
18
+ ### [0.4.107](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/compare/v0.4.106...v0.4.107) (2025-05-09)
19
+
5
20
  ### [0.4.106](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/compare/v0.4.105...v0.4.106) (2025-05-09)
6
21
 
7
22
  ### [0.4.105](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/compare/v0.4.104...v0.4.105) (2025-05-09)
@@ -69,6 +69,7 @@ import { setHistoryCity } from '../../utils/history'
69
69
  import { cleanOutSizeKeys } from '../../utils/transform'
70
70
  import { getCurrentPage } from '../../utils/utils'
71
71
  import { FORM_KEY } from '../../constants'
72
+ import isEqual from 'lodash-es/isEqual'
72
73
  defineOptions({
73
74
  name: 'LcbCitySelect',
74
75
  options: {
@@ -192,7 +193,7 @@ watch(
192
193
  )
193
194
 
194
195
  const onSelectChange = (val: ChildHotAddress) => {
195
- if (JSON.stringify(val) !== JSON.stringify(modelValue.value)) {
196
+ if (!isEqual(val, modelValue.value)) {
196
197
  modelValue.value = {
197
198
  addressName: val.addressName,
198
199
  cityId: val.cityId,
@@ -218,7 +218,7 @@ const paddingTop = computed(() => {
218
218
  })
219
219
 
220
220
  const canBack = computed(() => {
221
- return props.back || !isLastPage()
221
+ return props.back && !isLastPage()
222
222
  })
223
223
 
224
224
  const capsuleList = computed(() => {
@@ -1,12 +1,13 @@
1
1
  <script setup lang="ts">
2
2
  import { isH5 } from '@tplc/wot/components/common/util'
3
3
  import UWaterfall from 'uview-plus/components/u-waterfall/u-waterfall.vue'
4
- import { ref, useAttrs, watch, watchEffect } from 'vue'
4
+ import { computed, ref, useAttrs, watch, watchEffect } from 'vue'
5
5
  import useSyncForm from '../../hooks/useSyncForm'
6
6
  import { transformValueUnit } from '../../utils/transform'
7
7
  import { calculateImageHeight } from '../../utils/utils'
8
8
  import UnconditionedLayout from '../lcb-list/components/UnconditionedLayout/index.vue'
9
9
  import { LcbProductProps } from './types'
10
+ import isEqual from 'lodash-es/isEqual'
10
11
 
11
12
  const uWaterfallRef = ref()
12
13
  defineOptions({
@@ -31,6 +32,7 @@ const props = withDefaults(defineProps<LcbProductProps>(), {
31
32
  gap: 16,
32
33
  })
33
34
  const { form } = useSyncForm(props.dynamicScope)
35
+ const loading = ref(false)
34
36
  const renderList = ref<Record<string, any>[]>([])
35
37
  const screenWidth = isH5 ? window.innerWidth : uni.getWindowInfo().screenWidth
36
38
  watchEffect(() => {
@@ -42,39 +44,48 @@ defineSlots<{
42
44
  }>()
43
45
  const getData = async () => {
44
46
  /** 如果是list里面嵌套就不处理 */
45
- if (props.filterList) return
46
- if (props.listType === 'waterfall') {
47
- renderList.value = []
48
- uWaterfallRef.value?.clear?.()
47
+ if (props.filterList) {
48
+ loading.value = false
49
+ return
49
50
  }
50
- let requestParams = {}
51
+ loading.value = true
51
52
  try {
52
- requestParams = JSON.parse(props.requestParams ?? '{}')
53
+ if (props.listType === 'waterfall') {
54
+ renderList.value = []
55
+ uWaterfallRef.value?.clear?.()
56
+ }
57
+ let requestParams = {}
58
+ try {
59
+ requestParams = JSON.parse(props.requestParams ?? '{}')
60
+ } catch (error) {
61
+ console.error(error)
62
+ }
63
+ /** 如果是列表模式 */
64
+ if (props.items?.length && props.sourceMode === 1) {
65
+ const { data } = await uni.$lcb.http.post('/productInfo/filteredPage', {
66
+ productIdList: props.items.map((item) => item.productId),
67
+ productType: props.items[0].productType,
68
+ listType: props.listType,
69
+ sortType: props.sortType,
70
+ ...requestParams,
71
+ })
72
+ renderList.value = data as Record<string, any>[]
73
+ /** 如果是请求模式 */
74
+ } else if (props.requestUrl && props.sourceMode === 2) {
75
+ const { data } = await uni.$lcb.http.post(props.requestUrl, {
76
+ listType: props.listType,
77
+ ...requestParams,
78
+ ...form.value,
79
+ })
80
+ renderList.value = data as Record<string, any>[]
81
+ } else {
82
+ renderList.value = []
83
+ uWaterfallRef.value?.clear?.()
84
+ }
53
85
  } catch (error) {
54
86
  console.error(error)
55
87
  }
56
- /** 如果是列表模式 */
57
- if (props.items?.length && props.sourceMode === 1) {
58
- const { data } = await uni.$lcb.http.post('/productInfo/filteredPage', {
59
- productIdList: props.items.map((item) => item.productId),
60
- productType: props.items[0].productType,
61
- listType: props.listType,
62
- sortType: props.sortType,
63
- ...requestParams,
64
- })
65
- renderList.value = data as Record<string, any>[]
66
- /** 如果是请求模式 */
67
- } else if (props.requestUrl && props.sourceMode === 2) {
68
- const { data } = await uni.$lcb.http.post(props.requestUrl, {
69
- listType: props.listType,
70
- ...requestParams,
71
- ...form.value,
72
- })
73
- renderList.value = data as Record<string, any>[]
74
- } else {
75
- renderList.value = []
76
- uWaterfallRef.value?.clear?.()
77
- }
88
+ loading.value = false
78
89
  }
79
90
  watch(
80
91
  () => form!.value,
@@ -84,7 +95,7 @@ watch(
84
95
  uWaterfallRef.value?.clear?.()
85
96
  }
86
97
  /** 如果是请求模式 */
87
- if (props.sourceMode === 2 && JSON.stringify(oldValue) !== JSON.stringify(newValue)) {
98
+ if (props.sourceMode === 2 && !isEqual(oldValue, newValue)) {
88
99
  getData()
89
100
  }
90
101
  },
@@ -137,122 +148,59 @@ defineExpose({
137
148
  }
138
149
  },
139
150
  })
151
+ const blockProps = computed(() => {
152
+ const {
153
+ paddingHorizontal,
154
+ paddingVertical,
155
+ paddingLeft,
156
+ paddingRight,
157
+ paddingTop,
158
+ paddingBottom,
159
+ marginHorizontal,
160
+ ...reset
161
+ } = props
162
+ return [
163
+ {
164
+ paddingHorizontal,
165
+ paddingVertical,
166
+ paddingLeft,
167
+ paddingRight,
168
+ paddingTop,
169
+ paddingBottom,
170
+ marginHorizontal,
171
+ },
172
+ reset,
173
+ ]
174
+ })
140
175
  </script>
141
176
 
142
177
  <template>
143
- <lcb-block
144
- v-bind="{
145
- ...$props,
146
- shadowColor: blockShadowColor,
147
- shadowSize: blockShadowSize,
148
- blurSize: blockBlurSize,
149
- }"
150
- :custom-class="`${listType == 'horizontal' ? '!gap-0 h-fit overflow-x-auto whitespace-nowrap flex items-stretch w-full' : ''}`"
151
- >
152
- <!-- 单列 -->
153
- <view
154
- class="flex flex-col"
155
- v-if="listType === 'list'"
156
- :style="{
157
- width: itemWidth ? `${itemWidth}rpx` : '100%',
158
- gap: gap ? `${gap}rpx` : undefined,
159
- }"
160
- >
161
- <block v-for="(item, index) in renderList" :key="`${item?.productId}:${index}`">
162
- <UnconditionedLayout
163
- v-if="item.productType === 'noProductOption'"
164
- v-bind="{ ...item, ...$props, ...attrs }"
165
- />
166
- <lcb-action-view v-bind="item.link" render-mode="view" v-else>
167
- <slot name="item" :item="item">
168
- <lcb-absolute-config-layout
169
- v-if="renderItemAbsoluteConfigLayout"
170
- :blocks="renderItemAbsoluteConfigLayout?.blocks"
171
- :canvas="renderItemAbsoluteConfigLayout?.canvas"
172
- :dataset="{
173
- ...(renderItemAbsoluteConfigLayout?.dataset ?? {}),
174
- ...item,
175
- }"
176
- />
177
- <lcb-product-item
178
- v-else
179
- v-bind="{ ...item, ...$props, ...attrs }"
180
- :layoutType="layoutType"
181
- :coverImgStyle="{
182
- width: layoutType === 'vertical' ? '100%' : transformValueUnit(imageWidth),
183
- height: layoutType === 'vertical' ? transformValueUnit(imageHeight) : undefined,
184
- minHeight: layoutType !== 'vertical' ? transformValueUnit(imageHeight) : undefined,
185
- borderRadius: imageRadius ? transformValueUnit(imageRadius) : undefined,
186
- ...($props?.coverImgStyle ?? {}),
187
- }"
188
- ></lcb-product-item>
189
- </slot>
190
- </lcb-action-view>
191
- </block>
192
- </view>
193
- <!-- 双列 -->
194
- <view
195
- class="grid grid-cols-2 box-border"
196
- v-else-if="listType === 'grid'"
197
- :style="{
198
- width: itemWidth ? `${itemWidth}rpx` : '100%',
199
- gap: gap ? `${gap}rpx` : undefined,
200
- }"
201
- >
202
- <lcb-action-view
203
- v-for="(item, index) in renderList"
204
- :key="`${item?.productId}:${index}`"
205
- v-bind="item.link"
206
- render-mode="view"
207
- custom-class="h-full rounded-md overflow-hidden"
178
+ <lcb-block v-bind="loading ? blockProps[0] : {}">
179
+ <wd-skeleton animation="gradient" theme="paragraph" :loading="loading">
180
+ <lcb-block
181
+ v-bind="{
182
+ ...$props,
183
+ shadowColor: blockShadowColor,
184
+ shadowSize: blockShadowSize,
185
+ blurSize: blockBlurSize,
186
+ }"
187
+ :custom-class="`${listType == 'horizontal' ? '!gap-0 h-fit overflow-x-auto whitespace-nowrap flex items-stretch w-full' : ''}`"
208
188
  >
209
- <slot name="item" :item="item">
210
- <lcb-absolute-config-layout
211
- v-if="renderItemAbsoluteConfigLayout"
212
- :blocks="renderItemAbsoluteConfigLayout?.blocks"
213
- :canvas="renderItemAbsoluteConfigLayout?.canvas"
214
- :dataset="{
215
- ...(renderItemAbsoluteConfigLayout?.dataset ?? {}),
216
- ...item,
217
- }"
218
- />
219
- <lcb-product-item
220
- v-else
221
- v-bind="{ ...item, ...$props, ...attrs }"
222
- layoutType="vertical"
223
- className="h-full"
224
- :coverImgStyle="{
225
- width: '100%',
226
- height: transformValueUnit(imageHeight),
227
- borderRadius: imageRadius ? transformValueUnit(imageRadius) : undefined,
228
- ...(attrs?.coverImgStyle ?? {}),
229
- }"
230
- ></lcb-product-item>
231
- </slot>
232
- </lcb-action-view>
233
- </view>
234
-
235
- <view
236
- class="lcb-product-waterfall !py-1"
237
- v-else-if="listType === 'waterfall'"
238
- :style="{
239
- width: itemWidth ? `${itemWidth}rpx` : '100%',
240
- }"
241
- >
242
- <u-waterfall :addTime="0" :modelValue="renderList" ref="uWaterfallRef" custom-class="!gap-20">
243
- <template #left="{ leftList: list }">
244
- <view
245
- class="flex flex-col gap-3"
246
- :style="{
247
- marginRight: `${gap / 2}rpx`,
248
- }"
249
- >
250
- <lcb-action-view
251
- v-for="(item, index) in list"
252
- :key="`${item?.productId}:${index}`"
253
- v-bind="item.link"
254
- render-mode="view"
255
- >
189
+ <!-- 单列 -->
190
+ <view
191
+ class="flex flex-col"
192
+ v-if="listType === 'list'"
193
+ :style="{
194
+ width: itemWidth ? `${itemWidth}rpx` : '100%',
195
+ gap: gap ? `${gap}rpx` : undefined,
196
+ }"
197
+ >
198
+ <block v-for="(item, index) in renderList" :key="`${item?.productId}:${index}`">
199
+ <UnconditionedLayout
200
+ v-if="item.productType === 'noProductOption'"
201
+ v-bind="{ ...item, ...$props, ...attrs }"
202
+ />
203
+ <lcb-action-view v-bind="item.link" render-mode="view" v-else>
256
204
  <slot name="item" :item="item">
257
205
  <lcb-absolute-config-layout
258
206
  v-if="renderItemAbsoluteConfigLayout"
@@ -263,44 +211,192 @@ defineExpose({
263
211
  ...item,
264
212
  }"
265
213
  />
266
-
267
214
  <lcb-product-item
268
- v-bind="{ ...item, ...$props, ...attrs }"
269
- layoutType="vertical"
270
215
  v-else
271
- >
272
- <template #coverImg="{ value }">
273
- <wd-img
274
- :src="value"
275
- width="100%"
276
- mode="aspectFill"
277
- :lazyPlaceWidth="columnWidth"
278
- :height="
279
- calculateImageHeight(
280
- screenWidth,
281
- item.coverImgProps?.[0]?.height,
282
- item.coverImgProps?.[0]?.width,
283
- )
284
- "
285
- />
286
- </template>
287
- </lcb-product-item>
216
+ v-bind="{ ...item, ...$props, ...attrs }"
217
+ :layoutType="layoutType"
218
+ :coverImgStyle="{
219
+ width: layoutType === 'vertical' ? '100%' : transformValueUnit(imageWidth),
220
+ height: layoutType === 'vertical' ? transformValueUnit(imageHeight) : undefined,
221
+ minHeight:
222
+ layoutType !== 'vertical' ? transformValueUnit(imageHeight) : undefined,
223
+ borderRadius: imageRadius ? transformValueUnit(imageRadius) : undefined,
224
+ ...($props?.coverImgStyle ?? {}),
225
+ }"
226
+ ></lcb-product-item>
288
227
  </slot>
289
228
  </lcb-action-view>
290
- </view>
291
- </template>
292
- <template #right="{ rightList: list }">
293
- <view
294
- class="flex flex-col gap-3"
295
- :style="{
296
- marginLeft: `${gap / 2}rpx`,
297
- }"
229
+ </block>
230
+ </view>
231
+ <!-- 双列 -->
232
+ <view
233
+ class="grid grid-cols-2 box-border"
234
+ v-else-if="listType === 'grid'"
235
+ :style="{
236
+ width: itemWidth ? `${itemWidth}rpx` : '100%',
237
+ gap: gap ? `${gap}rpx` : undefined,
238
+ }"
239
+ >
240
+ <lcb-action-view
241
+ v-for="(item, index) in renderList"
242
+ :key="`${item?.productId}:${index}`"
243
+ v-bind="item.link"
244
+ render-mode="view"
245
+ custom-class="h-full rounded-md overflow-hidden"
246
+ >
247
+ <slot name="item" :item="item">
248
+ <lcb-absolute-config-layout
249
+ v-if="renderItemAbsoluteConfigLayout"
250
+ :blocks="renderItemAbsoluteConfigLayout?.blocks"
251
+ :canvas="renderItemAbsoluteConfigLayout?.canvas"
252
+ :dataset="{
253
+ ...(renderItemAbsoluteConfigLayout?.dataset ?? {}),
254
+ ...item,
255
+ }"
256
+ />
257
+ <lcb-product-item
258
+ v-else
259
+ v-bind="{ ...item, ...$props, ...attrs }"
260
+ layoutType="vertical"
261
+ className="h-full"
262
+ :coverImgStyle="{
263
+ width: '100%',
264
+ height: transformValueUnit(imageHeight),
265
+ borderRadius: imageRadius ? transformValueUnit(imageRadius) : undefined,
266
+ ...(attrs?.coverImgStyle ?? {}),
267
+ }"
268
+ ></lcb-product-item>
269
+ </slot>
270
+ </lcb-action-view>
271
+ </view>
272
+
273
+ <view
274
+ class="lcb-product-waterfall !py-1"
275
+ v-else-if="listType === 'waterfall'"
276
+ :style="{
277
+ width: itemWidth ? `${itemWidth}rpx` : '100%',
278
+ }"
279
+ >
280
+ <u-waterfall
281
+ :addTime="0"
282
+ :modelValue="renderList"
283
+ ref="uWaterfallRef"
284
+ custom-class="!gap-20"
285
+ >
286
+ <template #left="{ leftList: list }">
287
+ <view
288
+ class="flex flex-col gap-3"
289
+ :style="{
290
+ marginRight: `${gap / 2}rpx`,
291
+ }"
292
+ >
293
+ <lcb-action-view
294
+ v-for="(item, index) in list"
295
+ :key="`${item?.productId}:${index}`"
296
+ v-bind="item.link"
297
+ render-mode="view"
298
+ >
299
+ <slot name="item" :item="item">
300
+ <lcb-absolute-config-layout
301
+ v-if="renderItemAbsoluteConfigLayout"
302
+ :blocks="renderItemAbsoluteConfigLayout?.blocks"
303
+ :canvas="renderItemAbsoluteConfigLayout?.canvas"
304
+ :dataset="{
305
+ ...(renderItemAbsoluteConfigLayout?.dataset ?? {}),
306
+ ...item,
307
+ }"
308
+ />
309
+
310
+ <lcb-product-item
311
+ v-bind="{ ...item, ...$props, ...attrs }"
312
+ layoutType="vertical"
313
+ v-else
314
+ >
315
+ <template #coverImg="{ value }">
316
+ <wd-img
317
+ :src="value"
318
+ width="100%"
319
+ mode="aspectFill"
320
+ :lazyPlaceWidth="columnWidth"
321
+ :height="
322
+ calculateImageHeight(
323
+ screenWidth,
324
+ item.coverImgProps?.[0]?.height,
325
+ item.coverImgProps?.[0]?.width,
326
+ )
327
+ "
328
+ />
329
+ </template>
330
+ </lcb-product-item>
331
+ </slot>
332
+ </lcb-action-view>
333
+ </view>
334
+ </template>
335
+ <template #right="{ rightList: list }">
336
+ <view
337
+ class="flex flex-col gap-3"
338
+ :style="{
339
+ marginLeft: `${gap / 2}rpx`,
340
+ }"
341
+ >
342
+ <lcb-action-view
343
+ v-for="(item, index) in list"
344
+ :key="`${item?.productId}:${index}`"
345
+ v-bind="item.link"
346
+ render-mode="view"
347
+ >
348
+ <slot name="item" :item="item">
349
+ <lcb-absolute-config-layout
350
+ v-if="renderItemAbsoluteConfigLayout"
351
+ :blocks="renderItemAbsoluteConfigLayout?.blocks"
352
+ :canvas="renderItemAbsoluteConfigLayout?.canvas"
353
+ :dataset="{
354
+ ...(renderItemAbsoluteConfigLayout?.dataset ?? {}),
355
+ ...item,
356
+ }"
357
+ />
358
+ <lcb-product-item
359
+ v-else
360
+ v-bind="{ ...item, ...$props, ...attrs }"
361
+ layoutType="vertical"
362
+ >
363
+ <template #coverImg="{ value }">
364
+ <wd-img
365
+ :src="value"
366
+ width="100%"
367
+ :lazyPlaceWidth="columnWidth"
368
+ mode="aspectFill"
369
+ :height="
370
+ calculateImageHeight(
371
+ screenWidth,
372
+ item.coverImgProps?.[0]?.height,
373
+ item.coverImgProps?.[0]?.width,
374
+ )
375
+ "
376
+ />
377
+ </template>
378
+ </lcb-product-item>
379
+ </slot>
380
+ </lcb-action-view>
381
+ </view>
382
+ </template>
383
+ </u-waterfall>
384
+ </view>
385
+ <!-- 单列滚动 -->
386
+ <template v-else-if="listType == 'horizontal'">
387
+ <lcb-action-view
388
+ v-for="(item, index) in renderList"
389
+ :key="`${item?.productId}:${index}`"
390
+ custom-class="flex-shrink-0 w-fit !h-auto"
391
+ v-bind="item.link"
392
+ render-mode="view"
298
393
  >
299
- <lcb-action-view
300
- v-for="(item, index) in list"
301
- :key="`${item?.productId}:${index}`"
302
- v-bind="item.link"
303
- render-mode="view"
394
+ <view
395
+ :style="{
396
+ width: `${itemWidth}rpx`,
397
+ marginLeft: index === 0 ? 0 : `${gap}rpx`,
398
+ }"
399
+ class="h-full"
304
400
  >
305
401
  <slot name="item" :item="item">
306
402
  <lcb-absolute-config-layout
@@ -314,73 +410,23 @@ defineExpose({
314
410
  />
315
411
  <lcb-product-item
316
412
  v-else
413
+ className="h-full"
317
414
  v-bind="{ ...item, ...$props, ...attrs }"
318
- layoutType="vertical"
319
- >
320
- <template #coverImg="{ value }">
321
- <wd-img
322
- :src="value"
323
- width="100%"
324
- :lazyPlaceWidth="columnWidth"
325
- mode="aspectFill"
326
- :height="
327
- calculateImageHeight(
328
- screenWidth,
329
- item.coverImgProps?.[0]?.height,
330
- item.coverImgProps?.[0]?.width,
331
- )
332
- "
333
- />
334
- </template>
335
- </lcb-product-item>
415
+ :coverImgStyle="{
416
+ width: layoutType === 'vertical' ? '100%' : transformValueUnit(imageWidth),
417
+ height: layoutType === 'vertical' ? transformValueUnit(imageHeight) : undefined,
418
+ minHeight:
419
+ layoutType !== 'vertical' ? transformValueUnit(imageHeight) : undefined,
420
+ borderRadius: imageRadius ? transformValueUnit(imageRadius) : undefined,
421
+ ...(attrs?.coverImgStyle ?? {}),
422
+ }"
423
+ ></lcb-product-item>
336
424
  </slot>
337
- </lcb-action-view>
338
- </view>
425
+ </view>
426
+ </lcb-action-view>
339
427
  </template>
340
- </u-waterfall>
341
- </view>
342
- <!-- 单列滚动 -->
343
- <template v-else-if="listType == 'horizontal'">
344
- <lcb-action-view
345
- v-for="(item, index) in renderList"
346
- :key="`${item?.productId}:${index}`"
347
- custom-class="flex-shrink-0 w-fit !h-auto"
348
- v-bind="item.link"
349
- render-mode="view"
350
- >
351
- <view
352
- :style="{
353
- width: `${itemWidth}rpx`,
354
- marginLeft: index === 0 ? 0 : `${gap}rpx`,
355
- }"
356
- class="h-full"
357
- >
358
- <slot name="item" :item="item">
359
- <lcb-absolute-config-layout
360
- v-if="renderItemAbsoluteConfigLayout"
361
- :blocks="renderItemAbsoluteConfigLayout?.blocks"
362
- :canvas="renderItemAbsoluteConfigLayout?.canvas"
363
- :dataset="{
364
- ...(renderItemAbsoluteConfigLayout?.dataset ?? {}),
365
- ...item,
366
- }"
367
- />
368
- <lcb-product-item
369
- v-else
370
- className="h-full"
371
- v-bind="{ ...item, ...$props, ...attrs }"
372
- :coverImgStyle="{
373
- width: layoutType === 'vertical' ? '100%' : transformValueUnit(imageWidth),
374
- height: layoutType === 'vertical' ? transformValueUnit(imageHeight) : undefined,
375
- minHeight: layoutType !== 'vertical' ? transformValueUnit(imageHeight) : undefined,
376
- borderRadius: imageRadius ? transformValueUnit(imageRadius) : undefined,
377
- ...(attrs?.coverImgStyle ?? {}),
378
- }"
379
- ></lcb-product-item>
380
- </slot>
381
- </view>
382
- </lcb-action-view>
383
- </template>
428
+ </lcb-block>
429
+ </wd-skeleton>
384
430
  </lcb-block>
385
431
  </template>
386
432
 
@@ -49,7 +49,6 @@ const useLocation = (onLocation?: (location: UserLocation) => void) => {
49
49
 
50
50
  const getLocation = async (force = false) => {
51
51
  // 如果不是force并且当前位置有值,则不刷新
52
- console.log('currentLocation.value', currentLocation.value, force)
53
52
  if (!force && currentLocation.value) return
54
53
  if ((await checkLocationPermission()) !== false) {
55
54
  locationIng.value = true
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tplc/business",
3
- "version": "0.4.106",
3
+ "version": "0.4.108",
4
4
  "keywords": [
5
5
  "业务组件"
6
6
  ],