Skip to main content
Version: 0.1.x

Introduction​

lina-vben is LinaPro's built-in admin workspace, built on Vue 3 + Vben5 + Ant Design Vue + TypeScript. It is not the definer of business logic — it is the standard UI expression layer for the lina-core API and all enabled plugin APIs.

Developers can build business applications directly on top of it, or replace it with a custom frontend. As long as the new frontend follows the core framework's public RESTful API and permission model, it can plug into the same backend capabilities.

Technology Stack​

TechnologyDescription
Vue 3Frontend framework
Vben5Enterprise-grade admin workspace foundation
Ant Design VueAdmin UI component library
TypeScriptType safety and frontend engineering quality
ViteFrontend build tool
PiniaFrontend state management
TailwindCSSUtility-first CSS toolkit

Design Boundaries​

The workspace consumes contracts, not defines them​

The workspace reads menus, permissions, users, roles, configuration, tasks, plugin status, and API documentation from the core framework. Interface behavior is defined by backend API contracts — the workspace only organizes the interaction experience.

The sidebar is not a pure frontend hardcode. When the core framework returns the menu tree, it merges built-in menus with menus declared by enabled plugins, and filters based on the current user's permissions. When a plugin is disabled, its menu and route entries disappear automatically.

Plugin pages load through a dynamic page shell​

Both source plugins and dynamic plugins can declare frontend pages. The workspace loads plugin pages through the system/plugin/dynamic-page shell, reducing the need for plugins to modify workspace code.

Functional Modules​

The workspace provides visual entry points for core framework and plugin capabilities. Different modules have different backend owners, but users get a unified experience in the interface.

ModuleKey CapabilitiesSource
Access controlUsers, roles, menus, button permissions, permission assignmentCore framework
System settingsDictionaries, parameters, file management, runtime configurationCore framework
Job schedulingTasks, groups, execution logs, manual triggersCore framework
Multi-tenant managementTenants, membership, tenant switching, tenant plugin governancemulti-tenant plugin
Organization managementDepartments, positionsorg-center plugin
Content managementNotices and announcementscontent-notice plugin
System monitoringOnline users, service monitoring, operation logs, login logsmonitor-* plugins
Extension centerPlugin discovery, installation, enablement, disablement, upgrade, uninstallationCore framework and plugin system
Developer centerAPI documentation, system informationCore framework

Access Control Experience​

Access control revolves around the RBAC model:

User management, role management, and menu management handle accounts, authorization sets, and permission tree maintenance respectively. After a role selects menu or button permissions, the permission topology takes effect quickly. In cluster mode, the core framework notifies other nodes to refresh through a cache revision mechanism.

Dynamic Plugin Menu Injection​

The plugin menu injection flow:

This design lets plugin enablement, disablement, and permission changes be driven by core framework governance data, without the workspace needing to change code for each plugin.

Extension Center​

The Extension Center is the primary interface for plugin runtime governance. It displays plugin type, version, status, runtime upgrade status, dependencies, and available operations.

Common operations:

OperationDescription
InstallRuns dependency checks, installation SQL, and writes governance records
EnableRegisters menus, routes, hooks, scheduled tasks, and activates business entry points
DisableHides menus and routes; retains plugin data
UninstallCleans up governance records; optionally cleans plugin-owned data based on user choice
UpgradeExecutes explicit runtime upgrade for pending_upgrade or upgrade_failed plugins
Upload dynamic pluginUploads a .wasm artifact, entering the dynamic plugin discovery and governance flow

Developer Center​

The Developer Center aggregates core framework and plugin API documentation. Developers can view OpenAPI documents, request parameters, response structures, and permission identifiers, and issue debug requests directly. Online debugging uses the current logged-in user's authentication state — write operations produce real data changes and should be used cautiously in test environments.

Default Account​

Local demo environments typically use the following default credentials:

FieldValue
Usernameadmin
Passwordadmin123
Default frontend URLhttp://localhost:5666

Production environments should change the default password immediately after initialization and configure roles and permissions according to organizational security policies.

Extension Recommendations​

To extend business functionality on the built-in workspace, prefer declaring menus, pages, and APIs through plugins rather than directly modifying workspace internal modules. Only modify lina-vben itself when you need to adjust the global layout, theme, login page, or common interaction patterns.