@tplc/business 0.4.178 → 0.4.180

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,33 @@
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.180](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/compare/v0.4.176...v0.4.180) (2025-08-01)
6
+
7
+
8
+ ### 🚀 Chore | 构建/工程依赖/工具
9
+
10
+ * **release:** 0.4.177 ([92474f4](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/92474f43845c2fb1c6a669b6a7c9ecc5c873c96b))
11
+ * **release:** 0.4.178 ([08a207b](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/08a207b5fd87e6fd6f7745f142015b9efd949f81))
12
+ * **release:** 0.4.179 ([2286e1e](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/2286e1e05ccc696e8f9ce94cb6d68b7be2e7a7e8))
13
+
14
+
15
+ ### ✨ Features | 新功能
16
+
17
+ * action custom path ([75fc5be](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/75fc5be17e8e7822e3fcf4dd15a73827abb7c743))
18
+ * list 支持调整样式 ([37bf166](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/37bf1660d5b2acc33ab794b6b0a4aa3a6e82fbb5))
19
+ * 修改字段 ([c2dcf21](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/c2dcf218378009d27b8489a6f6bd20830613349e))
20
+ * 完成地图配置 ([17ffbc4](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/17ffbc423780ed30c097f695da8ddcb01e3fb828))
21
+ * 支持及定位 ([1f014bd](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/1f014bdcd2ca74fe75fdb3833263fe64a77b6d5b))
22
+ * 新增map ([aef14fd](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/aef14fd48ed636fcef128a52873b87ad6637e59f))
23
+ * 获取地图类型 ([5d5f6dd](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/5d5f6dd3aae6b41bfbb4699b71bec7ff5e380fcf))
24
+
25
+ ### [0.4.179](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/compare/v0.4.178...v0.4.179) (2025-07-31)
26
+
27
+
28
+ ### ✨ Features | 新功能
29
+
30
+ * 完成地图配置 ([17ffbc4](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/17ffbc423780ed30c097f695da8ddcb01e3fb828))
31
+
5
32
  ### [0.4.178](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/compare/v0.4.177...v0.4.178) (2025-07-31)
6
33
 
7
34
 
@@ -43,7 +43,7 @@ export interface LcbListProps extends LcbBlockProps {
43
43
  value: string
44
44
  }[]
45
45
  mapTagMode?: 'single' | 'multiple'
46
- mapConfigParams?: Record<string, any>
46
+ mapConfigParams?: string
47
47
  }
48
48
  export interface Option {
49
49
  label: string
@@ -20,13 +20,7 @@
20
20
  class="w-36rpx h-66rpx absolute left-0 top-0 m-auto bottom-0 right-0"
21
21
  />
22
22
  <!-- 重新定位到当前位置 -->
23
- <view
24
- class="absolute bottom-80 left-3 ox-border w-fit h-fit bg-white shadow-lg px-2 py-1 z-1 rounded-1 box-border text-2.5 text-center text-[var(--wot-color-theme)]"
25
- @click="getCurrentLocation"
26
- >
27
- <wd-icon name="dingwei" class-prefix="lcb" />
28
- <view class="mt-0.5 font-600">定位</view>
29
- </view>
23
+
30
24
  <view class="absolute top-3 right-2 flex flex-col gap-2">
31
25
  <view
32
26
  v-for="item in mapTags"
@@ -38,40 +32,51 @@
38
32
  {{ item.label }}
39
33
  </view>
40
34
  </view>
41
- <view class="absolute bottom-0 left-0 py-3 px-4 box-border w-full h-fit" v-if="list[current]">
42
- <lcb-action-view v-bind="list[current].link">
43
- <lcb-product-item
44
- v-bind="{
45
- ...list[current],
46
- ...attrs,
47
- }"
48
- :layoutType="layoutType"
49
- :coverImgStyle="{
50
- width: layoutType === 'vertical' ? '100%' : transformValueUnit(imageWidth),
51
- height: layoutType === 'vertical' ? transformValueUnit(imageHeight) : undefined,
52
- minHeight: layoutType !== 'vertical' ? transformValueUnit(imageHeight) : undefined,
53
- borderRadius: imageRadius ? transformValueUnit(imageRadius) : undefined,
54
- ...(attrs?.coverImgStyle ?? {}),
55
- }"
56
- :titleLineClamp="titleLineClamp"
35
+ <view class="absolute bottom-0 left-0 w-full h-fit py-3 px-4 box-border">
36
+ <view
37
+ class="box-border w-fit h-fit bg-white shadow-lg px-2 py-1 z-1 rounded-1 box-border text-2.5 text-center text-[var(--wot-color-theme)]"
38
+ @click="getCurrentLocation"
39
+ :class="list[current] ? 'mb-3' : 'mb-12'"
40
+ >
41
+ <wd-icon name="dingwei" class-prefix="lcb" />
42
+ <view class="mt-0.5 font-600">定位</view>
43
+ </view>
44
+ <view class="relative" v-if="list[current]">
45
+ <lcb-action-view v-bind="list[current].link">
46
+ <lcb-product-item
47
+ v-bind="{
48
+ ...list[current],
49
+ ...attrs,
50
+ ...$props,
51
+ }"
52
+ :layoutType="layoutType"
53
+ :coverImgStyle="{
54
+ width: layoutType === 'vertical' ? '100%' : transformValueUnit(imageWidth),
55
+ height: layoutType === 'vertical' ? transformValueUnit(imageHeight) : undefined,
56
+ minHeight: layoutType !== 'vertical' ? transformValueUnit(imageHeight) : undefined,
57
+ borderRadius: imageRadius ? transformValueUnit(imageRadius) : undefined,
58
+ ...(attrs?.coverImgStyle ?? {}),
59
+ }"
60
+ :titleLineClamp="titleLineClamp"
61
+ />
62
+ </lcb-action-view>
63
+ <wd-icon
64
+ class-prefix="lcb"
65
+ size="32"
66
+ name="youbian"
67
+ custom-class="icon right--4"
68
+ @click="onCurrentChange(1)"
69
+ v-if="list[current + 1]"
70
+ />
71
+ <wd-icon
72
+ class-prefix="lcb"
73
+ size="32"
74
+ name="zuobian"
75
+ custom-class="icon left--4"
76
+ @click="onCurrentChange(-1)"
77
+ v-if="list[current - 1]"
57
78
  />
58
- </lcb-action-view>
59
- <wd-icon
60
- class-prefix="lcb"
61
- size="32"
62
- name="youbian"
63
- custom-class="icon right-1"
64
- @click="onCurrentChange(1)"
65
- v-if="list[current + 1]"
66
- />
67
- <wd-icon
68
- class-prefix="lcb"
69
- size="32"
70
- name="zuobian"
71
- custom-class="icon left-1"
72
- @click="onCurrentChange(-1)"
73
- v-if="list[current - 1]"
74
- />
79
+ </view>
75
80
  </view>
76
81
  </view>
77
82
  </view>
@@ -80,13 +85,14 @@
80
85
  <script lang="ts" setup>
81
86
  import { FORM_KEY } from '@tplc/business/constants'
82
87
  import { reactive, inject, ref, useAttrs, watch, onMounted, getCurrentInstance } from 'vue'
83
- import { transformValueUnit } from '../../utils/transform'
88
+ import { getJsonFromStr, transformValueUnit } from '../../utils/transform'
84
89
  import { MapItem, MapMarker } from './types'
85
90
  import useAutoHeight from '../../hooks/useAutoHeight'
86
91
  import { LcbListProps } from '@tplc/business/components/lcb-list/types'
87
92
  import { LcbListInfo } from '@tplc/business/components/lcb-list/api'
88
93
  import { debounce } from '@tplc/wot/components/common/util'
89
94
  import useLocation from '../../hooks/useLocation'
95
+ import { nextTick } from 'process'
90
96
  const { height } = useAutoHeight()
91
97
  defineOptions({
92
98
  name: 'LcbMap',
@@ -145,6 +151,7 @@ const onTagClick = (value: string) => {
145
151
  const getData = debounce(() => {
146
152
  mapContext.value?.getRegion({
147
153
  async success(res) {
154
+ if (!res.southwest) return
148
155
  const { data = [] } = (await uni.$lcb.http.post('/productInfoMap/list', {
149
156
  ...props.baseParam,
150
157
  ...form?.value,
@@ -181,7 +188,7 @@ const getConfig = async () => {
181
188
  }>('/productInfoMap/config', {
182
189
  ...props.baseParam,
183
190
  ...form?.value,
184
- ...props.mapConfigParams,
191
+ ...getJsonFromStr(props.mapConfigParams),
185
192
  })
186
193
  form.value.userLatitude = mapLatitude
187
194
  form.value.userLongitude = mapLongitude
@@ -212,6 +219,7 @@ getLocation()
212
219
  const onRegionChange = (e: {
213
220
  type: string
214
221
  detail: {
222
+ causedBy: string
215
223
  scale: number
216
224
  centerLocation: {
217
225
  latitude: number
@@ -220,8 +228,11 @@ const onRegionChange = (e: {
220
228
  }
221
229
  }) => {
222
230
  if (e.type === 'end') {
223
- form.value.mapLatitude = e.detail.centerLocation.latitude
224
- form.value.mapLongitude = e.detail.centerLocation.longitude
231
+ if (e.detail.causedBy === 'drag') {
232
+ form.value.mapLatitude = e.detail.centerLocation.latitude
233
+ form.value.mapLongitude = e.detail.centerLocation.longitude
234
+ }
235
+
225
236
  mapScale.value = e.detail.scale
226
237
  }
227
238
  }
@@ -286,7 +297,7 @@ onMounted(() => {
286
297
  getData()
287
298
  })
288
299
  </script>
289
- <style lang="scss" scoped>
300
+ <style lang="scss">
290
301
  .icon {
291
302
  position: absolute;
292
303
  top: 0;
@@ -295,6 +306,8 @@ onMounted(() => {
295
306
  margin: auto;
296
307
  color: #666;
297
308
  }
309
+ </style>
310
+ <style lang="scss" scoped>
298
311
  .map-tag {
299
312
  width: 140rpx;
300
313
  text-align: center;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tplc/business",
3
- "version": "0.4.178",
3
+ "version": "0.4.180",
4
4
  "keywords": [
5
5
  "业务组件"
6
6
  ],
@@ -94,7 +94,7 @@ declare const __VLS_component: import('vue').DefineComponent<
94
94
  value: string
95
95
  }[]
96
96
  mapTagMode: 'single' | 'multiple'
97
- mapConfigParams: Record<string, any>
97
+ mapConfigParams: string
98
98
  },
99
99
  {}
100
100
  >
@@ -40,7 +40,7 @@ export interface LcbListProps extends LcbBlockProps {
40
40
  value: string
41
41
  }[]
42
42
  mapTagMode?: 'single' | 'multiple'
43
- mapConfigParams?: Record<string, any>
43
+ mapConfigParams?: string
44
44
  }
45
45
  export interface Option {
46
46
  label: string
@@ -1,6 +1,7 @@
1
1
  export declare const transformValueUnit: (value?: number | string, uni?: string) => string
2
2
  /** 获取json字符串第一个url */
3
3
  export declare const getJsonStrFirstUrl: (jsonStr?: string) => any
4
+ export declare const getJsonFromStr: (jsonStr?: string) => any
4
5
  /** 获取json字符串列表 */
5
6
  export declare const getJsonStrList: (jsonStr?: string) => any
6
7
  /** 删除其他外部字段 */
@@ -8,6 +8,14 @@ export const getJsonStrFirstUrl = (jsonStr = '[]') => {
8
8
  return json[0]
9
9
  }
10
10
 
11
+ export const getJsonFromStr = (jsonStr = '{}') => {
12
+ try {
13
+ return JSON.parse(jsonStr)
14
+ } catch (error) {
15
+ return {}
16
+ }
17
+ }
18
+
11
19
  /** 获取json字符串列表 */
12
20
  export const getJsonStrList = (jsonStr = '[]') => {
13
21
  return JSON.parse(jsonStr)