jhsc-pro-common
v1.0.33
Published
jhsc-pro-common
Maintainers
Readme
jhsc-pro-common
jhsc-pro-common
jhsc-pro-common 基于 jhsc-ui 进行封装的业务功能及组件,主要包含通用的页面局部组件,导入导出功能,hooks 封装,http 请求封装等。
Installation
Using npm:
npm install jhsc-pro-common --saveor using yarn:
yarn add jhsc-pro-commonor using pnpm:
pnpm add jhsc-pro-commonUsage
消息处理器配置(重要)
为了避免循环依赖,HTTP 模块使用可配置的消息处理器。在使用 HTTP 功能前,建议先配置消息处理器:
// main.ts
import { setMessageHandler, setNotificationHandler } from 'jhsc-pro-common';
// 方案1: 使用 jhsc-ui (推荐)
import { JMessage, JNotification } from 'jhsc-ui';
setMessageHandler({
error: (message) => JMessage.error(message),
success: (message) => JMessage.success(message),
warning: (message) => JMessage.warning(message),
info: (message) => JMessage.info(message),
});
setNotificationHandler({
error: (message, title) => JNotification.error(message, title),
success: (message, title) => JNotification.success(message, title),
warning: (message, title) => JNotification.warning(message, title),
info: (message, title) => JNotification.info(message, title),
});
// 方案2: 不配置则使用内置弹窗
// 默认会使用自定义的弹窗组件显示消息HTTP 请求
import { request, httpGet, httpPost } from 'jhsc-pro-common';
// 使用 axios
const response = await httpGet('/api/users');
const result = await httpPost('/api/users', { name: 'John' });
// 使用 fetch
const response = await request({
url: '/api/users',
method: 'GET',
useFetch: true
});认证工具
import { getAccessToken, setAccessToken, clearToken } from 'jhsc-pro-common';
// 获取访问令牌
const token = getAccessToken();
// 设置访问令牌
setAccessToken('your-token');
// 清除所有令牌
clearToken();主题工具
import { generateThemeColors, toggleDarkMode } from 'jhsc-pro-common';
// 生成主题颜色
const colors = generateThemeColors('#409EFF');
// 切换暗黑模式
toggleDarkMode(true);API Reference
HTTP 模块
request(config)- 通用请求函数httpGet(url, params?, config?)- GET 请求httpPost(url, data?, config?)- POST 请求httpPut(url, data?, config?)- PUT 请求httpDelete(url, params?, config?)- DELETE 请求setMessageHandler(handler)- 设置消息处理器setNotificationHandler(handler)- 设置通知处理器
认证模块
getAccessToken()- 获取访问令牌setAccessToken(token)- 设置访问令牌getRefreshToken()- 获取刷新令牌setRefreshToken(token)- 设置刷新令牌clearToken()- 清除所有令牌getCurrentUser()- 获取当前用户setCurrentUser(user)- 设置当前用户
主题模块
generateThemeColors(primary)- 生成主题颜色applyTheme(colors)- 应用主题toggleDarkMode(isDark)- 切换暗黑模式toggleSidebarColor(isBlue)- 切换侧边栏颜色
注意事项
- 消息处理器配置:建议在应用启动时配置消息处理器,否则 HTTP 错误会使用内置弹窗显示
- 避免循环依赖:本库不再直接依赖
jhsc-ui,避免循环依赖问题 - 灵活性:可以使用任何 UI 库的消息组件,不限于
jhsc-ui - 内置弹窗:默认提供美观的自定义弹窗,支持多种消息类型和动画效果
