Skip to content

一、概述

sc-business-lodash 是一个为公司业务场景定制的 JavaScript 组件库,包括了一系列工具函数和服务,旨在提高开发效率和简化常见的编程任务。该库提供了从数据处理到配置管理,再到网络请求和消息通知等多方面的功能支持。

主要组成

  1. 初始化与配置 (init.ts)
    功能: 管理全局配置,如 HTTP 设置和警告消息回调。

主要函数: initConfig, getConfig, setConfig, isInitConfig.

  1. 工具函数 (tool.ts)
    功能: 提供 JSON 序列化和反序列化的扩展功能,包括对函数和 undefined 的处理。

主要函数: JSONStringify, JSONParse, evalFn.

  1. 认证服务 (auth.ts)
    功能: 处理用户认证相关的功能,包括令牌的获取、设置和清除。

主要函数: loginPassword, getToken, setToken, clearToken.

  1. HTTP 服务封装 (http.ts)
    功能: 封装 axios 库以支持配置化的网络请求,包括错误处理和响应状态管理。

主要函数: get,post,delete,patch

  1. 缓存管理 (cache.ts)

功能: 提供本地存储和会话存储的数据管理,支持数据的安全存取和清除操作。
关键函数: setLocalStorage, getLocalStorage, clearLocalStorage, setSessionStorage, getSessionStorage, clearSessionStorage.

  1. 消息通知 (message.ts)
    功能: 提供基于配置的消息通知服务,包括加载、成功、错误和警告消息。

主要函数: StartLoading, EndLoading, SuccessToast, ErrorToast, WarningToast.

特点

•	配置灵活性: 通过 init.ts 配置文件,用户可以定制和预设库的行为,适应不同的业务需求。
•	扩展性强: 组件和函数被设计为模块化,易于集成和扩展。
•	简化开发: 提供常用功能的抽象,减少重复代码,提升开发效率。

二、项目结构

typescript
/sc-business-lodash

├── lib/                        # 核心库文件
│   ├── init.ts                 # 初始化配置和管理
│   ├── tool.ts                 # 工具函数,如JSON序列化/反序列化
│   ├── auth.ts                 # 认证相关功能,如令牌管理
│   ├── http.ts                 # 网络请求封装
│   ├── Message.ts              # 消息提示功能
│   └── cache.ts                # 缓存管理功能

├── example/                    # 示例项目,用于测试和演示组件库

├── package.json                # 包管理和项目依赖文件
├── tsconfig.json               # TypeScript 配置文件
├── pnpm-lock.yaml              # pnpm 包锁定文件
└── README.md                   # 项目README文件,包含基本信息和使用指南

三、快速使用

安装

shell
pnpm install sc-business-lodash --registry=https://sczlcq-npm.pkg.coding.net/platform/sc/

使用

初始化配置:

使用 initConfig 方法来配置必要的参数,例如 API 的基础 URL、超时时间等。

http请求示例初始化和请求(测试阶段有bug)

typescript
import { initConfig, $get, $post } from 'sc-business-lodash';

// 初始化配置
initConfig({
  http: {
    baseUrl: 'https://www.baidu.com/api',
    timeout: 5000  // 请求超时时间,单位为毫秒
  },
  alert: {
    successToastCallback: message => console.log(`成功: ${message}`),
    errorToastCallback: message => console.error(`失败: ${message}`)
  }
});

// 使用 $get 方法发起 GET 请求
$get({
  url: '/api/data'
}).then(response => {
  console.log(response);
}).catch(error => {
  console.error(error);
});

// 使用 $post 方法发起 POST 请求
$post({
  url: '/api/submit',
  data: { key: 'value' }
}).then(response => {
  console.log(response);
}).catch(error => {
  console.error(error);
});

认证服务示例

使用认证模块来管理用户的登录状态和令牌:

typescript
import { loginPassword, getToken, setToken, clearToken } from 'sc-business-lodash';

// 登录示例
loginPassword({ username: 'zhangsan', password: '123456' });

// 获取令牌
const token = getToken();
console.log('token:', token);

// 设置新的令牌
setToken('newToken123');

// 清除令牌
clearToken();

缓存管理示例

展示如何使用本地存储和会话存储来保存和检索数据:

typescript
import { setLocalStorage, getLocalStorage, clearLocalStorage, setSessionStorage, getSessionStorage, clearSessionStorage } from 'sc-business-lodash';

// 设置本地存储
setLocalStorage('userInfo', { name: '张三', age: 30 });

// 获取本地存储
const userInfo = getLocalStorage('userInfo');
console.log('User Info:', userInfo);

// 清除本地存储
clearLocalStorage('userInfo');

// 设置会话存储
setSessionStorage('sessionData', { sessionKey: 'abc123' });

// 获取会话存储
const sessionData = getSessionStorage('sessionData');
console.log('Session Data:', sessionData);

// 清除会话存储
clearSessionStorage('sessionData');

消息提示功能

typescript
import { StartLoading, EndLoading, SuccessToast, ErrorToast, WarningToast } from 'sc-business-lodash';

// 显示加载提示
StartLoading('加载中...');

// 结束加载提示
EndLoading();

// 显示成功提示
SuccessToast('操作成功!');

// 显示错误提示
ErrorToast('操作失败,请重试!');

// 显示警告提示
WarningToast('网络连接异常!');

四、开发和测试

方式一(使用组件库内置测试项目)

为了在本地进行开发和测试,您可以使用 example 项目。example 项目是一个用于测试和演示 sc-business-lodash 组件的独立项目。
将git源代码clone到本地,
安装依赖
pnpm install (组件库环境和playground项目环境会自动安装)
运行
cd example && pnpm run dev (需要先构建组件库才能正常使用组件,往下有说明构建流程)

方式二(使用自己的项目)

**1. 在组件库目录中运行 ****npm link**
首先,在你的组件库目录中运行 npm link。
这会在全局 node_modules 目录中创建一个符号链接,指向你的组件库。
**2.在你的项目目录中运行 ****npm link <包名>**
这会在项目的 node_modules 目录中创建一个符号链接,指向全局的 sc-business-lodash 链接。

五、构建发布

构建

要构建组件库,请运行以下命令:

shell
pnpm run build

构建后的文件将输出到 dist 目录。
ps:如果你还在开发测试阶段可以使用pnpm run debug来持续监听文件,自动构建测试

发布

发布只会上传dist文件夹,src组件里的源码文件不会上传
配置好自己的npmrc文件

自动打包编译(方式一)

typescript
pnpm run build:publish

手动打包编译(方式二)

shell
pnpm run build
pnpm publish