2 lines
1.5 KiB
JavaScript
2 lines
1.5 KiB
JavaScript
import{E as e}from"./index-19bade01.js";import{bt as t}from"./index-98eefc51.js";import{x as n,m as s,u as o,b2 as a,n as r,aw as c,ak as i,t as l}from"./runtime-core.esm-bundler-1857aef3.js";const u={lock:!0,text:"加载中..."};function m(t,n={}){let s;const o=()=>{s&&s.close()},a={...u,...n};return(...n)=>{try{r=a,s=e.service(r);const c=t(...n);return c instanceof Promise?c.then((e=>e)).catch((e=>{throw e})).finally((()=>{o()})):(o(),Promise.resolve(c))}catch(c){throw o(),c}var r}}const d={code:0,data:{},message:"获取成功"};function f(){return new Promise((e=>{setTimeout((()=>{e(d)}),1e3)}))}function h(){return new Promise(((e,t)=>{setTimeout((()=>{t(new Error("发生错误"))}),1e3)}))}const g={class:"app-container"},p=r("h4",null,"该示例是演示:通过将要执行的函数传递给 hook,让 hook 自动开启全屏 loading,函数执行结束后自动关闭 loading",-1),w=n({__name:"use-fullscreen-loading",setup(e){const n={text:"即将发生错误...",background:"#F56C6C20",svg:'\n <path class="path" d="\n M 30 15\n L 28 17\n M 25.61 25.61\n A 15 15, 0, 0, 1, 15 30\n A 15 15, 0, 1, 1, 27.99 7.5\n L 15 15\n " style="stroke-width: 4px; fill: rgba(0, 0, 0, 0)"/>\n',svgViewBox:"-10, -10, 50, 50"},r=async()=>{const e=await m(f)();t.success(e.message)},u=async()=>{try{await m(h,n)()}catch(e){t.error(e.message)}};return(e,t)=>{const n=c("el-button");return i(),s("div",g,[p,o(n,{onClick:r},{default:a((()=>[l("查询成功")])),_:1}),o(n,{onClick:u},{default:a((()=>[l("查询失败")])),_:1})])}}});export{w as default};
|