acdr/acdr-ui/src/modules/mall/public/error.vue

62 lines
1.2 KiB
Vue

<!-- 错误界面 -->
<template>
<view class="error-page">
<s-empty
v-if="errCode === 'NetworkError'"
icon="/static/internet-empty.png"
text="网络连接失败"
showAction
actionText="重新连接"
@clickAction="onReconnect"
buttonColor="#ff3000"
/>
<s-empty
v-else-if="errCode === 'TemplateError'"
icon="/static/internet-empty.png"
text="未找到模板"
showAction
actionText="重新加载"
@clickAction="onReconnect"
buttonColor="#ff3000"
/>
<s-empty
v-else-if="errCode !== ''"
icon="/static/internet-empty.png"
:text="errMsg"
showAction
actionText="重新加载"
@clickAction="onReconnect"
buttonColor="#ff3000"
/>
</view>
</template>
<script setup>
import { onLoad } from '@dcloudio/uni-app'
import { ref } from 'vue'
import { ShoproInit } from '@/sheep'
const errCode = ref('')
const errMsg = ref('')
onLoad((options) => {
errCode.value = options.errCode
errMsg.value = options.errMsg
})
// 重新连接
async function onReconnect() {
uni.reLaunch({
url: '/modules/mall/index/index',
})
await ShoproInit()
}
</script>
<style lang="scss" scoped>
.error-page {
width: 100%;
}
</style>