Skip to content

快速开始

最简上线配置,5 分钟完成接入。

安装

bash
npm install @hydd/request-guard
bash
pnpm add @hydd/request-guard
bash
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' });

接入完成后,所有匹配规则的请求自动受到保护,业务代码无需任何改动。

接下来

基于 MIT 许可发布