快速开始
最简上线配置,5 分钟完成接入。
安装
bash
npm install @hydd/request-guardbash
pnpm add @hydd/request-guardbash
yarn add @hydd/request-guard一步完成全局接入
下面是一个完整可运行的 Axios 安装示例,推荐作为首次接入方式:
javascript
import axios from 'axios';
import { setupRequestGuard, ConsoleRequestGuardLogger } from '@hydd/request-guard';
// ============ 一步完成全局接入 ============
const requestManager = setupRequestGuard(axios, {
// 【消息提示】治理行为触发时通知用户(如 Toast、Message 等)
notify: (payload) => Toast.show(payload.message),
// 【日志观测】开发环境自动输出诊断面板,上线可关闭
logger: new ConsoleRequestGuardLogger({ devOnly: true }),
// 【全局默认配置】各能力的默认参数
defaults: {
// 防重能力:默认使用 block 策略
duplicate: {
strategy: 'block',
message: '请勿重复提交'
},
// 重试能力:最多 3 次,指数退避
retry: {
attempts: 3,
delay: 200,
backoff: 'exponential'
}
},
// 【全局规则】声明哪些请求自动启用治理
rules: [
// 所有 POST 请求自动开启防重
{ method: 'post', duplicate: true }
]
});
// ============ 业务代码无需任何改动 ============
// 所有 POST 请求已自动享有防重保护
axios.post('/api/order/submit', { orderId: '12345' });接入完成后,所有匹配规则的请求自动受到保护,业务代码无需任何改动。
