wui-components-v2 1.1.69 → 1.1.71
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/api/core/index.ts +74 -74
- package/api/feishu.ts +20 -20
- package/api/index.ts +4 -4
- package/api/login.ts +51 -51
- package/api/menu.ts +45 -45
- package/api/page.ts +114 -114
- package/api/sys.ts +12 -12
- package/api/tree.ts +28 -28
- package/components/action-popup/action-popup.vue +116 -116
- package/components/add-address-list/add-address-list.vue +187 -187
- package/components/add-address-page/add-address-page.vue +77 -77
- package/components/add-address-page/config.ts +297 -297
- package/components/audio-play/audio-play.vue +220 -220
- package/components/batch-upload-file/batch-upload-file.vue +75 -75
- package/components/card-botom-buttons/card-botom-buttons.vue +279 -279
- package/components/custom-date-picker/custom-date-picker.vue +106 -106
- package/components/custom-select-picker/custom-select-picker.vue +95 -95
- package/components/demo-block/demo-block.vue +63 -63
- package/components/demo-card/demo-card.vue +44 -44
- package/components/detail-popup/detail-popup.vue +99 -99
- package/components/evaluation-page/evaluation-page.vue +196 -196
- package/components/fold-card/fold-card.vue +171 -171
- package/components/form-control/form-control.vue +661 -661
- package/components/global-loading/GlobalLoading.md +366 -366
- package/components/global-loading/global-loading.vue +55 -55
- package/components/global-message/GlobalMessage.md +570 -570
- package/components/global-message/global-message.vue +68 -68
- package/components/global-toast/GlobalToast.md +261 -261
- package/components/global-toast/global-toast.vue +56 -56
- package/components/label-value/label-value.vue +144 -144
- package/components/label-value/open-value-more.vue +56 -56
- package/components/list-top-buttons/list-top-buttons.vue +19 -19
- package/components/loading/loading.vue +5 -5
- package/components/login-form/login-form.vue +126 -126
- package/components/login-form-box/login-form-box.vue +65 -65
- package/components/mulselect-picker/mulselect-picker.vue +86 -86
- package/components/phone-login-form/phone-login-form.vue +204 -204
- package/components/privacy-popup/privacy-popup.vue +191 -191
- package/components/product-card/product-card.vue +201 -201
- package/components/scan-input/scan-input.vue +406 -406
- package/components/search/search.vue +128 -128
- package/components/select-col-picker/select-col-picker.vue +168 -168
- package/components/tab-search/tab-search.vue +73 -73
- package/components/tree-select/components/TreeNode.vue +200 -200
- package/components/tree-select/components/index.vue +471 -471
- package/components/tree-select/components/tree-select.vue +56 -56
- package/components/tree-select/index.vue +93 -93
- package/components/user-choose/user-choose.vue +169 -151
- package/components/video-play/video-play.vue +56 -56
- package/components/wui-auto-update-component/wui-auto-update-component.vue +132 -132
- package/components/wui-default/wui-default.vue +49 -49
- package/components/wui-details-page/wui-details-page.vue +147 -147
- package/components/wui-edit-page/wui-edit-page-copy.vue +757 -757
- package/components/wui-edit-page/wui-edit-page.vue +793 -793
- package/components/wui-enume-select-control/wui-enume-select-control.vue +92 -92
- package/components/wui-list/wui-list.vue +235 -235
- package/components/wui-login/wui-login.vue +43 -43
- package/components/wui-login1/wui-login.vue +41 -41
- package/components/wui-menus/wui-menus-top.vue +137 -137
- package/components/wui-menus/wui-menus-top1.vue +8 -8
- package/components/wui-menus/wui-menus.vue +247 -247
- package/components/wui-menus1/components/banner-carousel.vue +320 -320
- package/components/wui-menus1/components/navbar.vue +43 -43
- package/components/wui-menus1/components/quick-panel.vue +55 -55
- package/components/wui-menus1/components/search-bar.vue +49 -49
- package/components/wui-menus1/components/section-menus.vue +208 -208
- package/components/wui-menus1/wui-menus-top.vue +718 -718
- package/components/wui-menus1/wui-menus-top1.vue +398 -398
- package/components/wui-menus1/wui-menus.vue +564 -564
- package/components/wui-notify-info/notify-handle.vue +53 -53
- package/components/wui-notify-info/wui-notify-info.vue +280 -280
- package/components/wui-scan-binding-sensor/wui-scan-binding-sensor.vue +75 -75
- package/components/wui-search-history-babbar/components/SearchBar.vue +70 -70
- package/components/wui-search-history-babbar/wui-search-history-babbar.vue +204 -204
- package/components/wui-select-list/wui-select-list.vue +310 -310
- package/components/wui-select-popup/wui-select-popup.vue +613 -612
- package/components/wui-system-settings/wui-system-settings.vue +144 -144
- package/components/wui-tabbar/wui-tabbar.vue +106 -106
- package/components/wui-tree-page/components/tree-item.vue +238 -238
- package/components/wui-tree-page/wui-tree-page.vue +297 -297
- package/components/wui-update-component/wui-update-component.vue +221 -221
- package/components/wui-user/wui-user.vue +202 -202
- package/composables/types/theme.ts +65 -65
- package/composables/types/user.ts +5 -5
- package/composables/useColorGenerator.ts +221 -221
- package/composables/useCompanyFieldFilter.ts +91 -91
- package/composables/useEnumes.ts +43 -43
- package/composables/useEventBus.ts +37 -37
- package/composables/useGlobalLoading.ts +47 -47
- package/composables/useGlobalMessage.ts +53 -53
- package/composables/useGlobalToast.ts +63 -63
- package/composables/useLocale.ts +54 -54
- package/composables/useManualTheme.ts +179 -179
- package/composables/useMenus.ts +193 -193
- package/composables/useSectionMenus.ts +120 -120
- package/composables/useTabbar.ts +50 -50
- package/composables/useTheme.ts +74 -74
- package/composables/useUser.ts +24 -24
- package/index.d.ts +90 -90
- package/index.ts +83 -83
- package/package.json +24 -24
- package/static/iconfont/iconfont.css +63 -63
- package/store/language.ts +151 -151
- package/store/manualThemeStore.ts +143 -143
- package/store/persist.ts +41 -41
- package/store/themeStore.ts +74 -74
- package/store/userStore.ts +22 -22
- package/styles/dark-mode.css +523 -523
- package/styles/dark-mode.min.css +1 -1
- package/styles/dark-mode.scss +498 -498
- package/type.ts +154 -154
- package/utils/control-tree.ts +353 -353
- package/utils/control-type-supportor.ts +148 -148
- package/utils/eventBus.ts +36 -36
- package/utils/idata-scan.ts +99 -99
- package/utils/index.ts +979 -979
- package/utils/rsaEncrypt.ts +10 -10
package/composables/useTabbar.ts
CHANGED
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
import { computed, ref } from 'vue'
|
|
2
|
-
|
|
3
|
-
export interface TabbarItem {
|
|
4
|
-
name: string
|
|
5
|
-
value: number | null
|
|
6
|
-
active: boolean
|
|
7
|
-
title: string
|
|
8
|
-
icon: string
|
|
9
|
-
activeIcon?: string // 激活状态自定义图标路径
|
|
10
|
-
inactiveIcon?: string // 未激活状态自定义图标路径
|
|
11
|
-
}
|
|
12
|
-
export function useTabbar(tabbarItems: TabbarItem[]) {
|
|
13
|
-
const tabbarList = ref<TabbarItem[]>([...tabbarItems])
|
|
14
|
-
|
|
15
|
-
const activeTabbar = computed(() => {
|
|
16
|
-
const item = tabbarList.value.find(item => item.active)
|
|
17
|
-
return item || tabbarList.value[0]
|
|
18
|
-
})
|
|
19
|
-
|
|
20
|
-
const getTabbarItemValue = (name: string) => {
|
|
21
|
-
const item = tabbarList.value.find(item => item.name === name)
|
|
22
|
-
return item && item.value ? item.value : null
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
const setTabbarItem = (name: string, value: number) => {
|
|
26
|
-
const tabbarItem = tabbarList.value.find(item => item.name === name)
|
|
27
|
-
if (tabbarItem) {
|
|
28
|
-
tabbarItem.value = value
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
const setTabbarItemActive = (name: string) => {
|
|
33
|
-
tabbarList.value.forEach((item) => {
|
|
34
|
-
if (item.name === name) {
|
|
35
|
-
item.active = true
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
item.active = false
|
|
39
|
-
}
|
|
40
|
-
})
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return {
|
|
44
|
-
tabbarList,
|
|
45
|
-
activeTabbar,
|
|
46
|
-
getTabbarItemValue,
|
|
47
|
-
setTabbarItem,
|
|
48
|
-
setTabbarItemActive,
|
|
49
|
-
}
|
|
50
|
-
}
|
|
1
|
+
import { computed, ref } from 'vue'
|
|
2
|
+
|
|
3
|
+
export interface TabbarItem {
|
|
4
|
+
name: string
|
|
5
|
+
value: number | null
|
|
6
|
+
active: boolean
|
|
7
|
+
title: string
|
|
8
|
+
icon: string
|
|
9
|
+
activeIcon?: string // 激活状态自定义图标路径
|
|
10
|
+
inactiveIcon?: string // 未激活状态自定义图标路径
|
|
11
|
+
}
|
|
12
|
+
export function useTabbar(tabbarItems: TabbarItem[]) {
|
|
13
|
+
const tabbarList = ref<TabbarItem[]>([...tabbarItems])
|
|
14
|
+
|
|
15
|
+
const activeTabbar = computed(() => {
|
|
16
|
+
const item = tabbarList.value.find(item => item.active)
|
|
17
|
+
return item || tabbarList.value[0]
|
|
18
|
+
})
|
|
19
|
+
|
|
20
|
+
const getTabbarItemValue = (name: string) => {
|
|
21
|
+
const item = tabbarList.value.find(item => item.name === name)
|
|
22
|
+
return item && item.value ? item.value : null
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const setTabbarItem = (name: string, value: number) => {
|
|
26
|
+
const tabbarItem = tabbarList.value.find(item => item.name === name)
|
|
27
|
+
if (tabbarItem) {
|
|
28
|
+
tabbarItem.value = value
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const setTabbarItemActive = (name: string) => {
|
|
33
|
+
tabbarList.value.forEach((item) => {
|
|
34
|
+
if (item.name === name) {
|
|
35
|
+
item.active = true
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
item.active = false
|
|
39
|
+
}
|
|
40
|
+
})
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return {
|
|
44
|
+
tabbarList,
|
|
45
|
+
activeTabbar,
|
|
46
|
+
getTabbarItemValue,
|
|
47
|
+
setTabbarItem,
|
|
48
|
+
setTabbarItemActive,
|
|
49
|
+
}
|
|
50
|
+
}
|
package/composables/useTheme.ts
CHANGED
|
@@ -1,74 +1,74 @@
|
|
|
1
|
-
import { computed, onBeforeMount, onUnmounted } from 'vue'
|
|
2
|
-
import type { ThemeMode } from '../composables/types/theme'
|
|
3
|
-
import { useThemeStore } from '../store/themeStore'
|
|
4
|
-
/**
|
|
5
|
-
* 简化版系统主题管理组合式API
|
|
6
|
-
*
|
|
7
|
-
* 功能特性:
|
|
8
|
-
* - 仅跟随系统主题变化
|
|
9
|
-
* - 自动响应系统主题切换
|
|
10
|
-
* - 导航栏颜色通过 theme.json 自动处理
|
|
11
|
-
* - 轻量级,无额外功能
|
|
12
|
-
*
|
|
13
|
-
* 适用场景:
|
|
14
|
-
* - 只需要系统主题适应的简单应用
|
|
15
|
-
* - 不需要用户手动控制主题的应用
|
|
16
|
-
* - 追求轻量级主题管理的应用
|
|
17
|
-
*
|
|
18
|
-
* 注意事项:
|
|
19
|
-
* - 不支持手动切换主题
|
|
20
|
-
* - 不支持主题色自定义
|
|
21
|
-
* - 导航栏颜色依赖 theme.json 配置
|
|
22
|
-
*
|
|
23
|
-
* @example
|
|
24
|
-
* ```vue
|
|
25
|
-
* <script setup>
|
|
26
|
-
* import { useTheme } from '@/composables/useTheme'
|
|
27
|
-
*
|
|
28
|
-
* const { theme, isDark, themeVars } = useTheme()
|
|
29
|
-
* </script>
|
|
30
|
-
*
|
|
31
|
-
* <template>
|
|
32
|
-
* <wd-config-provider :theme-vars="themeVars">
|
|
33
|
-
* <view :class="{ 'dark-mode': isDark }">
|
|
34
|
-
* <text>当前主题: {{ theme }}</text>
|
|
35
|
-
* </view>
|
|
36
|
-
* </wd-config-provider>
|
|
37
|
-
* </template>
|
|
38
|
-
* ```
|
|
39
|
-
*/
|
|
40
|
-
export function useTheme() {
|
|
41
|
-
const store = useThemeStore()
|
|
42
|
-
|
|
43
|
-
// 组件挂载前初始化系统主题
|
|
44
|
-
onBeforeMount(() => {
|
|
45
|
-
store.initSystemTheme()
|
|
46
|
-
// 监听系统主题变化
|
|
47
|
-
if (typeof uni !== 'undefined' && uni.onThemeChange) {
|
|
48
|
-
uni.onThemeChange((res) => {
|
|
49
|
-
// 系统主题变化时自动更新,导航栏颜色由 theme.json 自动处理
|
|
50
|
-
store.setTheme(res.theme as ThemeMode)
|
|
51
|
-
console.log('系统主题已切换至:', res.theme)
|
|
52
|
-
})
|
|
53
|
-
}
|
|
54
|
-
})
|
|
55
|
-
|
|
56
|
-
// 组件卸载时清理监听
|
|
57
|
-
onUnmounted(() => {
|
|
58
|
-
if (typeof uni !== 'undefined' && uni.offThemeChange) {
|
|
59
|
-
uni.offThemeChange((res) => {
|
|
60
|
-
store.setTheme(res.theme as ThemeMode)
|
|
61
|
-
})
|
|
62
|
-
}
|
|
63
|
-
})
|
|
64
|
-
|
|
65
|
-
return {
|
|
66
|
-
// 状态(只读)
|
|
67
|
-
theme: computed(() => store.theme),
|
|
68
|
-
isDark: computed(() => store.isDark),
|
|
69
|
-
themeVars: computed(() => store.themeVars),
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
// 导出类型供外部使用
|
|
74
|
-
export type { ThemeMode }
|
|
1
|
+
import { computed, onBeforeMount, onUnmounted } from 'vue'
|
|
2
|
+
import type { ThemeMode } from '../composables/types/theme'
|
|
3
|
+
import { useThemeStore } from '../store/themeStore'
|
|
4
|
+
/**
|
|
5
|
+
* 简化版系统主题管理组合式API
|
|
6
|
+
*
|
|
7
|
+
* 功能特性:
|
|
8
|
+
* - 仅跟随系统主题变化
|
|
9
|
+
* - 自动响应系统主题切换
|
|
10
|
+
* - 导航栏颜色通过 theme.json 自动处理
|
|
11
|
+
* - 轻量级,无额外功能
|
|
12
|
+
*
|
|
13
|
+
* 适用场景:
|
|
14
|
+
* - 只需要系统主题适应的简单应用
|
|
15
|
+
* - 不需要用户手动控制主题的应用
|
|
16
|
+
* - 追求轻量级主题管理的应用
|
|
17
|
+
*
|
|
18
|
+
* 注意事项:
|
|
19
|
+
* - 不支持手动切换主题
|
|
20
|
+
* - 不支持主题色自定义
|
|
21
|
+
* - 导航栏颜色依赖 theme.json 配置
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```vue
|
|
25
|
+
* <script setup>
|
|
26
|
+
* import { useTheme } from '@/composables/useTheme'
|
|
27
|
+
*
|
|
28
|
+
* const { theme, isDark, themeVars } = useTheme()
|
|
29
|
+
* </script>
|
|
30
|
+
*
|
|
31
|
+
* <template>
|
|
32
|
+
* <wd-config-provider :theme-vars="themeVars">
|
|
33
|
+
* <view :class="{ 'dark-mode': isDark }">
|
|
34
|
+
* <text>当前主题: {{ theme }}</text>
|
|
35
|
+
* </view>
|
|
36
|
+
* </wd-config-provider>
|
|
37
|
+
* </template>
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export function useTheme() {
|
|
41
|
+
const store = useThemeStore()
|
|
42
|
+
|
|
43
|
+
// 组件挂载前初始化系统主题
|
|
44
|
+
onBeforeMount(() => {
|
|
45
|
+
store.initSystemTheme()
|
|
46
|
+
// 监听系统主题变化
|
|
47
|
+
if (typeof uni !== 'undefined' && uni.onThemeChange) {
|
|
48
|
+
uni.onThemeChange((res) => {
|
|
49
|
+
// 系统主题变化时自动更新,导航栏颜色由 theme.json 自动处理
|
|
50
|
+
store.setTheme(res.theme as ThemeMode)
|
|
51
|
+
console.log('系统主题已切换至:', res.theme)
|
|
52
|
+
})
|
|
53
|
+
}
|
|
54
|
+
})
|
|
55
|
+
|
|
56
|
+
// 组件卸载时清理监听
|
|
57
|
+
onUnmounted(() => {
|
|
58
|
+
if (typeof uni !== 'undefined' && uni.offThemeChange) {
|
|
59
|
+
uni.offThemeChange((res) => {
|
|
60
|
+
store.setTheme(res.theme as ThemeMode)
|
|
61
|
+
})
|
|
62
|
+
}
|
|
63
|
+
})
|
|
64
|
+
|
|
65
|
+
return {
|
|
66
|
+
// 状态(只读)
|
|
67
|
+
theme: computed(() => store.theme),
|
|
68
|
+
isDark: computed(() => store.isDark),
|
|
69
|
+
themeVars: computed(() => store.themeVars),
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// 导出类型供外部使用
|
|
74
|
+
export type { ThemeMode }
|
package/composables/useUser.ts
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import useUserStore from '../store/userStore'
|
|
2
|
-
import type { UserInfo } from './types/user'
|
|
3
|
-
|
|
4
|
-
export function useUser() {
|
|
5
|
-
const userStore = useUserStore()
|
|
6
|
-
|
|
7
|
-
function setUserInfo(userInfo: UserInfo) {
|
|
8
|
-
userStore.setUserInfo(userInfo)
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
return {
|
|
12
|
-
getUserInfo: (): UserInfo => {
|
|
13
|
-
return {
|
|
14
|
-
id: userStore.id,
|
|
15
|
-
name: userStore.name,
|
|
16
|
-
nickName: userStore.nickName,
|
|
17
|
-
}
|
|
18
|
-
},
|
|
19
|
-
setUserInfo,
|
|
20
|
-
id: userStore.id,
|
|
21
|
-
name: userStore.name,
|
|
22
|
-
nickName: userStore.nickName,
|
|
23
|
-
}
|
|
24
|
-
}
|
|
1
|
+
import useUserStore from '../store/userStore'
|
|
2
|
+
import type { UserInfo } from './types/user'
|
|
3
|
+
|
|
4
|
+
export function useUser() {
|
|
5
|
+
const userStore = useUserStore()
|
|
6
|
+
|
|
7
|
+
function setUserInfo(userInfo: UserInfo) {
|
|
8
|
+
userStore.setUserInfo(userInfo)
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
return {
|
|
12
|
+
getUserInfo: (): UserInfo => {
|
|
13
|
+
return {
|
|
14
|
+
id: userStore.id,
|
|
15
|
+
name: userStore.name,
|
|
16
|
+
nickName: userStore.nickName,
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
setUserInfo,
|
|
20
|
+
id: userStore.id,
|
|
21
|
+
name: userStore.name,
|
|
22
|
+
nickName: userStore.nickName,
|
|
23
|
+
}
|
|
24
|
+
}
|
package/index.d.ts
CHANGED
|
@@ -1,90 +1,90 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 核心组件包类型声明文件
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import type { App } from 'vue'
|
|
6
|
-
import type { ConfigProviderThemeVars } from '@wot-ui/ui'
|
|
7
|
-
|
|
8
|
-
// 类型声明
|
|
9
|
-
export interface ThemeColorOption {
|
|
10
|
-
name: string
|
|
11
|
-
value: string
|
|
12
|
-
primary: string
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export interface LocaleOption {
|
|
16
|
-
name: string
|
|
17
|
-
value: string
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export type ThemeMode = 'light' | 'dark'
|
|
21
|
-
|
|
22
|
-
// SystemSettings 组件类型
|
|
23
|
-
interface Component {
|
|
24
|
-
name: string
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
// 声明 SystemSettings 组件
|
|
28
|
-
declare const SystemSettings: import('vue').DefineComponent<Record<string, any>, Record<string, any>, any> & { name: string }
|
|
29
|
-
|
|
30
|
-
// 组件列表类型
|
|
31
|
-
declare const coms: Component[]
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* 批量注册组件
|
|
35
|
-
* @param app Vue 应用实例
|
|
36
|
-
*/
|
|
37
|
-
export declare function install(app: App): void
|
|
38
|
-
|
|
39
|
-
// useLocale 组合式函数返回类型
|
|
40
|
-
export interface UseLocaleReturn {
|
|
41
|
-
locale: Readonly<LocaleOption>
|
|
42
|
-
changeSystemLocale: () => void
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
// useManualTheme 组合式函数返回类型
|
|
46
|
-
export interface UseManualThemeReturn {
|
|
47
|
-
theme: Readonly<ThemeMode>
|
|
48
|
-
primary: import('vue').ComputedRef<string>
|
|
49
|
-
isDark: import('vue').ComputedRef<boolean>
|
|
50
|
-
followSystem: import('vue').ComputedRef<boolean>
|
|
51
|
-
hasUserSet: import('vue').ComputedRef<boolean>
|
|
52
|
-
currentThemeColor: import('vue').ComputedRef<ThemeColorOption>
|
|
53
|
-
currentLocale: import('vue').ComputedRef<LocaleOption>
|
|
54
|
-
themeVars: import('vue').ComputedRef<ConfigProviderThemeVars>
|
|
55
|
-
showThemeColorSheet: import('vue').Ref<boolean>
|
|
56
|
-
showLanguageSheet: import('vue').Ref<boolean>
|
|
57
|
-
themeColorOptions: ThemeColorOption[]
|
|
58
|
-
LocaleOptions: LocaleOption[]
|
|
59
|
-
initTheme: () => void
|
|
60
|
-
toggleTheme: (mode?: ThemeMode) => void
|
|
61
|
-
setFollowSystem: (follow: boolean) => void
|
|
62
|
-
openThemeColorPicker: () => void
|
|
63
|
-
closeThemeColorPicker: () => void
|
|
64
|
-
selectThemeColor: (option: ThemeColorOption) => void
|
|
65
|
-
openLanguagePicker: () => void
|
|
66
|
-
closeLanguagePicker: () => void
|
|
67
|
-
selectLanguage: (option: LocaleOption) => void
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
// useTheme 组合式函数返回类型
|
|
71
|
-
export interface UseThemeReturn {
|
|
72
|
-
theme: Readonly<ThemeMode>
|
|
73
|
-
isDark: import('vue').ComputedRef<boolean>
|
|
74
|
-
themeVars: import('vue').ComputedRef<ConfigProviderThemeVars>
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
// 组合式API函数类型声明
|
|
78
|
-
export declare function useLocale(): UseLocaleReturn
|
|
79
|
-
export declare function useManualTheme(): UseManualThemeReturn
|
|
80
|
-
export declare function useTheme(): UseThemeReturn
|
|
81
|
-
|
|
82
|
-
// 导出声明
|
|
83
|
-
export { SystemSettings }
|
|
84
|
-
|
|
85
|
-
// 导出常量
|
|
86
|
-
export declare const themeColorOptions: ThemeColorOption[]
|
|
87
|
-
export declare const LocaleOptions: LocaleOption[]
|
|
88
|
-
|
|
89
|
-
// 默认导出 install 函数
|
|
90
|
-
export default install
|
|
1
|
+
/**
|
|
2
|
+
* 核心组件包类型声明文件
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import type { App } from 'vue'
|
|
6
|
+
import type { ConfigProviderThemeVars } from '@wot-ui/ui'
|
|
7
|
+
|
|
8
|
+
// 类型声明
|
|
9
|
+
export interface ThemeColorOption {
|
|
10
|
+
name: string
|
|
11
|
+
value: string
|
|
12
|
+
primary: string
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface LocaleOption {
|
|
16
|
+
name: string
|
|
17
|
+
value: string
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export type ThemeMode = 'light' | 'dark'
|
|
21
|
+
|
|
22
|
+
// SystemSettings 组件类型
|
|
23
|
+
interface Component {
|
|
24
|
+
name: string
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// 声明 SystemSettings 组件
|
|
28
|
+
declare const SystemSettings: import('vue').DefineComponent<Record<string, any>, Record<string, any>, any> & { name: string }
|
|
29
|
+
|
|
30
|
+
// 组件列表类型
|
|
31
|
+
declare const coms: Component[]
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* 批量注册组件
|
|
35
|
+
* @param app Vue 应用实例
|
|
36
|
+
*/
|
|
37
|
+
export declare function install(app: App): void
|
|
38
|
+
|
|
39
|
+
// useLocale 组合式函数返回类型
|
|
40
|
+
export interface UseLocaleReturn {
|
|
41
|
+
locale: Readonly<LocaleOption>
|
|
42
|
+
changeSystemLocale: () => void
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// useManualTheme 组合式函数返回类型
|
|
46
|
+
export interface UseManualThemeReturn {
|
|
47
|
+
theme: Readonly<ThemeMode>
|
|
48
|
+
primary: import('vue').ComputedRef<string>
|
|
49
|
+
isDark: import('vue').ComputedRef<boolean>
|
|
50
|
+
followSystem: import('vue').ComputedRef<boolean>
|
|
51
|
+
hasUserSet: import('vue').ComputedRef<boolean>
|
|
52
|
+
currentThemeColor: import('vue').ComputedRef<ThemeColorOption>
|
|
53
|
+
currentLocale: import('vue').ComputedRef<LocaleOption>
|
|
54
|
+
themeVars: import('vue').ComputedRef<ConfigProviderThemeVars>
|
|
55
|
+
showThemeColorSheet: import('vue').Ref<boolean>
|
|
56
|
+
showLanguageSheet: import('vue').Ref<boolean>
|
|
57
|
+
themeColorOptions: ThemeColorOption[]
|
|
58
|
+
LocaleOptions: LocaleOption[]
|
|
59
|
+
initTheme: () => void
|
|
60
|
+
toggleTheme: (mode?: ThemeMode) => void
|
|
61
|
+
setFollowSystem: (follow: boolean) => void
|
|
62
|
+
openThemeColorPicker: () => void
|
|
63
|
+
closeThemeColorPicker: () => void
|
|
64
|
+
selectThemeColor: (option: ThemeColorOption) => void
|
|
65
|
+
openLanguagePicker: () => void
|
|
66
|
+
closeLanguagePicker: () => void
|
|
67
|
+
selectLanguage: (option: LocaleOption) => void
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// useTheme 组合式函数返回类型
|
|
71
|
+
export interface UseThemeReturn {
|
|
72
|
+
theme: Readonly<ThemeMode>
|
|
73
|
+
isDark: import('vue').ComputedRef<boolean>
|
|
74
|
+
themeVars: import('vue').ComputedRef<ConfigProviderThemeVars>
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// 组合式API函数类型声明
|
|
78
|
+
export declare function useLocale(): UseLocaleReturn
|
|
79
|
+
export declare function useManualTheme(): UseManualThemeReturn
|
|
80
|
+
export declare function useTheme(): UseThemeReturn
|
|
81
|
+
|
|
82
|
+
// 导出声明
|
|
83
|
+
export { SystemSettings }
|
|
84
|
+
|
|
85
|
+
// 导出常量
|
|
86
|
+
export declare const themeColorOptions: ThemeColorOption[]
|
|
87
|
+
export declare const LocaleOptions: LocaleOption[]
|
|
88
|
+
|
|
89
|
+
// 默认导出 install 函数
|
|
90
|
+
export default install
|
package/index.ts
CHANGED
|
@@ -1,83 +1,83 @@
|
|
|
1
|
-
import type { App } from 'vue'
|
|
2
|
-
// 暗黑模式样式 - 组件库入口加载(供打包后 app.use() 时生效)
|
|
3
|
-
import './styles/dark-mode.scss'
|
|
4
|
-
|
|
5
|
-
import WuiSystemSettings from './components/wui-system-settings/wui-system-settings.vue'
|
|
6
|
-
import WuiMenus from './components/wui-menus/wui-menus.vue'
|
|
7
|
-
import WuiMenus1 from './components/wui-menus1/wui-menus.vue'
|
|
8
|
-
import Wuilogin from './components/wui-login/wui-login.vue'
|
|
9
|
-
import Wuilogin1 from './components/wui-login1/wui-login.vue'
|
|
10
|
-
import WuiDefault from './components/wui-default/wui-default.vue'
|
|
11
|
-
import WuiTabbar from './components/wui-tabbar/wui-tabbar.vue'
|
|
12
|
-
import { useLocale } from './composables/useLocale'
|
|
13
|
-
import { useManualTheme } from './composables/useManualTheme'
|
|
14
|
-
import { useGlobalLoading } from './composables/useGlobalLoading'
|
|
15
|
-
import { useGlobalMessage } from './composables/useGlobalMessage'
|
|
16
|
-
import { useGlobalToast } from './composables/useGlobalToast'
|
|
17
|
-
import { useLanguageStore } from './store/language'
|
|
18
|
-
import { useUser } from './composables/useUser'
|
|
19
|
-
import { req } from './api/index'
|
|
20
|
-
import { useTabbar } from './composables/useTabbar'
|
|
21
|
-
import { persistPlugin } from './store/persist'
|
|
22
|
-
import WuiList from './components/wui-list/wui-list.vue'
|
|
23
|
-
import WuiselectList from './components/wui-select-list/wui-select-list.vue'
|
|
24
|
-
import WuieditPage from './components/wui-edit-page/wui-edit-page.vue'
|
|
25
|
-
import WuidetailsPage from './components/wui-details-page/wui-details-page.vue'
|
|
26
|
-
import WuiUpdateComponent from './components/wui-update-component/wui-update-component.vue'
|
|
27
|
-
import WuiScanBindingSensor from './components/wui-scan-binding-sensor/wui-scan-binding-sensor.vue'
|
|
28
|
-
import WuiUser from './components/wui-user/wui-user.vue'
|
|
29
|
-
import WuiAutoUpdateComponent from './components/wui-auto-update-component/wui-auto-update-component.vue'
|
|
30
|
-
import iData from './utils/idata-scan' // PAD扫描
|
|
31
|
-
import wuiSearchHistoryBabbar from './components/wui-search-history-babbar/wui-search-history-babbar.vue'
|
|
32
|
-
import wuienumeSelectControl from './components/wui-enume-select-control/wui-enume-select-control.vue'
|
|
33
|
-
import './static/iconfont/iconfont.css'
|
|
34
|
-
// 组件列表
|
|
35
|
-
const coms: Array<{ name: string }> = [
|
|
36
|
-
WuiSystemSettings,
|
|
37
|
-
WuiMenus,
|
|
38
|
-
Wuilogin,
|
|
39
|
-
WuiDefault,
|
|
40
|
-
WuiTabbar,
|
|
41
|
-
WuiList,
|
|
42
|
-
WuiselectList,
|
|
43
|
-
WuieditPage,
|
|
44
|
-
WuidetailsPage,
|
|
45
|
-
WuiUpdateComponent,
|
|
46
|
-
WuiScanBindingSensor,
|
|
47
|
-
WuiUser,
|
|
48
|
-
WuiAutoUpdateComponent,
|
|
49
|
-
Wuilogin1,
|
|
50
|
-
WuiMenus1,
|
|
51
|
-
wuiSearchHistoryBabbar,
|
|
52
|
-
wuienumeSelectControl,
|
|
53
|
-
]
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* 批量注册组件
|
|
57
|
-
* @param app Vue 应用实例
|
|
58
|
-
*/
|
|
59
|
-
function install(app: App): void {
|
|
60
|
-
coms.forEach(component => {
|
|
61
|
-
app.component(component.name, component)
|
|
62
|
-
})
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* 核心功能函数集合
|
|
67
|
-
*/
|
|
68
|
-
export {
|
|
69
|
-
useTabbar,
|
|
70
|
-
useLocale,
|
|
71
|
-
useManualTheme,
|
|
72
|
-
req, // 请求封装
|
|
73
|
-
useGlobalLoading,
|
|
74
|
-
useGlobalMessage,
|
|
75
|
-
useGlobalToast,
|
|
76
|
-
useUser,
|
|
77
|
-
persistPlugin,
|
|
78
|
-
iData, // PAD扫描
|
|
79
|
-
// nfc, // nfc读取
|
|
80
|
-
useLanguageStore, // 语言
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
export default install
|
|
1
|
+
import type { App } from 'vue'
|
|
2
|
+
// 暗黑模式样式 - 组件库入口加载(供打包后 app.use() 时生效)
|
|
3
|
+
import './styles/dark-mode.scss'
|
|
4
|
+
|
|
5
|
+
import WuiSystemSettings from './components/wui-system-settings/wui-system-settings.vue'
|
|
6
|
+
import WuiMenus from './components/wui-menus/wui-menus.vue'
|
|
7
|
+
import WuiMenus1 from './components/wui-menus1/wui-menus.vue'
|
|
8
|
+
import Wuilogin from './components/wui-login/wui-login.vue'
|
|
9
|
+
import Wuilogin1 from './components/wui-login1/wui-login.vue'
|
|
10
|
+
import WuiDefault from './components/wui-default/wui-default.vue'
|
|
11
|
+
import WuiTabbar from './components/wui-tabbar/wui-tabbar.vue'
|
|
12
|
+
import { useLocale } from './composables/useLocale'
|
|
13
|
+
import { useManualTheme } from './composables/useManualTheme'
|
|
14
|
+
import { useGlobalLoading } from './composables/useGlobalLoading'
|
|
15
|
+
import { useGlobalMessage } from './composables/useGlobalMessage'
|
|
16
|
+
import { useGlobalToast } from './composables/useGlobalToast'
|
|
17
|
+
import { useLanguageStore } from './store/language'
|
|
18
|
+
import { useUser } from './composables/useUser'
|
|
19
|
+
import { req } from './api/index'
|
|
20
|
+
import { useTabbar } from './composables/useTabbar'
|
|
21
|
+
import { persistPlugin } from './store/persist'
|
|
22
|
+
import WuiList from './components/wui-list/wui-list.vue'
|
|
23
|
+
import WuiselectList from './components/wui-select-list/wui-select-list.vue'
|
|
24
|
+
import WuieditPage from './components/wui-edit-page/wui-edit-page.vue'
|
|
25
|
+
import WuidetailsPage from './components/wui-details-page/wui-details-page.vue'
|
|
26
|
+
import WuiUpdateComponent from './components/wui-update-component/wui-update-component.vue'
|
|
27
|
+
import WuiScanBindingSensor from './components/wui-scan-binding-sensor/wui-scan-binding-sensor.vue'
|
|
28
|
+
import WuiUser from './components/wui-user/wui-user.vue'
|
|
29
|
+
import WuiAutoUpdateComponent from './components/wui-auto-update-component/wui-auto-update-component.vue'
|
|
30
|
+
import iData from './utils/idata-scan' // PAD扫描
|
|
31
|
+
import wuiSearchHistoryBabbar from './components/wui-search-history-babbar/wui-search-history-babbar.vue'
|
|
32
|
+
import wuienumeSelectControl from './components/wui-enume-select-control/wui-enume-select-control.vue'
|
|
33
|
+
import './static/iconfont/iconfont.css'
|
|
34
|
+
// 组件列表
|
|
35
|
+
const coms: Array<{ name: string }> = [
|
|
36
|
+
WuiSystemSettings,
|
|
37
|
+
WuiMenus,
|
|
38
|
+
Wuilogin,
|
|
39
|
+
WuiDefault,
|
|
40
|
+
WuiTabbar,
|
|
41
|
+
WuiList,
|
|
42
|
+
WuiselectList,
|
|
43
|
+
WuieditPage,
|
|
44
|
+
WuidetailsPage,
|
|
45
|
+
WuiUpdateComponent,
|
|
46
|
+
WuiScanBindingSensor,
|
|
47
|
+
WuiUser,
|
|
48
|
+
WuiAutoUpdateComponent,
|
|
49
|
+
Wuilogin1,
|
|
50
|
+
WuiMenus1,
|
|
51
|
+
wuiSearchHistoryBabbar,
|
|
52
|
+
wuienumeSelectControl,
|
|
53
|
+
]
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* 批量注册组件
|
|
57
|
+
* @param app Vue 应用实例
|
|
58
|
+
*/
|
|
59
|
+
function install(app: App): void {
|
|
60
|
+
coms.forEach(component => {
|
|
61
|
+
app.component(component.name, component)
|
|
62
|
+
})
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* 核心功能函数集合
|
|
67
|
+
*/
|
|
68
|
+
export {
|
|
69
|
+
useTabbar,
|
|
70
|
+
useLocale,
|
|
71
|
+
useManualTheme,
|
|
72
|
+
req, // 请求封装
|
|
73
|
+
useGlobalLoading,
|
|
74
|
+
useGlobalMessage,
|
|
75
|
+
useGlobalToast,
|
|
76
|
+
useUser,
|
|
77
|
+
persistPlugin,
|
|
78
|
+
iData, // PAD扫描
|
|
79
|
+
// nfc, // nfc读取
|
|
80
|
+
useLanguageStore, // 语言
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export default install
|