2021-01-21 00:18:30 +08:00
|
|
|
|
<template>
|
|
|
|
|
<div>
|
2021-02-04 18:13:03 +08:00
|
|
|
|
<LimitsFrontEndPage />
|
2021-02-05 01:15:37 +08:00
|
|
|
|
<!-- 演示1:组件方式 -->
|
2021-02-04 18:13:03 +08:00
|
|
|
|
<el-card shadow="hover" header="演示1:组件方式" class="mt15">
|
|
|
|
|
<el-row class="mb10" style="color:#808080;">单个权限验证(:value="xxx"):</el-row>
|
|
|
|
|
<div class="flex-warp">
|
|
|
|
|
<Auth :value="'btn.add'">
|
|
|
|
|
<div class="flex-warp-item">
|
|
|
|
|
<div class="flex-warp-item-box">
|
|
|
|
|
<el-button type="primary" size="small" icon="el-icon-document-add">新增
|
|
|
|
|
</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</Auth>
|
|
|
|
|
<Auth :value="'btn.edit'">
|
|
|
|
|
<div class="flex-warp-item">
|
|
|
|
|
<div class="flex-warp-item-box">
|
|
|
|
|
<el-button type="info" size="small" icon="el-icon-edit-outline">编辑</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</Auth>
|
|
|
|
|
<Auth :value="'btn.del'">
|
|
|
|
|
<div class="flex-warp-item">
|
|
|
|
|
<div class="flex-warp-item-box">
|
|
|
|
|
<el-button type="danger" size="small" icon="el-icon-delete">删除
|
|
|
|
|
</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</Auth>
|
|
|
|
|
<Auth :value="'btn.link'">
|
|
|
|
|
<div class="flex-warp-item">
|
|
|
|
|
<div class="flex-warp-item-box">
|
|
|
|
|
<el-button type="success" size="small" icon="el-icon-link">跳转
|
|
|
|
|
</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</Auth>
|
|
|
|
|
</div>
|
2021-02-05 01:15:37 +08:00
|
|
|
|
|
|
|
|
|
<el-row class="mb10 mt10" style="color:#808080;">多个权限验证,满足一个则显示(:value="[xxx,xxx]"):</el-row>
|
2021-02-04 18:13:03 +08:00
|
|
|
|
<div class="flex-warp">
|
|
|
|
|
<Auths :value="['btn.addsss','btn.edit','btn.delsss','btn.linksss']">
|
|
|
|
|
<div class="flex-warp-item">
|
|
|
|
|
<div class="flex-warp-item-box">
|
|
|
|
|
<el-button type="primary" size="small" icon="el-icon-document-add">新增
|
|
|
|
|
</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</Auths>
|
|
|
|
|
<Auths :value="['btn.add','btn.edit','btn.del','btn.link']">
|
|
|
|
|
<div class="flex-warp-item">
|
|
|
|
|
<div class="flex-warp-item-box">
|
|
|
|
|
<el-button type="info" size="small" icon="el-icon-edit-outline">编辑</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</Auths>
|
|
|
|
|
<Auths :value="['btn.add','btn.edit','btn.del','btn.link']">
|
|
|
|
|
<div class="flex-warp-item">
|
|
|
|
|
<div class="flex-warp-item-box">
|
|
|
|
|
<el-button type="danger" size="small" icon="el-icon-delete">删除
|
|
|
|
|
</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</Auths>
|
|
|
|
|
<Auths :value="['btn.add','btn.edit','btn.del','btn.link']">
|
|
|
|
|
<div class="flex-warp-item">
|
|
|
|
|
<div class="flex-warp-item-box">
|
|
|
|
|
<el-button type="success" size="small" icon="el-icon-link">跳转
|
|
|
|
|
</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</Auths>
|
|
|
|
|
</div>
|
2021-02-05 01:15:37 +08:00
|
|
|
|
|
2021-02-04 18:13:03 +08:00
|
|
|
|
<el-row class="mb10 mt10" style="color:#808080;">多个权限验证,全部满足则显示(:value="[xxx,xxx]"):</el-row>
|
|
|
|
|
<div class="flex-warp">
|
|
|
|
|
<AuthAll :value="['btn.add','btn.edit','btn.del','btn.link']">
|
|
|
|
|
<div class="flex-warp-item">
|
|
|
|
|
<div class="flex-warp-item-box">
|
|
|
|
|
<el-button type="primary" size="small" icon="el-icon-document-add">新增
|
|
|
|
|
</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</AuthAll>
|
2021-02-05 01:15:37 +08:00
|
|
|
|
<AuthAll :value="['btn.add','btn.edit','btn.del','btn.link']">
|
|
|
|
|
<div class="flex-warp-item">
|
|
|
|
|
<div class="flex-warp-item-box">
|
|
|
|
|
<el-button type="info" size="small" icon="el-icon-edit-outline">编辑</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</AuthAll>
|
|
|
|
|
<AuthAll :value="['btn.add','btn.edit','btn.del','btn.link']">
|
|
|
|
|
<div class="flex-warp-item">
|
|
|
|
|
<div class="flex-warp-item-box">
|
|
|
|
|
<el-button type="danger" size="small" icon="el-icon-delete">删除
|
|
|
|
|
</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</AuthAll>
|
|
|
|
|
<AuthAll :value="['btn.add','btn.edit','btn.del','btn.link']">
|
|
|
|
|
<div class="flex-warp-item">
|
|
|
|
|
<div class="flex-warp-item-box">
|
|
|
|
|
<el-button type="success" size="small" icon="el-icon-link">跳转
|
|
|
|
|
</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</AuthAll>
|
|
|
|
|
</div>
|
|
|
|
|
</el-card>
|
|
|
|
|
|
|
|
|
|
<!-- 演示2:指令方式 -->
|
|
|
|
|
<el-card shadow="hover" header="演示2:指令方式(页面初始化时执行)" class="mt15">
|
|
|
|
|
<el-row class="mb10" style="color:#808080;">单个权限验证(v-auth="xxx"):</el-row>
|
|
|
|
|
<div class="flex-warp">
|
|
|
|
|
<div class="flex-warp-item" v-auth="'btn.add'">
|
|
|
|
|
<div class="flex-warp-item-box">
|
|
|
|
|
<el-button type="primary" size="small" icon="el-icon-document-add">新增
|
|
|
|
|
</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="flex-warp-item" v-auth="'btn.edit'">
|
2021-02-04 18:13:03 +08:00
|
|
|
|
<div class="flex-warp-item-box">
|
|
|
|
|
<el-button type="info" size="small" icon="el-icon-edit-outline">编辑</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2021-02-05 01:15:37 +08:00
|
|
|
|
<div class="flex-warp-item" v-auth="'btn.del'">
|
2021-02-04 18:13:03 +08:00
|
|
|
|
<div class="flex-warp-item-box">
|
|
|
|
|
<el-button type="danger" size="small" icon="el-icon-delete">删除
|
|
|
|
|
</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2021-02-05 01:15:37 +08:00
|
|
|
|
<div class="flex-warp-item" v-auth="'btn.link'">
|
2021-02-04 18:13:03 +08:00
|
|
|
|
<div class="flex-warp-item-box">
|
|
|
|
|
<el-button type="success" size="small" icon="el-icon-link">跳转
|
|
|
|
|
</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2021-02-05 01:15:37 +08:00
|
|
|
|
|
|
|
|
|
<el-row class="mb10 mt10" style="color:#808080;">多个权限验证,满足一个则显示(v-auths="[xxx,xxx]"):</el-row>
|
|
|
|
|
<div class="flex-warp">
|
|
|
|
|
<div class="flex-warp-item" v-auths="['btn.addsss','btn.edit','btn.delsss','btn.linksss']">
|
|
|
|
|
<div class="flex-warp-item-box">
|
|
|
|
|
<el-button type="primary" size="small" icon="el-icon-document-add">新增
|
|
|
|
|
</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="flex-warp-item" v-auths="['btn.add','btn.edit','btn.del','btn.link']">
|
|
|
|
|
<div class="flex-warp-item-box">
|
|
|
|
|
<el-button type="info" size="small" icon="el-icon-edit-outline">编辑</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="flex-warp-item" v-auths="['btn.add','btn.edit','btn.del','btn.link']">
|
|
|
|
|
<div class="flex-warp-item-box">
|
|
|
|
|
<el-button type="danger" size="small" icon="el-icon-delete">删除
|
|
|
|
|
</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="flex-warp-item" v-auths="['btn.add','btn.edit','btn.del','btn.link']">
|
|
|
|
|
<div class="flex-warp-item-box">
|
|
|
|
|
<el-button type="success" size="small" icon="el-icon-link">跳转
|
|
|
|
|
</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<el-row class="mb10 mt10" style="color:#808080;">多个权限验证,全部满足则显示(v-auth-all="[xxx,xxx]"):</el-row>
|
|
|
|
|
<div class="flex-warp">
|
|
|
|
|
<div class="flex-warp-item" v-auth-all="['btn.add','btn.edit','btn.del','btn.link']">
|
|
|
|
|
<div class="flex-warp-item-box">
|
|
|
|
|
<el-button type="primary" size="small" icon="el-icon-document-add">新增
|
|
|
|
|
</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="flex-warp-item" v-auth-all="['btn.add','btn.edit','btn.del','btn.link']">
|
|
|
|
|
<div class="flex-warp-item-box">
|
|
|
|
|
<el-button type="info" size="small" icon="el-icon-edit-outline">编辑</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="flex-warp-item" v-auth-all="['btn.add','btn.edit','btn.del','btn.link']">
|
|
|
|
|
<div class="flex-warp-item-box">
|
|
|
|
|
<el-button type="danger" size="small" icon="el-icon-delete">删除
|
|
|
|
|
</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="flex-warp-item" v-auth-all="['btn.add','btn.edit','btn.del','btn.link']">
|
|
|
|
|
<div class="flex-warp-item-box">
|
|
|
|
|
<el-button type="success" size="small" icon="el-icon-link">跳转
|
|
|
|
|
</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</el-card>
|
|
|
|
|
|
|
|
|
|
<!-- 演示3:函数方式 -->
|
|
|
|
|
<el-card shadow="hover" header="演示3:函数方式(点击按钮查看有无权限,用于判断)" class="mt15">
|
|
|
|
|
<el-row class="mb10" style="color:#808080;">auth('xxx')、auths(['xxx','xxx'])、authAll(['xxx','xxx']):</el-row>
|
|
|
|
|
<div class="flex-warp">
|
|
|
|
|
<div class="flex-warp-item">
|
|
|
|
|
<div class="flex-warp-item-box">
|
|
|
|
|
<el-button type="primary" size="small" icon="el-icon-document-add" @click="onAuthClick">新增
|
|
|
|
|
</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="flex-warp-item">
|
|
|
|
|
<div class="flex-warp-item-box">
|
|
|
|
|
<el-button type="info" size="small" icon="el-icon-edit-outline" @click="onAuthsClick">编辑</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="flex-warp-item">
|
|
|
|
|
<div class="flex-warp-item-box">
|
|
|
|
|
<el-button type="danger" size="small" icon="el-icon-delete" @click="onAuthAllClick">删除
|
|
|
|
|
</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2021-02-04 18:13:03 +08:00
|
|
|
|
</el-card>
|
2021-01-21 00:18:30 +08:00
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script lang="ts">
|
2021-02-05 01:15:37 +08:00
|
|
|
|
import { ElMessage } from "element-plus";
|
2021-02-04 18:13:03 +08:00
|
|
|
|
import LimitsFrontEndPage from "/@/views/limits/frontEnd/page/index.vue";
|
2021-02-05 01:26:22 +08:00
|
|
|
|
import Auth from "/@/components/auth/auth.vue";
|
|
|
|
|
import Auths from "/@/components/auth/auths.vue";
|
|
|
|
|
import AuthAll from "/@/components/auth/authAll.vue";
|
2021-02-05 01:15:37 +08:00
|
|
|
|
import { auth, auths, authAll } from "/@/utils/authFunction.ts";
|
2021-01-21 00:18:30 +08:00
|
|
|
|
export default {
|
|
|
|
|
name: "limitsFrontEndBtn",
|
2021-02-04 18:13:03 +08:00
|
|
|
|
components: { LimitsFrontEndPage, Auth, Auths, AuthAll },
|
2021-01-21 00:18:30 +08:00
|
|
|
|
setup() {
|
2021-02-05 01:15:37 +08:00
|
|
|
|
// 单个权限验证
|
|
|
|
|
const onAuthClick = () => {
|
|
|
|
|
if (!auth("btn.add")) ElMessage.error("抱歉,您没有权限!");
|
|
|
|
|
else ElMessage.success("恭喜,您有权限!");
|
|
|
|
|
};
|
|
|
|
|
// 多个权限验证,满足一个则为 true
|
|
|
|
|
const onAuthsClick = () => {
|
|
|
|
|
if (!auths(["btn.add", "btn.edit", "btn.del", "btn.link"]))
|
|
|
|
|
ElMessage.error("抱歉,您没有权限!");
|
|
|
|
|
else ElMessage.success("恭喜,您有权限!");
|
|
|
|
|
};
|
|
|
|
|
// 多个权限验证,全部满足则为 true
|
|
|
|
|
const onAuthAllClick = () => {
|
|
|
|
|
if (!authAll(["btn.add", "btn.edit", "btn.del", "btn.link"]))
|
|
|
|
|
ElMessage.error("抱歉,您没有权限!");
|
|
|
|
|
else ElMessage.success("恭喜,您有权限!");
|
|
|
|
|
};
|
2021-01-21 00:18:30 +08:00
|
|
|
|
return {
|
2021-02-05 01:15:37 +08:00
|
|
|
|
onAuthClick,
|
|
|
|
|
onAuthsClick,
|
|
|
|
|
onAuthAllClick,
|
2021-01-21 00:18:30 +08:00
|
|
|
|
};
|
|
|
|
|
},
|
|
|
|
|
};
|
2021-02-04 18:13:03 +08:00
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style scoped lang="scss">
|
|
|
|
|
.flex-warp {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-wrap: wrap;
|
|
|
|
|
align-content: flex-start;
|
|
|
|
|
margin: 0 -5px;
|
|
|
|
|
.flex-warp-item {
|
|
|
|
|
padding: 5px;
|
|
|
|
|
.flex-warp-item-box {
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 100%;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</style>
|