hookehuyr

feat(网络): 添加弱网络处理逻辑和页面

在弱网络情况下显示提示弹窗并跳转
添加弱网络配置页面
统一处理网络检测失败情况
<!--
* @Date: 2024-01-16 10:06:47
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2026-01-13 15:24:06
* @LastEditTime: 2026-01-13 16:21:40
* @FilePath: /xyxBooking-weapp/src/pages/bookingCode/index.vue
* @Description: 预约码页面
-->
......@@ -48,15 +48,43 @@ const go = useGo();
useDidShow(() => {
Taro.getNetworkType({
success: (res) => {
success: async (res) => {
const isConnected = is_usable_network(res.networkType);
if (!isConnected) {
if (has_offline_booking_cache()) {
Taro.redirectTo({ url: '/pages/offlineBookingList/index' })
} else {
Taro.redirectTo({ url: '/pages/weakNetwork/index' })
}
if (isConnected) return
if (has_offline_booking_cache()) {
Taro.redirectTo({ url: '/pages/offlineBookingList/index' })
return
}
try {
await Taro.showModal({
title: '网络连接不畅',
content: '当前网络信号较弱,暂无法使用小程序,请到网络更好的地方重试。',
confirmText: '知道了',
showCancel: false,
})
} catch (e) {
console.error('show weak network modal failed:', e)
}
Taro.redirectTo({ url: '/pages/index/index' })
},
fail: async () => {
if (has_offline_booking_cache()) {
Taro.redirectTo({ url: '/pages/offlineBookingList/index' })
return
}
try {
await Taro.showModal({
title: '网络连接不畅',
content: '当前网络信号较弱,暂无法使用小程序,请到网络更好的地方重试。',
confirmText: '知道了',
showCancel: false,
})
} catch (e) {
console.error('show weak network modal failed:', e)
}
Taro.redirectTo({ url: '/pages/index/index' })
}
});
})
......
/*
* @Date: 2025-06-28 10:33:00
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2026-01-13 16:19:56
* @FilePath: /xyxBooking-weapp/src/pages/weakNetwork/index.config.js
* @Description: 网络连接不畅配置
*/
export default {
navigationBarTitleText: '网络连接不畅'
}
......@@ -32,11 +32,28 @@
import Taro from '@tarojs/taro'
import { IconFont } from '@nutui/icons-vue-taro'
import { useGo } from '@/hooks/useGo'
import { onMounted } from 'vue'
import { has_offline_booking_cache } from '@/composables/useOfflineBookingCache'
import icon_invite from '@/assets/images/二维码@2x2.png'
const go = useGo();
onMounted(async () => {
if (has_offline_booking_cache()) return
try {
await Taro.showModal({
title: '网络连接不畅',
content: '当前网络信号较弱,暂无法使用小程序,请到网络更好的地方重试。',
confirmText: '知道了',
showCancel: false,
})
} catch (e) {
console.error('show weak network modal failed:', e)
}
Taro.reLaunch({ url: '/pages/index/index' })
})
const toOfflineCode = () => {
go('/pages/offlineBookingList/index');
}
......