Skip to content

@lcap/basic-template 概述

@lcap/basic-template 是 LCAP Template 的核心基础库,提供框架无关的通用功能,包括 API 封装、工具函数、初始化模块等。

功能特性

  • 🚀 框架无关 - 纯函数实现,可在任何 JavaScript/TypeScript 项目中使用
  • 📦 模块化设计 - API、工具、初始化等功能模块分离
  • 🔧 企业级 API - 认证、配置、日志、流程等完整 API 封装
  • 🛠️ 丰富工具集 - Cookie、存储、路由、编码等常用工具
  • 📘 完整类型 - TypeScript 类型定义,IDE 智能提示
  • ✅ 单元测试 - Jest 测试覆盖,保证代码质量

适用场景

  • 低代码平台集成 - 作为 LCAP 平台的基础依赖
  • 企业应用开发 - 提供认证、权限、流程等企业级功能
  • 工具库使用 - 单独使用工具函数和 API 封装
  • 多框架支持 - 为 Vue、React 等框架提供基础能力

技术栈

类别技术版本说明
构建Rollup^4.19.1打包工具,输出 CommonJS 和 ES Module
测试Jest^29.7.0单元测试框架
HTTPaxios0.21.4HTTP 客户端,请求封装
工具lodash4.17.21工具函数库
日期moment2.30.1日期时间处理
日期date-fns2.30.0现代日期库
加密crypto-js4.2.0加密解密功能
数值bignumber.js9.1.2大数字精确计算
数值decimal.js10.4.3精确小数计算

模块结构

src/
├── config.ts          # 配置系统 - 全局配置管理
├── global.ts          # 全局状态 - 兼容 Vue 生态
├── index.ts           # 入口文件 - 导出所有模块
├── apis/              # API 模块
│   ├── auth/          # 认证 API - 登录、登出、Token
│   ├── configuration/ # 配置 API - 系统配置获取
│   ├── io/            # IO API - 文件上传下载
│   ├── log/           # 日志 API - 操作日志、错误日志
│   ├── lowauth/       # 低权限认证 API
│   ├── process/       # 流程 API V1 - 工作流
│   ├── processV2/     # 流程 API V2 - 增强版
│   └── system/        # 系统 API - 系统信息
├── init/              # 初始化模块
│   ├── auth/          # 认证初始化
│   ├── dataTypes/     # 数据类型初始化
│   ├── logic/         # 逻辑初始化
│   ├── process/       # 流程初始化
│   ├── router/        # 路由初始化
│   ├── service/       # 服务初始化
│   └── utils/         # 工具初始化
├── router/            # 路由系统 - 路由守卫
├── sdk/               # SDK 工具集 - 格式化器等
├── types/             # 类型定义
└── utils/             # 工具函数
    ├── cookie.ts      # Cookie 操作
    ├── localStorage.ts # 本地存储
    ├── route.ts       # 路由工具
    ├── encodeUrl.ts   # URL 编码
    ├── create/        # 创建工具
    ├── json-bigint/   # 大数字 JSON 处理
    └── request-pre/   # 请求预处理中间件

快速示例

基础配置

typescript
import { setConfig } from '@lcap/basic-template';

setConfig({
  toast: {
    show: (message) => console.log(message),
    error: (message) => console.error(message)
  },
  router: {
    destination: (url, target) => window.open(url, target),
    back: () => window.history.back()
  },
  globalProperties: {
    set: (key, value) => window[key] = value,
    get: (key) => window[key]
  }
});

用户认证

typescript
import { authAPI } from '@lcap/basic-template';

// 登录
const result = await authAPI.login({
  username: 'admin',
  password: '123456'
});

// 登出
await authAPI.logout();

// 获取当前用户
const user = await authAPI.getUserInfo();

工具函数

typescript
import { cookie, localStorage } from '@lcap/basic-template';

// Cookie 操作
cookie.set('token', 'abc123', { expires: 7 });
const token = cookie.get('token');
cookie.remove('token');

// 本地存储
localStorage.setItem('user', { name: 'admin' });
const user = localStorage.getItem('user');
localStorage.removeItem('user');

安装使用

单独使用

bash
npm install @lcap/basic-template
# 或
yarn add @lcap/basic-template
# 或
pnpm add @lcap/basic-template

在 LCAP 项目中

basic 包已作为依赖包含在 vue2/vue3/react 包中:

json
{
  "dependencies": {
    "@lcap/basic-template": "workspace:*"
  }
}

API 文档

完整的 API 文档由 TypeDoc 自动生成:

下一步

基于 MIT 许可发布