私有组件库
📖 概述
私有组件库 @tsoul/component-private
是一个企业级中后台应用组件解决方案,基于 Vue 3.x + TypeScript 构建,采用 Web Components 技术实现跨框架兼容。
🗺️ 组件导航
🏢 布局组件
- BackgroundLayout - 中后台布局解决方案
- 响应式侧边栏
- 顶部导航栏
- 页面标签管理
- 主题设置
- 水印功能
- 多语言支持
🔐 认证组件
- BackgroundLogin - 登录页面组件
- 多种布局模式
- 表单验证
- 第三方登录
- 响应式设计
🛠️ 通用组件
- Common Components - 通用工具组件
- 主题配置
- 语言切换
- 全局状态
- 工具函数
🎯 特性亮点
Web Components 技术
- 跨框架复用:组件可在 Vue、React、Svelte 中使用
- 标准化:基于 Web 标准,兼容性好
- 一次开发:多处复用,降低维护成本
- 渐进式:可逐步引入到现有项目
开发体验
- TypeScript:完整的类型定义,提供优秀的开发体验
- 主题定制:灵活的主题配置,支持深色模式
- 响应式:自适应不同屏幕尺寸
- 性能优化:按需加载,优化渲染性能
企业级特性
- 权限管理:支持细粒度权限控制
- 国际化:内置多语言支持
- 可扩展:丰富的插槽和自定义选项
- 稳定性:经过生产环境验证
🚀 快速开始
安装组件库
bash
pnpm add @tsoul/component-private
bash
npm install @tsoul/component-private
bash
yarn add @tsoul/component-private
注册组件
typescript
import { registerAll } from '@tsoul/component-private'
// 注册所有组件
registerAll()
基础使用
vue
<template>
<!-- 使用布局组件 -->
<ts-background-layout :menu-list="menuList" :active-path="currentPath" :container-size="{ height: '100vh' }">
<template #main>
<router-view />
</template>
</ts-background-layout>
</template>
🎨 主题配置
typescript
import { setGlobalConfig } from '@tsoul/component-private'
import type { Global } from '@tsoul/component-private/common/global'
const themeConfig: Global.setting = {
language: {
show: true,
trigger: 'click',
dropdownMenu: [
{ key: 'zh-CN', value: '简体中文' },
{ key: 'en', value: 'English' },
],
},
theme: {
primaryColor: '#1890ff',
darkMode: false,
},
}
setGlobalConfig(themeConfig)
📚 开发指南
最佳实践
- 组件注册:建议在应用入口统一注册所有组件
- 主题配置:根据项目需求配置全局主题
- 权限管理:合理设置菜单权限和路由权限
- 响应式:充分利用组件的响应式特性
注意事项
- 确保 Vue 版本 >= 3.0
- TypeScript 项目需要配置类型声明
- 主题配置需要在组件注册后进行
- Web Components 需要现代浏览器支持