import{a as l}from"./vue-hooks-plus@2.4.0_vue@3.5.17_typescript@5.8.3_-CKxlTIyb.js";import{s as n}from"./instance-Cl7Tswmu.js";import{_ as A,e as r,N as o,P as g,M as i}from"./naive-ui@2.42.0_vue@3.5.17_typescript@5.8.3_-D0s2Qcv6.js";import{m as V,d as u,J as t}from"./@vue_runtime-core@3.5.17-YYjRSOhw.js";import{h as R,y as v}from"./@vue_reactivity@3.5.17-Cach6sCz.js";import"./lodash-es@4.17.21-UVJw7vmf.js";import"./js-cookie@3.0.5-Z_8Sd105.js";import"./screenfull@5.2.0-CSmfy_M5.js";import"./classnames@2.5.1-Dfc4g_b4.js";import"./axios@1.9.0-xsH4HHeE.js";import"./hooks-BhBdy6bT.js";import"./@vueuse_core@13.1.0_vue@3.5.17_typescript@5.8.3_-CqLBWAJs.js";import"./@vueuse_shared@13.1.0_vue@3.5.17_typescript@5.8.3_-P3fPQPUc.js";import"./currency.js@2.0.4-9OAR_aOO.js";import"./crypto-js@4.2.0-BC7ZohPc.js";import"./dayjs@1.11.13-Dcmsq1le.js";import"./print-js@1.6.0-DO6wNZql.js";import"./jsbarcode@3.11.6-_Q8BloHp.js";import"./@logicflow_core@2.0.10-9WfPQnfd.js";import"./mobx-preact@3.0.0_mobx@5.15.7_preact@10.25.4-SwmSNyX5.js";import"./preact@10.25.4-CrjB-ZC0.js";import"./mobx@5.15.7-DLDjekon.js";import"./uuid@9.0.1-CtRu48qb.js";import"./mousetrap@1.6.5-OHXNXF9n.js";import"./mobx-utils@5.6.2_mobx@5.15.7-CmgHUCcI.js";import"./utils-CNs7QJPM.js";import"./pinia-plugin-persistedstate@4.4.1_@nuxt_kit@3.15.0_rollup@4.40.0__pinia@3.0.3_typescript@5.8._3ejnhdjnhggf554dgd2wlld2fm-Nz2jvMPc.js";import"./destr@2.0.5-BPvN1X9m.js";import"./deep-pick-omit@1.2.1-CegYQlcN.js";import"./pinia@3.0.3_typescript@5.8.3_vue@3.5.17_typescript@5.8.3_-Q43Hpri0.js";import"./html-to-image@1.11.13-C6a6vdc2.js";import"./vue-router@4.5.1_vue@3.5.17_typescript@5.8.3_-DJCF340X.js";import"./@vue_runtime-dom@3.5.17-CRd3gAQJ.js";import"./@vue_shared@3.5.17-BLogKQf1.js";import"./interactjs@1.10.27-BJB5VkCx.js";import"./vue-i18n@9.13.1_vue@3.5.17_typescript@5.8.3_-CcunoX8a.js";import"./@intlify_shared@9.13.1-CM6R_CZ5.js";import"./@intlify_core-base@9.13.1-BNWv53cz.js";import"./@intlify_message-compiler@9.13.1-4K4Nd_mc.js";import"./echarts@5.6.0-BRu9FGIM.js";import"./zrender@5.6.1-MHdZqf99.js";import"./tslib@2.3.0-BDyQ-Jie.js";import"./date-fns@3.6.0-BMcLdxE-.js";import"./seemly@0.3.9-DfXeAbNj.js";import"./vueuc@0.4.64_vue@3.5.17_typescript@5.8.3_-Cy8D_ht_.js";import"./evtd@0.2.4-CI_DDEu_.js";import"./@css-render_vue3-ssr@0.15.14_vue@3.5.17_typescript@5.8.3_-OHQSPFRS.js";import"./vooks@0.2.12_vue@3.5.17_typescript@5.8.3_-DzrYU6h1.js";import"./vdirs@0.1.8_vue@3.5.17_typescript@5.8.3_-BAjskub0.js";import"./@juggle_resize-observer@3.4.0-C8OzoCMD.js";import"./css-render@0.15.14-C5toWlUr.js";import"./@emotion_hash@0.8.0-WldOFDRm.js";import"./treemate@0.3.11-DKekKYbv.js";import"./date-fns-tz@3.2.0_date-fns@3.6.0-7cEoHFIO.js";import"./async-validator@4.2.5-9PlIezaS.js";import"./@css-render_plugin-bem@0.15.14_css-render@0.15.14-Be8eOoM-.js";function w(e,a){return l(()=>n(e),Object.assign({},a))}const b=e=>n({url:`https://www.tianqiapi.com/api?version=v9&appid=23035354&appsecret=8YvlPNrz&city=${e}`,method:"get"}),d=()=>n({url:"https://jsonplaceholder.typicode.com/todos/1",method:"get"}),Lu=V({name:"RAxios",setup(){const e=R({weatherData:[],inputCityValue:null,throttleDemoInputValue:null,debounceDemoInputValue:null,weatherDemoInputValue:null}),{data:a,loading:m,run:p}=l(d,{throttleWait:1e3,manual:!0}),{data:s,loading:D,run:F}=l(d,{debounceWait:1e3,manual:!0}),{data:h,loading:c,run:E}=l(b,{throttleWait:1e3,manual:!0}),{data:B,loading:C,run:f}=w({url:"https://jsonplaceholder.typicode.com/todos/1",method:"get",cancelConfig:{cancel:!0}},{manual:!0,onError:()=>{window.$message.error("接口出现异常")}});return{...v(e),throttleDemoValue:a,throttleDemoLoading:m,throttleDemoRun:p,debounceDemoValue:s,debounceDemoLoading:D,debounceDemoRun:F,weatherDemoValue:h,weatherDemoLoading:c,weatherDemoRun:E,demoData:B,demoLoading:C,demoRun:f}},render(){return u(A,null,{default:()=>[u(r,{vertical:!0},{default:()=>[u("h1",null,[t("请求")]),u(o,null,{default:()=>[u("h2",null,[t("useRequest")]),u("p",null,[t("支持配置化请求数据")]),u("h2",null,[t("useHookPlusRequest")]),u("p",null,[t("支持包裹一个拥有 promise 状态的异步函数,可以用来包裹一个 axios 请求返回值方法")])]}),u("h1",null,[t("使用 useRequest 获取")]),u(o,{title:"请求函数"},{default:()=>[u("h3",null,[t("1.基于 axios 封装,能够自动取消连续请求,避免重复渲染造成问题")]),u("h3",null,[t("2.打开控制台 => 网络 => 使用低速3g网络 => 查看控制台被取消的请求")]),u("h3",null,[t("3.详情请查看文档")])]}),u(o,{title:"useRequest示例(手动触发)"},{default:()=>[u(r,{vertical:!0},{default:()=>{var e;return[u(g,{onClick:this.demoRun.bind(this)},{default:()=>[t("获取数据")]}),u("h3",null,[t("结果: "),this.demoLoading?"获取中...":(e=this.demoData)==null?void 0:e.title])]}})]}),u("h1",null,[t("使用 useHookPlusRequest 获取")]),u(o,{title:"节流"},{default:()=>[u(r,{vertical:!0},{default:()=>[u(i,{value:this.throttleDemoInputValue,"onUpdate:value":e=>this.throttleDemoInputValue=e,onUpdateValue:()=>{this.throttleDemoRun()}},null),u("h3",null,[t("不论触发多少次,一秒钟之内仅会触发一次")]),u("h3",null,[t("当前状态: "),this.throttleDemoLoading?"获取中...":"获取成功!!!"])]})]}),u(o,{title:"防抖"},{default:()=>[u(r,{vertical:!0},{default:()=>[u(i,{value:this.debounceDemoInputValue,"onUpdate:value":e=>this.debounceDemoInputValue=e,onUpdateValue:()=>{this.debounceDemoRun()}},null),u("h3",null,[t("一秒后才会执行,如果中途重新请求,则会重新计时")]),u("h3",null,[t("当前状态: "),this.debounceDemoLoading?"获取中...":"获取成功!!!"])]})]}),u(o,{title:"获取气候"},{default:()=>[u(r,{vertical:!0},{default:()=>[u(i,{value:this.weatherDemoInputValue,"onUpdate:value":e=>this.weatherDemoInputValue=e,onUpdateValue:e=>{this.weatherDemoRun(e)}},null),u("h3",null,[t("该示例演示了如何根据动态值获取数据")]),u("h3",null,[t("当前状态: "),this.weatherDemoLoading?"获取中...":"获取成功!!!"])]})]})]})]})}});export{Lu as default};