feat:系统UI优化初版

This commit is contained in:
2026-08-17 17:10:33 +08:00
parent 4cf4e45ea2
commit bc783a4beb
11 changed files with 1774 additions and 513 deletions
@@ -149,15 +149,62 @@
})
}
function createListLoading(icon = "/assets/mobile/img/common/smart-union-loading.png") {
return vant.Toast.loading({
icon: icon,
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0,
className: "custom-list-loading"
let h5GlobalLoading = null
let h5PendingRequestCount = 0
function showH5GlobalLoading(icon = "/assets/mobile/img/common/smart-union-loading-red.svg") {
if (!h5GlobalLoading) {
h5GlobalLoading = vant.Toast.loading({
icon: icon,
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0,
className: "custom-list-loading"
})
}
}
function closeH5GlobalLoading() {
if (h5PendingRequestCount > 0 || !h5GlobalLoading) return
h5GlobalLoading.clear()
h5GlobalLoading = null
}
// 所有 H5 Axios 请求先展示 Loading,等待 200ms 后再真正发出请求。
window.bindH5AxiosLoading = function(axiosService) {
axiosService.interceptors.request.use((config) => {
h5PendingRequestCount++
showH5GlobalLoading()
return new Promise((resolve) => {
setTimeout(() => resolve(config), 200)
})
}, (error) => {
return Promise.reject(error)
})
axiosService.interceptors.response.use((response) => {
h5PendingRequestCount = Math.max(0, h5PendingRequestCount - 1)
closeH5GlobalLoading()
return response
}, (error) => {
h5PendingRequestCount = Math.max(0, h5PendingRequestCount - 1)
closeH5GlobalLoading()
return Promise.reject(error)
})
}
function createListLoading(icon = "/assets/mobile/img/common/smart-union-loading-red.svg") {
showH5GlobalLoading(icon)
const closeLoading = function() {
closeH5GlobalLoading()
}
return {
clear: closeLoading,
close: closeLoading
}
}
function historyBack(func) {