<!-- 错误界面 --> <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>