1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- "use strict";
- const stores_user = require("../stores/user.js");
- function authPermission(permission) {
- const all_permission = "*:*:*";
- const permissions = stores_user.useUserStore().permissions;
- if (permission && permission.length > 0) {
- return permissions.some((v) => {
- return all_permission === v || v === permission;
- });
- } else {
- return false;
- }
- }
- function authRole(role) {
- const super_admin = "admin";
- const roles = stores_user.useUserStore().roles;
- if (role && role.length > 0) {
- return roles.some((v) => {
- return super_admin === v || v === role;
- });
- } else {
- return false;
- }
- }
- const auth = {
- // 验证用户是否具备某权限
- hasPermi(permission) {
- return authPermission(permission);
- },
- // 验证用户是否含有指定权限,只需包含其中一个
- hasPermiOr(permissions) {
- return permissions.some((item) => {
- return authPermission(item);
- });
- },
- // 验证用户是否含有指定权限,必须全部拥有
- hasPermiAnd(permissions) {
- return permissions.every((item) => {
- return authPermission(item);
- });
- },
- // 验证用户是否具备某角色
- hasRole(role) {
- return authRole(role);
- },
- // 验证用户是否含有指定角色,只需包含其中一个
- hasRoleOr(roles) {
- return roles.some((item) => {
- return authRole(item);
- });
- },
- // 验证用户是否含有指定角色,必须全部拥有
- hasRoleAnd(roles) {
- return roles.every((item) => {
- return authRole(item);
- });
- }
- };
- exports.auth = auth;
|