# zj-interceptors 1.0.3
zjkj 平台通用axios 拦截器


# 安装
## cdn
插件严格遵循npm 版本号规范，如果要使用cdn,推荐使用`大版本的最新版本`iife 版本cdn,以获取最新版本内容

```` javascript
// iife 版本，详见‘对不同构建版本的解释’。推荐
<script src="https://acc-static.oss-cn-hangzhou.aliyuncs.com/web/libs/npm/zj-interceptors/1-last/zjInterceptors.browser.js"></script>
````



#### cdn url 解释

```` javascript
https://acc-static.oss-cn-hangzhou.aliyuncs.com/web/libs/npm/zj-interceptors/< version >/< pkg >
````

**version**

具体版本号。

所有构建版本号可通过[npm zj-interceptors](https://www.npmjs.com/package/zj-interceptors)里的`Versions`查看，或者在代码仓库查看tag



或者



`1-last`：表示v1 大版本的最新内容

`2-last`：表示v2 大版本的最新内容

**pkg**



构建包文件名，详见下方‘对不同构建版本的解释’

#### 特定版本

iife 版本。
```` javascript
<script src="https://acc-static.oss-cn-hangzhou.aliyuncs.com/web/libs/npm/zj-interceptors/< version >/zjInterceptors.browser.js"></script>
````


umd 版本

```` javascript
<script src="https://acc-static.oss-cn-hangzhou.aliyuncs.com/web/libs/npm/zj-interceptors/< version >/zjInterceptors.js"></script>
````





如项目中已使用crypto-js cdn,可使用以下版本。详见‘对不同构建版本的解释’

iife 版本。

```` javascript
<script src="https://acc-static.oss-cn-hangzhou.aliyuncs.com/web/libs/npm/zj-interceptors/< version >/zjInterceptors.browser.m.js"></script>
````


umd 版本

```` javascript
<script src="https://acc-static.oss-cn-hangzhou.aliyuncs.com/web/libs/npm/zj-interceptors/< version >/zjInterceptors.m.js"></script>
````
或者

[jsdelivr](https://www.jsdelivr.com/package/npm/zj-interceptors) 在国内已被墙

```` javascript
<script src="https://cdn.jsdelivr.net/npm/zj-interceptors@1.0.2/dist/zjInterceptors.js"></script>
````

#### 大版本的最新版本

v1 的最新版本（由运维手动替换最新版本内容）
```` javascript
// umd 版本，详见‘对不同构建版本的解释’
<script src="https://acc-static.oss-cn-hangzhou.aliyuncs.com/web/libs/npm/zj-interceptors/1-last/zjInterceptors.js"></script>
````
```` javascript
// iife 版本，详见‘对不同构建版本的解释’。推荐
<script src="https://acc-static.oss-cn-hangzhou.aliyuncs.com/web/libs/npm/zj-interceptors/1-last/zjInterceptors.browser.js"></script>
````
```` javascript
// 不包含crypto-js umd 版本，详见‘对不同构建版本的解释’
<script src="https://acc-static.oss-cn-hangzhou.aliyuncs.com/web/libs/npm/zj-interceptors/1-last/zjInterceptors.m.js"></script>
````
```` javascript
// 不包含crypto-js iife 版本，详见‘对不同构建版本的解释’。推荐
<script src="https://acc-static.oss-cn-hangzhou.aliyuncs.com/web/libs/npm/zj-interceptors/1-last/zjInterceptors.browser.m.js"></script>
````
或者

[jsdelivr](https://www.jsdelivr.com/package/npm/zj-interceptors) 在国内已被墙

```` javascript
<script src="https://cdn.jsdelivr.net/npm/zj-interceptors@1/dist/zjInterceptors.js"></script>
````

##  npm
[npm 主页](https://www.npmjs.com/package/zj-interceptors)

```` javascript
npm install zj-interceptors@1 -S
````



# function

## addDecryptInterceptor

添加加解密拦截器

addDecryptInterceptor(instance)

**instance** axios 实例

#### browser

```` javascript
const http = axios.create()
zjInterceptors.addDecryptInterceptor(http)
````

#### npm

注意：在项目中使用本插件应该统一使用CommonJs引入或者`require` 引入，否则构建打包时会把CommonJs 版本和esm 版本都打入包内（这不是插件行为，而是npm 行为，本插件为CommonJs 和esm 提供了不同的构建包，以达到最小化的目的）。

```` javascript
import { addDecryptInterceptor } from 'zj-interceptors'
const http = axios.create()
addDecryptInterceptor(http)
````

## gernerateStrV1
返回生成的签名
## decryptJson
解密内容



# 属性

## VERSION

当前插件版本号

```` javascript
zjInterceptors.VERSION
````

#### npm

```` javascript
import { VERSION } from 'zj-interceptors'
console.log('VERSION', VERSION)
````

## 命令

lib 构建命令（没有删除dist 文件夹命令，注意覆盖）。
```` javascript
// 打包cjs、esm、umd,不包含crypto-js 的包
npm run build
````

```` javascript
// 打包 iife、umd，包含crypto-js的包
npm run build:umd
````

# 对不同构建版本的解释

|                 | UMD                              | **CommonJS**                | ESM                    | IIFE                        |
| --------------- | -------------------------------- | --------------------------- | ---------------------- | --------------------------- |
| 包含crypto-js   | zjInterceptors.js                | zjInterceptors.common.js    | zjInterceptors.esm.mjs | zjInterceptors.browser.js   |
| 不包含crypto-js | zjInterceptors.m.js              | -                           |                        | zjInterceptors.browser.m.js |
| 含义            | 全格式支持，支持浏览器等所有环境 | 基于构建工具使用，node 环境 | 基于构建工具使用       | 浏览器使用                  |

对于不包含crypto-js 的 m 版包，需要使用者自己引入 crypto-js cdn 依赖（注意放在本cdn 之前）。

```` javascript
<script src="https://acc-static.oss-cn-hangzhou.aliyuncs.com/web/libs/npm/crypto-js/4.1.1/crypto-js.min.js"></script>
````



## 其他

本插件基于 crypto-js v4版本开发

版本更新遵循npm 版本号规范
