wui-components-v2 1.1.70 → 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/feishu.ts +20 -20
- package/api/index.ts +4 -4
- package/api/login.ts +51 -51
- 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/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/demo-card/demo-card.vue +44 -44
- package/components/fold-card/fold-card.vue +2 -2
- 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-toast/GlobalToast.md +261 -261
- package/components/global-toast/global-toast.vue +56 -56
- package/components/label-value/open-value-more.vue +56 -56
- package/components/loading/loading.vue +5 -5
- package/components/login-form-box/login-form-box.vue +65 -65
- package/components/phone-login-form/phone-login-form.vue +204 -204
- package/components/privacy-popup/privacy-popup.vue +191 -191
- package/components/scan-input/scan-input.vue +406 -406
- 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-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-menus1/components/banner-carousel.vue +320 -320
- 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-notify-info/notify-handle.vue +53 -53
- 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-select-popup/wui-select-popup.vue +1 -0
- package/components/wui-tree-page/wui-tree-page.vue +297 -297
- package/components/wui-update-component/wui-update-component.vue +221 -221
- package/composables/types/theme.ts +65 -65
- package/composables/types/user.ts +5 -5
- package/composables/useColorGenerator.ts +221 -221
- 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/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/package.json +24 -24
- 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.scss +498 -498
- package/type.ts +154 -154
- package/utils/control-tree.ts +353 -353
- 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
|
@@ -1,221 +1,221 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { computed, defineEmits, ref } from 'vue'
|
|
3
|
-
|
|
4
|
-
defineOptions({
|
|
5
|
-
name: 'WuiUpdateComponent',
|
|
6
|
-
})
|
|
7
|
-
const prop = defineProps({
|
|
8
|
-
show: {
|
|
9
|
-
type: Boolean,
|
|
10
|
-
default: false,
|
|
11
|
-
},
|
|
12
|
-
hydrocarbonProgramToken: {
|
|
13
|
-
type: String,
|
|
14
|
-
default: '',
|
|
15
|
-
},
|
|
16
|
-
baseUrl: {
|
|
17
|
-
type: String,
|
|
18
|
-
default: '',
|
|
19
|
-
},
|
|
20
|
-
sourceId: {
|
|
21
|
-
type: String,
|
|
22
|
-
default: '',
|
|
23
|
-
},
|
|
24
|
-
appId: {
|
|
25
|
-
type: String,
|
|
26
|
-
default: '',
|
|
27
|
-
},
|
|
28
|
-
})
|
|
29
|
-
const emit = defineEmits(['close'])
|
|
30
|
-
const closable = ref(true)
|
|
31
|
-
const loading = ref(false)
|
|
32
|
-
const percentage = ref(0) // 进度条数字
|
|
33
|
-
const entities = ref([])
|
|
34
|
-
// 更新内容
|
|
35
|
-
const updateContent = ref('')
|
|
36
|
-
|
|
37
|
-
// 计算属性,弹窗开关
|
|
38
|
-
const show = computed({
|
|
39
|
-
get() {
|
|
40
|
-
return prop.show
|
|
41
|
-
},
|
|
42
|
-
|
|
43
|
-
set(value) {
|
|
44
|
-
emit('close', value)
|
|
45
|
-
},
|
|
46
|
-
})
|
|
47
|
-
const enterUpdate = ref(false)
|
|
48
|
-
const isUpdate = ref(0)
|
|
49
|
-
// 当前版本
|
|
50
|
-
const currentVersion = ref('')
|
|
51
|
-
|
|
52
|
-
// 最新版本
|
|
53
|
-
const latestVersion = ref('')
|
|
54
|
-
|
|
55
|
-
// 关闭弹窗
|
|
56
|
-
function handleClose() {
|
|
57
|
-
show.value = false
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
// 弹框进入时检查更新
|
|
61
|
-
async function beforeEnter() {
|
|
62
|
-
loading.value = true
|
|
63
|
-
// 获取当前应用版本号
|
|
64
|
-
const v1 = await new Promise<string>((resolve, reject) => {
|
|
65
|
-
plus.runtime.getProperty(plus.runtime.appid || '', (widgetInfo) => {
|
|
66
|
-
resolve(widgetInfo.version || '')
|
|
67
|
-
})
|
|
68
|
-
console.log(reject)
|
|
69
|
-
})
|
|
70
|
-
currentVersion.value = v1
|
|
71
|
-
// 获取接口最新版本号
|
|
72
|
-
uni.request({
|
|
73
|
-
url:
|
|
74
|
-
`${prop.baseUrl
|
|
75
|
-
}/v3/mstruc/data?sourceId=${prop.sourceId}&depth=1&sortColIds=创建时间_DESC&pageNo=1&pageSize=1&c_app编码_equals=${prop.appId}&c_标记删除_equals=否`,
|
|
76
|
-
method: 'GET',
|
|
77
|
-
header: {
|
|
78
|
-
'hydrocarbon-program-token': prop.hydrocarbonProgramToken,
|
|
79
|
-
},
|
|
80
|
-
success: (res: any) => {
|
|
81
|
-
if (res.statusCode === 200) {
|
|
82
|
-
if (res.data.entities.length > 0) {
|
|
83
|
-
latestVersion.value = res.data.entities[0]['版本号'] // 最新版本号
|
|
84
|
-
isUpdate.value = compareVersions(currentVersion.value, latestVersion.value) // 比较版本号
|
|
85
|
-
entities.value = res.data.entities // 获取接口数据
|
|
86
|
-
updateContent.value = res.data.entities[0]['更新内容'] // 更新内容
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
loading.value = false
|
|
91
|
-
},
|
|
92
|
-
fail: (err) => {
|
|
93
|
-
loading.value = false
|
|
94
|
-
console.log('接口版本err:', err)
|
|
95
|
-
},
|
|
96
|
-
})
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
// 下载安装包
|
|
100
|
-
function downloadApk(code: string, name: string) {
|
|
101
|
-
// 发起下载请求
|
|
102
|
-
const downloadTask = uni.downloadFile({
|
|
103
|
-
url: `${prop.baseUrl}/v3/files/hwane27308/${code}/${name}`,
|
|
104
|
-
success: (res) => {
|
|
105
|
-
if (res.statusCode === 200) {
|
|
106
|
-
if (!res.tempFilePath)
|
|
107
|
-
return
|
|
108
|
-
// 下载完成后安装 APK
|
|
109
|
-
plus.runtime.install(
|
|
110
|
-
res.tempFilePath,
|
|
111
|
-
{
|
|
112
|
-
force: true, // 强制安装
|
|
113
|
-
},
|
|
114
|
-
() => {
|
|
115
|
-
// 重启应用
|
|
116
|
-
// plus.runtime.restart()
|
|
117
|
-
// 关闭更新弹框
|
|
118
|
-
show.value = false
|
|
119
|
-
percentage.value = 0
|
|
120
|
-
enterUpdate.value = false
|
|
121
|
-
closable.value = true
|
|
122
|
-
},
|
|
123
|
-
)
|
|
124
|
-
}
|
|
125
|
-
},
|
|
126
|
-
})
|
|
127
|
-
|
|
128
|
-
// 监听下载进度变化
|
|
129
|
-
downloadTask.onProgressUpdate((res) => {
|
|
130
|
-
console.log('当前进度:', `${res.progress}%`)
|
|
131
|
-
// 更新 UI(例如进度条)
|
|
132
|
-
percentage.value = res.progress // 假设 this.progress 是绑定的数据
|
|
133
|
-
})
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
// 版本号比对 1:大于当前版本,-1:小于当前版本,0:版本号相同
|
|
137
|
-
function compareVersions(v1: string, v2: string) {
|
|
138
|
-
// 接口版本
|
|
139
|
-
const v2Parts = v2.split('.').map(Number)
|
|
140
|
-
// 本地版本
|
|
141
|
-
const v1Parts = v1.split('.').map(Number)
|
|
142
|
-
for (let i = 0; i < Math.max(v1Parts.length, v2Parts.length); i++) {
|
|
143
|
-
const part1 = v1Parts[i] || 0
|
|
144
|
-
const part2 = v2Parts[i] || 0
|
|
145
|
-
if (part1 !== part2)
|
|
146
|
-
return part1 < part2 ? 1 : -1
|
|
147
|
-
}
|
|
148
|
-
return 0
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
// 更新按钮点击事件
|
|
152
|
-
function actionUpdate() {
|
|
153
|
-
enterUpdate.value = true
|
|
154
|
-
closable.value = false
|
|
155
|
-
isUpdate.value = 0
|
|
156
|
-
// 获取最新安装包
|
|
157
|
-
downloadApk(entities.value[0]['安装包唯一编码'], entities.value[0]['安装包名称'])
|
|
158
|
-
}
|
|
159
|
-
// 取消更新按钮点击事件
|
|
160
|
-
// function calce() {
|
|
161
|
-
// enterUpdate.value = false
|
|
162
|
-
// closable.value = true
|
|
163
|
-
// }
|
|
164
|
-
</script>
|
|
165
|
-
|
|
166
|
-
<template>
|
|
167
|
-
<!-- 更新app组件 -->
|
|
168
|
-
<wd-popup
|
|
169
|
-
v-model="show"
|
|
170
|
-
custom-style="border-radius:32rpx;"
|
|
171
|
-
:z-index="99999999"
|
|
172
|
-
:close-on-click-modal="false"
|
|
173
|
-
:closable="closable"
|
|
174
|
-
@close="handleClose"
|
|
175
|
-
@before-enter="beforeEnter"
|
|
176
|
-
>
|
|
177
|
-
<view v-if="loading" class="loadingBox">
|
|
178
|
-
<wd-loading />
|
|
179
|
-
</view>
|
|
180
|
-
<view v-else class="updateBox">
|
|
181
|
-
<wd-text text="更新提示" :bold="true" color="#333" />
|
|
182
|
-
<wd-text :text="`当前版本:${currentVersion} 最新版本:${latestVersion}`" color="#333" />
|
|
183
|
-
<wd-text v-if="isUpdate > 0" :text="updateContent" line-height="20px" :lines="4" />
|
|
184
|
-
<wd-button v-if="isUpdate !== 0" style="margin-top: auto" @click="actionUpdate">
|
|
185
|
-
更新
|
|
186
|
-
</wd-button>
|
|
187
|
-
<view v-if="enterUpdate" class="calc">
|
|
188
|
-
<wd-progress :percentage="percentage" />
|
|
189
|
-
<!-- <wd-button @click="calce">取消</wd-button> -->
|
|
190
|
-
</view>
|
|
191
|
-
</view>
|
|
192
|
-
</wd-popup>
|
|
193
|
-
</template>
|
|
194
|
-
|
|
195
|
-
<style lang="scss" scoped>
|
|
196
|
-
.updateBox {
|
|
197
|
-
display: flex;
|
|
198
|
-
flex-direction: column;
|
|
199
|
-
align-items: center;
|
|
200
|
-
width: 600rpx;
|
|
201
|
-
min-height: 200rpx;
|
|
202
|
-
padding: 32rpx;
|
|
203
|
-
background-color: #fff;
|
|
204
|
-
border-radius: 32rpx;
|
|
205
|
-
.calc {
|
|
206
|
-
width: 550rpx;
|
|
207
|
-
margin-top: 40rpx;
|
|
208
|
-
text-align: center;
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
.loadingBox {
|
|
212
|
-
display: flex;
|
|
213
|
-
align-items: center;
|
|
214
|
-
justify-content: center;
|
|
215
|
-
width: 600rpx;
|
|
216
|
-
height: 200rpx;
|
|
217
|
-
padding: 32rpx;
|
|
218
|
-
background-color: #fff;
|
|
219
|
-
border-radius: 32rpx;
|
|
220
|
-
}
|
|
221
|
-
</style>
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { computed, defineEmits, ref } from 'vue'
|
|
3
|
+
|
|
4
|
+
defineOptions({
|
|
5
|
+
name: 'WuiUpdateComponent',
|
|
6
|
+
})
|
|
7
|
+
const prop = defineProps({
|
|
8
|
+
show: {
|
|
9
|
+
type: Boolean,
|
|
10
|
+
default: false,
|
|
11
|
+
},
|
|
12
|
+
hydrocarbonProgramToken: {
|
|
13
|
+
type: String,
|
|
14
|
+
default: '',
|
|
15
|
+
},
|
|
16
|
+
baseUrl: {
|
|
17
|
+
type: String,
|
|
18
|
+
default: '',
|
|
19
|
+
},
|
|
20
|
+
sourceId: {
|
|
21
|
+
type: String,
|
|
22
|
+
default: '',
|
|
23
|
+
},
|
|
24
|
+
appId: {
|
|
25
|
+
type: String,
|
|
26
|
+
default: '',
|
|
27
|
+
},
|
|
28
|
+
})
|
|
29
|
+
const emit = defineEmits(['close'])
|
|
30
|
+
const closable = ref(true)
|
|
31
|
+
const loading = ref(false)
|
|
32
|
+
const percentage = ref(0) // 进度条数字
|
|
33
|
+
const entities = ref([])
|
|
34
|
+
// 更新内容
|
|
35
|
+
const updateContent = ref('')
|
|
36
|
+
|
|
37
|
+
// 计算属性,弹窗开关
|
|
38
|
+
const show = computed({
|
|
39
|
+
get() {
|
|
40
|
+
return prop.show
|
|
41
|
+
},
|
|
42
|
+
|
|
43
|
+
set(value) {
|
|
44
|
+
emit('close', value)
|
|
45
|
+
},
|
|
46
|
+
})
|
|
47
|
+
const enterUpdate = ref(false)
|
|
48
|
+
const isUpdate = ref(0)
|
|
49
|
+
// 当前版本
|
|
50
|
+
const currentVersion = ref('')
|
|
51
|
+
|
|
52
|
+
// 最新版本
|
|
53
|
+
const latestVersion = ref('')
|
|
54
|
+
|
|
55
|
+
// 关闭弹窗
|
|
56
|
+
function handleClose() {
|
|
57
|
+
show.value = false
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// 弹框进入时检查更新
|
|
61
|
+
async function beforeEnter() {
|
|
62
|
+
loading.value = true
|
|
63
|
+
// 获取当前应用版本号
|
|
64
|
+
const v1 = await new Promise<string>((resolve, reject) => {
|
|
65
|
+
plus.runtime.getProperty(plus.runtime.appid || '', (widgetInfo) => {
|
|
66
|
+
resolve(widgetInfo.version || '')
|
|
67
|
+
})
|
|
68
|
+
console.log(reject)
|
|
69
|
+
})
|
|
70
|
+
currentVersion.value = v1
|
|
71
|
+
// 获取接口最新版本号
|
|
72
|
+
uni.request({
|
|
73
|
+
url:
|
|
74
|
+
`${prop.baseUrl
|
|
75
|
+
}/v3/mstruc/data?sourceId=${prop.sourceId}&depth=1&sortColIds=创建时间_DESC&pageNo=1&pageSize=1&c_app编码_equals=${prop.appId}&c_标记删除_equals=否`,
|
|
76
|
+
method: 'GET',
|
|
77
|
+
header: {
|
|
78
|
+
'hydrocarbon-program-token': prop.hydrocarbonProgramToken,
|
|
79
|
+
},
|
|
80
|
+
success: (res: any) => {
|
|
81
|
+
if (res.statusCode === 200) {
|
|
82
|
+
if (res.data.entities.length > 0) {
|
|
83
|
+
latestVersion.value = res.data.entities[0]['版本号'] // 最新版本号
|
|
84
|
+
isUpdate.value = compareVersions(currentVersion.value, latestVersion.value) // 比较版本号
|
|
85
|
+
entities.value = res.data.entities // 获取接口数据
|
|
86
|
+
updateContent.value = res.data.entities[0]['更新内容'] // 更新内容
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
loading.value = false
|
|
91
|
+
},
|
|
92
|
+
fail: (err) => {
|
|
93
|
+
loading.value = false
|
|
94
|
+
console.log('接口版本err:', err)
|
|
95
|
+
},
|
|
96
|
+
})
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
// 下载安装包
|
|
100
|
+
function downloadApk(code: string, name: string) {
|
|
101
|
+
// 发起下载请求
|
|
102
|
+
const downloadTask = uni.downloadFile({
|
|
103
|
+
url: `${prop.baseUrl}/v3/files/hwane27308/${code}/${name}`,
|
|
104
|
+
success: (res) => {
|
|
105
|
+
if (res.statusCode === 200) {
|
|
106
|
+
if (!res.tempFilePath)
|
|
107
|
+
return
|
|
108
|
+
// 下载完成后安装 APK
|
|
109
|
+
plus.runtime.install(
|
|
110
|
+
res.tempFilePath,
|
|
111
|
+
{
|
|
112
|
+
force: true, // 强制安装
|
|
113
|
+
},
|
|
114
|
+
() => {
|
|
115
|
+
// 重启应用
|
|
116
|
+
// plus.runtime.restart()
|
|
117
|
+
// 关闭更新弹框
|
|
118
|
+
show.value = false
|
|
119
|
+
percentage.value = 0
|
|
120
|
+
enterUpdate.value = false
|
|
121
|
+
closable.value = true
|
|
122
|
+
},
|
|
123
|
+
)
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
})
|
|
127
|
+
|
|
128
|
+
// 监听下载进度变化
|
|
129
|
+
downloadTask.onProgressUpdate((res) => {
|
|
130
|
+
console.log('当前进度:', `${res.progress}%`)
|
|
131
|
+
// 更新 UI(例如进度条)
|
|
132
|
+
percentage.value = res.progress // 假设 this.progress 是绑定的数据
|
|
133
|
+
})
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
// 版本号比对 1:大于当前版本,-1:小于当前版本,0:版本号相同
|
|
137
|
+
function compareVersions(v1: string, v2: string) {
|
|
138
|
+
// 接口版本
|
|
139
|
+
const v2Parts = v2.split('.').map(Number)
|
|
140
|
+
// 本地版本
|
|
141
|
+
const v1Parts = v1.split('.').map(Number)
|
|
142
|
+
for (let i = 0; i < Math.max(v1Parts.length, v2Parts.length); i++) {
|
|
143
|
+
const part1 = v1Parts[i] || 0
|
|
144
|
+
const part2 = v2Parts[i] || 0
|
|
145
|
+
if (part1 !== part2)
|
|
146
|
+
return part1 < part2 ? 1 : -1
|
|
147
|
+
}
|
|
148
|
+
return 0
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
// 更新按钮点击事件
|
|
152
|
+
function actionUpdate() {
|
|
153
|
+
enterUpdate.value = true
|
|
154
|
+
closable.value = false
|
|
155
|
+
isUpdate.value = 0
|
|
156
|
+
// 获取最新安装包
|
|
157
|
+
downloadApk(entities.value[0]['安装包唯一编码'], entities.value[0]['安装包名称'])
|
|
158
|
+
}
|
|
159
|
+
// 取消更新按钮点击事件
|
|
160
|
+
// function calce() {
|
|
161
|
+
// enterUpdate.value = false
|
|
162
|
+
// closable.value = true
|
|
163
|
+
// }
|
|
164
|
+
</script>
|
|
165
|
+
|
|
166
|
+
<template>
|
|
167
|
+
<!-- 更新app组件 -->
|
|
168
|
+
<wd-popup
|
|
169
|
+
v-model="show"
|
|
170
|
+
custom-style="border-radius:32rpx;"
|
|
171
|
+
:z-index="99999999"
|
|
172
|
+
:close-on-click-modal="false"
|
|
173
|
+
:closable="closable"
|
|
174
|
+
@close="handleClose"
|
|
175
|
+
@before-enter="beforeEnter"
|
|
176
|
+
>
|
|
177
|
+
<view v-if="loading" class="loadingBox">
|
|
178
|
+
<wd-loading />
|
|
179
|
+
</view>
|
|
180
|
+
<view v-else class="updateBox">
|
|
181
|
+
<wd-text text="更新提示" :bold="true" color="#333" />
|
|
182
|
+
<wd-text :text="`当前版本:${currentVersion} 最新版本:${latestVersion}`" color="#333" />
|
|
183
|
+
<wd-text v-if="isUpdate > 0" :text="updateContent" line-height="20px" :lines="4" />
|
|
184
|
+
<wd-button v-if="isUpdate !== 0" style="margin-top: auto" @click="actionUpdate">
|
|
185
|
+
更新
|
|
186
|
+
</wd-button>
|
|
187
|
+
<view v-if="enterUpdate" class="calc">
|
|
188
|
+
<wd-progress :percentage="percentage" />
|
|
189
|
+
<!-- <wd-button @click="calce">取消</wd-button> -->
|
|
190
|
+
</view>
|
|
191
|
+
</view>
|
|
192
|
+
</wd-popup>
|
|
193
|
+
</template>
|
|
194
|
+
|
|
195
|
+
<style lang="scss" scoped>
|
|
196
|
+
.updateBox {
|
|
197
|
+
display: flex;
|
|
198
|
+
flex-direction: column;
|
|
199
|
+
align-items: center;
|
|
200
|
+
width: 600rpx;
|
|
201
|
+
min-height: 200rpx;
|
|
202
|
+
padding: 32rpx;
|
|
203
|
+
background-color: #fff;
|
|
204
|
+
border-radius: 32rpx;
|
|
205
|
+
.calc {
|
|
206
|
+
width: 550rpx;
|
|
207
|
+
margin-top: 40rpx;
|
|
208
|
+
text-align: center;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
.loadingBox {
|
|
212
|
+
display: flex;
|
|
213
|
+
align-items: center;
|
|
214
|
+
justify-content: center;
|
|
215
|
+
width: 600rpx;
|
|
216
|
+
height: 200rpx;
|
|
217
|
+
padding: 32rpx;
|
|
218
|
+
background-color: #fff;
|
|
219
|
+
border-radius: 32rpx;
|
|
220
|
+
}
|
|
221
|
+
</style>
|
|
@@ -1,65 +1,65 @@
|
|
|
1
|
-
import type { ConfigProviderThemeVars } from '@wot-ui/ui'
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* 主题色选项接口
|
|
5
|
-
*/
|
|
6
|
-
export interface ThemeColorOption {
|
|
7
|
-
name: string
|
|
8
|
-
value: string
|
|
9
|
-
primary: string
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* 语言选项接口
|
|
14
|
-
*/
|
|
15
|
-
export interface LocaleOption {
|
|
16
|
-
name: string
|
|
17
|
-
value: string
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* 主题类型
|
|
22
|
-
*/
|
|
23
|
-
export type ThemeMode = 'light' | 'dark'
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* 主题状态接口
|
|
27
|
-
*/
|
|
28
|
-
export interface ThemeState {
|
|
29
|
-
theme: ThemeMode
|
|
30
|
-
Locale: LocaleOption
|
|
31
|
-
followSystem: boolean
|
|
32
|
-
hasUserSet: boolean
|
|
33
|
-
currentThemeColor: ThemeColorOption
|
|
34
|
-
themeVars: ConfigProviderThemeVars
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* 系统主题状态接口(简化版)
|
|
39
|
-
*/
|
|
40
|
-
export interface SystemThemeState {
|
|
41
|
-
theme: ThemeMode
|
|
42
|
-
themeVars: ConfigProviderThemeVars
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* 预定义的主题色选项
|
|
47
|
-
*/
|
|
48
|
-
export const themeColorOptions: ThemeColorOption[] = [
|
|
49
|
-
{ name: '深蓝', value: 'sblue', primary: '#2164F3' },
|
|
50
|
-
{ name: '浅蓝', value: 'blue', primary: '#4D7FFF' },
|
|
51
|
-
{ name: '活力橙', value: 'orange', primary: '#FF7D00' },
|
|
52
|
-
{ name: '薄荷绿', value: 'green', primary: '#07C160' },
|
|
53
|
-
{ name: '樱花粉', value: 'pink', primary: '#FF69B4' },
|
|
54
|
-
{ name: '紫罗兰', value: 'purple', primary: '#8A2BE2' },
|
|
55
|
-
{ name: '朱砂红', value: 'red', primary: '#FF4757' },
|
|
56
|
-
]
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* 预定义的语言选项
|
|
60
|
-
*/
|
|
61
|
-
export const LocaleOptions: LocaleOption[] = [
|
|
62
|
-
{ name: '简体中文', value: 'zh-CN' },
|
|
63
|
-
{ name: 'English', value: 'en-US' },
|
|
64
|
-
{ name: '阿拉伯语', value: 'ar-SA' },
|
|
65
|
-
]
|
|
1
|
+
import type { ConfigProviderThemeVars } from '@wot-ui/ui'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 主题色选项接口
|
|
5
|
+
*/
|
|
6
|
+
export interface ThemeColorOption {
|
|
7
|
+
name: string
|
|
8
|
+
value: string
|
|
9
|
+
primary: string
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* 语言选项接口
|
|
14
|
+
*/
|
|
15
|
+
export interface LocaleOption {
|
|
16
|
+
name: string
|
|
17
|
+
value: string
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* 主题类型
|
|
22
|
+
*/
|
|
23
|
+
export type ThemeMode = 'light' | 'dark'
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* 主题状态接口
|
|
27
|
+
*/
|
|
28
|
+
export interface ThemeState {
|
|
29
|
+
theme: ThemeMode
|
|
30
|
+
Locale: LocaleOption
|
|
31
|
+
followSystem: boolean
|
|
32
|
+
hasUserSet: boolean
|
|
33
|
+
currentThemeColor: ThemeColorOption
|
|
34
|
+
themeVars: ConfigProviderThemeVars
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* 系统主题状态接口(简化版)
|
|
39
|
+
*/
|
|
40
|
+
export interface SystemThemeState {
|
|
41
|
+
theme: ThemeMode
|
|
42
|
+
themeVars: ConfigProviderThemeVars
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* 预定义的主题色选项
|
|
47
|
+
*/
|
|
48
|
+
export const themeColorOptions: ThemeColorOption[] = [
|
|
49
|
+
{ name: '深蓝', value: 'sblue', primary: '#2164F3' },
|
|
50
|
+
{ name: '浅蓝', value: 'blue', primary: '#4D7FFF' },
|
|
51
|
+
{ name: '活力橙', value: 'orange', primary: '#FF7D00' },
|
|
52
|
+
{ name: '薄荷绿', value: 'green', primary: '#07C160' },
|
|
53
|
+
{ name: '樱花粉', value: 'pink', primary: '#FF69B4' },
|
|
54
|
+
{ name: '紫罗兰', value: 'purple', primary: '#8A2BE2' },
|
|
55
|
+
{ name: '朱砂红', value: 'red', primary: '#FF4757' },
|
|
56
|
+
]
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* 预定义的语言选项
|
|
60
|
+
*/
|
|
61
|
+
export const LocaleOptions: LocaleOption[] = [
|
|
62
|
+
{ name: '简体中文', value: 'zh-CN' },
|
|
63
|
+
{ name: 'English', value: 'en-US' },
|
|
64
|
+
{ name: '阿拉伯语', value: 'ar-SA' },
|
|
65
|
+
]
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export interface UserInfo {
|
|
2
|
-
id: string
|
|
3
|
-
name: string
|
|
4
|
-
nickName: string
|
|
5
|
-
}
|
|
1
|
+
export interface UserInfo {
|
|
2
|
+
id: string
|
|
3
|
+
name: string
|
|
4
|
+
nickName: string
|
|
5
|
+
}
|