Permisos
Configura una Base completa o tablas, campos, registros y vistas individuales como solo lectura. Úsalo para informes o para permitir la edición de solo una parte de los datos.
Registra el plugin de Bases e importa @univerjs-pro/bases/facade antes de usar estas API.
Configurar una Base como solo lectura
const base = univerAPI.getActiveBase()if (!base) throw new Error('Open a Base first')await base.getPermission().setReadOnly()console.log(base.getPermission().canEdit()) // falseawait base.getPermission().setEditable()Restringir un objeto individual
Por ejemplo, restringe una tabla:
const table = base.getTables()[0]if (!table) throw new Error('Create a table first')await table.getPermission().setReadOnly()await table.getPermission().setEditable()Los campos, registros y vistas también exponen getPermission(), al igual que los paneles y las vistas dinámicas cuando su plugin está registrado. Habilitar un objeto no anula una restricción superior: permitir editar un registro no anula el modo de solo lectura de su tabla.
setReadOnly() y setEditable() devuelven promesas y requieren await. Usa base.getPermission().setObjectPermissions() para cambios por lotes; consulta los parámetros en Bases Facade.
Copia, exportación y comentarios
Los permisos de Base también controlan la copia, la exportación y los comentarios. Por ejemplo, desactiva la copia:
import { UnitAction } from '@univerjs/protocol'await base.getPermission().setPoint(UnitAction.Copy, false)Usa UnitAction.Export y UnitAction.Comment para los permisos de exportación y comentarios.
Conectar los permisos de negocio
Los permisos locales controlan el comportamiento del editor. Las aplicaciones colaborativas también deben autorizar en el servidor la lectura del contenido, la participación en la colaboración y el envío de cambios; consulta la integración del servidor.
Prueba con un editor, un lector y un usuario sin autorización, comprobando tanto las acciones de la página como las solicitudes directas.
¿Cómo es esta guía?