@tplc/business 0.0.12 → 0.0.14
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/action.d.ts +6 -0
- package/components/lcb-banner/types.ts +1 -1
- package/components/lcb-banner-block/lcb-banner-block.vue +1 -1
- package/components/lcb-banner-block/types.ts +1 -1
- package/components/lcb-block/lcb-block.vue +18 -1
- package/components/lcb-block/types.ts +5 -0
- package/components/lcb-grid/lcb-grid.vue +1 -1
- package/components/lcb-grid/types.ts +1 -1
- package/components/lcb-home-search/lcb-home-search.vue +10 -0
- package/components/lcb-img-nav/types.ts +1 -1
- package/components/lcb-nav/lcb-nav.vue +23 -15
- package/components/lcb-swiper/lcb-swiper.vue +1 -1
- package/components/lcb-title/lcb-title.vue +1 -1
- package/components/lcb-user-order/lcb-user-order.vue +90 -0
- package/components/lcb-user-order/types.ts +59 -0
- package/components/lcb-user-top/lcb-user-top.vue +100 -0
- package/components/lcb-user-top/types.ts +69 -0
- package/global.d.ts +7 -11
- package/hooks/useTranslate.ts +13 -0
- package/iconfonts/index.css +156 -0
- package/index.ts +30 -0
- package/package.json +6 -3
- package/types/components/lcb-banner/types.d.ts +1 -1
- package/types/components/lcb-banner-block/types.d.ts +1 -1
- package/types/components/lcb-block/lcb-block.vue.d.ts +26 -3
- package/types/components/lcb-block/types.d.ts +5 -0
- package/types/components/lcb-grid/types.d.ts +1 -1
- package/types/components/lcb-img-nav/types.d.ts +1 -1
- package/types/components/lcb-user-order/lcb-user-order.vue.d.ts +62 -0
- package/types/components/lcb-user-order/types.d.ts +50 -0
- package/types/components/lcb-user-top/lcb-user-top.vue.d.ts +92 -0
- package/types/components/lcb-user-top/types.d.ts +24 -0
package/action.d.ts
ADDED
|
@@ -45,7 +45,7 @@ import { LcbBannerListProps } from './types'
|
|
|
45
45
|
import { computed } from 'vue'
|
|
46
46
|
import { LcbBannerProps } from '../lcb-banner/types'
|
|
47
47
|
defineOptions({
|
|
48
|
-
name: '
|
|
48
|
+
name: 'LcbBannerBlock',
|
|
49
49
|
options: {
|
|
50
50
|
addGlobalClass: true,
|
|
51
51
|
virtualHost: true,
|
|
@@ -14,7 +14,12 @@
|
|
|
14
14
|
borderRadius: transformValueUnit(radius),
|
|
15
15
|
color,
|
|
16
16
|
backgroundColor,
|
|
17
|
+
backgroundImage: backgroundImage ? `url('${backgroundImage}')` : '',
|
|
18
|
+
backgroundRepeat,
|
|
19
|
+
backgroundPosition,
|
|
20
|
+
backgroundSize,
|
|
17
21
|
fontSize: transformValueUnit(fontSize),
|
|
22
|
+
boxShadow,
|
|
18
23
|
}"
|
|
19
24
|
:class="{
|
|
20
25
|
card,
|
|
@@ -28,8 +33,20 @@
|
|
|
28
33
|
<script setup lang="ts">
|
|
29
34
|
import { LcbBlockProps } from './types'
|
|
30
35
|
import { transformValueUnit } from '../../utils/transform'
|
|
36
|
+
defineOptions({
|
|
37
|
+
name: 'LcbBlock',
|
|
38
|
+
options: {
|
|
39
|
+
addGlobalClass: true,
|
|
40
|
+
virtualHost: true,
|
|
41
|
+
styleIsolation: 'shared',
|
|
42
|
+
},
|
|
43
|
+
})
|
|
31
44
|
|
|
32
|
-
withDefaults(defineProps<LcbBlockProps>(), {
|
|
45
|
+
withDefaults(defineProps<LcbBlockProps>(), {
|
|
46
|
+
backgroundSize: 'cover',
|
|
47
|
+
backgroundRepeat: 'no-repeat',
|
|
48
|
+
backgroundPosition: `top center`,
|
|
49
|
+
} as LcbBlockProps)
|
|
33
50
|
</script>
|
|
34
51
|
<style lang="scss" scoped>
|
|
35
52
|
.card {
|
|
@@ -2,6 +2,7 @@ export interface LcbBlockProps {
|
|
|
2
2
|
marginTop?: number
|
|
3
3
|
marginBottom?: number
|
|
4
4
|
backgroundColor?: string
|
|
5
|
+
backgroundImage?: string
|
|
5
6
|
paddingTop?: number
|
|
6
7
|
paddingBottom?: number
|
|
7
8
|
color?: string
|
|
@@ -14,4 +15,8 @@ export interface LcbBlockProps {
|
|
|
14
15
|
paddingRight?: number
|
|
15
16
|
marginLeft?: number
|
|
16
17
|
marginRight?: number
|
|
18
|
+
backgroundRepeat?: 'repeat' | 'repeat-x' | 'repeat-y' | 'no-repeat'
|
|
19
|
+
backgroundSize?: string
|
|
20
|
+
backgroundPosition?: string
|
|
21
|
+
boxShadow?: string
|
|
17
22
|
}
|
|
@@ -48,6 +48,16 @@
|
|
|
48
48
|
|
|
49
49
|
<script setup lang="ts">
|
|
50
50
|
import { ref } from 'vue'
|
|
51
|
+
|
|
52
|
+
defineOptions({
|
|
53
|
+
name: 'LcbHomeSearch',
|
|
54
|
+
options: {
|
|
55
|
+
addGlobalClass: true,
|
|
56
|
+
virtualHost: true,
|
|
57
|
+
styleIsolation: 'shared',
|
|
58
|
+
},
|
|
59
|
+
})
|
|
60
|
+
|
|
51
61
|
defineProps<{ marginTop?: number }>()
|
|
52
62
|
const tabs = ['全部', '酒店', '民宿']
|
|
53
63
|
const current = ref(0)
|
|
@@ -22,10 +22,15 @@
|
|
|
22
22
|
}"
|
|
23
23
|
/>
|
|
24
24
|
<!-- 左边布局 -->
|
|
25
|
-
<view
|
|
25
|
+
<view
|
|
26
|
+
class="navbar-left z-1"
|
|
27
|
+
:style="{
|
|
28
|
+
paddingTop,
|
|
29
|
+
}"
|
|
30
|
+
>
|
|
26
31
|
<!-- 返回按钮 -->
|
|
27
32
|
<view
|
|
28
|
-
v-if="styleGroup === 3"
|
|
33
|
+
v-if="styleGroup === 3 && capsuleList.length"
|
|
29
34
|
class="navbar-capsule flex justify-center items-center"
|
|
30
35
|
:class="[capsuleMode]"
|
|
31
36
|
>
|
|
@@ -36,11 +41,11 @@
|
|
|
36
41
|
:key="item.icon"
|
|
37
42
|
:class="[capsuleList.length === 1 ? 'px-2' : 'px-2.5']"
|
|
38
43
|
>
|
|
39
|
-
<wd-icon :name="item.icon" size="20" />
|
|
44
|
+
<wd-icon class-prefix="iconfont" :name="item.icon" size="20" />
|
|
40
45
|
</view>
|
|
41
46
|
</view>
|
|
42
47
|
<template v-else-if="back">
|
|
43
|
-
<wd-icon name="
|
|
48
|
+
<wd-icon class-prefix="iconfont" name="dingdanliebiao" @click="toBack" />
|
|
44
49
|
</template>
|
|
45
50
|
<view class="ml-2" v-if="titleLocation === 'left'">
|
|
46
51
|
<Search
|
|
@@ -55,7 +60,13 @@
|
|
|
55
60
|
</view>
|
|
56
61
|
</view>
|
|
57
62
|
<!-- 中间布局 -->
|
|
58
|
-
<view
|
|
63
|
+
<view
|
|
64
|
+
class="navbar-center"
|
|
65
|
+
v-if="topStyle === 1"
|
|
66
|
+
:style="{
|
|
67
|
+
paddingTop,
|
|
68
|
+
}"
|
|
69
|
+
>
|
|
59
70
|
<Search v-if="styleGroup === 2 && titleLocation === 'center'" :back="back" />
|
|
60
71
|
<Title v-bind="titleProps" v-else-if="styleGroup === 2 || titleLocation === 'center'" />
|
|
61
72
|
</view>
|
|
@@ -135,14 +146,7 @@ const capsuleList = computed(() => {
|
|
|
135
146
|
})
|
|
136
147
|
}
|
|
137
148
|
|
|
138
|
-
return [
|
|
139
|
-
...list,
|
|
140
|
-
{
|
|
141
|
-
icon: 'home',
|
|
142
|
-
action: 'home',
|
|
143
|
-
},
|
|
144
|
-
...(props.capsules || []),
|
|
145
|
-
] as ICapsule[]
|
|
149
|
+
return [...list, ...(props.capsules || [])] as ICapsule[]
|
|
146
150
|
})
|
|
147
151
|
const onCapsule = (item: ICapsule) => {
|
|
148
152
|
switch (item.action) {
|
|
@@ -152,7 +156,7 @@ const onCapsule = (item: ICapsule) => {
|
|
|
152
156
|
url: item.linkUrl,
|
|
153
157
|
})
|
|
154
158
|
} else {
|
|
155
|
-
|
|
159
|
+
toBack()
|
|
156
160
|
}
|
|
157
161
|
break
|
|
158
162
|
case 'home':
|
|
@@ -163,6 +167,10 @@ const onCapsule = (item: ICapsule) => {
|
|
|
163
167
|
}
|
|
164
168
|
}
|
|
165
169
|
|
|
170
|
+
const toBack = () => {
|
|
171
|
+
uni.navigateBack()
|
|
172
|
+
}
|
|
173
|
+
|
|
166
174
|
onPageScroll(({ scrollTop: top }) => {
|
|
167
175
|
if (props.immersionMode === 1) {
|
|
168
176
|
scrollTop.value = top
|
|
@@ -232,7 +240,7 @@ onPageScroll(({ scrollTop: top }) => {
|
|
|
232
240
|
}
|
|
233
241
|
}
|
|
234
242
|
|
|
235
|
-
> :last-child {
|
|
243
|
+
> view:last-child {
|
|
236
244
|
&:after {
|
|
237
245
|
display: none;
|
|
238
246
|
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<lcb-block class="flex flex-justify-between" v-bind="{
|
|
3
|
+
marginTop,
|
|
4
|
+
marginBottom,
|
|
5
|
+
marginLeft: marginHorizontal,
|
|
6
|
+
marginRight: marginHorizontal,
|
|
7
|
+
paddingTop: paddingVertical,
|
|
8
|
+
paddingBottom: paddingVertical,
|
|
9
|
+
paddingLeft: paddingHorizontal,
|
|
10
|
+
paddingRight: paddingHorizontal,
|
|
11
|
+
backgroundColor,
|
|
12
|
+
radius,
|
|
13
|
+
boxShadow: shadowColor && shadowSize ? `0px 0px ${blurSize}px ${shadowSize}px ${shadowColor}` : '',
|
|
14
|
+
// boxShadow: '0px 4px 8px 0px rgba(236,236,236,0.5)'
|
|
15
|
+
}">
|
|
16
|
+
<view class="flex flex-col flex-justify-center items-center" @click="onClick(item)" v-for="item in iconList"
|
|
17
|
+
:key="item.id">
|
|
18
|
+
<view class="position-relative" :style="{
|
|
19
|
+
height: transformValueUnit(iconSize),
|
|
20
|
+
width: transformValueUnit(iconSize),
|
|
21
|
+
}">
|
|
22
|
+
<view v-if="item.iconType === 0">
|
|
23
|
+
<wd-icon class-prefix="iconfont" v-bind="{
|
|
24
|
+
name: item.iconName || '',
|
|
25
|
+
size: transformValueUnit(iconSize),
|
|
26
|
+
color: iconColor,
|
|
27
|
+
}" />
|
|
28
|
+
</view>
|
|
29
|
+
<view v-if="item.iconType === 1" class="bg-no-repeat bg-contain" :style="{
|
|
30
|
+
height: transformValueUnit(iconSize),
|
|
31
|
+
width: transformValueUnit(iconSize),
|
|
32
|
+
color: iconColor,
|
|
33
|
+
backgroundImage: `url('${item.iconUpload}')`,
|
|
34
|
+
}" />
|
|
35
|
+
<view v-if="item.id < 5" class="pos-absolute bg-#f23d3d pos-top-0 pos-right-0 w-8px h-8px rounded-4px" />
|
|
36
|
+
</view>
|
|
37
|
+
<view class="flex flex-justify-between text-center" :style="{
|
|
38
|
+
color: textColor,
|
|
39
|
+
fontSize: transformValueUnit(textSize),
|
|
40
|
+
marginTop: transformValueUnit((textSize || 0) / 3),
|
|
41
|
+
}">{{ item.iconTitle }}</view>
|
|
42
|
+
</view>
|
|
43
|
+
</lcb-block>
|
|
44
|
+
</template>
|
|
45
|
+
|
|
46
|
+
<script setup lang="ts">
|
|
47
|
+
import { computed } from 'vue';
|
|
48
|
+
import { LcbUserOrderProps, IIconList } from './types'
|
|
49
|
+
import { transformValueUnit } from '../../utils/transform'
|
|
50
|
+
defineOptions({
|
|
51
|
+
name: 'LcbUserOrder',
|
|
52
|
+
options: {
|
|
53
|
+
addGlobalClass: true,
|
|
54
|
+
virtualHost: true,
|
|
55
|
+
styleIsolation: 'shared',
|
|
56
|
+
},
|
|
57
|
+
})
|
|
58
|
+
const onClick = (item: any) => {
|
|
59
|
+
|
|
60
|
+
}
|
|
61
|
+
const props = withDefaults(defineProps<LcbUserOrderProps>(), {
|
|
62
|
+
paddingVertical: 0,
|
|
63
|
+
paddingHorizontal: 0,
|
|
64
|
+
blurSize: 5,
|
|
65
|
+
})
|
|
66
|
+
const statusNumbers = ['0', '1', '2', '3', '5', ''];
|
|
67
|
+
const iconList = computed(() => {
|
|
68
|
+
const list: IIconList[] = []
|
|
69
|
+
for (let i = 0; i < statusNumbers.length; i++) {
|
|
70
|
+
const item = statusNumbers[i];
|
|
71
|
+
const isShow = props['iconShow' + item];
|
|
72
|
+
console.log('isShow', isShow)
|
|
73
|
+
if (isShow !== false) {
|
|
74
|
+
list.push({
|
|
75
|
+
'id': i,
|
|
76
|
+
'iconType': props['iconType' + item],
|
|
77
|
+
'iconTitle': props['iconTitle' + item],
|
|
78
|
+
'iconName': props['iconName' + item],
|
|
79
|
+
'iconUpload': props['iconUpload' + item],
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
console.log('list', list)
|
|
84
|
+
return list as IIconList[]
|
|
85
|
+
})
|
|
86
|
+
</script>
|
|
87
|
+
|
|
88
|
+
<style lang="scss" scoped>
|
|
89
|
+
|
|
90
|
+
</style>
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export interface IIconList {
|
|
2
|
+
id: number,
|
|
3
|
+
iconType: number
|
|
4
|
+
iconTitle?: string,
|
|
5
|
+
iconName?: string
|
|
6
|
+
iconUpload?: string
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface LcbUserOrderProps {
|
|
10
|
+
// Define the component's prop types here
|
|
11
|
+
marginTop?: number
|
|
12
|
+
marginBottom?: number
|
|
13
|
+
marginHorizontal?: number
|
|
14
|
+
// marginLeft?: number
|
|
15
|
+
// marginRight?: number
|
|
16
|
+
// paddingTop?: number
|
|
17
|
+
// paddingBottom?: number
|
|
18
|
+
// paddingLeft?: number
|
|
19
|
+
// paddingRight?: number
|
|
20
|
+
paddingVertical?: number
|
|
21
|
+
paddingHorizontal?: number
|
|
22
|
+
backgroundColor?: string
|
|
23
|
+
radius?: number
|
|
24
|
+
boxShadow?: string
|
|
25
|
+
iconSize?: number
|
|
26
|
+
iconColor?: string
|
|
27
|
+
textSize?: number
|
|
28
|
+
textColor?: string
|
|
29
|
+
shadowColor?: string
|
|
30
|
+
shadowSize?: number
|
|
31
|
+
blurSize?: number
|
|
32
|
+
|
|
33
|
+
iconTitle0?: string
|
|
34
|
+
iconType0?: 0 | 1
|
|
35
|
+
iconName0?: string
|
|
36
|
+
iconUpload0?: string
|
|
37
|
+
iconTitle1?: string
|
|
38
|
+
iconType1?: 0 | 1
|
|
39
|
+
iconName1?: string
|
|
40
|
+
iconUpload1?: string
|
|
41
|
+
iconTitle2?: string
|
|
42
|
+
iconType2?: 0 | 1
|
|
43
|
+
iconName2?: string
|
|
44
|
+
iconUpload2?: string
|
|
45
|
+
iconShow2?: boolean
|
|
46
|
+
iconTitle3?: string
|
|
47
|
+
iconType3?: 0 | 1
|
|
48
|
+
iconName3?: string
|
|
49
|
+
iconUpload3?: string
|
|
50
|
+
iconShow3?: boolean
|
|
51
|
+
iconTitle5?: string
|
|
52
|
+
iconType5?: 0 | 1
|
|
53
|
+
iconName5?: string
|
|
54
|
+
iconUpload5?: string
|
|
55
|
+
iconTitle?: string
|
|
56
|
+
iconType?: 0 | 1
|
|
57
|
+
iconName?: string
|
|
58
|
+
iconUpload?: string
|
|
59
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<lcb-block v-bind="{
|
|
3
|
+
paddingTop,
|
|
4
|
+
paddingBottom,
|
|
5
|
+
paddingLeft,
|
|
6
|
+
paddingRight,
|
|
7
|
+
backgroundColor,
|
|
8
|
+
backgroundImage,
|
|
9
|
+
}">
|
|
10
|
+
<view class="flex flex-items-center">
|
|
11
|
+
<wd-img v-bind="{
|
|
12
|
+
width: transformValueUnit(photoSize),
|
|
13
|
+
height: transformValueUnit(photoSize),
|
|
14
|
+
round: photoRound,
|
|
15
|
+
src: photoUrl,
|
|
16
|
+
}" class="bg-coolgray mr-20rpx" />
|
|
17
|
+
<view class="flex-1">
|
|
18
|
+
<view class="font-bold" :style="{
|
|
19
|
+
fontSize: transformValueUnit(textSize),
|
|
20
|
+
color: textColor,
|
|
21
|
+
}">用户</view>
|
|
22
|
+
<view class="flex" v-if="editBtn == true">
|
|
23
|
+
<view class="flex flex-content-center flex-items-center mt-5px border-style-solid" :style="{
|
|
24
|
+
color: textColor,
|
|
25
|
+
borderWidth: editBorder ? transformValueUnit(1) : 0,
|
|
26
|
+
borderColor: textColor,
|
|
27
|
+
padding: editBorder ? `2px ${editSize / 2.5}px 2px ${editSize / 2.5}px` : '',
|
|
28
|
+
borderRadius: transformValueUnit(30),
|
|
29
|
+
fontSize: transformValueUnit(editSize),
|
|
30
|
+
}">
|
|
31
|
+
<view>{{ editText }}</view>
|
|
32
|
+
</view>
|
|
33
|
+
</view>
|
|
34
|
+
</view>
|
|
35
|
+
<div v-if="moreIcon == true && iconType === 1" class="overflow-hidden bg-no-repeat bg-contain" :style="{
|
|
36
|
+
height: transformValueUnit(textSize),
|
|
37
|
+
width: transformValueUnit(textSize),
|
|
38
|
+
color: textColor,
|
|
39
|
+
backgroundImage: `url('${iconUpload}')`,
|
|
40
|
+
}" />
|
|
41
|
+
<view v-if="moreIcon == true && iconType === 0">
|
|
42
|
+
<wd-icon class-prefix="iconfont" v-bind="{
|
|
43
|
+
name: iconName,
|
|
44
|
+
size: transformValueUnit(textSize),
|
|
45
|
+
color: textColor,
|
|
46
|
+
}" />
|
|
47
|
+
</view>
|
|
48
|
+
</view>
|
|
49
|
+
<view v-if="valuesCard == true || coupons == true || presales == true"
|
|
50
|
+
class="flex flex-justify-between text-center mt-15px" :style="{
|
|
51
|
+
color: textColor,
|
|
52
|
+
}">
|
|
53
|
+
<View v-if="valuesCard == true" class="">
|
|
54
|
+
<view class="text-22px font-bold">0</view>
|
|
55
|
+
<view class="text-12px optName">储值卡</view>
|
|
56
|
+
</View>
|
|
57
|
+
<View v-if="coupons == true" class="">
|
|
58
|
+
<view class="text-22px font-bold">0</view>
|
|
59
|
+
<view class="text-12px optName">优惠券</view>
|
|
60
|
+
</View>
|
|
61
|
+
<View v-if="presales == true" class="">
|
|
62
|
+
<view class="text-22px font-bold">0</view>
|
|
63
|
+
<view class="text-12px optName">预售券</view>
|
|
64
|
+
</View>
|
|
65
|
+
</view>
|
|
66
|
+
</lcb-block>
|
|
67
|
+
</template>
|
|
68
|
+
|
|
69
|
+
<script setup lang="ts">
|
|
70
|
+
import { LcbUserTopProps } from './types'
|
|
71
|
+
import { transformValueUnit } from '../../utils/transform'
|
|
72
|
+
defineOptions({
|
|
73
|
+
name: 'LcbUserTop',
|
|
74
|
+
options: {
|
|
75
|
+
addGlobalClass: true,
|
|
76
|
+
virtualHost: true,
|
|
77
|
+
styleIsolation: 'shared',
|
|
78
|
+
},
|
|
79
|
+
})
|
|
80
|
+
withDefaults(defineProps<LcbUserTopProps>(), {
|
|
81
|
+
photoSize: 30,
|
|
82
|
+
paddingLeft: 30,
|
|
83
|
+
paddingRight: 30,
|
|
84
|
+
paddingTop: 30,
|
|
85
|
+
paddingBottom: 30,
|
|
86
|
+
photoRound: false,
|
|
87
|
+
textSize: 22,
|
|
88
|
+
textColor: '#333',
|
|
89
|
+
moreIcon: true,
|
|
90
|
+
iconType: 0,
|
|
91
|
+
iconName: 'xiayiye',
|
|
92
|
+
editText: '编辑资料',
|
|
93
|
+
editSize: 14,
|
|
94
|
+
})
|
|
95
|
+
</script>
|
|
96
|
+
<style lang="scss" scoped>
|
|
97
|
+
.optName{
|
|
98
|
+
opacity: 0.7;
|
|
99
|
+
}
|
|
100
|
+
</style>
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { ActionView } from 'action'
|
|
2
|
+
|
|
3
|
+
export interface LcbUserTopProps {
|
|
4
|
+
// // items?: Partial<ActionView>[]
|
|
5
|
+
// // imageWidth?: number
|
|
6
|
+
// autoplay?: boolean
|
|
7
|
+
// /** 滚动方向 默认 horizontal */
|
|
8
|
+
// direction?: 'horizontal' | 'vertical'
|
|
9
|
+
// /** 同时显示的滑块数量 默认 1 */
|
|
10
|
+
// displayMultipleItems?: number
|
|
11
|
+
// /** 滑动时长 300ms */
|
|
12
|
+
// duration?: number
|
|
13
|
+
// /** 轮播图高度 默认192 */
|
|
14
|
+
// height?: number
|
|
15
|
+
// /** 轮播间隔时间 5000ms */
|
|
16
|
+
// interval?: number
|
|
17
|
+
// /** 是否循环播放 默认 true */
|
|
18
|
+
// loop?: boolean
|
|
19
|
+
// /** 后边间距 */
|
|
20
|
+
// nextMargin?: number
|
|
21
|
+
// /** 前边间距 */
|
|
22
|
+
// previousMargin?: number
|
|
23
|
+
// /** 指示器位置 bottom */
|
|
24
|
+
// indicatorPosition?:
|
|
25
|
+
// | 'left'
|
|
26
|
+
// | 'top-left'
|
|
27
|
+
// | 'top'
|
|
28
|
+
// | 'top-right'
|
|
29
|
+
// | 'bottom-left'
|
|
30
|
+
// | 'bottom'
|
|
31
|
+
// | 'bottom-right'
|
|
32
|
+
// | 'right'
|
|
33
|
+
// /** 边距是否应用到第一个、最后一个元素 */
|
|
34
|
+
// snapToEdge?: boolean
|
|
35
|
+
// // 图片之间距离
|
|
36
|
+
// itemPadding?: number
|
|
37
|
+
// /** 图片圆角 */
|
|
38
|
+
// imageRadius?: number
|
|
39
|
+
// // 整个banner圆角
|
|
40
|
+
// radius?: number
|
|
41
|
+
// customPrevImageClass?: string
|
|
42
|
+
// customNextImageClass?: string
|
|
43
|
+
// indicator?: 'dots' | 'dots-bar' | 'fraction'
|
|
44
|
+
// /** 滑动样式 1平面 2立体 */
|
|
45
|
+
// slidingStyle?: 1 | 2
|
|
46
|
+
|
|
47
|
+
paddingTop?: number
|
|
48
|
+
paddingBottom?: number
|
|
49
|
+
paddingLeft?: number
|
|
50
|
+
paddingRight?: number
|
|
51
|
+
photoUrl?: string
|
|
52
|
+
photoRound?: boolean
|
|
53
|
+
photoSize?: number
|
|
54
|
+
textSize?: number
|
|
55
|
+
textColor?: string
|
|
56
|
+
backgroundColor?: string
|
|
57
|
+
backgroundImage?: string
|
|
58
|
+
moreIcon?: boolean
|
|
59
|
+
iconName?: string
|
|
60
|
+
iconUpload?: string
|
|
61
|
+
iconType?: 0 | 1
|
|
62
|
+
editBtn?: boolean
|
|
63
|
+
editText?: string
|
|
64
|
+
editBorder?: boolean
|
|
65
|
+
editSize?: number
|
|
66
|
+
valuesCard?: boolean
|
|
67
|
+
coupons?: boolean
|
|
68
|
+
presales?: boolean
|
|
69
|
+
}
|
package/global.d.ts
CHANGED
|
@@ -1,22 +1,18 @@
|
|
|
1
1
|
declare module 'vue' {
|
|
2
2
|
// Helper for Volar
|
|
3
3
|
export interface GlobalComponents {
|
|
4
|
-
'lcb-img-nav': (typeof import('./types/components/lcb-img-nav/lcb-img-nav.vue'))['default']
|
|
5
|
-
'lcb-nav': (typeof import('./types/components/lcb-nav/lcb-nav.vue'))['default']
|
|
6
4
|
'lcb-banner': (typeof import('./types/components/lcb-banner/lcb-banner.vue'))['default']
|
|
7
5
|
'lcb-banner-block': (typeof import('./types/components/lcb-banner-block/lcb-banner-block.vue'))['default']
|
|
8
|
-
'lcb-
|
|
6
|
+
'lcb-block': (typeof import('./types/components/lcb-block/lcb-block.vue'))['default']
|
|
9
7
|
'lcb-grid': (typeof import('./types/components/lcb-grid/lcb-grid.vue'))['default']
|
|
10
8
|
'lcb-home-search': (typeof import('./types/components/lcb-home-search/lcb-home-search.vue'))['default']
|
|
11
|
-
'lcb-
|
|
9
|
+
'lcb-img-nav': (typeof import('./types/components/lcb-img-nav/lcb-img-nav.vue'))['default']
|
|
10
|
+
'lcb-nav': (typeof import('./types/components/lcb-nav/lcb-nav.vue'))['default']
|
|
11
|
+
'lcb-swiper': (typeof import('./types/components/lcb-swiper/lcb-swiper.vue'))['default']
|
|
12
|
+
'lcb-title': (typeof import('./types/components/lcb-title/lcb-title.vue'))['default']
|
|
13
|
+
'lcb-user-order': (typeof import('./types/components/lcb-user-order/lcb-user-order.vue'))['default']
|
|
14
|
+
'lcb-user-top': (typeof import('./types/components/lcb-user-top/lcb-user-top.vue'))['default']
|
|
12
15
|
}
|
|
13
16
|
}
|
|
14
17
|
|
|
15
18
|
export {}
|
|
16
|
-
|
|
17
|
-
export interface ActionView {
|
|
18
|
-
title: string
|
|
19
|
-
icon?: string
|
|
20
|
-
link: string
|
|
21
|
-
url?: string
|
|
22
|
-
}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
@font-face {
|
|
2
|
+
font-family: 'iconfont'; /* Project id 4652744 */
|
|
3
|
+
src:
|
|
4
|
+
url('//at.alicdn.com/t/c/font_4652744_o8lyw0d70s.woff2?t=1724428388776') format('woff2'),
|
|
5
|
+
url('//at.alicdn.com/t/c/font_4652744_o8lyw0d70s.woff?t=1724428388776') format('woff'),
|
|
6
|
+
url('//at.alicdn.com/t/c/font_4652744_o8lyw0d70s.ttf?t=1724428388776') format('truetype'),
|
|
7
|
+
url('//at.alicdn.com/t/c/font_4652744_o8lyw0d70s.svg?t=1724428388776#iconfont') format('svg');
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.iconfont {
|
|
11
|
+
font-family: 'iconfont' !important;
|
|
12
|
+
font-size: 16px;
|
|
13
|
+
font-style: normal;
|
|
14
|
+
-webkit-font-smoothing: antialiased;
|
|
15
|
+
-moz-osx-font-smoothing: grayscale;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.iconfont-dingdanliebiao:before {
|
|
19
|
+
content: '\e662';
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.iconfont-minsuliebiao:before {
|
|
23
|
+
content: '\e663';
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.iconfont-minsufaxian:before {
|
|
27
|
+
content: '\e664';
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.iconfont-xiaoxi:before {
|
|
31
|
+
content: '\e665';
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.iconfont-tingshi:before {
|
|
35
|
+
content: '\e653';
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.iconfont-renshu:before {
|
|
39
|
+
content: '\e654';
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.iconfont-linyujian:before {
|
|
43
|
+
content: '\e655';
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.iconfont-xiayiye:before {
|
|
47
|
+
content: '\e656';
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.iconfont-youleyuan:before {
|
|
51
|
+
content: '\e657';
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.iconfont-yunxu:before {
|
|
55
|
+
content: '\e658';
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.iconfont-paizhao:before {
|
|
59
|
+
content: '\e659';
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.iconfont-shangchuanzhaopian:before {
|
|
63
|
+
content: '\e65a';
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.iconfont-shangchuanshipin:before {
|
|
67
|
+
content: '\e65b';
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.iconfont-biaoqing:before {
|
|
71
|
+
content: '\e65c';
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.iconfont-yuyin:before {
|
|
75
|
+
content: '\e65d';
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.iconfont-tianjia:before {
|
|
79
|
+
content: '\e65e';
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.iconfont-fuwubaozhang:before {
|
|
83
|
+
content: '\e65f';
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.iconfont-xiala:before {
|
|
87
|
+
content: '\e660';
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.iconfont-tijianyi:before {
|
|
91
|
+
content: '\e661';
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.iconfont-danrenchuang:before {
|
|
95
|
+
content: '\e643';
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.iconfont-buyunxu:before {
|
|
99
|
+
content: '\e644';
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.iconfont-fapiaoshuoming:before {
|
|
103
|
+
content: '\e645';
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.iconfont-fenxiang:before {
|
|
107
|
+
content: '\e646';
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.iconfont-kongtiaofang:before {
|
|
111
|
+
content: '\e647';
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.iconfont-rulishijian:before {
|
|
115
|
+
content: '\e648';
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.iconfont-pingmi:before {
|
|
119
|
+
content: '\e649';
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.iconfont-ruzhuxuzhi:before {
|
|
123
|
+
content: '\e64a';
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.iconfont-tatami:before {
|
|
127
|
+
content: '\e64b';
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.iconfont-dachuang:before {
|
|
131
|
+
content: '\e64c';
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.iconfont-mimasuo:before {
|
|
135
|
+
content: '\e64d';
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.iconfont-quxiaoguize:before {
|
|
139
|
+
content: '\e64e';
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.iconfont-tingchechang:before {
|
|
143
|
+
content: '\e64f';
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.iconfont-shuoming:before {
|
|
147
|
+
content: '\e650';
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.iconfont-xiyifang:before {
|
|
151
|
+
content: '\e651';
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
.iconfont-yajinshuoming:before {
|
|
155
|
+
content: '\e652';
|
|
156
|
+
}
|
package/index.ts
CHANGED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// #ifdef H5
|
|
2
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
3
|
+
// @ts-ignore
|
|
4
|
+
const importFn = import.meta.glob('./components/lcb-*/lcb-*.vue', { eager: true })
|
|
5
|
+
const components: {
|
|
6
|
+
name: string
|
|
7
|
+
}[] = []
|
|
8
|
+
|
|
9
|
+
for (const key in importFn) {
|
|
10
|
+
const component = importFn[key].default
|
|
11
|
+
if (component.name) {
|
|
12
|
+
component.install = function (Vue) {
|
|
13
|
+
Vue.component(component.name, component)
|
|
14
|
+
}
|
|
15
|
+
components.push(component)
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
// #endif
|
|
19
|
+
|
|
20
|
+
const install = (Vue) => {
|
|
21
|
+
// #ifdef H5
|
|
22
|
+
components.forEach(function (component) {
|
|
23
|
+
Vue.component(component.name, component)
|
|
24
|
+
})
|
|
25
|
+
// #endif
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export default {
|
|
29
|
+
install,
|
|
30
|
+
}
|
package/package.json
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tplc/business",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.14",
|
|
4
4
|
"keywords": [
|
|
5
5
|
"业务组件"
|
|
6
6
|
],
|
|
7
|
+
"type": "module",
|
|
7
8
|
"publishConfig": {
|
|
8
9
|
"access": "public",
|
|
9
10
|
"registry": "https://registry.npmjs.org/"
|
|
10
11
|
},
|
|
11
12
|
"peerDependencies": {
|
|
12
13
|
"vue": ">=3.2.47",
|
|
13
|
-
"@tplc/wot": "0.1.
|
|
14
|
+
"@tplc/wot": "0.1.4"
|
|
14
15
|
},
|
|
15
16
|
"engines": {
|
|
16
17
|
"node": ">=18",
|
|
@@ -21,6 +22,8 @@
|
|
|
21
22
|
"dts": "rm -rf types && vue-tsc --project ./tsconfig.dts.json && pnpm prettier --write types",
|
|
22
23
|
"release-major": "standard-version --release-as major ",
|
|
23
24
|
"release-minor": "standard-version --release-as minor",
|
|
24
|
-
"release-patch": "standard-version --release-as patch "
|
|
25
|
+
"release-patch": "standard-version --release-as patch ",
|
|
26
|
+
"generateComponent": "node ./scripts/createComponent.mjs",
|
|
27
|
+
"generateGlobalDts": "node ./scripts/generateGlobalDts.mjs"
|
|
25
28
|
}
|
|
26
29
|
}
|
|
@@ -3,7 +3,7 @@ declare function __VLS_template(): {
|
|
|
3
3
|
default?(_: {}): any
|
|
4
4
|
}
|
|
5
5
|
declare const __VLS_component: import('vue').DefineComponent<
|
|
6
|
-
__VLS_WithDefaults<__VLS_TypePropsToOption<LcbBlockProps>,
|
|
6
|
+
__VLS_WithDefaults<__VLS_TypePropsToOption<LcbBlockProps>, LcbBlockProps>,
|
|
7
7
|
{},
|
|
8
8
|
unknown,
|
|
9
9
|
{},
|
|
@@ -14,9 +14,32 @@ declare const __VLS_component: import('vue').DefineComponent<
|
|
|
14
14
|
string,
|
|
15
15
|
import('vue').PublicProps,
|
|
16
16
|
Readonly<
|
|
17
|
-
import('vue').ExtractPropTypes<
|
|
17
|
+
import('vue').ExtractPropTypes<
|
|
18
|
+
__VLS_WithDefaults<__VLS_TypePropsToOption<LcbBlockProps>, LcbBlockProps>
|
|
19
|
+
>
|
|
18
20
|
>,
|
|
19
|
-
{
|
|
21
|
+
{
|
|
22
|
+
radius: number
|
|
23
|
+
marginTop: number
|
|
24
|
+
marginBottom: number
|
|
25
|
+
bold: boolean
|
|
26
|
+
customClass: string
|
|
27
|
+
backgroundColor: string
|
|
28
|
+
backgroundImage: string
|
|
29
|
+
paddingTop: number
|
|
30
|
+
paddingBottom: number
|
|
31
|
+
color: string
|
|
32
|
+
fontSize: number
|
|
33
|
+
card: boolean
|
|
34
|
+
paddingLeft: number
|
|
35
|
+
paddingRight: number
|
|
36
|
+
marginLeft: number
|
|
37
|
+
marginRight: number
|
|
38
|
+
backgroundRepeat: 'repeat' | 'repeat-x' | 'repeat-y' | 'no-repeat'
|
|
39
|
+
backgroundSize: string
|
|
40
|
+
backgroundPosition: string
|
|
41
|
+
boxShadow: string
|
|
42
|
+
},
|
|
20
43
|
{}
|
|
21
44
|
>
|
|
22
45
|
declare const _default: __VLS_WithTemplateSlots<
|
|
@@ -2,6 +2,7 @@ export interface LcbBlockProps {
|
|
|
2
2
|
marginTop?: number
|
|
3
3
|
marginBottom?: number
|
|
4
4
|
backgroundColor?: string
|
|
5
|
+
backgroundImage?: string
|
|
5
6
|
paddingTop?: number
|
|
6
7
|
paddingBottom?: number
|
|
7
8
|
color?: string
|
|
@@ -14,4 +15,8 @@ export interface LcbBlockProps {
|
|
|
14
15
|
paddingRight?: number
|
|
15
16
|
marginLeft?: number
|
|
16
17
|
marginRight?: number
|
|
18
|
+
backgroundRepeat?: 'repeat' | 'repeat-x' | 'repeat-y' | 'no-repeat'
|
|
19
|
+
backgroundSize?: string
|
|
20
|
+
backgroundPosition?: string
|
|
21
|
+
boxShadow?: string
|
|
17
22
|
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { LcbUserOrderProps } from './types'
|
|
2
|
+
declare const _default: import('vue').DefineComponent<
|
|
3
|
+
__VLS_WithDefaults<
|
|
4
|
+
__VLS_TypePropsToOption<LcbUserOrderProps>,
|
|
5
|
+
{
|
|
6
|
+
paddingVertical: number
|
|
7
|
+
paddingHorizontal: number
|
|
8
|
+
blurSize: number
|
|
9
|
+
}
|
|
10
|
+
>,
|
|
11
|
+
{},
|
|
12
|
+
unknown,
|
|
13
|
+
{},
|
|
14
|
+
{},
|
|
15
|
+
import('vue').ComponentOptionsMixin,
|
|
16
|
+
import('vue').ComponentOptionsMixin,
|
|
17
|
+
{},
|
|
18
|
+
string,
|
|
19
|
+
import('vue').PublicProps,
|
|
20
|
+
Readonly<
|
|
21
|
+
import('vue').ExtractPropTypes<
|
|
22
|
+
__VLS_WithDefaults<
|
|
23
|
+
__VLS_TypePropsToOption<LcbUserOrderProps>,
|
|
24
|
+
{
|
|
25
|
+
paddingVertical: number
|
|
26
|
+
paddingHorizontal: number
|
|
27
|
+
blurSize: number
|
|
28
|
+
}
|
|
29
|
+
>
|
|
30
|
+
>
|
|
31
|
+
>,
|
|
32
|
+
{
|
|
33
|
+
paddingVertical: number
|
|
34
|
+
paddingHorizontal: number
|
|
35
|
+
blurSize: number
|
|
36
|
+
},
|
|
37
|
+
{}
|
|
38
|
+
>
|
|
39
|
+
export default _default
|
|
40
|
+
type __VLS_WithDefaults<P, D> = {
|
|
41
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D
|
|
42
|
+
? __VLS_Prettify<
|
|
43
|
+
P[K] & {
|
|
44
|
+
default: D[K]
|
|
45
|
+
}
|
|
46
|
+
>
|
|
47
|
+
: P[K]
|
|
48
|
+
}
|
|
49
|
+
type __VLS_Prettify<T> = {
|
|
50
|
+
[K in keyof T]: T[K]
|
|
51
|
+
} & {}
|
|
52
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T
|
|
53
|
+
type __VLS_TypePropsToOption<T> = {
|
|
54
|
+
[K in keyof T]-?: {} extends Pick<T, K>
|
|
55
|
+
? {
|
|
56
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>
|
|
57
|
+
}
|
|
58
|
+
: {
|
|
59
|
+
type: import('vue').PropType<T[K]>
|
|
60
|
+
required: true
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export interface IIconList {
|
|
2
|
+
id: number
|
|
3
|
+
iconType: number
|
|
4
|
+
iconTitle?: string
|
|
5
|
+
iconName?: string
|
|
6
|
+
iconUpload?: string
|
|
7
|
+
}
|
|
8
|
+
export interface LcbUserOrderProps {
|
|
9
|
+
marginTop?: number
|
|
10
|
+
marginBottom?: number
|
|
11
|
+
marginHorizontal?: number
|
|
12
|
+
paddingVertical?: number
|
|
13
|
+
paddingHorizontal?: number
|
|
14
|
+
backgroundColor?: string
|
|
15
|
+
radius?: number
|
|
16
|
+
boxShadow?: string
|
|
17
|
+
iconSize?: number
|
|
18
|
+
iconColor?: string
|
|
19
|
+
textSize?: number
|
|
20
|
+
textColor?: string
|
|
21
|
+
shadowColor?: string
|
|
22
|
+
shadowSize?: number
|
|
23
|
+
blurSize?: number
|
|
24
|
+
iconTitle0?: string
|
|
25
|
+
iconType0?: 0 | 1
|
|
26
|
+
iconName0?: string
|
|
27
|
+
iconUpload0?: string
|
|
28
|
+
iconTitle1?: string
|
|
29
|
+
iconType1?: 0 | 1
|
|
30
|
+
iconName1?: string
|
|
31
|
+
iconUpload1?: string
|
|
32
|
+
iconTitle2?: string
|
|
33
|
+
iconType2?: 0 | 1
|
|
34
|
+
iconName2?: string
|
|
35
|
+
iconUpload2?: string
|
|
36
|
+
iconShow2?: boolean
|
|
37
|
+
iconTitle3?: string
|
|
38
|
+
iconType3?: 0 | 1
|
|
39
|
+
iconName3?: string
|
|
40
|
+
iconUpload3?: string
|
|
41
|
+
iconShow3?: boolean
|
|
42
|
+
iconTitle5?: string
|
|
43
|
+
iconType5?: 0 | 1
|
|
44
|
+
iconName5?: string
|
|
45
|
+
iconUpload5?: string
|
|
46
|
+
iconTitle?: string
|
|
47
|
+
iconType?: 0 | 1
|
|
48
|
+
iconName?: string
|
|
49
|
+
iconUpload?: string
|
|
50
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { LcbUserTopProps } from './types'
|
|
2
|
+
declare const _default: import('vue').DefineComponent<
|
|
3
|
+
__VLS_WithDefaults<
|
|
4
|
+
__VLS_TypePropsToOption<LcbUserTopProps>,
|
|
5
|
+
{
|
|
6
|
+
photoSize: number
|
|
7
|
+
paddingLeft: number
|
|
8
|
+
paddingRight: number
|
|
9
|
+
paddingTop: number
|
|
10
|
+
paddingBottom: number
|
|
11
|
+
photoRound: boolean
|
|
12
|
+
textSize: number
|
|
13
|
+
textColor: string
|
|
14
|
+
moreIcon: boolean
|
|
15
|
+
iconType: number
|
|
16
|
+
iconName: string
|
|
17
|
+
editText: string
|
|
18
|
+
editSize: number
|
|
19
|
+
}
|
|
20
|
+
>,
|
|
21
|
+
{},
|
|
22
|
+
unknown,
|
|
23
|
+
{},
|
|
24
|
+
{},
|
|
25
|
+
import('vue').ComponentOptionsMixin,
|
|
26
|
+
import('vue').ComponentOptionsMixin,
|
|
27
|
+
{},
|
|
28
|
+
string,
|
|
29
|
+
import('vue').PublicProps,
|
|
30
|
+
Readonly<
|
|
31
|
+
import('vue').ExtractPropTypes<
|
|
32
|
+
__VLS_WithDefaults<
|
|
33
|
+
__VLS_TypePropsToOption<LcbUserTopProps>,
|
|
34
|
+
{
|
|
35
|
+
photoSize: number
|
|
36
|
+
paddingLeft: number
|
|
37
|
+
paddingRight: number
|
|
38
|
+
paddingTop: number
|
|
39
|
+
paddingBottom: number
|
|
40
|
+
photoRound: boolean
|
|
41
|
+
textSize: number
|
|
42
|
+
textColor: string
|
|
43
|
+
moreIcon: boolean
|
|
44
|
+
iconType: number
|
|
45
|
+
iconName: string
|
|
46
|
+
editText: string
|
|
47
|
+
editSize: number
|
|
48
|
+
}
|
|
49
|
+
>
|
|
50
|
+
>
|
|
51
|
+
>,
|
|
52
|
+
{
|
|
53
|
+
paddingTop: number
|
|
54
|
+
paddingBottom: number
|
|
55
|
+
paddingLeft: number
|
|
56
|
+
paddingRight: number
|
|
57
|
+
textColor: string
|
|
58
|
+
iconType: 0 | 1
|
|
59
|
+
textSize: number
|
|
60
|
+
iconName: string
|
|
61
|
+
photoRound: boolean
|
|
62
|
+
photoSize: number
|
|
63
|
+
moreIcon: boolean
|
|
64
|
+
editText: string
|
|
65
|
+
editSize: number
|
|
66
|
+
},
|
|
67
|
+
{}
|
|
68
|
+
>
|
|
69
|
+
export default _default
|
|
70
|
+
type __VLS_WithDefaults<P, D> = {
|
|
71
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D
|
|
72
|
+
? __VLS_Prettify<
|
|
73
|
+
P[K] & {
|
|
74
|
+
default: D[K]
|
|
75
|
+
}
|
|
76
|
+
>
|
|
77
|
+
: P[K]
|
|
78
|
+
}
|
|
79
|
+
type __VLS_Prettify<T> = {
|
|
80
|
+
[K in keyof T]: T[K]
|
|
81
|
+
} & {}
|
|
82
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T
|
|
83
|
+
type __VLS_TypePropsToOption<T> = {
|
|
84
|
+
[K in keyof T]-?: {} extends Pick<T, K>
|
|
85
|
+
? {
|
|
86
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>
|
|
87
|
+
}
|
|
88
|
+
: {
|
|
89
|
+
type: import('vue').PropType<T[K]>
|
|
90
|
+
required: true
|
|
91
|
+
}
|
|
92
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface LcbUserTopProps {
|
|
2
|
+
paddingTop?: number
|
|
3
|
+
paddingBottom?: number
|
|
4
|
+
paddingLeft?: number
|
|
5
|
+
paddingRight?: number
|
|
6
|
+
photoUrl?: string
|
|
7
|
+
photoRound?: boolean
|
|
8
|
+
photoSize?: number
|
|
9
|
+
textSize?: number
|
|
10
|
+
textColor?: string
|
|
11
|
+
backgroundColor?: string
|
|
12
|
+
backgroundImage?: string
|
|
13
|
+
moreIcon?: boolean
|
|
14
|
+
iconName?: string
|
|
15
|
+
iconUpload?: string
|
|
16
|
+
iconType?: 0 | 1
|
|
17
|
+
editBtn?: boolean
|
|
18
|
+
editText?: string
|
|
19
|
+
editBorder?: boolean
|
|
20
|
+
editSize?: number
|
|
21
|
+
valuesCard?: boolean
|
|
22
|
+
coupons?: boolean
|
|
23
|
+
presales?: boolean
|
|
24
|
+
}
|