{"_id":"@anyup/flyit","_rev":"8-84fb46ab1f3b8f8363310d8c574c4403","name":"@anyup/flyit","dist-tags":{"latest":"1.0.5"},"versions":{"1.0.1":{"name":"@anyup/flyit","version":"1.0.1","keywords":[],"author":{"name":"anyup"},"license":"MIT","_id":"@anyup/flyit@1.0.1","maintainers":[{"name":"anyup","email":"283051833@qq.com"}],"dist":{"shasum":"6f55c1466122de62c6be2323dace01889d8e81a3","tarball":"https://registry.npmjs.org/@anyup/flyit/-/flyit-1.0.1.tgz","fileCount":8,"integrity":"sha512-haSlTn+JGMtnmUstDt6jhwgB/dtJzDMF6Jm7Lm+SMzpQ93cIhjPIkaMStfZPyuWMnnKvLCcNFxuWZXsBwzWEGg==","signatures":[{"sig":"MEYCIQDz3JyJv1JG+gIJWKD4N3Js0Jl1ibijY7GH4r1XwjTAZAIhAP5veSdKLgTaoDLQrHQ+hZdkZn49wddvdMKmbBE5x3uZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10863},"main":"dist/flyit.cjs.js","types":"dist/types/index.d.ts","module":"dist/flyit.mjs.js","browser":"dist/flyit.umd.js","gitHead":"3bbc2ac3b68f878c7df588a3a3e87195ca48e072","scripts":{"build":"rollup -c rollup.config.js --bundleConfigAsCjs --environment NODE_ENV:production","publish":"npm publish --access=public","build:dev":"rollup -c -w rollup.config.js --bundleConfigAsCjs --environment NODE_ENV:development","publish:revert":"npm unpublish @anyup/flyit@1.0.0 --force","update:version":"npx bumpp --no-push --no-commit --no-tag"},"_npmUser":{"name":"anyup","email":"283051833@qq.com"},"_npmVersion":"10.5.2","description":"flyit","directories":{},"_nodeVersion":"20.13.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flyit_1.0.1_1716203180203_0.08075671464930667","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@anyup/flyit","version":"1.0.2","keywords":["Vue","React","Angular","ajax","axios","http","flyit"],"author":{"name":"anyup"},"license":"MIT","_id":"@anyup/flyit@1.0.2","maintainers":[{"name":"anyup","email":"283051833@qq.com"}],"dist":{"shasum":"ef1f455c93df5fd3b729779e1f40e0802f22c5f2","tarball":"https://registry.npmjs.org/@anyup/flyit/-/flyit-1.0.2.tgz","fileCount":8,"integrity":"sha512-215+Y9TjIZxTaJutXZuIq56rgAWbmGUTNiPL43uMEY9ByyYBGDR/UzjV9B6h2Wu3LCww3KbHAhGVdjf7eSg4yA==","signatures":[{"sig":"MEYCIQCzl67VzUR9FHohyzf3R225yTxuJ0C+crNhfdnjTy+KKQIhAIIUe51SrA3nwoVAef3QF2umrhcv3+D2kXrh/BTj5PKt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10934},"main":"dist/flyit.cjs.js","types":"dist/types/index.d.ts","module":"dist/flyit.mjs.js","browser":"dist/flyit.umd.js","gitHead":"c65be281229650cae289b79cb9c35f95b60b50eb","scripts":{"build":"rollup -c rollup.config.js --bundleConfigAsCjs --environment NODE_ENV:production","publish":"npm publish --access=public","build:dev":"rollup -c -w rollup.config.js --bundleConfigAsCjs --environment NODE_ENV:development","publish:revert":"npm unpublish @anyup/flyit@1.0.0 --force","update:version":"npx bumpp --no-push --no-commit --no-tag"},"_npmUser":{"name":"anyup","email":"283051833@qq.com"},"_npmVersion":"10.5.2","description":"flyit","directories":{},"_nodeVersion":"20.13.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flyit_1.0.2_1716353666068_0.29354193808536144","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@anyup/flyit","version":"1.0.3","keywords":["Vue","React","Angular","ajax","axios","http","flyit"],"author":{"name":"anyup"},"license":"MIT","_id":"@anyup/flyit@1.0.3","maintainers":[{"name":"anyup","email":"283051833@qq.com"}],"dist":{"shasum":"1e8bcbe02d3a9035a33a7de235be2543758bebdf","tarball":"https://registry.npmjs.org/@anyup/flyit/-/flyit-1.0.3.tgz","fileCount":8,"integrity":"sha512-GJkqde4qPPdCcVCrBeo0wwwFVM2DU0Ma6w4g905vLBZH/a1gEcnq6FeChuPITD3//trUYh2pYzTl+QRvp2kuqQ==","signatures":[{"sig":"MEYCIQCJM5wvN0xe5PkA1AfvWqCFpQLgTlioczHYBSljI98pQQIhAKKTmhbYGbGnwXB1ILkdi0wzFWusCBDOHYP1YU3tYrPk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10768},"main":"dist/flyit.cjs.js","types":"dist/types/index.d.ts","module":"dist/flyit.mjs.js","browser":"dist/flyit.umd.js","gitHead":"f2083a3e013d0e10e4593c14b5bc532c8ec63221","scripts":{"build":"rollup -c rollup.config.js --bundleConfigAsCjs --environment NODE_ENV:production","publish":"npm publish --access=public","build:dev":"rollup -c -w rollup.config.js --bundleConfigAsCjs --environment NODE_ENV:development","publish:revert":"npm unpublish @anyup/flyit@1.0.0 --force","update:version":"npx bumpp --no-push --no-commit --no-tag"},"_npmUser":{"name":"anyup","email":"283051833@qq.com"},"_npmVersion":"10.5.2","description":"flyit","directories":{},"_nodeVersion":"20.13.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flyit_1.0.3_1716952735677_0.8654753106161224","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"@anyup/flyit","version":"1.0.4","keywords":["Vue","React","Angular","ajax","axios","http","flyit"],"author":{"name":"anyup"},"license":"MIT","_id":"@anyup/flyit@1.0.4","maintainers":[{"name":"anyup","email":"283051833@qq.com"}],"dist":{"shasum":"7301a2407285ed98fca8d16adc6025981f1ae5b8","tarball":"https://registry.npmjs.org/@anyup/flyit/-/flyit-1.0.4.tgz","fileCount":9,"integrity":"sha512-Kxt6tZ2daZTK19I6zLoq6ZCD89HfZH0yHx0GU9uxc80XlIPAD+71iZDeOXHQgQ/J+6shyy8E+XpCOLMqVs3VQw==","signatures":[{"sig":"MEYCIQCGYoo+Ge7OQsPNMOMFxonBm7tBwJY2tHt323l3nFkWUgIhAN/vP7RzKFC7R6RmEf/9fT+EXrUz3yUcSIjPgX9tgh9j","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11948},"main":"dist/flyit.cjs.js","types":"dist/types/index.d.ts","module":"dist/flyit.mjs.js","browser":"dist/flyit.umd.js","gitHead":"68644a86ed2b400df5236df7e3f21c271843baec","scripts":{"build":"rollup -c rollup.config.js --bundleConfigAsCjs --environment NODE_ENV:production","publish":"npm publish --access=public","build:dev":"rollup -c -w rollup.config.js --bundleConfigAsCjs --environment NODE_ENV:development","publish:revert":"npm unpublish @anyup/flyit@1.0.0 --force","update:version":"npx bumpp --no-push --no-commit --no-tag"},"_npmUser":{"name":"anyup","email":"283051833@qq.com"},"_npmVersion":"10.5.2","description":"flyit","directories":{},"_nodeVersion":"20.13.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flyit_1.0.4_1717662878074_0.8130920940698845","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"@anyup/flyit","version":"1.0.5","description":"flyit","main":"dist/flyit.cjs.js","module":"dist/flyit.mjs.js","browser":"dist/flyit.umd.js","types":"dist/types/index.d.ts","keywords":["Vue","React","Angular","ajax","axios","http","flyit"],"author":{"name":"anyup"},"license":"MIT","scripts":{"build:dev":"rollup -c -w rollup.config.js --bundleConfigAsCjs --environment NODE_ENV:development","build":"rollup -c rollup.config.js --bundleConfigAsCjs --environment NODE_ENV:production","update:version":"npx bumpp --no-push --no-commit --no-tag","publish":"npm publish --access=public","publish:revert":"npm unpublish @anyup/flyit@1.0.0 --force"},"dependencies":{},"_id":"@anyup/flyit@1.0.5","gitHead":"70ebe441dd16030c14299d43d3a36e0c71c7b04b","_nodeVersion":"20.13.1","_npmVersion":"10.5.2","dist":{"integrity":"sha512-tDKp46mV16ufsAZo5DHIAwixsG7sRKkW+AqmMSIjL52X0G9TzmXv3B5XDIUdovmxWUwlPeJNq9gfpEFTpKXUXg==","shasum":"16133875d9a2117e24fb99621b6c6d5ab63dd7ba","tarball":"https://registry.npmjs.org/@anyup/flyit/-/flyit-1.0.5.tgz","fileCount":9,"unpackedSize":16101,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCBB1iyRg3z3cLMg7nnDDDHRVQ203ORze0WU9O9+Be5VQIhALARcHYDSFiK99VUX5tHmni8HaAlS9vxnu8tkisjcpIZ"}]},"_npmUser":{"name":"anyup","email":"283051833@qq.com"},"directories":{},"maintainers":[{"name":"anyup","email":"283051833@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/flyit_1.0.5_1745896642555_0.6629996937925853"},"_hasShrinkwrap":false}},"time":{"created":"2024-05-20T11:06:20.076Z","modified":"2025-04-29T03:17:22.896Z","1.0.0":"2024-05-20T10:05:28.954Z","1.0.1":"2024-05-20T11:06:20.367Z","1.0.2":"2024-05-22T04:54:26.243Z","1.0.3":"2024-05-29T03:18:55.824Z","1.0.4":"2024-06-06T08:34:38.245Z","1.0.5":"2025-04-29T03:17:22.707Z"},"author":{"name":"anyup"},"license":"MIT","keywords":["Vue","React","Angular","ajax","axios","http","flyit"],"description":"flyit","maintainers":[{"name":"anyup","email":"283051833@qq.com"}],"readme":"# @anyup/flyit [![NPM version](https://img.shields.io/npm/v/@anyup/flyit.svg)](https://www.npmjs.com/package/@anyup/flyit)\n\n<p align=\"center\">🔥 一个通用的前端工具包，源码使用 `TypeScript` 编写，原则上你可以在任何能运行 `JavaScript` 的地方使用，不依赖于任何的前端框架！</p>\n\n<p align=\"center\">目的在于省略某些大量重复代码，少量配置化代码，即可实现极速开发体验！</p>\n\n<p align=\"center\">\n  🔥 <a href=\"https://www.anyup.cn/site/zh/flyit/guide/introduce.html\">文档网站</a>\n</p>\n\n## 一. 安装\n\n```sh\nnpm install @anyup/flyit\n```\n\n## 二. 使用\n\n### 2.1 在 Vue / React 中使用\n\n```js\nimport { FlyHttp } from \"@anyup/flyit\";\n\n// 1. 创建 axios 实例\nconst axiosInstance = axios.create({\n  baseURL: \"https://api.demo.com\",\n  timeout: 20000,\n  headers: { \"Content-type\": \"application/json\" }\n});\n\n// 2. 创建 FlyHttp 实例\nconst flyHttp = new FlyHttp.Builder(axiosInstance);\n\n// 3. 定义 URL 配置表\nconst urls = {\n  login: { url: \"/login\", method: \"POST\" }\n};\n\n// 4. 分发 URL\nconst api = flyHttp.dispatch(urls);\n\n// 5. 页面接口\nconst login = () => {\n  return api.login({ data: { username: \"admin\" } });\n};\n```\n\n### 2.2 在 h5 / browser 中使用\n\n> 复制 `dist` 文件夹下的 `flyit.umd.js`文件，或使用 `cdn` 线上地址，引入现有的项目中。\n\n以使用 `jquery` 的 `ajax` 请求为例：\n\n```html\n<script src=\"dist/flyit.umd.js\"></script>\n<script src=\"dist/jquery.min.js\"></script>\n\n<script>\n  const { FlyHttp } = Flyit;\n\n  const baseURL = \"https://api.demo.com\";\n  const headers = { \"Content-type\": \"application/json\" };\n\n  // 1. 创建 ajax 实例\n  function ajaxRequest({ url, method, data, success, fail, complete }) {\n    $.ajax({\n      url: `${baseURL}${url}`,\n      type: method,\n      data,\n      dataType: \"json\",\n      headers,\n      success: success,\n      error: fail,\n      complete: complete\n    });\n  }\n\n  // 2. 创建 FlyHttp 实例\n  const flyHttp = new FlyHttp.Builder((config) => {\n    const { url, method, data } = config;\n    return ajaxRequest({ url, method, data });\n  });\n\n  // 3. 定义 URL 配置表\n  const urls = {\n    login: { url: \"/login\", method: \"POST\" }\n  };\n\n  // 4. 分发 URL\n  const api = flyHttp.dispatch(urls);\n\n  // 5. 页面接口\n  const login = () => {\n    api.login({\n      data: { username: \"admin\" },\n      success: (res) => {\n        console.log(\"success\", res);\n      },\n      fail: (res) => {\n        console.log(\"fail\", res);\n      },\n      complete: (res) => {\n        console.log(\"complete\", res);\n      }\n    });\n  };\n</script>\n```\n\n### 2.3 在 node 中使用\n\n#### 2.3.1 ESM模块规范\n\n```js\nimport { FlyHttp } from \"@anyup/flyit\";\n\n// 1. 创建 http 实例\nconst httpInstance = {};\n\n// 2. 创建 FlyHttp 实例\nconst flyHttp = new FlyHttp.Builder(httpInstance);\n\n// 3. 定义 URL 配置表\nconst urls = {\n  login: { url: \"/login\", method: \"POST\" }\n};\n\n// 4. 分发 URL\nconst api = flyHttp.dispatch(urls);\n\n// 5. 页面接口\nconst login = () => {\n  return api.login({ data: { username: \"admin\" } });\n};\n```\n\n#### 2.3.2 CJS模块规范\n\n```js\nconst { FlyHttp } = require(\"@anyup/flyit\");\n\n// 1. 创建 http 实例\nconst httpInstance = {};\n\n// 2. 创建 FlyHttp 实例\nconst flyHttp = new FlyHttp.Builder(httpInstance);\n\n// 3. 定义 URL 配置表\nconst urls = {\n  login: { url: \"/login\", method: \"POST\" }\n};\n\n// 4. 分发 URL\nconst api = flyHttp.dispatch(urls);\n\n// 5. 页面接口\nconst login = () => {\n  return api.login({ data: { username: \"admin\" } });\n};\n```\n\n### 2.4 说明\n\n#### 2.4.1 使用 http 实例\n\n> 参考第 `2.1` 部分，在 Vue / React 中使用，使用 `axios` 的构建方案!\n\n本工具支持传入 `http` 实例，将会代理 `http` 实例进行请求，但是对 `http` 的请求格式有一些要求：\n\n- `http` 请求必须支持 `Promise`\n- `http` 请求格式为 `http.request(params)`\n\n`params` 参数对象大致如下：\n\n```js\n// `url` 是用于请求的服务器 URL\nurl: \"/user\";\n\n// `method` 是创建请求时使用的方法\nmethod: \"get\"; // 默认值\n\n// `params` 是与请求一起发送的 URL 参数\nparams: {\n  ID: 12345;\n}\n\n// `data` 是作为请求体被发送的数据\ndata: {\n  firstName: \"Fred\";\n}\n```\n\n#### 2.4.2 使用自定义函数\n\n使用 http 实例，可能有时候会有一定的耦合性，会不符合要求，因此提供一个自定义函数的入口，可灵活使用！\n\n> 参考第 `2.2` 部分，在 h5 / browser 中使用，使用 `ajax` 的构建方案!\n\n```js\n// 1. 创建 ajax 实例\nfunction ajaxRequest({ url, method, data, success, fail, complete }) {\n  $.ajax({\n    url: `${baseURL}${url}`,\n    type: method,\n    data,\n    dataType: \"json\",\n    headers,\n    success: success,\n    error: fail,\n    complete: complete\n  });\n}\n\n// 2. 创建 FlyHttp 实例\nconst flyHttp = new FlyHttp.Builder((config) => {\n  const { url, method, data } = config;\n  return ajaxRequest({ url, method, data });\n});\n```\n\n## 三. 说明\n\n该工具类已经在多个项目中实验，具有良好的可塑造性，灵活性，以及可维护性！\n\n原则上你可以在任何能运行 `JavaScript` 的地方使用，不依赖于任何的前端框架！但是由于目前众多的前端开发框架以及请求库，我可能也未能兼容某些特殊用法，因此可能难免遇到一些未知的问题。\n\n如果使用过程中有任何问题，可以通过如下方式联系我：\n\n- 微信号：**anyupxing**\n\n- 微信公众号：**前端梦工厂**\n\n- 掘金：[个人主页](https://juejin.cn/user/4230576472589976/posts)\n","readmeFilename":"README.md"}