mirror of
https://gitee.com/beijing_hongye_huicheng/lilishop-ui.git
synced 2026-11-07 09:28:53 +08:00
- buyer(95) / seller(169) / im(53) / manager(280) 共 597 个组件全部从 Options API 转换为 <script setup> - 四端 vuex 全部移除,状态管理统一迁移至 pinia 4(stores/ 目录) - util.js 等基础设施去除 vm 首参依赖;全局属性($Message/$filters 等)在 script 内改为具名导入 - 被外部 ref 访问的公共组件均已补齐 defineExpose(清单见各端 MIGRATION-VUE3.md) - 各端 eslint 启用 vue/component-api-style 防止新代码回退 Options API - 四端 yarn build 全部通过;迁移约定与注意事项已更新至各端 MIGRATION-VUE3.md
116 lines
2.4 KiB
Vue
116 lines
2.4 KiB
Vue
<template>
|
|
<div class="error403">
|
|
<div class="error403-body-con">
|
|
<el-card>
|
|
<div class="error403-body-con-title">
|
|
4<span class="error403-0-span">🔒</span><span class="error403-key-span">⚡</span>
|
|
</div>
|
|
<p class="error403-body-con-message">You don't have permission</p>
|
|
<div class="error403-btn-con">
|
|
<el-button size="large" style="width: 200px" @click="goHome">返回首页</el-button>
|
|
<el-button size="large" type="primary" style="width: 200px; margin-left: 40px" @click="backPage">
|
|
返回上一页
|
|
</el-button>
|
|
</div>
|
|
</el-card>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script setup>
|
|
import { useRouter } from "vue-router";
|
|
|
|
defineOptions({ name: "Error403" });
|
|
|
|
const router = useRouter();
|
|
|
|
function backPage() {
|
|
router.go(-1);
|
|
}
|
|
function goHome() {
|
|
router.push({
|
|
name: "home_index",
|
|
});
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
@keyframes error403animation {
|
|
0% {
|
|
transform: rotateZ(0deg);
|
|
}
|
|
40% {
|
|
transform: rotateZ(-20deg);
|
|
}
|
|
45% {
|
|
transform: rotateZ(-15deg);
|
|
}
|
|
50% {
|
|
transform: rotateZ(-20deg);
|
|
}
|
|
55% {
|
|
transform: rotateZ(-15deg);
|
|
}
|
|
60% {
|
|
transform: rotateZ(-20deg);
|
|
}
|
|
100% {
|
|
transform: rotateZ(0deg);
|
|
}
|
|
}
|
|
.error403 {
|
|
&-body-con {
|
|
width: 700px;
|
|
height: 500px;
|
|
position: absolute;
|
|
left: 50%;
|
|
top: 50%;
|
|
transform: translate(-50%, -50%);
|
|
&-title {
|
|
text-align: center;
|
|
font-size: 240px;
|
|
font-weight: 700;
|
|
color: #2d8cf0;
|
|
height: 260px;
|
|
line-height: 260px;
|
|
margin-top: 40px;
|
|
.error403-0-span {
|
|
display: inline-block;
|
|
position: relative;
|
|
width: 170px;
|
|
height: 170px;
|
|
border-radius: 50%;
|
|
border: 20px solid #ed3f14;
|
|
color: #ed3f14;
|
|
margin-right: 10px;
|
|
font-size: 80px;
|
|
line-height: 130px;
|
|
}
|
|
.error403-key-span {
|
|
display: inline-block;
|
|
position: relative;
|
|
width: 100px;
|
|
height: 190px;
|
|
border-radius: 50%;
|
|
margin-right: 10px;
|
|
font-size: 80px;
|
|
animation: error403animation 2.8s ease 0s infinite;
|
|
}
|
|
}
|
|
&-message {
|
|
display: block;
|
|
text-align: center;
|
|
font-size: 30px;
|
|
font-weight: 500;
|
|
letter-spacing: 4px;
|
|
color: #dddde2;
|
|
}
|
|
}
|
|
&-btn-con {
|
|
text-align: center;
|
|
padding: 20px 0;
|
|
margin-bottom: 40px;
|
|
}
|
|
}
|
|
</style>
|