@tplc/business 0.2.4 → 0.2.6

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 (115) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/components/lcb-calendar-search/lcb-calendar-search.vue +33 -3
  3. package/components/lcb-list/components/FilterList/index.vue +7 -17
  4. package/components/lcb-list/lcb-list.vue +3 -1
  5. package/components/lcb-list/types.ts +1 -0
  6. package/components/lcb-map/lcb-map.vue +203 -0
  7. package/components/lcb-map/types.ts +3 -0
  8. package/components/lcb-vip/lcb-vip.vue +1 -1
  9. package/global.d.ts +1 -0
  10. package/hooks/useAutoHeight.ts +20 -0
  11. package/iconfonts/index.css +23 -3
  12. package/package.json +1 -1
  13. package/types/api/user.d.ts +0 -6
  14. package/types/components/lcb-action-view/lcb-action-view.vue.d.ts +0 -41
  15. package/types/components/lcb-action-view/types.d.ts +0 -33
  16. package/types/components/lcb-advert/lcb-advert.vue.d.ts +0 -28
  17. package/types/components/lcb-advert/types.d.ts +0 -3
  18. package/types/components/lcb-area-picker/api/index.d.ts +0 -48
  19. package/types/components/lcb-area-picker/lcb-area-picker.vue.d.ts +0 -79
  20. package/types/components/lcb-area-picker/types.d.ts +0 -3
  21. package/types/components/lcb-banner/lcb-banner.vue.d.ts +0 -62
  22. package/types/components/lcb-banner/types.d.ts +0 -47
  23. package/types/components/lcb-banner-block/lcb-banner-block.vue.d.ts +0 -56
  24. package/types/components/lcb-banner-block/types.d.ts +0 -18
  25. package/types/components/lcb-block/lcb-block.vue.d.ts +0 -74
  26. package/types/components/lcb-block/types.d.ts +0 -40
  27. package/types/components/lcb-button/lcb-button.vue.d.ts +0 -42
  28. package/types/components/lcb-button/types.d.ts +0 -7
  29. package/types/components/lcb-calendar/api/index.d.ts +0 -16
  30. package/types/components/lcb-calendar/lcb-calendar.vue.d.ts +0 -137
  31. package/types/components/lcb-calendar-search/lcb-calendar-search.vue.d.ts +0 -64
  32. package/types/components/lcb-calendar-search/types.d.ts +0 -4
  33. package/types/components/lcb-city-select/api/index.d.ts +0 -32
  34. package/types/components/lcb-city-select/components/lcb-city-letter/index.vue.d.ts +0 -53
  35. package/types/components/lcb-city-select/components/lcb-city-list/index.vue.d.ts +0 -48
  36. package/types/components/lcb-city-select/components/lcb-city-list/types.d.ts +0 -5
  37. package/types/components/lcb-city-select/lcb-city-select.vue.d.ts +0 -77
  38. package/types/components/lcb-city-select/types.d.ts +0 -5
  39. package/types/components/lcb-dynamic-data/lcb-dynamic-data.vue.d.ts +0 -44
  40. package/types/components/lcb-dynamic-data/types.d.ts +0 -7
  41. package/types/components/lcb-gap/lcb-gap.vue.d.ts +0 -42
  42. package/types/components/lcb-gap/types.d.ts +0 -7
  43. package/types/components/lcb-grid/lcb-grid.vue.d.ts +0 -74
  44. package/types/components/lcb-grid/types.d.ts +0 -16
  45. package/types/components/lcb-home-search/lcb-home-search.vue.d.ts +0 -71
  46. package/types/components/lcb-home-search/types.d.ts +0 -7
  47. package/types/components/lcb-image/Image/index.vue.d.ts +0 -56
  48. package/types/components/lcb-image/lcb-image.vue.d.ts +0 -70
  49. package/types/components/lcb-image/types.d.ts +0 -14
  50. package/types/components/lcb-img-nav/lcb-img-nav.vue.d.ts +0 -99
  51. package/types/components/lcb-img-nav/types.d.ts +0 -46
  52. package/types/components/lcb-list/api.d.ts +0 -60
  53. package/types/components/lcb-list/components/ActionView/index.vue.d.ts +0 -34
  54. package/types/components/lcb-list/components/ComponentGroup/index.vue.d.ts +0 -32
  55. package/types/components/lcb-list/components/ComponentGroup/type.d.ts +0 -5
  56. package/types/components/lcb-list/components/FilterList/index.vue.d.ts +0 -48
  57. package/types/components/lcb-list/components/FilterList/type.d.ts +0 -11
  58. package/types/components/lcb-list/components/FilterSelect/index.vue.d.ts +0 -41
  59. package/types/components/lcb-list/components/FilterSelect/type.d.ts +0 -2
  60. package/types/components/lcb-list/components/FilterSlider/index.vue.d.ts +0 -36
  61. package/types/components/lcb-list/components/FilterSlider/types.d.ts +0 -2
  62. package/types/components/lcb-list/components/FilterTabs/index.vue.d.ts +0 -36
  63. package/types/components/lcb-list/components/FilterTabs/type.d.ts +0 -5
  64. package/types/components/lcb-list/components/FilterView/index.vue.d.ts +0 -36
  65. package/types/components/lcb-list/components/FilterView/type.d.ts +0 -7
  66. package/types/components/lcb-list/components/SelectTagView/index.vue.d.ts +0 -43
  67. package/types/components/lcb-list/components/TagSelect/index.vue.d.ts +0 -39
  68. package/types/components/lcb-list/components/TagSelect/type.d.ts +0 -4
  69. package/types/components/lcb-list/components/TreeSelect/index.vue.d.ts +0 -41
  70. package/types/components/lcb-list/components/TreeSelect/type.d.ts +0 -2
  71. package/types/components/lcb-list/hooks/useSelect.d.ts +0 -25
  72. package/types/components/lcb-list/lcb-list.vue.d.ts +0 -66
  73. package/types/components/lcb-list/types.d.ts +0 -25
  74. package/types/components/lcb-nav/Search/index.vue.d.ts +0 -44
  75. package/types/components/lcb-nav/Title/index.vue.d.ts +0 -28
  76. package/types/components/lcb-nav/lcb-nav.vue.d.ts +0 -92
  77. package/types/components/lcb-nav/types.d.ts +0 -41
  78. package/types/components/lcb-notice/api/index.d.ts +0 -19
  79. package/types/components/lcb-notice/lcb-notice.vue.d.ts +0 -77
  80. package/types/components/lcb-notice/types.d.ts +0 -14
  81. package/types/components/lcb-product/lcb-product.vue.d.ts +0 -67
  82. package/types/components/lcb-product/types.d.ts +0 -10
  83. package/types/components/lcb-product-item/components/ItemValue.vue.d.ts +0 -91
  84. package/types/components/lcb-product-item/lcb-product-item.vue.d.ts +0 -169
  85. package/types/components/lcb-product-item/types.d.ts +0 -65
  86. package/types/components/lcb-rich-text/lcb-rich-text.vue.d.ts +0 -44
  87. package/types/components/lcb-rich-text/types.d.ts +0 -4
  88. package/types/components/lcb-swiper/lcb-swiper.vue.d.ts +0 -118
  89. package/types/components/lcb-tags/Tag/index.vue.d.ts +0 -44
  90. package/types/components/lcb-tags/lcb-tags.vue.d.ts +0 -59
  91. package/types/components/lcb-tags/types.d.ts +0 -13
  92. package/types/components/lcb-text/lcb-text.vue.d.ts +0 -42
  93. package/types/components/lcb-text/types.d.ts +0 -4
  94. package/types/components/lcb-title/lcb-title.vue.d.ts +0 -94
  95. package/types/components/lcb-title/types.d.ts +0 -22
  96. package/types/components/lcb-user-order/lcb-user-order.vue.d.ts +0 -62
  97. package/types/components/lcb-user-order/types.d.ts +0 -27
  98. package/types/components/lcb-user-top/Nums/index.vue.d.ts +0 -32
  99. package/types/components/lcb-user-top/lcb-user-top.vue.d.ts +0 -98
  100. package/types/components/lcb-user-top/types.d.ts +0 -38
  101. package/types/components/lcb-video/lcb-video.vue.d.ts +0 -56
  102. package/types/components/lcb-video/types.d.ts +0 -10
  103. package/types/components/lcb-vip/api/index.d.ts +0 -34
  104. package/types/components/lcb-vip/components/InfoDialog/index.vue.d.ts +0 -38
  105. package/types/components/lcb-vip/lcb-vip.vue.d.ts +0 -68
  106. package/types/components/lcb-vip/types.d.ts +0 -8
  107. package/types/constants.d.ts +0 -5
  108. package/types/hooks/useLocation.api.d.ts +0 -9
  109. package/types/hooks/useLocation.d.ts +0 -7
  110. package/types/hooks/usePageScroll.d.ts +0 -2
  111. package/types/hooks/useUpload.api.d.ts +0 -12
  112. package/types/hooks/useUpload.d.ts +0 -21
  113. package/types/utils/auth.d.ts +0 -2
  114. package/types/utils/transform.d.ts +0 -5
  115. package/types/utils/utils.d.ts +0 -3
package/CHANGELOG.md CHANGED
@@ -2,6 +2,29 @@
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.2.6](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/compare/v0.2.5...v0.2.6) (2024-12-03)
6
+
7
+
8
+ ### ✨ Features | 新功能
9
+
10
+ * version update ([4783224](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/47832248c1dad6d90b7abc95fdecfc091ea5ad71))
11
+ * 更新发布指令 ([308d4e5](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/308d4e57457e38a85478016811984f1075e76dfc))
12
+
13
+ ### [0.2.5](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/compare/v0.2.3...v0.2.5) (2024-12-02)
14
+
15
+
16
+ ### 🚀 Chore | 构建/工程依赖/工具
17
+
18
+ * **release:** 0.2.4 ([10b9b0f](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/10b9b0f905f3f29d13f4ebff43db68baeabc8ec1))
19
+
20
+
21
+ ### ✨ Features | 新功能
22
+
23
+ * 修改icon ([9fc14e0](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/9fc14e02d6a2ac3030ab86d1c5460e40929b51eb))
24
+ * 新增lcb-search params ([f80d853](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/f80d853bfb96c24f09ea16b054ee8e83cc18690e))
25
+ * 新增map ([4e97876](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/4e97876c4f74632bb3b2c7c106a21024d33d57bd))
26
+ * 订单跳转 ([3e89c5c](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/3e89c5c21b20c200e75037422ff3d9453b80225b))
27
+
5
28
  ### [0.2.4](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/compare/v0.2.2...v0.2.4) (2024-11-28)
6
29
 
7
30
 
@@ -26,7 +26,14 @@
26
26
  <view class="text-#999999">{{ placeholder }}</view>
27
27
  </view>
28
28
  </view>
29
- <wd-icon name="search" size="36rpx" color="#333" custom-class="ml-4" />
29
+ <wd-icon
30
+ name="dianwei"
31
+ class-prefix="lcb"
32
+ size="36rpx"
33
+ color="#333"
34
+ custom-class="ml-4"
35
+ @click="toMap"
36
+ />
30
37
  </lcb-block>
31
38
  </template>
32
39
 
@@ -34,9 +41,10 @@
34
41
  import { useTranslate } from '@tplc/wot'
35
42
  import dayjs from 'dayjs/esm'
36
43
  import useLocation from '../../hooks/useLocation'
37
- import { ref } from 'vue'
44
+ import { inject, Ref, ref, watch } from 'vue'
38
45
  import { LcbCalendarSearchProps } from './types'
39
46
  import { ChildHotAddress } from '../lcb-city-select/api'
47
+ import { FORM_KEY } from '../../constants'
40
48
  defineOptions({
41
49
  name: 'LcbCalendarSearch',
42
50
  options: {
@@ -52,11 +60,33 @@ withDefaults(defineProps<LcbCalendarSearchProps>(), {
52
60
  icon: 'search',
53
61
  })
54
62
  const addressCity = ref<ChildHotAddress>()
55
-
63
+ const form = inject<Ref<Record<string, any>>>(FORM_KEY)
56
64
  const dayRange = ref([dayjs().valueOf(), dayjs().add(1, 'day').valueOf()])
57
65
  const { translate } = useTranslate()
58
66
  const { getLocation, userLocation } = useLocation()
67
+ watch(
68
+ () => addressCity.value,
69
+ (val) => {
70
+ form!.value = {
71
+ ...form!.value,
72
+ hotAddressId: val?.hotAddressId,
73
+ }
74
+ },
75
+ )
76
+ watch(
77
+ () => dayRange.value,
78
+ (val) => {
79
+ form!.value = {
80
+ ...form!.value,
81
+ checkInDate: dayjs(val[0]).format('YYYY-MM-DD'),
82
+ checkOutDate: dayjs(val[1]).format('YYYY-MM-DD'),
83
+ }
84
+ },
85
+ )
59
86
  getLocation()
87
+ const toMap = () => {
88
+ uni.$lcb.navigateTo(`/pages/map/index?form=${JSON.stringify(form?.value)}`)
89
+ }
60
90
  </script>
61
91
 
62
92
  <style lang="scss" scoped>
@@ -15,11 +15,12 @@
15
15
  </template>
16
16
 
17
17
  <script setup lang="ts">
18
- import { computed, getCurrentInstance, onMounted, ref, watch, watchEffect } from 'vue'
18
+ import { inject, Ref, ref, watch, watchEffect } from 'vue'
19
19
  import useZPaging from 'z-paging/components/z-paging/js/hooks/useZPaging'
20
- import { LcbFilterListProps } from './type'
20
+ import { FORM_KEY } from '../../../../constants'
21
21
  import { formatJson } from '../../../../utils/utils'
22
- import { getRect, isH5 } from '@tplc/wot/components/common/util'
22
+ import { LcbFilterListProps } from './type'
23
+ import useAutoHeight from '../../../../hooks/useAutoHeight'
23
24
 
24
25
  defineOptions({
25
26
  name: 'FilterList',
@@ -32,8 +33,8 @@ defineOptions({
32
33
  const props = defineProps<LcbFilterListProps>()
33
34
  const dataList = ref<unknown[]>([])
34
35
  const paging = ref()
35
- const viewPageHeight = uni.getSystemInfoSync().windowHeight
36
- const height = ref('')
36
+ const height = useAutoHeight()
37
+ const form = inject<Ref<Record<string, any>>>(FORM_KEY)
37
38
  useZPaging(paging)
38
39
  const modelValue = defineModel<unknown[]>({
39
40
  default: [],
@@ -83,7 +84,7 @@ const queryList = async (page: number, limit: number) => {
83
84
  try {
84
85
  const { data } = await uni.$lcb.http.post(props.url, {
85
86
  ...props.baseParam,
86
- ...props.filter,
87
+ ...form?.value,
87
88
  pageSearch: {
88
89
  limit,
89
90
  page,
@@ -94,17 +95,6 @@ const queryList = async (page: number, limit: number) => {
94
95
  paging.value.complete(false)
95
96
  }
96
97
  }
97
- const { proxy } = getCurrentInstance() as any
98
- const isTabBar = uni.$lcb.getIsTabbar()
99
- onMounted(() => {
100
- getRect(`#pagingTop`, false, proxy).then((res) => {
101
- if (!isTabBar || isH5) {
102
- height.value = `${viewPageHeight - (res.top || 0)}px`
103
- } else {
104
- height.value = `calc(${viewPageHeight - (res.top || 0)}px - var(--window-bottom) - env(safe-area-inset-bottom))`
105
- }
106
- })
107
- })
108
98
  </script>
109
99
  <style lang="scss" scoped>
110
100
  .action-view {
@@ -19,9 +19,10 @@
19
19
  />
20
20
 
21
21
  <FilterList
22
- v-bind="{ ...info.listInfo, listType, filter, ...attrs }"
22
+ v-bind="{ ...info.listInfo, listType, ...attrs }"
23
23
  :autoHeight="!isSticky"
24
24
  v-model="items"
25
+ v-if="mode === 'list'"
25
26
  >
26
27
  <slot name="list" :items="items" v-if="$slots.list" />
27
28
  <template v-else>
@@ -66,6 +67,7 @@ const props = withDefaults(defineProps<LcbListProps>(), {
66
67
  styleMode: 'default',
67
68
  listType: 'list',
68
69
  isSticky: true,
70
+ mode: 'list',
69
71
  // @ts-ignore
70
72
  pageListProps: () => ({
71
73
  productProps: {
@@ -8,6 +8,7 @@ export interface LcbListProps {
8
8
  styleMode?: 'default' | 'plain'
9
9
  listType?: LcbProductProps['listType']
10
10
  isSticky?: boolean
11
+ mode?: 'map' | 'list'
11
12
  }
12
13
  export interface Option {
13
14
  label: string
@@ -0,0 +1,203 @@
1
+ <template>
2
+ <view class="flex-col flex h-full w-full">
3
+ <view class="flex-1 h-0 relative">
4
+ <map
5
+ style="width: 100%; height: 100%"
6
+ :latitude="form.latitude"
7
+ :longitude="form.longitude"
8
+ :markers="info.covers"
9
+ show-location
10
+ show-compass
11
+ show-scale
12
+ @regionchange="onRegionChange"
13
+ @markertap="onMarkerTap"
14
+ />
15
+ <image
16
+ src="../../static/images/2.png"
17
+ class="w-36rpx h-66rpx absolute z-1 left-0 top-0 m-auto bottom-0 right-0"
18
+ />
19
+ <view class="absolute bottom-0 left-0 p-3 w-full box-border" v-if="data?.[current]">
20
+ <view class="card w-full !p-0">
21
+ <lcb-product-item :item="data?.[current]" />
22
+ </view>
23
+ </view>
24
+ </view>
25
+ </view>
26
+ </template>
27
+
28
+ <script lang="ts" setup>
29
+ import { FORM_KEY } from '@tplc/business/constants'
30
+ import { getJsonStrFirstUrl } from 'utils/transform'
31
+ import { reactive, inject, ref } from 'vue'
32
+ import { LcbMapProps } from './types'
33
+ export interface MapMarker {
34
+ id: number
35
+ name?: string
36
+ longitude: number
37
+ latitude: number
38
+ iconPath: string
39
+ width: number
40
+ height: number
41
+ poiId: string
42
+ anchor?: {
43
+ x: number
44
+ y: number
45
+ }
46
+ callout?: {
47
+ content: string
48
+ color: string
49
+ fontSize: number
50
+ borderRadius: number
51
+ bgColor: string
52
+ padding: number
53
+ display: 'ALWAYS' | 'BYCLICK'
54
+ }
55
+ zIndex?: number
56
+ }
57
+ defineOptions({
58
+ name: 'LcbMap',
59
+ options: {
60
+ addGlobalClass: true,
61
+ virtualHost: true,
62
+ styleIsolation: 'shared',
63
+ },
64
+ })
65
+ defineProps<LcbMapProps>()
66
+ const scaleRadius: Record<string, number> = {
67
+ 3: 1_000_000,
68
+ 4: 500_000,
69
+ 5: 200_000,
70
+ 6: 100_000,
71
+ 7: 50_000,
72
+ 8: 25_000,
73
+ 9: 20_000,
74
+ 10: 10_000,
75
+ 11: 5_000,
76
+ 12: 2_000,
77
+ 13: 1_000,
78
+ 14: 500,
79
+ 15: 200,
80
+ 16: 100,
81
+ 17: 50,
82
+ 18: 20,
83
+ 19: 10,
84
+ 20: 5,
85
+ }
86
+ const info = reactive({
87
+ covers: [] as MapMarker[],
88
+ })
89
+ const form = inject<Record<string, any>>(FORM_KEY, {})
90
+ const current = ref(0)
91
+ const data = ref<any[]>([])
92
+ const getData = async () => {
93
+ const { data: list } = await uni.$lcb.http.post<any[]>('/productInfo/map', form.value)
94
+ data.value = list
95
+ getCurrentData(list[0], list.slice(1, list.length))
96
+ }
97
+
98
+ const getLocation = () => {
99
+ uni.getLocation({
100
+ type: 'gcj02',
101
+ success: (res) => {
102
+ form.value.userLongitude = res.longitude
103
+ form.value.userLatitude = res.latitude
104
+ form.value.mapLatitude = res.latitude
105
+ form.value.mapLongitude = res.longitude
106
+ getData()
107
+ },
108
+ fail: () => {
109
+ uni.showToast({
110
+ title: '定位失败',
111
+ icon: 'none',
112
+ })
113
+ },
114
+ })
115
+ }
116
+ getLocation()
117
+ const onRegionChange = (e: {
118
+ type: string
119
+ detail: {
120
+ scale: number
121
+ centerLocation: {
122
+ latitude: number
123
+ longitude: number
124
+ }
125
+ }
126
+ }) => {
127
+ if (e.type === 'end') {
128
+ form.value.scale = e.detail.scale
129
+ form.value.mapLatitude = e.detail.centerLocation.latitude
130
+ form.value.mapLongitude = e.detail.centerLocation.longitude
131
+ form.value.mapViewRadius = scaleRadius[e.detail.scale]
132
+ getData()
133
+ }
134
+ }
135
+ const onMarkerTap = (e: { markerId: number }) => {
136
+ const marker = info.covers.find((item) => item?.id === e.markerId)
137
+ if (marker) {
138
+ const item = data.value?.find((item) => item?.poiId === marker.poiId)
139
+ const firstMarker = info.covers[0]!
140
+ getCurrentData(item, [
141
+ {
142
+ ...firstMarker,
143
+ id: e.markerId,
144
+ iconPath: '../../static/images/4.png',
145
+ width: 26,
146
+ height: 26,
147
+ },
148
+ ...info.covers.filter((item) => ![1, 2, e.markerId].includes(item.id)),
149
+ ])
150
+ }
151
+ }
152
+ const getCurrentData = (item: any, list: MapMarker[]) => {
153
+ uni.downloadFile({
154
+ url:
155
+ getJsonStrFirstUrl(item.coverImg) +
156
+ '?x-oss-process=image/resize,m_fixed,w_64,h_64/circle,r_100/format,png',
157
+ success: (res) => {
158
+ info.covers = [
159
+ {
160
+ id: 1,
161
+ iconPath: '../../static/images/3.png',
162
+ width: 42,
163
+ height: 49,
164
+ anchor: {
165
+ x: 0.5,
166
+ y: 0.78,
167
+ },
168
+ poiId: item.poiId,
169
+ latitude: item.latitude,
170
+ longitude: item.longitude,
171
+ },
172
+ {
173
+ zIndex: 2,
174
+ iconPath: res.tempFilePath,
175
+ width: 34,
176
+ height: 34,
177
+ id: 2,
178
+ poiId: item.poiId,
179
+ latitude: item.latitude,
180
+ longitude: item.longitude,
181
+ },
182
+ ...list.map((item: any, index: number) => ({
183
+ id: index + 3,
184
+ iconPath: '../../static/images/4.png',
185
+ width: 26,
186
+ height: 26,
187
+ poiId: item.poiId,
188
+ latitude: item.latitude,
189
+ longitude: item.longitude,
190
+ })),
191
+ ]
192
+ console.log(item.poiId, data.value)
193
+ current.value = data.value?.findIndex?.(({ poiId }) => item.poiId === poiId) || -1
194
+ },
195
+ })
196
+ }
197
+ </script>
198
+
199
+ <style>
200
+ page {
201
+ background-color: #f7f7f7;
202
+ }
203
+ </style>
@@ -0,0 +1,3 @@
1
+ export interface LcbMapProps {
2
+ // Define the component's prop types here
3
+ }
@@ -23,7 +23,7 @@
23
23
  <wd-icon classPrefix="lcb" name="xiangyou" size="24rpx" />
24
24
  </view>
25
25
  <view
26
- class="absolute text-2.5 w-662rpx leading-8 bottom-2.5 left-2.5 flex items-center gap-0.5 px-2.5 box-border"
26
+ class="absolute text-2.5 w-662rpx leading-8 bottom-3 left-2.5 flex items-center gap-0.5 px-2.5 box-border"
27
27
  @click="navigateTo('/pages-sub/vip/upgrade-guide')"
28
28
  >
29
29
  <view class="flex-1 truncate">
package/global.d.ts CHANGED
@@ -18,6 +18,7 @@ declare module 'vue' {
18
18
  'lcb-image': (typeof import('./types/components/lcb-image/lcb-image.vue'))['default']
19
19
  'lcb-img-nav': (typeof import('./types/components/lcb-img-nav/lcb-img-nav.vue'))['default']
20
20
  'lcb-list': (typeof import('./types/components/lcb-list/lcb-list.vue'))['default']
21
+ 'lcb-map': (typeof import('./types/components/lcb-map/lcb-map.vue'))['default']
21
22
  'lcb-nav': (typeof import('./types/components/lcb-nav/lcb-nav.vue'))['default']
22
23
  'lcb-notice': (typeof import('./types/components/lcb-notice/lcb-notice.vue'))['default']
23
24
  'lcb-product': (typeof import('./types/components/lcb-product/lcb-product.vue'))['default']
@@ -0,0 +1,20 @@
1
+ import { getRect, isH5 } from '@tplc/wot/components/common/util'
2
+ import { getCurrentInstance, onMounted, ref } from 'vue'
3
+
4
+ const useAutoHeight = () => {
5
+ const { proxy } = getCurrentInstance() as any
6
+ const isTabBar = uni.$lcb.getIsTabbar()
7
+ const viewPageHeight = uni.getSystemInfoSync().windowHeight
8
+ const height = ref('')
9
+ onMounted(() => {
10
+ getRect(`#pagingTop`, false, proxy).then((res) => {
11
+ if (!isTabBar || isH5) {
12
+ height.value = `${viewPageHeight - (res.top || 0)}px`
13
+ } else {
14
+ height.value = `calc(${viewPageHeight - (res.top || 0)}px - var(--window-bottom) - env(safe-area-inset-bottom))`
15
+ }
16
+ })
17
+ })
18
+ return height
19
+ }
20
+ export default useAutoHeight
@@ -1,9 +1,9 @@
1
1
  @font-face {
2
2
  font-family: 'lcb'; /* Project id 4710234 */
3
3
  src:
4
- url('//at.alicdn.com/t/c/font_4710234_0mlehmv59ri.woff2?t=1732780214312') format('woff2'),
5
- url('//at.alicdn.com/t/c/font_4710234_0mlehmv59ri.woff?t=1732780214312') format('woff'),
6
- url('//at.alicdn.com/t/c/font_4710234_0mlehmv59ri.ttf?t=1732780214312') format('truetype');
4
+ url('//at.alicdn.com/t/c/font_4710234_c6jvaimqgn5.woff2?t=1733119653266') format('woff2'),
5
+ url('//at.alicdn.com/t/c/font_4710234_c6jvaimqgn5.woff?t=1733119653266') format('woff'),
6
+ url('//at.alicdn.com/t/c/font_4710234_c6jvaimqgn5.ttf?t=1733119653266') format('truetype');
7
7
  }
8
8
 
9
9
  .lcb {
@@ -14,6 +14,26 @@
14
14
  -moz-osx-font-smoothing: grayscale;
15
15
  }
16
16
 
17
+ .lcb-dingwei:before {
18
+ content: '\e66c';
19
+ }
20
+
21
+ .lcb-you:before {
22
+ content: '\e66d';
23
+ }
24
+
25
+ .lcb-youbian:before {
26
+ content: '\e66e';
27
+ }
28
+
29
+ .lcb-zuobian:before {
30
+ content: '\e66f';
31
+ }
32
+
33
+ .lcb-zuo:before {
34
+ content: '\e670';
35
+ }
36
+
17
37
  .lcb-a-:before {
18
38
  content: '\e66b';
19
39
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tplc/business",
3
- "version": "0.2.4",
3
+ "version": "0.2.6",
4
4
  "keywords": [
5
5
  "业务组件"
6
6
  ],
@@ -1,6 +0,0 @@
1
- /** 获取用户手机号 */
2
- export declare const getUserPhone: (data: {
3
- encryptedData: string
4
- iv: string
5
- code?: string
6
- }) => Promise<import('../action').IResData<unknown>>
@@ -1,41 +0,0 @@
1
- import { LcbActionViewProps } from './types'
2
- declare function __VLS_template(): {
3
- default?(_: {}): any
4
- }
5
- declare const __VLS_component: import('vue').DefineComponent<
6
- __VLS_TypePropsToOption<LcbActionViewProps>,
7
- {},
8
- unknown,
9
- {},
10
- {},
11
- import('vue').ComponentOptionsMixin,
12
- import('vue').ComponentOptionsMixin,
13
- any,
14
- string,
15
- import('vue').PublicProps,
16
- any,
17
- {},
18
- {}
19
- >
20
- declare const _default: __VLS_WithTemplateSlots<
21
- typeof __VLS_component,
22
- ReturnType<typeof __VLS_template>
23
- >
24
- export default _default
25
-
26
- type __VLS_WithTemplateSlots<T, S> = T & {
27
- new (): {
28
- $slots: S
29
- }
30
- }
31
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T
32
- type __VLS_TypePropsToOption<T> = {
33
- [K in keyof T]-?: {} extends Pick<T, K>
34
- ? {
35
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>
36
- }
37
- : {
38
- type: import('vue').PropType<T[K]>
39
- required: true
40
- }
41
- }
@@ -1,33 +0,0 @@
1
- export interface LcbActionViewProps {
2
- /**
3
- * 跳转类型 1: 网页 2: 小程序内页 10: 跳转小程序 11: 跳转半屏小程序 12: 小程序客服
4
- * 13: 退出登录 14: 小程序弹框 21: 新窗口跳到页面 22: 切换TAB页 23: 重启进入某页面
5
- * 24: 回到上一层 25: 关闭当前页面 26: 关闭当前窗口 30: 拨打电话 88: 授权手机号 101 用户头像 102 分享 103 意见反馈 104 打开授权设置页
6
- */
7
- jumpType?:
8
- | 1
9
- | 2
10
- | 10
11
- | 11
12
- | 12
13
- | 13
14
- | 14
15
- | 21
16
- | 22
17
- | 23
18
- | 24
19
- | 25
20
- | 26
21
- | 30
22
- | 88
23
- | 101
24
- | 102
25
- | 103
26
- | 104
27
- /** 跳转路径 */
28
- jumpUrl?: string
29
- /** 小程序appid */
30
- jumpAppid?: string
31
- phoneNumber?: string
32
- customClass?: string
33
- }
@@ -1,28 +0,0 @@
1
- import { LcbAdvertProps } from './types'
2
- declare const _default: import('vue').DefineComponent<
3
- __VLS_TypePropsToOption<LcbAdvertProps>,
4
- {},
5
- unknown,
6
- {},
7
- {},
8
- import('vue').ComponentOptionsMixin,
9
- import('vue').ComponentOptionsMixin,
10
- {},
11
- string,
12
- import('vue').PublicProps,
13
- Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToOption<LcbAdvertProps>>>,
14
- {},
15
- {}
16
- >
17
- export default _default
18
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T
19
- type __VLS_TypePropsToOption<T> = {
20
- [K in keyof T]-?: {} extends Pick<T, K>
21
- ? {
22
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>
23
- }
24
- : {
25
- type: import('vue').PropType<T[K]>
26
- required: true
27
- }
28
- }
@@ -1,3 +0,0 @@
1
- export interface LcbAdvertProps {
2
- pageType?: string
3
- }
@@ -1,48 +0,0 @@
1
- export interface ProvinceCityArea {
2
- cityList: CityList[]
3
- provinceId: string
4
- provinceName: string
5
- }
6
- interface CityList {
7
- areaList?: AreaList[]
8
- cityId: string
9
- cityName: string
10
- provinceId: string
11
- }
12
- interface AreaList {
13
- areaId: string
14
- areaName: string
15
- cityId: string
16
- }
17
- export interface AreaOptions {
18
- label: string
19
- value: string
20
- children?: AreaOptions[]
21
- }
22
- export declare const getProvinceCityArea: () => Promise<
23
- {
24
- label: string
25
- value: string
26
- children: {
27
- label: string
28
- value: string
29
- children:
30
- | {
31
- label: string
32
- value: string
33
- }[]
34
- | undefined
35
- }[]
36
- }[]
37
- >
38
- export declare const getProvinceCity: () => Promise<
39
- {
40
- label: string
41
- value: string
42
- children: {
43
- label: string
44
- value: string
45
- }[]
46
- }[]
47
- >
48
- export {}