@tplc/business 0.4.85 → 0.4.87
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 +27 -0
- package/api/user.ts +8 -0
- package/components/lcb-action-view/lcb-action-view.vue +28 -2
- package/components/lcb-action-view/types.ts +5 -1
- package/components/lcb-img-nav/lcb-img-nav.vue +8 -3
- package/components/lcb-img-nav/types.ts +2 -0
- package/components/lcb-product/lcb-product.vue +1 -1
- package/components/lcb-product-item/components/ItemValue.vue +1 -1
- package/components/lcb-tabs/components/Imgs/index.vue +60 -0
- package/components/lcb-tabs/components/Tags/index.vue +1 -0
- package/components/lcb-tabs/lcb-tabs.vue +4 -0
- package/components/lcb-tabs/types.ts +4 -1
- package/components/lcb-user-top/lcb-user-top.vue +1 -1
- package/hooks/useUpload.ts +43 -39
- package/package.json +1 -1
- package/types/api/user.d.ts +11 -0
- package/types/components/lcb-action-view/lcb-action-view.vue.d.ts +1 -1
- package/types/components/lcb-action-view/types.d.ts +5 -1
- package/types/components/lcb-img-nav/lcb-img-nav.vue.d.ts +2 -0
- package/types/components/lcb-img-nav/types.d.ts +2 -0
- package/types/components/lcb-search/lcb-search.vue.d.ts +95 -0
- package/types/components/lcb-tabs/components/Imgs/index.vue.d.ts +42 -0
- package/types/components/lcb-tabs/lcb-tabs.vue.d.ts +3 -0
- package/types/components/lcb-tabs/types.d.ts +4 -1
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.87](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/compare/v0.4.86...v0.4.87) (2025-05-04)
|
|
6
|
+
|
|
7
|
+
### [0.4.86](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/compare/v0.4.83...v0.4.86) (2025-05-04)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### 🐛 Bug Fixes | Bug 修复
|
|
11
|
+
|
|
12
|
+
* 修改商品展示 ([8d3ef34](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/8d3ef34a8693fa3a5a3c89fd99c2ac3aa8ac195f))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### 🚀 Chore | 构建/工程依赖/工具
|
|
16
|
+
|
|
17
|
+
* **release:** 0.4.84 ([7b56ae5](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/7b56ae598549ea40cec87cdcf8719a29b6c132b1))
|
|
18
|
+
* **release:** 0.4.85 ([d00bbf5](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/d00bbf5404960514b00b9e0602709a200ad5b670))
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### ✨ Features | 新功能
|
|
22
|
+
|
|
23
|
+
* horizontal 支持gap ([8d5d3c8](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/8d5d3c8732b1adb6dc9afd2e5c51836a58573c8b))
|
|
24
|
+
* version ([013ff3f](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/013ff3f0118badd815876911e0e8faa11236b076))
|
|
25
|
+
* 价格居中 ([91dd0e9](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/91dd0e96048f3a26f9c990e04dc07ce5c08377c9))
|
|
26
|
+
* 支持图片 ([aa756b1](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/aa756b181a530f9748c56d631eebe0b04d2f847a))
|
|
27
|
+
* 新增页面 ([82aaddd](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/82aaddda0c747c03af1ac59a89aff8eee70bbc25))
|
|
28
|
+
* 暂时支持template ([8d413fe](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/8d413fee8ea18d86167b733f66fea8a59eaf7c49))
|
|
29
|
+
* 调整布局 ([4a95740](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/4a957408f27e2555c1078994cca20712e7be7003))
|
|
30
|
+
* 跳转布局问题 ([1b5d4ba](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/1b5d4bab4a59318bae79fdd4a435b5a32208ddcf))
|
|
31
|
+
|
|
5
32
|
### [0.4.85](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/compare/v0.4.84...v0.4.85) (2025-04-30)
|
|
6
33
|
|
|
7
34
|
|
package/api/user.ts
CHANGED
|
@@ -4,3 +4,11 @@ export const getUserPhone = (data: { encryptedData: string; iv: string; code?: s
|
|
|
4
4
|
...data,
|
|
5
5
|
appId: (import.meta as any).env.VITE_WX_APPID,
|
|
6
6
|
})
|
|
7
|
+
export interface TemplateMessage {
|
|
8
|
+
templateId: string
|
|
9
|
+
}
|
|
10
|
+
/** 获取模板消息列表 */
|
|
11
|
+
export const getTemplateMessageList = async (events = 'taskOrder') => {
|
|
12
|
+
const { data } = await uni.$lcb.http.post<TemplateMessage[]>('/templateMessage/list', { events })
|
|
13
|
+
return data
|
|
14
|
+
}
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
</template>
|
|
56
56
|
|
|
57
57
|
<script setup lang="ts">
|
|
58
|
-
import { computed, ref, inject, Ref } from 'vue'
|
|
58
|
+
import { computed, ref, inject, Ref, onMounted } from 'vue'
|
|
59
59
|
import { LcbActionViewProps } from './types'
|
|
60
60
|
import { uploadFile } from '../../hooks/useUpload'
|
|
61
61
|
import mpHtml from 'mp-html/src/uni-app/components/mp-html/mp-html.vue'
|
|
@@ -63,6 +63,7 @@ import { getFinalUrl, onPageScrollSelector, getExposed } from '../../utils/utils
|
|
|
63
63
|
import SharePopup from '../lcb-nav/SharePopup/index.vue'
|
|
64
64
|
import { useTranslate } from '@tplc/wot'
|
|
65
65
|
import { PAGE_PROVIDE_KEY, USER_BASIC_INFO } from '../../constants'
|
|
66
|
+
import { getTemplateMessageList, TemplateMessage } from '../../api/user'
|
|
66
67
|
const { translate } = useTranslate()
|
|
67
68
|
defineOptions({
|
|
68
69
|
name: 'LcbActionView',
|
|
@@ -72,6 +73,7 @@ defineOptions({
|
|
|
72
73
|
styleIsolation: 'shared',
|
|
73
74
|
},
|
|
74
75
|
})
|
|
76
|
+
|
|
75
77
|
const props = defineProps<LcbActionViewProps>()
|
|
76
78
|
const basicInfo = inject(USER_BASIC_INFO, {}) as unknown as Ref<Record<string, any>>
|
|
77
79
|
const pageInfo = inject(PAGE_PROVIDE_KEY) as unknown as Ref<Record<string, any>>
|
|
@@ -83,7 +85,13 @@ const emits = defineEmits<{
|
|
|
83
85
|
(e: 'refresh', value: void): void
|
|
84
86
|
(e: 'nav', value: void): void
|
|
85
87
|
}>()
|
|
86
|
-
|
|
88
|
+
const templateMessageList = ref<TemplateMessage[]>([])
|
|
89
|
+
onMounted(async () => {
|
|
90
|
+
if (props.jumpType === 142 && props.events) {
|
|
91
|
+
const data = await getTemplateMessageList(props.events)
|
|
92
|
+
templateMessageList.value = data
|
|
93
|
+
}
|
|
94
|
+
})
|
|
87
95
|
const show = ref(false)
|
|
88
96
|
const openType = computed(() => {
|
|
89
97
|
return {
|
|
@@ -249,6 +257,9 @@ const onActionClick = async () => {
|
|
|
249
257
|
url: `/pages/system/imagePreview`,
|
|
250
258
|
})
|
|
251
259
|
break
|
|
260
|
+
case 142:
|
|
261
|
+
onTemplateMessage()
|
|
262
|
+
break
|
|
252
263
|
default:
|
|
253
264
|
emits('click')
|
|
254
265
|
break
|
|
@@ -275,6 +286,21 @@ const onCopy = (data?: string) => {
|
|
|
275
286
|
data,
|
|
276
287
|
})
|
|
277
288
|
}
|
|
289
|
+
const onTemplateMessage = async () => {
|
|
290
|
+
if (templateMessageList.value?.length) {
|
|
291
|
+
uni.requestSubscribeMessage({
|
|
292
|
+
tmplIds: templateMessageList.value.map((item) => item.templateId),
|
|
293
|
+
success: () => {
|
|
294
|
+
emits('click')
|
|
295
|
+
},
|
|
296
|
+
fail: () => {
|
|
297
|
+
emits('click')
|
|
298
|
+
},
|
|
299
|
+
})
|
|
300
|
+
} else {
|
|
301
|
+
emits('click')
|
|
302
|
+
}
|
|
303
|
+
}
|
|
278
304
|
</script>
|
|
279
305
|
|
|
280
306
|
<style lang="scss" scoped>
|
|
@@ -14,7 +14,7 @@ export type LcbActionViewProps = {
|
|
|
14
14
|
* 13: 退出登录 14: 小程序弹框 16: 小程序锚点 17 网络请求 21: 新窗口跳到页面 22: 切换TAB页 23: 重启进入某页面
|
|
15
15
|
* 24: 回到上一层 25: 关闭当前页面 26: 关闭当前窗口 30: 拨打电话
|
|
16
16
|
* 88: 授权手机号 101 用户头像 102 分享 103 意见反馈 104 打开授权设置页
|
|
17
|
-
* 105 查看地图 106 查看地图 141 二维码 241 返回并刷新上个页面
|
|
17
|
+
* 105 查看地图 106 查看地图 141 二维码 241 返回并刷新上个页面 142 模板消息
|
|
18
18
|
* 107 图片预览
|
|
19
19
|
*/
|
|
20
20
|
jumpType?:
|
|
@@ -83,4 +83,8 @@ export type LcbActionViewProps = {
|
|
|
83
83
|
typeName: string
|
|
84
84
|
}[]
|
|
85
85
|
}
|
|
86
|
+
| {
|
|
87
|
+
jumpType: 142
|
|
88
|
+
events: string
|
|
89
|
+
}
|
|
86
90
|
)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<lcb-block v-bind="$props">
|
|
2
|
+
<lcb-block v-bind="$props" v-if="renderItems?.length">
|
|
3
3
|
<lcb-title
|
|
4
4
|
v-if="showTitle"
|
|
5
5
|
v-bind="{
|
|
@@ -131,6 +131,7 @@ const props = withDefaults(defineProps<LcbImgNavProps>(), {
|
|
|
131
131
|
divider: true,
|
|
132
132
|
arrowSize: 44,
|
|
133
133
|
arrowColor: '#212121',
|
|
134
|
+
reverse: false,
|
|
134
135
|
})
|
|
135
136
|
|
|
136
137
|
const renderItems = computed(() => {
|
|
@@ -138,9 +139,13 @@ const renderItems = computed(() => {
|
|
|
138
139
|
props.items?.filter((item) => {
|
|
139
140
|
if (item.dependKey) {
|
|
140
141
|
if (item.keyFromUser) {
|
|
141
|
-
return
|
|
142
|
+
return props.reverse
|
|
143
|
+
? !userStore?.userInfo?.[item.dependKey]
|
|
144
|
+
: Boolean(userStore?.userInfo?.[item.dependKey])
|
|
142
145
|
} else {
|
|
143
|
-
return
|
|
146
|
+
return props.reverse
|
|
147
|
+
? !pageInfo.value?.[item.dependKey]
|
|
148
|
+
: Boolean(pageInfo.value?.[item.dependKey])
|
|
144
149
|
}
|
|
145
150
|
}
|
|
146
151
|
return true
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<lcb-block v-bind="$props">
|
|
3
|
+
<view
|
|
4
|
+
:class="{
|
|
5
|
+
'flex flex-wrap': tagsMode === 'tiled',
|
|
6
|
+
'flex whitespace-nowrap overflow-x-auto': tagsMode === 'scroll',
|
|
7
|
+
}"
|
|
8
|
+
:style="{
|
|
9
|
+
gap: transformValueUnit(gap),
|
|
10
|
+
}"
|
|
11
|
+
>
|
|
12
|
+
<wd-img
|
|
13
|
+
v-for="(item, index) in items"
|
|
14
|
+
:key="index"
|
|
15
|
+
:class="{
|
|
16
|
+
'inline-block': tagsMode === 'scroll',
|
|
17
|
+
}"
|
|
18
|
+
:style="{
|
|
19
|
+
fontSize: transformValueUnit(itemFontSize),
|
|
20
|
+
}"
|
|
21
|
+
:width="transformValueUnit(imgWidth)"
|
|
22
|
+
height="auto"
|
|
23
|
+
mode="widthFix"
|
|
24
|
+
:src="current === index ? item.activeUrl : item.inactiveUrl"
|
|
25
|
+
@click="handleTagClick(item.name, index)"
|
|
26
|
+
/>
|
|
27
|
+
</view>
|
|
28
|
+
</lcb-block>
|
|
29
|
+
</template>
|
|
30
|
+
|
|
31
|
+
<script setup lang="ts">
|
|
32
|
+
import { ref } from 'vue'
|
|
33
|
+
import useSyncForm from '../../../../hooks/useSyncForm'
|
|
34
|
+
import { transformValueUnit } from '../../../../utils/transform'
|
|
35
|
+
import { LcbTabsProps } from '../../types'
|
|
36
|
+
const props = withDefaults(defineProps<LcbTabsProps>(), {})
|
|
37
|
+
const { syncForm } = useSyncForm(props.dynamicScope)
|
|
38
|
+
const current = ref(0)
|
|
39
|
+
defineOptions({
|
|
40
|
+
name: 'LcbTagsItem',
|
|
41
|
+
options: {
|
|
42
|
+
addGlobalClass: true,
|
|
43
|
+
virtualHost: true,
|
|
44
|
+
styleIsolation: 'shared',
|
|
45
|
+
},
|
|
46
|
+
})
|
|
47
|
+
const handleTagClick = (name: string, index: number) => {
|
|
48
|
+
current.value = index
|
|
49
|
+
try {
|
|
50
|
+
syncForm(JSON.parse(name))
|
|
51
|
+
} catch (error) {
|
|
52
|
+
console.error(error)
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
handleTagClick(props.items?.[0].name, 0)
|
|
56
|
+
</script>
|
|
57
|
+
|
|
58
|
+
<style lang="scss" scoped>
|
|
59
|
+
@import '@tplc/wot/components/common/abstracts/variable';
|
|
60
|
+
</style>
|
|
@@ -2,15 +2,18 @@
|
|
|
2
2
|
<wd-sticky v-if="sticky">
|
|
3
3
|
<view class="w-100vw">
|
|
4
4
|
<Tabs v-bind="$props" v-if="mode === 'tabs'" />
|
|
5
|
+
<Imgs v-bind="$props" v-else-if="mode === 'image'" />
|
|
5
6
|
<Tags v-bind="$props" v-else />
|
|
6
7
|
</view>
|
|
7
8
|
</wd-sticky>
|
|
8
9
|
<Tabs v-else-if="mode === 'tabs'" v-bind="$props" />
|
|
10
|
+
<Imgs v-else-if="mode === 'image'" v-bind="$props" />
|
|
9
11
|
<Tags v-else v-bind="$props" />
|
|
10
12
|
</template>
|
|
11
13
|
|
|
12
14
|
<script setup lang="ts">
|
|
13
15
|
import { LcbTabsProps } from './types'
|
|
16
|
+
import Imgs from './components/Imgs/index.vue'
|
|
14
17
|
import Tabs from './components/Tabs/index.vue'
|
|
15
18
|
import Tags from './components/Tags/index.vue'
|
|
16
19
|
defineOptions({
|
|
@@ -25,6 +28,7 @@ withDefaults(defineProps<LcbTabsProps>(), {
|
|
|
25
28
|
itemFontSize: 28,
|
|
26
29
|
tagsMode: 'tiled',
|
|
27
30
|
gap: 16,
|
|
31
|
+
imgWidth: 100,
|
|
28
32
|
})
|
|
29
33
|
</script>
|
|
30
34
|
|
|
@@ -6,14 +6,17 @@ export interface LcbTabsProps extends LcbBlockProps {
|
|
|
6
6
|
items: {
|
|
7
7
|
title: string
|
|
8
8
|
name: string
|
|
9
|
+
activeUrl?: string
|
|
10
|
+
inactiveUrl?: string
|
|
9
11
|
}[]
|
|
10
12
|
lineWidth?: number
|
|
11
13
|
lineHeight?: number
|
|
12
14
|
slidable?: 'always' | 'auto'
|
|
13
15
|
slidableNum?: number
|
|
14
16
|
itemFontSize?: number
|
|
15
|
-
mode?: 'tabs' | 'block'
|
|
17
|
+
mode?: 'tabs' | 'block' | 'image'
|
|
16
18
|
tagsMode?: 'scroll' | 'tiled'
|
|
17
19
|
gap?: number
|
|
18
20
|
dynamicScope?: string
|
|
21
|
+
imgWidth?: number
|
|
19
22
|
}
|
package/hooks/useUpload.ts
CHANGED
|
@@ -52,25 +52,46 @@ export async function uploadFile({
|
|
|
52
52
|
}) {
|
|
53
53
|
const pageRoute = getCurrentPages().at(-1)?.route || ''
|
|
54
54
|
uni.$lcb.loadingStore?.().changeLoading(pageRoute, true)
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
55
|
+
try {
|
|
56
|
+
const { uploadUrl, ossType, fileUrl } = await uploadByUrl(`${new Date().getTime()}_${name}`)
|
|
57
|
+
const fun = (fileData: any) => {
|
|
58
|
+
uni.request({
|
|
59
|
+
url: uploadUrl,
|
|
60
|
+
method: 'PUT',
|
|
61
|
+
data: fileData,
|
|
62
|
+
header:
|
|
63
|
+
ossType === 'tyyun'
|
|
64
|
+
? {
|
|
65
|
+
'x-amz-acl': 'public-read',
|
|
66
|
+
'Content-Type': 'image',
|
|
67
|
+
}
|
|
68
|
+
: {
|
|
69
|
+
'Content-Type': ' ',
|
|
70
|
+
},
|
|
71
|
+
success: () => {
|
|
72
|
+
onSuccess?.(fileUrl)
|
|
73
|
+
if (data) data.value = fileUrl
|
|
74
|
+
uni.$lcb.loadingStore?.().changeLoading(pageRoute, false)
|
|
75
|
+
},
|
|
76
|
+
fail: () => {
|
|
77
|
+
uni.showToast({
|
|
78
|
+
title: '上传失败',
|
|
79
|
+
icon: 'none',
|
|
80
|
+
})
|
|
81
|
+
uni.$lcb.loadingStore?.().changeLoading(pageRoute, false)
|
|
82
|
+
},
|
|
83
|
+
})
|
|
84
|
+
}
|
|
85
|
+
// #ifdef H5
|
|
86
|
+
fun(await (await fetch(filePath)).arrayBuffer())
|
|
87
|
+
// #endif
|
|
88
|
+
|
|
89
|
+
// #ifndef H5
|
|
90
|
+
const fs = uni.getFileSystemManager()
|
|
91
|
+
fs.readFile({
|
|
92
|
+
filePath,
|
|
93
|
+
success: (fileRes) => {
|
|
94
|
+
fun(fileRes.data)
|
|
74
95
|
},
|
|
75
96
|
fail: () => {
|
|
76
97
|
uni.showToast({
|
|
@@ -80,25 +101,8 @@ export async function uploadFile({
|
|
|
80
101
|
uni.$lcb.loadingStore?.().changeLoading(pageRoute, false)
|
|
81
102
|
},
|
|
82
103
|
})
|
|
104
|
+
// #endif
|
|
105
|
+
} catch (error) {
|
|
106
|
+
uni.$lcb.loadingStore?.().changeLoading(pageRoute, false)
|
|
83
107
|
}
|
|
84
|
-
// #ifdef H5
|
|
85
|
-
fun(await (await fetch(filePath)).arrayBuffer())
|
|
86
|
-
// #endif
|
|
87
|
-
|
|
88
|
-
// #ifndef H5
|
|
89
|
-
const fs = uni.getFileSystemManager()
|
|
90
|
-
fs.readFile({
|
|
91
|
-
filePath,
|
|
92
|
-
success: (fileRes) => {
|
|
93
|
-
fun(fileRes.data)
|
|
94
|
-
},
|
|
95
|
-
fail: () => {
|
|
96
|
-
uni.showToast({
|
|
97
|
-
title: '上传失败',
|
|
98
|
-
icon: 'none',
|
|
99
|
-
})
|
|
100
|
-
uni.$lcb.loadingStore?.().changeLoading(pageRoute, false)
|
|
101
|
-
},
|
|
102
|
-
})
|
|
103
|
-
// #endif
|
|
104
108
|
}
|
package/package.json
CHANGED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** 获取用户手机号 */
|
|
2
|
+
export declare const getUserPhone: (data: {
|
|
3
|
+
encryptedData: string
|
|
4
|
+
iv: string
|
|
5
|
+
code?: string
|
|
6
|
+
}) => Promise<import('../action').IResData<unknown>>
|
|
7
|
+
export interface TemplateMessage {
|
|
8
|
+
templateId: string
|
|
9
|
+
}
|
|
10
|
+
/** 获取模板消息列表 */
|
|
11
|
+
export declare const getTemplateMessageList: (events?: string) => Promise<TemplateMessage[]>
|
|
@@ -13,7 +13,7 @@ export type LcbActionViewProps = {
|
|
|
13
13
|
* 13: 退出登录 14: 小程序弹框 16: 小程序锚点 17 网络请求 21: 新窗口跳到页面 22: 切换TAB页 23: 重启进入某页面
|
|
14
14
|
* 24: 回到上一层 25: 关闭当前页面 26: 关闭当前窗口 30: 拨打电话
|
|
15
15
|
* 88: 授权手机号 101 用户头像 102 分享 103 意见反馈 104 打开授权设置页
|
|
16
|
-
* 105 查看地图 106 查看地图 141 二维码 241 返回并刷新上个页面
|
|
16
|
+
* 105 查看地图 106 查看地图 141 二维码 241 返回并刷新上个页面 142 模板消息
|
|
17
17
|
* 107 图片预览
|
|
18
18
|
*/
|
|
19
19
|
jumpType?:
|
|
@@ -80,4 +80,8 @@ export type LcbActionViewProps = {
|
|
|
80
80
|
typeName: string
|
|
81
81
|
}[]
|
|
82
82
|
}
|
|
83
|
+
| {
|
|
84
|
+
jumpType: 142
|
|
85
|
+
events: string
|
|
86
|
+
}
|
|
83
87
|
)
|
|
@@ -21,6 +21,7 @@ declare const _default: import('vue').DefineComponent<
|
|
|
21
21
|
divider: boolean
|
|
22
22
|
arrowSize: number
|
|
23
23
|
arrowColor: string
|
|
24
|
+
reverse: boolean
|
|
24
25
|
}
|
|
25
26
|
>,
|
|
26
27
|
{},
|
|
@@ -57,6 +58,7 @@ declare const _default: import('vue').DefineComponent<
|
|
|
57
58
|
divider: boolean
|
|
58
59
|
arrowSize: number
|
|
59
60
|
arrowColor: string
|
|
61
|
+
reverse: boolean
|
|
60
62
|
}
|
|
61
63
|
>
|
|
62
64
|
>
|
|
@@ -553,6 +553,75 @@ declare const _default: import('vue').DefineComponent<
|
|
|
553
553
|
}
|
|
554
554
|
>
|
|
555
555
|
>
|
|
556
|
+
>
|
|
557
|
+
| Readonly<
|
|
558
|
+
import('vue').ExtractPropTypes<
|
|
559
|
+
__VLS_WithDefaults<
|
|
560
|
+
__VLS_TypePropsToOption<
|
|
561
|
+
{
|
|
562
|
+
placeholder?: string
|
|
563
|
+
icon?: string
|
|
564
|
+
url?: string
|
|
565
|
+
iconSize?: string
|
|
566
|
+
borderWidth?: number
|
|
567
|
+
iconColor?: string
|
|
568
|
+
gap?: number
|
|
569
|
+
link?: import('../lcb-action-view/types').LcbActionViewProps
|
|
570
|
+
iconType?: 'icon' | 'img'
|
|
571
|
+
mode?: 'search' | 'link'
|
|
572
|
+
productTypeList?: string[]
|
|
573
|
+
city?: boolean
|
|
574
|
+
cityColor?: string
|
|
575
|
+
citySize?: number
|
|
576
|
+
cityIconSize?: number
|
|
577
|
+
cityIconColor?: string
|
|
578
|
+
lineColor?: string
|
|
579
|
+
lineWidth?: number
|
|
580
|
+
linePadding?: number
|
|
581
|
+
lineHeight?: number
|
|
582
|
+
historyKey?: string
|
|
583
|
+
showCancel?: boolean
|
|
584
|
+
initFocus?: boolean
|
|
585
|
+
blockBackground?: string
|
|
586
|
+
} & {
|
|
587
|
+
jumpUrl?: string
|
|
588
|
+
urlParams?: string
|
|
589
|
+
customClass?: string
|
|
590
|
+
customStyle?: import('vue').StyleValue
|
|
591
|
+
renderMode?: 'view' | 'button'
|
|
592
|
+
} & {
|
|
593
|
+
jumpType: 142
|
|
594
|
+
events: string
|
|
595
|
+
} & import('../lcb-block/types').LcbBlockProps
|
|
596
|
+
>,
|
|
597
|
+
{
|
|
598
|
+
placeholder: string
|
|
599
|
+
iconSize: string
|
|
600
|
+
borderWidth: number
|
|
601
|
+
color: string
|
|
602
|
+
iconColor: string
|
|
603
|
+
gap: number
|
|
604
|
+
paddingVertical: number
|
|
605
|
+
marginHorizontal: number
|
|
606
|
+
cityColor: string
|
|
607
|
+
citySize: number
|
|
608
|
+
cityIconSize: number
|
|
609
|
+
radius: number
|
|
610
|
+
paddingHorizontal: number
|
|
611
|
+
borderColor: string
|
|
612
|
+
cityIconColor: string
|
|
613
|
+
lineColor: string
|
|
614
|
+
lineWidth: number
|
|
615
|
+
linePadding: number
|
|
616
|
+
lineHeight: number
|
|
617
|
+
iconType: string
|
|
618
|
+
mode: string
|
|
619
|
+
fontSize: number
|
|
620
|
+
initFocus: boolean
|
|
621
|
+
showCancel: boolean
|
|
622
|
+
}
|
|
623
|
+
>
|
|
624
|
+
>
|
|
556
625
|
>,
|
|
557
626
|
| {
|
|
558
627
|
mode: 'search' | 'link'
|
|
@@ -710,6 +779,32 @@ declare const _default: import('vue').DefineComponent<
|
|
|
710
779
|
showCancel: boolean
|
|
711
780
|
initFocus: boolean
|
|
712
781
|
}
|
|
782
|
+
| {
|
|
783
|
+
mode: 'search' | 'link'
|
|
784
|
+
color: string
|
|
785
|
+
lineHeight: number
|
|
786
|
+
radius: number
|
|
787
|
+
iconSize: string
|
|
788
|
+
iconColor: string
|
|
789
|
+
marginHorizontal: number
|
|
790
|
+
paddingHorizontal: number
|
|
791
|
+
paddingVertical: number
|
|
792
|
+
fontSize: number
|
|
793
|
+
borderColor: string
|
|
794
|
+
borderWidth: number
|
|
795
|
+
gap: number
|
|
796
|
+
placeholder: string
|
|
797
|
+
lineWidth: number
|
|
798
|
+
iconType: 'icon' | 'img'
|
|
799
|
+
cityColor: string
|
|
800
|
+
citySize: number
|
|
801
|
+
cityIconSize: number
|
|
802
|
+
cityIconColor: string
|
|
803
|
+
lineColor: string
|
|
804
|
+
linePadding: number
|
|
805
|
+
showCancel: boolean
|
|
806
|
+
initFocus: boolean
|
|
807
|
+
}
|
|
713
808
|
| {
|
|
714
809
|
mode: 'search' | 'link'
|
|
715
810
|
color: string
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { LcbTabsProps } from '../../types'
|
|
2
|
+
declare const _default: import('vue').DefineComponent<
|
|
3
|
+
__VLS_WithDefaults<__VLS_TypePropsToOption<LcbTabsProps>, {}>,
|
|
4
|
+
{},
|
|
5
|
+
unknown,
|
|
6
|
+
{},
|
|
7
|
+
{},
|
|
8
|
+
import('vue').ComponentOptionsMixin,
|
|
9
|
+
import('vue').ComponentOptionsMixin,
|
|
10
|
+
{},
|
|
11
|
+
string,
|
|
12
|
+
import('vue').PublicProps,
|
|
13
|
+
Readonly<
|
|
14
|
+
import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<LcbTabsProps>, {}>>
|
|
15
|
+
>,
|
|
16
|
+
{},
|
|
17
|
+
{}
|
|
18
|
+
>
|
|
19
|
+
export default _default
|
|
20
|
+
type __VLS_WithDefaults<P, D> = {
|
|
21
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D
|
|
22
|
+
? __VLS_Prettify<
|
|
23
|
+
P[K] & {
|
|
24
|
+
default: D[K]
|
|
25
|
+
}
|
|
26
|
+
>
|
|
27
|
+
: P[K]
|
|
28
|
+
}
|
|
29
|
+
type __VLS_Prettify<T> = {
|
|
30
|
+
[K in keyof T]: T[K]
|
|
31
|
+
} & {}
|
|
32
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T
|
|
33
|
+
type __VLS_TypePropsToOption<T> = {
|
|
34
|
+
[K in keyof T]-?: {} extends Pick<T, K>
|
|
35
|
+
? {
|
|
36
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>
|
|
37
|
+
}
|
|
38
|
+
: {
|
|
39
|
+
type: import('vue').PropType<T[K]>
|
|
40
|
+
required: true
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -6,6 +6,7 @@ declare const _default: import('vue').DefineComponent<
|
|
|
6
6
|
itemFontSize: number
|
|
7
7
|
tagsMode: string
|
|
8
8
|
gap: number
|
|
9
|
+
imgWidth: number
|
|
9
10
|
}
|
|
10
11
|
>,
|
|
11
12
|
{},
|
|
@@ -25,11 +26,13 @@ declare const _default: import('vue').DefineComponent<
|
|
|
25
26
|
itemFontSize: number
|
|
26
27
|
tagsMode: string
|
|
27
28
|
gap: number
|
|
29
|
+
imgWidth: number
|
|
28
30
|
}
|
|
29
31
|
>
|
|
30
32
|
>
|
|
31
33
|
>,
|
|
32
34
|
{
|
|
35
|
+
imgWidth: number
|
|
33
36
|
gap: number
|
|
34
37
|
itemFontSize: number
|
|
35
38
|
tagsMode: 'scroll' | 'tiled'
|
|
@@ -5,14 +5,17 @@ export interface LcbTabsProps extends LcbBlockProps {
|
|
|
5
5
|
items: {
|
|
6
6
|
title: string
|
|
7
7
|
name: string
|
|
8
|
+
activeUrl?: string
|
|
9
|
+
inactiveUrl?: string
|
|
8
10
|
}[]
|
|
9
11
|
lineWidth?: number
|
|
10
12
|
lineHeight?: number
|
|
11
13
|
slidable?: 'always' | 'auto'
|
|
12
14
|
slidableNum?: number
|
|
13
15
|
itemFontSize?: number
|
|
14
|
-
mode?: 'tabs' | 'block'
|
|
16
|
+
mode?: 'tabs' | 'block' | 'image'
|
|
15
17
|
tagsMode?: 'scroll' | 'tiled'
|
|
16
18
|
gap?: number
|
|
17
19
|
dynamicScope?: string
|
|
20
|
+
imgWidth?: number
|
|
18
21
|
}
|