{"_id":"@ahqrt/axios","_rev":"1-6954e5b42722132ecbcafa1231fc4e35","name":"@ahqrt/axios","dist-tags":{"latest":"0.13.0"},"versions":{"0.13.0":{"name":"@ahqrt/axios","version":"0.13.0","main":"./lib/index.js","module":"./lib/index.js","typings":"./lib/index.d.ts","scripts":{"prebuild":"rimraf lib","dev":"tsc -w","build":"tsc"},"publishConfig":{"access":"public"},"eslintConfig":{},"keywords":["axios","helpers"],"dependencies":{"axios":"^0.21.1","qs":"^6.10.1"},"devDependencies":{"@types/qs":"^6.9.7","typescript":"^4.3.5"},"gitHead":"be6628eec148c57134d02a4f8fe00f70d8f867b3","description":"基于axios的开发的扩展请求包，在axios的基础上扩展了一些请求相关的辅助函数, 使开发时把更多的精力关注在业务本身上, 简化请求调用的复杂性。","_id":"@ahqrt/axios@0.13.0","_nodeVersion":"14.17.4","_npmVersion":"6.14.14","dist":{"integrity":"sha512-19lcATdtB6PGNv0Mv5xDwthGnF0aDUwypoG23tiTQ52lHbxSBwWfAU+iUWxPvraztAcHIdSe7bEvFYaSDHjPaA==","shasum":"f50e9e5e69de0dcaa55ab574b53d2289ab6aca1e","tarball":"https://registry.npmjs.org/@ahqrt/axios/-/axios-0.13.0.tgz","fileCount":4,"unpackedSize":10985,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh44fACRA9TVsSAnZWagAA+eAP/jorUdItROEoQRj9dm5Z\nxbLQKSbQ8ry4wXosypqcyox2eVCkcJ063h7O8nUDZK+2pc0ccGAQDCWKAGj3\nkKWQKlaL0tgGgTxtUMeKCr8ibPfHhzEYQOMg6tP7QKAm4Hmqjhwjya0FzsSZ\nY3Mzwq/9hMuTCQL+VSAdsEdi1tG1/Tg3IFA8tOYgSEIfhiTGfFSXK8QQYKS/\ngfuR/FzTHpWRrj7uMqTZ7wWxWPsnq48bQFDjOdvoOB2ljs4lTYSox5sRYeng\nYcdvb+PJenrrSCAA3RnTiurtr/9wPjZJNa2q4pLqyCEZFFe4FD34NfRntKjK\nd6gZLX3EX4HItgs/9NSfLjL1m0b06jSzJ9LlAASujwiYG23S6Hd11rvDumxF\nj/9a7zFUkEGpB1wmmRkhLIoPvWwmzORwEIn6JBQ4WJZ3dXr7YOS4yU5OMwYw\niMM7bwJm0uzYYkWyNWK8gVqn0KQLtLXZHfgCFbdfxsFIAamtUbClUNwkZdgN\nlhMnT9wzBxCbWrGSe+rdhhhD31InKFVZVe590+sfgroy3EPNSdg6u17CVjhp\nbEui5ea9BjLTcybaEHATHg6BLto/Yb1flQ3pIFFP2PqIrvUKU9uioiaiFUWs\nruFfbUAexEqlnCiPxBShvq8Roo1dC9G8Z5gcTxc1MQjnM33klWTrr8k1qRUv\nA89y\r\n=GW18\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDakdSrCBV2GAgz0+XHbnc4nO3cKnqPY5u6Toht9dowLwIgf+7R3fPPvWvUIg/2eP/Em7YWXfrm2yrYSzagpDaCL8o="}]},"_npmUser":{"name":"ahqrt","email":"1217223113@qq.com"},"directories":{},"maintainers":[{"name":"ahqrt","email":"1217223113@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/axios_0.13.0_1642301376705_0.28915458888200507"},"_hasShrinkwrap":false}},"time":{"created":"2022-01-16T02:49:36.663Z","0.13.0":"2022-01-16T02:49:36.834Z","modified":"2022-04-04T12:13:51.338Z"},"maintainers":[{"name":"ahqrt","email":"1217223113@qq.com"}],"description":"基于axios的开发的扩展请求包，在axios的基础上扩展了一些请求相关的辅助函数, 使开发时把更多的精力关注在业务本身上, 简化请求调用的复杂性。","keywords":["axios","helpers"],"readme":"# @ahqrt/axios\n\n基于axios的开发的扩展请求包，在axios的基础上扩展了一些请求相关的辅助函数, 使开发时把更多的精力关注在业务本身上, 简化请求调用的复杂性。\n\n\n### 安装\n\n```\nyarn add @ahqrt/axios\n```\n\n### 设计目的\n\n1.统一所有请求方法的入参规则, 第一个参数为url, 第二个参数为携带的请求参数, 第三个参数为请求配置项<br>\n2.方法语义化和责任点分离, <br>\n`get` | `head` | `options` | `delete` 方法只关心数据返回类型, 例如需要接收一个`blob`类型, 调用`getBlob`即可 <br>\n`post` | `put` | `patch` 方法只关心数据的传输格式(编码方式), 比如需要提交一个表单, 调用`postMultipart`即可 <br>\n`download` 方法传入url,或者blob对象即可完成下载本地的操作。\n3.对请求方法本身进行增强, 例如fetch相关的请求会带上时间戳避免缓存问题, modify相关的请求会自动使用`qs`库进行序列化数据。\n4.适配跨平台的场景, axios自适应node和browser两个平台, 如需要适配如微信小程序, uni-app等其他平台, 也可以在此包中扩展。\n\n### 快速开始\n\n```js\nimport { createAxios } from '@ahqrt/axios'\n\nconst axios = createAxios(/** @see http://www.axios-js.com/zh-cn/docs/#axios-create-config **/)\n\naxios.helpers.get('/api/mock.json', { id: 1 }, /** @see http://www.axios-js.com/zh-cn/docs/#%E8%AF%B7%E6%B1%82%E9%85%8D%E7%BD%AE **/)\n```\n\n### 函数签名\n\n```typescript\n// 'get' | 'head' | 'options' | 'delete'\nexport type FetchHelper = <T = any, R = AxiosResponse<T>>(url: string, params?: any, config?: AxiosRequestConfig) => Promise<R>\n// 'post' | 'put' | 'patch'\nexport type ModifyHelper = <T = any, R = AxiosResponse<T>>(url: string, data?: any, config?: AxiosRequestConfig) => Promise<R>\n\nexport interface AxiosHelpers {\n  // 获取json格式数据\n  get: FetchHelper\n  // 获取blob格式数据,可用于浏览器下构造URL下载\n  getBlob: FetchHelper\n  // 获取html文档, 返回一个dom节点, 可直接嵌入文档\n  getDocument: FetchHelper\n  // 获取文本\n  getText: FetchHelper\n  // 获取Arraybuffer, 可用于分段下载\n  getArraybuffer: FetchHelper\n  // 获取可读流, 可用于浏览器缓存\n  getStream: FetchHelper\n\n  head: FetchHelper\n  headBlob: FetchHelper\n  headDocument: FetchHelper\n  headText: FetchHelper\n  headArraybuffer: FetchHelper\n  headStream: FetchHelper\n\n  options: FetchHelper\n  optionsBlob: FetchHelper\n  optionsDocument: FetchHelper\n  optionsText: FetchHelper\n  optionsArraybuffer: FetchHelper\n  optionsStream: FetchHelper\n\n  delete: FetchHelper\n  deleteBlob: FetchHelper\n  deleteDocument: FetchHelper\n  deleteText: FetchHelper\n  deleteArrayBuffer: FetchHelper\n  deleteStream: FetchHelper\n\n  // 提交application/x-www-form-urlencoded编码的数据包\n  post: ModifyHelper\n  // 提交application/json编码的数据包\n  postJSON: ModifyHelper\n  // 提交multipart/form-data编码的数据包\n  postMultipart: ModifyHelper\n\n  put: ModifyHelper\n  putJSON: ModifyHelper\n  putMultipart: ModifyHelper\n\n  patch: ModifyHelper\n  patchJSON: ModifyHelper\n  patchMultipart: ModifyHelper\n\n  // 浏览器下载文件\n  download(blob: string | Blob, filename: string): void\n}\n```\n","readmeFilename":"README.md"}