You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.3 KiB
Vue
61 lines
1.3 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: '/pages/index/index',
|
|
});
|
|
await ShoproInit();
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.error-page {
|
|
width: 100%;
|
|
}
|
|
</style>
|