"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;