@qlover/fe-corekit 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,158 @@
1
+ # fe-corekit
2
+
3
+ ## 简介
4
+
5
+ fe-corekit (@qlover/fe-corekit) 是一个功能全面的前端核心工具包,提供了多种实用工具和模块,帮助开发者更高效地构建前端应用。它包含了存储管理、序列化、网络请求、日志记录、任务执行等多个核心功能模块。
6
+
7
+ ## 安装
8
+
9
+ 使用 npm、yarn 或 pnpm 安装:
10
+
11
+ ```bash
12
+ # npm
13
+ npm install @qlover/fe-corekit
14
+
15
+ # yarn
16
+ yarn add @qlover/fe-corekit
17
+
18
+ # pnpm
19
+ pnpm add @qlover/fe-corekit
20
+ ```
21
+
22
+ ## 使用方式
23
+
24
+ fe-corekit 支持多种导入方式,可以根据需要导入整个库或特定模块:
25
+
26
+ ### 导入整个库
27
+
28
+ ```typescript
29
+ import * as CoreKit from '@qlover/fe-corekit';
30
+
31
+ const logger = new CoreKit.Logger();
32
+ logger.info('Hello, world!');
33
+ ```
34
+
35
+ ### 按需导入
36
+
37
+ ```typescript
38
+ // 导入日志模块
39
+ import { Logger } from '@qlover/fe-corekit';
40
+
41
+ const logger = new Logger();
42
+ logger.info('Hello, world!');
43
+
44
+ // 导入存储模块
45
+ import { JSONStorage } from '@qlover/fe-corekit';
46
+
47
+ const storage = new JSONStorage();
48
+ storage.setItem('key', { data: 'value' });
49
+ ```
50
+
51
+ ### 导入特定子模块
52
+
53
+ fe-corekit 提供了分模块导入的能力:
54
+
55
+ ```typescript
56
+ // 导入接口定义
57
+ import { Serializer } from '@qlover/fe-corekit/interface';
58
+
59
+ // 导入服务器相关模块
60
+ import { Encrypt } from '@qlover/fe-corekit/server';
61
+ ```
62
+
63
+ ## 核心功能
64
+
65
+ ### 通用模块 (common)
66
+
67
+ - **存储 (storage)**: 提供 JSON 数据的存储、检索和管理功能,支持自定义存储后端和序列化器
68
+ - **序列化 (serializer)**: 数据序列化和反序列化工具
69
+ - **请求 (request)**: 网络请求工具,简化 API 调用
70
+ - **日志 (logger)**: 灵活的日志记录系统
71
+ - **执行器 (executor)**: 任务执行管理
72
+
73
+ ### 接口模块 (interface)
74
+
75
+ 提供了一系列标准接口定义,确保各模块之间的一致性和互操作性。
76
+
77
+ ### 服务器模块 (server)
78
+
79
+ - **加密 (encrypt)**: 提供数据加密和安全相关功能
80
+
81
+ ## 使用示例
82
+
83
+ ### JSON 存储
84
+
85
+ ```typescript
86
+ // 创建内存存储
87
+ const storage = new JSONStorage();
88
+ storage.setItem('key', { data: 'value' }, 3600); // 设置过期时间为3600毫秒
89
+ const value = storage.getItem('key');
90
+ // => { data: 'value' }
91
+ ```
92
+
93
+ ### 使用本地存储
94
+
95
+ ```typescript
96
+ // 使用浏览器的 localStorage
97
+ const storage = new JSONStorage(localStorage);
98
+ storage.setItem('key', { data: 'value' });
99
+ const value = storage.getItem('key');
100
+ // => { data: 'value' }
101
+ ```
102
+
103
+ ### 自定义序列化器和存储
104
+
105
+ ```typescript
106
+ // 使用自定义序列化器和存储后端
107
+ const customSerializer = {
108
+ serialize: JSON.stringify,
109
+ deserialize: JSON.parse
110
+ };
111
+
112
+ const customStorage = {
113
+ setItem: (key: string, value: string) => {
114
+ localStorage.setItem(key, value);
115
+ },
116
+ getItem: (key: string) => {
117
+ return localStorage.getItem(key);
118
+ },
119
+ removeItem: (key: string) => {
120
+ localStorage.removeItem(key);
121
+ },
122
+ clear: () => {
123
+ localStorage.clear();
124
+ }
125
+ };
126
+
127
+ const storage = new JSONStorage(customStorage, customSerializer);
128
+ storage.setItem('key', { data: 'value' });
129
+ ```
130
+
131
+ ### 日志记录
132
+
133
+ ```typescript
134
+ const logger = new Logger();
135
+ logger.info('应用启动');
136
+ logger.warn('警告信息');
137
+ logger.error('错误信息');
138
+ ```
139
+
140
+ ## TypeScript 支持
141
+
142
+ fe-corekit 完全使用 TypeScript 编写,提供了完整的类型定义,可以获得良好的 IDE 提示和类型检查。
143
+
144
+ ## 快速导航
145
+
146
+ - [通用模块文档](./common/)
147
+ - [接口文档](./interface/)
148
+ - [服务器模块文档](./server/)
149
+
150
+ ## 兼容性
151
+
152
+ fe-corekit 支持所有现代浏览器和 Node.js 环境。支持 ES 模块和 CommonJS 两种模块系统。
153
+
154
+ ## 版本信息
155
+
156
+ 当前版本: 1.2.0
157
+
158
+ 有关更新和变更的详细信息,请查看[更新日志](./CHANGELOG.md)。