diff --git a/Jenkinsfile b/Jenkinsfile index 30862d2..582e9e8 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -13,17 +13,6 @@ spec: runAsUser: 0 privileged: true containers: - - name: nodejs - image: vite:latest - imagePullPolicy: "IfNotPresent" - command: - - cat - tty: true - volumeMounts: - - name: "workspace-volume" - mountPath: "/home/jenkins/agent" - readOnly: false - - name: "docker" image: "docker:20.10.17-git" imagePullPolicy: "IfNotPresent" @@ -95,14 +84,6 @@ spec: stage('单元测试') { echo "测试阶段" } - stage('npm打包') { - container('nodejs') { - sh ''' - npm install - npm run build - ''' - } - } stage('镜像构建') { withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: '8eb5126b-6a2f-4644-add0-bc2a669e663d', @@ -125,7 +106,9 @@ spec: ]) { container('kubectl') { echo "查看 K8S 集群 Pod 列表" - sh 'kubectl get pods -A' + sh 'kubectl delete deployment violin-home-deployment -n dev' + sh 'kubectl apply -f violin-home-dev.yaml' + sh 'kubectl get pod -n dev -owide | grep violin-home-deployment' } } } diff --git a/README.md b/README.md index d1254a2..c1b58a5 100644 --- a/README.md +++ b/README.md @@ -28,18 +28,25 @@ ## js-cookie npm install js-cookie -S +## vite-plugin-mock + + // to enter the home page: + localhost:3000/home?tenantId=XXX&account=YYY&token=ABCDEFG + ## 环境配置 - 前后端分离,所以前端单独服务器,所以生产环境需要装node.js - 添加了.env.production .env.development 文件 - 对vite.config.ts做了修改。 + 添加了.env.development ebv.test .env.production 文件 + development: + 开发环境,使用mock,不需要后台联动 + test: + 测试环境需要 后台java程序支持,同时需要百度第三方认证。 + prod: + 生产环境通过 jenkins cicd进行发布配置。 # 云服务器 nginx as a veb server, i use the official image to build this app image. ## 发布 - npm run build 生成dist 文件夹 - 把这个文件夹放到nginx的html文件夹下改名ghome - nginx那个 location /ghome 也要有。 ## 百度网盘开放平台 https://pan.baidu.com/union/home?menuKey=union-home diff --git a/dist/assets/blogView.d2987280.js b/dist/assets/blogView.8d8de68b.js similarity index 77% rename from dist/assets/blogView.d2987280.js rename to dist/assets/blogView.8d8de68b.js index bd6577c..bf6e948 100644 --- a/dist/assets/blogView.d2987280.js +++ b/dist/assets/blogView.8d8de68b.js @@ -1 +1 @@ -import{E as e}from"./index.ec680239.js";import{l as s}from"./index.715e6999.js";const t={"Content-Type":"application/json;charsetset=UTF-8"},u=r=>e({url:"/auth/api/v1/reader/blogs",method:"GET",params:r,paramsSerializer:a=>s.stringify(a,{arrayFormat:"repeat"})}),i=()=>e({url:"/auth/api/v1/reader/blog_type",method:"GET",headers:t}),p=r=>e({url:"/auth/api/v1/reader/blog/"+r,method:"GET",headers:t}),n=()=>e({url:"/auth/api/v1/reader/blogs/publish/all",method:"GET"}),h=r=>e({url:"/auth/api/v1/reader/blogs/publish/"+r,method:"GET"});export{i as a,h as b,p as c,u as g,n as p}; +import{C as e}from"./index.f6920a68.js";import{l as s}from"./index.d199d7e7.js";const t={"Content-Type":"application/json;charsetset=UTF-8"},u=r=>e({url:"/auth/api/v1/reader/blogs",method:"GET",params:r,paramsSerializer:a=>s.stringify(a,{arrayFormat:"repeat"})}),i=()=>e({url:"/auth/api/v1/reader/blog_type",method:"GET",headers:t}),p=r=>e({url:"/auth/api/v1/reader/blog/"+r,method:"GET",headers:t}),n=()=>e({url:"/auth/api/v1/reader/blogs/publish/all",method:"GET"}),h=r=>e({url:"/auth/api/v1/reader/blogs/publish/"+r,method:"GET"});export{i as a,h as b,p as c,u as g,n as p}; diff --git a/dist/assets/capital.452ddd85.js b/dist/assets/capital.452ddd85.js new file mode 100644 index 0000000..cb1bf1a --- /dev/null +++ b/dist/assets/capital.452ddd85.js @@ -0,0 +1 @@ +import{y as r}from"./index.f6920a68.js";const s=()=>r({url:"/trader/api/v1/accounts",method:"GET"}),a=t=>r({url:"/trader/api/v1/tick/"+t,method:"GET"}),o=()=>r({url:"/trader/api/v1/ticks",method:"GET"}),c=t=>r({url:"/trader/api/v1/order",method:"POST",data:t}),u=t=>r({url:"/trader/api/v1/subscribe/"+t,method:"GET"}),d=()=>r({url:"/trader/api/v1/subscribe/vt_symbols",method:"GET"}),n=()=>r({url:"/trader/api/v1/vt_symbols",method:"GET"}),i=()=>r({url:"/trader/api/v1/exchanges",method:"GET"});export{d as a,i as b,o as c,s as d,a as e,c as f,n as g,u as s}; diff --git a/dist/assets/createBlog.163843a8.js b/dist/assets/createBlog.163843a8.js deleted file mode 100644 index c748910..0000000 --- a/dist/assets/createBlog.163843a8.js +++ /dev/null @@ -1 +0,0 @@ -import{d as te,H as ve,o as f,c as x,e as g,E as m,_ as pe,C as D,b,B as ge,r as h,u as t,a as o,g as a,F as R,j as K,n as I,V as L,L as be,k as J,w as Q,v as X,f as r,t as $,I as M}from"./index.ec680239.js";import{h as T}from"./moment.a9f98195.js";import{E as fe}from"./style.843d539d.js";const me=te({name:"Edit"}),he={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ye=g("path",{fill:"currentColor",d:"M832 512a32 32 0 1 1 64 0v352a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h352a32 32 0 0 1 0 64H192v640h640V512z"},null,-1),Ve=g("path",{fill:"currentColor",d:"m469.952 554.24 52.8-7.552L847.104 222.4a32 32 0 1 0-45.248-45.248L477.44 501.44l-7.552 52.8zm422.4-422.4a96 96 0 0 1 0 135.808l-331.84 331.84a32 32 0 0 1-18.112 9.088L436.8 623.68a32 32 0 0 1-36.224-36.224l15.104-105.6a32 32 0 0 1 9.024-18.112l331.904-331.84a96 96 0 0 1 135.744 0z"},null,-1),we=[ye,Ve];function Be(v,n,V,w,B,k){return f(),x("svg",he,we)}var Z=ve(me,[["render",Be]]);const y={"Content-Type":"application/json;charsetset=UTF-8"},ke=()=>m({url:"/auth/api/v1/author/blog/list",method:"GET"}),Ce=v=>m({url:"/auth/api/v1/author/blog_type",method:"POST",headers:y,data:v}),xe=v=>m({url:"/auth/api/v1/author/blog_type",method:"PUT",headers:y,data:v}),Ee=v=>m({url:"/auth/api/v1/author/blog_type",method:"DELETE",headers:y,data:v}),ee=v=>m({url:"/auth/api/v1/author/blog/content/"+v,method:"GET",headers:y}),Ne=v=>m({url:"/auth/api/v1/author/blog/content",method:"PUT",headers:y,data:v}),De=v=>m({url:"/auth/api/v1/author/blog/content",method:"POST",headers:y,data:v}),Te=v=>m({url:"/auth/api/v1/author/blog/"+v,method:"DELETE",headers:y});const Ae={key:0,class:"blog_editer"},Fe=r("\u589E\u52A0\u4E00\u4E2A\u5206\u7C7B"),Ie=r("\u4FEE\u6539"),$e=r("\u5220\u9664"),Ue=r("\u9000\u51FA"),Se=r("\u589E\u52A0\u4E00\u4E2A\u535A\u5BA2"),We=r("\u5220\u9664"),Le=r("\u9876\u7F6E"),Me=r("\u9000\u51FA"),He={class:"c_section"},ze={class:"title_style"},Pe={style:{width:"60px"}},Ye={key:0},je={key:1},qe={class:"dialog-footer"},Ge=r("\u53D6\u6D88"),Oe=r("\u786E\u8BA4"),Re={class:"dialog-footer"},Ke=r("\u53D6\u6D88"),Je=r("\u786E\u8BA4"),Qe={class:"dialog-footer"},Xe=r("\u53D6\u6D88"),Ze=r("\u786E\u8BA4"),et={class:"dialog-footer"},tt=r("\u53D6\u6D88"),lt=r("\u786E\u8BA4"),ot=te({setup(v){const n=D(new Map),V=b(!1),w=b(!1),B=b(!1),k=b(!1);let c=b(""),d=b(""),U=b(!1),H=b(!1),E=b(!1),S=D(T());const le=async()=>{await ke().then(i=>{i.data.forEach(e=>{const u={btId:e.btId,btName:e.btName,blogs:new Map};e.blog_list.forEach(s=>{const p={bid:s.bid,btId:s.btId,btName:s.btName,title:s.title,blog_prex:s.blog_prex,autosave_control:s.autosave_control,content:s.content};u.blogs.set(s.bid,p)}),n.set(e.btId,u)})}),H.value=!0,d.value=n.keys().next().value,c.value=n.values().next().value.blogs.keys().next().value,be(n,(i,e)=>{let u=T();const s=S;S=u,setTimeout(()=>{T(u).diff(T(s),"seconds")>=1&&(console.log(u),console.log(S),z())},1e3)})},oe=i=>{var u;const e=(u=n.get(i))==null?void 0:u.blogs.values().next().value.bid;ee(e).then(s=>{n.get(i).blogs.get(e).content=s.data.content,d.value=i,c.value=e})},ae=i=>{c.value=i,ee(i).then(e=>{n.get(d.value).blogs.get(c.value).content=e.data.content})},z=()=>{if(E.value)return;E.value=!0;const i={bid:c.value,content:n.get(d.value).blogs.get(c.value).content};De(i).then(e=>{e.status==200&&(E.value=!1)})},ue=()=>{const i={btId:d.value,btName:n.get(d.value).btName};Ce(i).then(e=>{V.value=!1})},ne=()=>{U.value=!0;const i={btId:d.value,title:T().format("YYYY-MM-DD")};Ne(i).then(e=>{const{bid:u,title:s,content:p}=e.data,A={bid:u,btId:d.value,btName:"",title:s,blog_prex:"",content:p};n.get(d.value).blogs.set(u,A),c.value=u,U.value=!1})},se=()=>{_.value=="\u5220\u9664"&&(Te(c.value).then(i=>{var e,u;if(i.status==200){const s=c.value;c.value=(e=n.get(d.value))==null?void 0:e.blogs.keys().next().value,(u=n.get(d.value))==null||u.blogs.delete(s),k.value=!1}}),_.value="")};let _=b("");const de=()=>{const i={btName:_.value};xe(i).then(e=>{const u={btId:e.data.btId,btName:e.data.btName,blogs:new Map};e.data.blog_list.forEach(s=>{const p={bid:s.bid,btId:s.btId,btName:s.btName,title:s.title,blog_prex:s.blog_prex,autosave_control:s.autosave_control,content:s.content};u.blogs.set(s.bid,p)}),n.set(e.data.btId,u),d.value=e.data.btId,c.value=u.blogs.keys().next().value,w.value=!1,_.value=""})},ie=()=>{if(_.value==n.get(d.value).btName){const i={btId:d.value};Ee(i).then(e=>{e.status==200&&(n.delete(d.value),d.value=n.keys().next().value,c.value=n.values().next().value.blogs.keys().next().value),B.value=!1}),_.value=""}};le();let P=b("");const W=D({});let re=.1*window.innerWidth;W.width=re+"px",W.height=window.innerHeight+"px";const Y=D({});let ce=.23*window.innerWidth;Y.width=ce+"px";const j=D({});let _e=.67*window.innerWidth;return j.width=_e+"px",P.value=window.innerHeight-50+"px",ge(()=>{}),(i,e)=>{var G;const u=h("el-button"),s=h("el-icon"),p=h("el-dropdown-item"),A=h("el-dropdown-menu"),q=h("el-dropdown"),N=h("el-input"),F=h("el-dialog");return t(H)?(f(),x("div",Ae,[g("div",{class:"bt_section",style:I(t(W))},[o(u,{class:"bt-input",onClick:e[0]||(e[0]=l=>w.value=!0)},{default:a(()=>[Fe]),_:1}),(f(!0),x(R,null,K(t(n),(l,O)=>(f(),J(u,{class:"bt-input",key:O,onClick:C=>oe(l[0])},{default:a(()=>[o(q,{trigger:"click"},{dropdown:a(()=>[o(A,null,{default:a(()=>[o(p,{onClick:e[1]||(e[1]=C=>V.value=!0)},{default:a(()=>[Ie]),_:1}),o(p,{onClick:e[2]||(e[2]=C=>B.value=!0)},{default:a(()=>[$e]),_:1}),o(p,{onClick:C=>!0},{default:a(()=>[Ue]),_:1})]),_:1})]),default:a(()=>[Q(o(s,null,{default:a(()=>[o(t(Z))]),_:2},1536),[[X,t(d)==l[0]]])]),_:2},1024),r(" "+$(l[1].btName),1)]),_:2},1032,["onClick"]))),128))],4),g("div",{class:"b_section",style:I(t(Y))},[o(u,{class:"bt-input",disabled:t(U),onClick:ne},{default:a(()=>[Se]),_:1},8,["disabled"]),(f(!0),x(R,null,K((G=t(n).get(t(d)))==null?void 0:G.blogs,(l,O)=>(f(),J(u,{class:"bt-input",onClick:C=>ae(l[0])},{default:a(()=>[o(q,{trigger:"click"},{dropdown:a(()=>[o(A,null,{default:a(()=>[o(p,{onClick:e[3]||(e[3]=C=>k.value=!0)},{default:a(()=>[We]),_:1}),o(p,null,{default:a(()=>[Le]),_:1}),o(p,{onClick:C=>!0},{default:a(()=>[Me]),_:1})]),_:1})]),default:a(()=>[Q(o(s,null,{default:a(()=>[o(t(Z))]),_:2},1536),[[X,t(c)==l[0]]])]),_:2},1024),r(" "+$(l[1].title),1)]),_:2},1032,["onClick"]))),256))],4),g("div",He,[g("div",ze,[o(N,{modelValue:t(n).get(t(d)).blogs.get(t(c)).title,"onUpdate:modelValue":e[4]||(e[4]=l=>t(n).get(t(d)).blogs.get(t(c)).title=l)},null,8,["modelValue"]),g("div",Pe,[t(E)?L("",!0):(f(),x("span",Ye,"\u5DF2\u4FDD\u5B58")),t(E)?(f(),x("span",je,"\u66F4\u65B0\u4E2D")):L("",!0)])]),g("div",{style:I(t(j))},[o(t(fe),{theme:"light",modelValue:t(n).get(t(d)).blogs.get(t(c)).content,"onUpdate:modelValue":e[5]||(e[5]=l=>t(n).get(t(d)).blogs.get(t(c)).content=l),onSave:z,style:I({height:t(P)})},null,8,["modelValue","style"])],4)]),o(F,{modelValue:V.value,"onUpdate:modelValue":e[8]||(e[8]=l=>V.value=l),title:"\u4FEE\u6539\u535A\u5BA2\u5206\u7C7B\u540D\u79F0",width:"30%"},{footer:a(()=>[g("span",qe,[o(u,{onClick:e[7]||(e[7]=l=>V.value=!1)},{default:a(()=>[Ge]),_:1}),o(u,{type:"primary",onClick:ue},{default:a(()=>[Oe]),_:1})])]),default:a(()=>[o(N,{modelValue:t(n).get(t(d)).btName,"onUpdate:modelValue":e[6]||(e[6]=l=>t(n).get(t(d)).btName=l)},null,8,["modelValue"])]),_:1},8,["modelValue"]),o(F,{modelValue:w.value,"onUpdate:modelValue":e[11]||(e[11]=l=>w.value=l),title:"\u65B0\u7684\u535A\u5BA2\u5206\u7C7B",width:"30%"},{footer:a(()=>[g("span",Re,[o(u,{onClick:e[10]||(e[10]=l=>w.value=!1)},{default:a(()=>[Ke]),_:1}),o(u,{type:"primary",onClick:de},{default:a(()=>[Je]),_:1})])]),default:a(()=>[o(N,{modelValue:t(_),"onUpdate:modelValue":e[9]||(e[9]=l=>M(_)?_.value=l:_=l)},null,8,["modelValue"])]),_:1},8,["modelValue"]),o(F,{modelValue:B.value,"onUpdate:modelValue":e[14]||(e[14]=l=>B.value=l),title:"\u5220\u9664\u535A\u5BA2\u5206\u7C7B",width:"30%"},{footer:a(()=>[g("span",Qe,[o(u,{onClick:e[13]||(e[13]=l=>B.value=!1)},{default:a(()=>[Xe]),_:1}),o(u,{type:"primary",onClick:ie},{default:a(()=>[Ze]),_:1})])]),default:a(()=>[r(" \u4F60\u6B63\u5728\u5BF9 "+$(t(n).get(t(d)).btName)+" ",1),o(N,{modelValue:t(_),"onUpdate:modelValue":e[12]||(e[12]=l=>M(_)?_.value=l:_=l),placeholder:"\u8BF7\u8F93\u5165<"+t(n).get(t(d)).btName+">"},null,8,["modelValue","placeholder"])]),_:1},8,["modelValue"]),o(F,{modelValue:k.value,"onUpdate:modelValue":e[17]||(e[17]=l=>k.value=l),title:"\u5220\u9664\u535A\u5BA2",width:"30%"},{footer:a(()=>[g("span",et,[o(u,{onClick:e[16]||(e[16]=l=>k.value=!1)},{default:a(()=>[tt]),_:1}),o(u,{type:"primary",onClick:se},{default:a(()=>[lt]),_:1})])]),default:a(()=>[r(" \u4F60\u6B63\u5728\u5BF9 "+$(t(n).get(t(d)).blogs.get(t(c)).title)+" ",1),o(N,{modelValue:t(_),"onUpdate:modelValue":e[15]||(e[15]=l=>M(_)?_.value=l:_=l),placeholder:"\u8BF7\u8F93\u5165<\u5220\u9664>"},null,8,["modelValue"])]),_:1},8,["modelValue"])])):L("",!0)}}});var st=pe(ot,[["__scopeId","data-v-299e6ba1"]]);export{st as default}; diff --git a/dist/assets/createBlog.163843a8.js.gz b/dist/assets/createBlog.163843a8.js.gz deleted file mode 100644 index b339ca7..0000000 Binary files a/dist/assets/createBlog.163843a8.js.gz and /dev/null differ diff --git a/dist/assets/createBlog.6b3c602a.js b/dist/assets/createBlog.6b3c602a.js new file mode 100644 index 0000000..e9827fe --- /dev/null +++ b/dist/assets/createBlog.6b3c602a.js @@ -0,0 +1,10 @@ +import{W as xr,X as Er,Y as Or,Z as Tr,$ as Ir,a0 as Cr,a1 as Dr,a2 as Pr,a3 as Ar,G as Me,a4 as Rr,a5 as wr,a6 as Nr,a7 as Mr,A as Jt,a8 as Fr,b as Ft,a9 as jr,aa as Lr,ab as Br,ac as Ur,ad as Gr,ae as $r,af as Kr,ag as Vr,u as W,ah as Hr,ai as Wr,aj as Xr,ak as Yr,n as Fe,f as je,al as zr,am as Jr,an as Qr,F as Zr,ao as kr,ap as qr,aq as _r,ar as to,as as eo,at as no,au as ro,Q as oo,av as ao,R as io,m as Le,M as re,c as on,e as vt,aw as lo,ax as so,ay as uo,az as fo,aA as co,h as Xt,a as pt,aB as vo,d as nr,aC as ho,aD as po,aE as go,aF as mo,aG as yo,aH as bo,aI as So,x as Ht,aJ as xo,aK as Eo,U as Oo,aL as To,aM as Io,aN as Co,aO as Do,S as Po,V as Ao,aP as Ro,j as wo,P as No,aQ as Mo,aR as Fo,aS as jo,s as Lo,aT as Bo,aU as Uo,aV as Go,L as $o,aW as Ko,o as oe,q as rr,T as Vo,p as or,aX as Ho,aY as Wo,k as Xo,aZ as Yo,r as an,a_ as zo,a$ as Jo,b0 as Qo,b1 as Zo,b2 as ko,b3 as qo,b4 as _o,b5 as ta,b6 as ea,b7 as na,b8 as ra,b9 as oa,ba as aa,bb as ia,bc as la,bd as sa,be as ua,J as Rn,bf as fa,bg as da,bh as ca,bi as va,w as Pt,bj as ha,g as Be,bk as pa,bl as ga,bm as ma,bn as ya,bo as ba,bp as Sa,bq as xa,br as Ea,bs as Oa,bt as Ta,bu as Ia,bv as Ca,bw as Da,bx as Pa,by as Aa,bz as Ra,bA as wa,bB as Na,bC as Ma,v as Ue,K as ar,bD as Fa,C as kt,D as ir,bE as ja,bF as La,_ as Ba,E as Pe,bG as $n,bH as Kn,bI as Ua,bJ as Ga}from"./index.f6920a68.js";import{h as Ae}from"./moment.9709ab41.js";import{E as $a}from"./style.a1a3954d.js";const Ka=()=>{};var Va=Object.freeze(Object.defineProperty({__proto__:null,compile:Ka,EffectScope:xr,ReactiveEffect:Er,customRef:Or,effect:Tr,effectScope:Ir,getCurrentScope:Cr,isProxy:Dr,isReactive:Pr,isReadonly:Ar,isRef:Me,isShallow:Rr,markRaw:wr,onScopeDispose:Nr,proxyRefs:Mr,reactive:Jt,readonly:Fr,ref:Ft,shallowReactive:jr,shallowReadonly:Lr,shallowRef:Br,stop:Ur,toRaw:Gr,toRef:$r,toRefs:Kr,triggerRef:Vr,unref:W,camelize:Hr,capitalize:Wr,normalizeClass:Xr,normalizeProps:Yr,normalizeStyle:Fe,toDisplayString:je,toHandlerKey:zr,BaseTransition:Jr,Comment:Qr,Fragment:Zr,KeepAlive:kr,Static:qr,Suspense:_r,Teleport:to,Text:eo,callWithAsyncErrorHandling:no,callWithErrorHandling:ro,cloneVNode:oo,compatUtils:ao,computed:io,createBlock:Le,createCommentVNode:re,createElementBlock:on,createElementVNode:vt,createHydrationRenderer:lo,createPropsRestProxy:so,createRenderer:uo,createSlots:fo,createStaticVNode:co,createTextVNode:Xt,createVNode:pt,defineAsyncComponent:vo,defineComponent:nr,defineEmits:ho,defineExpose:po,defineProps:go,get devtools(){return mo},getCurrentInstance:yo,getTransitionRawChildren:bo,guardReactiveProps:So,h:Ht,handleError:xo,initCustomFormatter:Eo,inject:Oo,isMemoSame:To,isRuntimeOnly:Io,isVNode:Co,mergeDefaults:Do,mergeProps:Po,nextTick:Ao,onActivated:Ro,onBeforeMount:wo,onBeforeUnmount:No,onBeforeUpdate:Mo,onDeactivated:Fo,onErrorCaptured:jo,onMounted:Lo,onRenderTracked:Bo,onRenderTriggered:Uo,onServerPrefetch:Go,onUnmounted:$o,onUpdated:Ko,openBlock:oe,popScopeId:rr,provide:Vo,pushScopeId:or,queuePostFlushCb:Ho,registerRuntimeCompiler:Wo,renderList:Xo,renderSlot:Yo,resolveComponent:an,resolveDirective:zo,resolveDynamicComponent:Jo,resolveFilter:Qo,resolveTransitionHooks:Zo,setBlockTracking:ko,setDevtoolsHook:qo,setTransitionHooks:_o,ssrContextKey:ta,ssrUtils:ea,toHandlers:na,transformVNodeArgs:ra,useAttrs:oa,useSSRContext:aa,useSlots:ia,useTransitionState:la,version:sa,warn:ua,watch:Rn,watchEffect:fa,watchPostEffect:da,watchSyncEffect:ca,withAsyncContext:va,withCtx:Pt,withDefaults:ha,withDirectives:Be,withMemo:pa,withScopeId:ga,Transition:ma,TransitionGroup:ya,VueElement:ba,createApp:Sa,createSSRApp:xa,defineCustomElement:Ea,defineSSRCustomElement:Oa,hydrate:Ta,initDirectivesForSSR:Ia,render:Ca,useCssModule:Da,useCssVars:Pa,vModelCheckbox:Aa,vModelDynamic:Ra,vModelRadio:wa,vModelSelect:Na,vModelText:Ma,vShow:Ue,withKeys:ar,withModifiers:Fa},Symbol.toStringTag,{value:"Module"}));const qt={"Content-Type":"application/json;charsetset=UTF-8"},Ha=()=>kt({url:"/auth/api/v1/author/blog/list",method:"GET",headers:qt}),Wa=i=>kt({url:"/auth/api/v1/author/blog_type",method:"POST",headers:qt,data:i}),Xa=i=>kt({url:"/auth/api/v1/author/blog_type",method:"PUT",headers:qt,data:i}),Ya=i=>kt({url:"/auth/api/v1/author/blog_type",method:"DELETE",headers:qt,data:i}),za=i=>kt({url:"/auth/api/v1/author/blog_types",method:"POST",headers:qt,data:i}),Vn=i=>kt({url:"/auth/api/v1/author/blog/content/"+i,method:"GET",headers:qt}),Ja=i=>kt({url:"/auth/api/v1/author/blog/content",method:"PUT",headers:qt,data:i}),Hn=i=>kt({url:"/auth/api/v1/author/blog/content",method:"POST",headers:qt,data:i}),Qa=(i,e)=>kt({url:"/auth/api/v1/author/blog/"+i,method:"DELETE",headers:qt,data:e}),Za=(i,e)=>kt({url:"/auth/api/v1/author/blogs/"+e,method:"POST",headers:qt,data:i}),fe=(i,e)=>(Object.keys(i).forEach(r=>{i[r]=e[r]}),i);var lr={exports:{}},ka=ir(Va);/**! + * Sortable 1.14.0 + * @author RubaXa + * @author owenm + * @license MIT + */function Wn(i,e){var r=Object.keys(i);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(i);e&&(l=l.filter(function(n){return Object.getOwnPropertyDescriptor(i,n).enumerable})),r.push.apply(r,l)}return r}function Zt(i){for(var e=1;e=0)&&(r[n]=i[n]);return r}function ti(i,e){if(i==null)return{};var r=_a(i,e),l,n;if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(i);for(n=0;n=0)&&(!Object.prototype.propertyIsEnumerable.call(i,l)||(r[l]=i[l]))}return r}function ei(i){return ni(i)||ri(i)||oi(i)||ai()}function ni(i){if(Array.isArray(i))return wn(i)}function ri(i){if(typeof Symbol!="undefined"&&i[Symbol.iterator]!=null||i["@@iterator"]!=null)return Array.from(i)}function oi(i,e){if(!!i){if(typeof i=="string")return wn(i,e);var r=Object.prototype.toString.call(i).slice(8,-1);if(r==="Object"&&i.constructor&&(r=i.constructor.name),r==="Map"||r==="Set")return Array.from(i);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return wn(i,e)}}function wn(i,e){(e==null||e>i.length)&&(e=i.length);for(var r=0,l=new Array(e);r"&&(e=e.substring(1)),i)try{if(i.matches)return i.matches(e);if(i.msMatchesSelector)return i.msMatchesSelector(e);if(i.webkitMatchesSelector)return i.webkitMatchesSelector(e)}catch{return!1}return!1}}function si(i){return i.host&&i!==document&&i.host.nodeType?i.host:i.parentNode}function Wt(i,e,r,l){if(i){r=r||document;do{if(e!=null&&(e[0]===">"?i.parentNode===r&&cn(i,e):cn(i,e))||l&&i===r)return i;if(i===r)break}while(i=si(i))}return null}var Yn=/\s+/g;function ht(i,e,r){if(i&&e)if(i.classList)i.classList[r?"add":"remove"](e);else{var l=(" "+i.className+" ").replace(Yn," ").replace(" "+e+" "," ");i.className=(l+(r?" "+e:"")).replace(Yn," ")}}function K(i,e,r){var l=i&&i.style;if(l){if(r===void 0)return document.defaultView&&document.defaultView.getComputedStyle?r=document.defaultView.getComputedStyle(i,""):i.currentStyle&&(r=i.currentStyle),e===void 0?r:r[e];!(e in l)&&e.indexOf("webkit")===-1&&(e="-webkit-"+e),l[e]=r+(typeof r=="string"?"":"px")}}function he(i,e){var r="";if(typeof i=="string")r=i;else do{var l=K(i,"transform");l&&l!=="none"&&(r=l+" "+r)}while(!e&&(i=i.parentNode));var n=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return n&&new n(r)}function fr(i,e,r){if(i){var l=i.getElementsByTagName(e),n=0,u=l.length;if(r)for(;n=u:t=n<=u,!t)return l;if(l===Qt())break;l=le(l,!1)}return!1}function xe(i,e,r,l){for(var n=0,u=0,t=i.children;u2&&arguments[2]!==void 0?arguments[2]:{},n=l.evt,u=ti(l,pi);Qe.pluginEvent.bind(J)(e,r,Zt({dragEl:R,parentEl:gt,ghostEl:et,rootEl:ft,nextEl:ve,lastDownEl:sn,cloneEl:mt,cloneHidden:ie,dragStarted:$e,putSortable:Ct,activeSortable:J.active,originalEvent:n,oldIndex:Se,oldDraggableIndex:Xe,newIndex:Lt,newDraggableIndex:ae,hideGhostForTarget:gr,unhideGhostForTarget:mr,cloneNowHidden:function(){ie=!0},cloneNowShown:function(){ie=!1},dispatchSortableEvent:function(o){Rt({sortable:r,name:o,originalEvent:n})}},u))};function Rt(i){Ge(Zt({putSortable:Ct,cloneEl:mt,targetEl:R,rootEl:ft,oldIndex:Se,oldDraggableIndex:Xe,newIndex:Lt,newDraggableIndex:ae},i))}var R,gt,et,ft,ve,sn,mt,ie,Se,Lt,Xe,ae,qe,Ct,be=!1,vn=!1,hn=[],de,Kt,On,Tn,Zn,kn,$e,me,Ye,ze=!1,_e=!1,un,Dt,In=[],Nn=!1,pn=[],mn=typeof document!="undefined",tn=sr,qn=Je||te?"cssFloat":"float",gi=mn&&!li&&!sr&&"draggable"in document.createElement("div"),vr=function(){if(!!mn){if(te)return!1;var i=document.createElement("x");return i.style.cssText="pointer-events:auto",i.style.pointerEvents==="auto"}}(),hr=function(e,r){var l=K(e),n=parseInt(l.width)-parseInt(l.paddingLeft)-parseInt(l.paddingRight)-parseInt(l.borderLeftWidth)-parseInt(l.borderRightWidth),u=xe(e,0,r),t=xe(e,1,r),o=u&&K(u),a=t&&K(t),s=o&&parseInt(o.marginLeft)+parseInt(o.marginRight)+dt(u).width,d=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+dt(t).width;if(l.display==="flex")return l.flexDirection==="column"||l.flexDirection==="column-reverse"?"vertical":"horizontal";if(l.display==="grid")return l.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(u&&o.float&&o.float!=="none"){var f=o.float==="left"?"left":"right";return t&&(a.clear==="both"||a.clear===f)?"vertical":"horizontal"}return u&&(o.display==="block"||o.display==="flex"||o.display==="table"||o.display==="grid"||s>=n&&l[qn]==="none"||t&&l[qn]==="none"&&s+d>n)?"vertical":"horizontal"},mi=function(e,r,l){var n=l?e.left:e.top,u=l?e.right:e.bottom,t=l?e.width:e.height,o=l?r.left:r.top,a=l?r.right:r.bottom,s=l?r.width:r.height;return n===o||u===a||n+t/2===o+s/2},yi=function(e,r){var l;return hn.some(function(n){var u=n[At].options.emptyInsertThreshold;if(!(!u||Ln(n))){var t=dt(n),o=e>=t.left-u&&e<=t.right+u,a=r>=t.top-u&&r<=t.bottom+u;if(o&&a)return l=n}}),l},pr=function(e){function r(u,t){return function(o,a,s,d){var f=o.options.group.name&&a.options.group.name&&o.options.group.name===a.options.group.name;if(u==null&&(t||f))return!0;if(u==null||u===!1)return!1;if(t&&u==="clone")return u;if(typeof u=="function")return r(u(o,a,s,d),t)(o,a,s,d);var c=(t?o:a).options.group.name;return u===!0||typeof u=="string"&&u===c||u.join&&u.indexOf(c)>-1}}var l={},n=e.group;(!n||ln(n)!="object")&&(n={name:n}),l.name=n.name,l.checkPull=r(n.pull,!0),l.checkPut=r(n.put),l.revertClone=n.revertClone,e.group=l},gr=function(){!vr&&et&&K(et,"display","none")},mr=function(){!vr&&et&&K(et,"display","")};mn&&document.addEventListener("click",function(i){if(vn)return i.preventDefault(),i.stopPropagation&&i.stopPropagation(),i.stopImmediatePropagation&&i.stopImmediatePropagation(),vn=!1,!1},!0);var ce=function(e){if(R){e=e.touches?e.touches[0]:e;var r=yi(e.clientX,e.clientY);if(r){var l={};for(var n in e)e.hasOwnProperty(n)&&(l[n]=e[n]);l.target=l.rootEl=r,l.preventDefault=void 0,l.stopPropagation=void 0,r[At]._onDragOver(l)}}},bi=function(e){R&&R.parentNode[At]._isOutsideThisEl(e.target)};function J(i,e){if(!(i&&i.nodeType&&i.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(i));this.el=i,this.options=e=Gt({},e),i[At]=this;var r={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(i.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return hr(i,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(t,o){t.setData("Text",o.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:J.supportPointer!==!1&&"PointerEvent"in window&&!He,emptyInsertThreshold:5};Qe.initializePlugins(this,i,r);for(var l in r)!(l in e)&&(e[l]=r[l]);pr(e);for(var n in this)n.charAt(0)==="_"&&typeof this[n]=="function"&&(this[n]=this[n].bind(this));this.nativeDraggable=e.forceFallback?!1:gi,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?at(i,"pointerdown",this._onTapStart):(at(i,"mousedown",this._onTapStart),at(i,"touchstart",this._onTapStart)),this.nativeDraggable&&(at(i,"dragover",this),at(i,"dragenter",this)),hn.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),Gt(this,ci())}J.prototype={constructor:J,_isOutsideThisEl:function(e){!this.el.contains(e)&&e!==this.el&&(me=null)},_getDirection:function(e,r){return typeof this.options.direction=="function"?this.options.direction.call(this,e,r,R):this.options.direction},_onTapStart:function(e){if(!!e.cancelable){var r=this,l=this.el,n=this.options,u=n.preventOnFilter,t=e.type,o=e.touches&&e.touches[0]||e.pointerType&&e.pointerType==="touch"&&e,a=(o||e).target,s=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||a,d=n.filter;if(Di(l),!R&&!(/mousedown|pointerdown/.test(t)&&e.button!==0||n.disabled)&&!s.isContentEditable&&!(!this.nativeDraggable&&He&&a&&a.tagName.toUpperCase()==="SELECT")&&(a=Wt(a,n.draggable,l,!1),!(a&&a.animated)&&sn!==a)){if(Se=yt(a),Xe=yt(a,n.draggable),typeof d=="function"){if(d.call(this,e,a,this)){Rt({sortable:r,rootEl:s,name:"filter",targetEl:a,toEl:l,fromEl:l}),Nt("filter",r,{evt:e}),u&&e.cancelable&&e.preventDefault();return}}else if(d&&(d=d.split(",").some(function(f){if(f=Wt(s,f.trim(),l,!1),f)return Rt({sortable:r,rootEl:f,name:"filter",targetEl:a,fromEl:l,toEl:l}),Nt("filter",r,{evt:e}),!0}),d)){u&&e.cancelable&&e.preventDefault();return}n.handle&&!Wt(s,n.handle,l,!1)||this._prepareDragStart(e,o,a)}}},_prepareDragStart:function(e,r,l){var n=this,u=n.el,t=n.options,o=u.ownerDocument,a;if(l&&!R&&l.parentNode===u){var s=dt(l);if(ft=u,R=l,gt=R.parentNode,ve=R.nextSibling,sn=l,qe=t.group,J.dragged=R,de={target:R,clientX:(r||e).clientX,clientY:(r||e).clientY},Zn=de.clientX-s.left,kn=de.clientY-s.top,this._lastX=(r||e).clientX,this._lastY=(r||e).clientY,R.style["will-change"]="all",a=function(){if(Nt("delayEnded",n,{evt:e}),J.eventCanceled){n._onDrop();return}n._disableDelayedDragEvents(),!Xn&&n.nativeDraggable&&(R.draggable=!0),n._triggerDragStart(e,r),Rt({sortable:n,name:"choose",originalEvent:e}),ht(R,t.chosenClass,!0)},t.ignore.split(",").forEach(function(d){fr(R,d.trim(),Cn)}),at(o,"dragover",ce),at(o,"mousemove",ce),at(o,"touchmove",ce),at(o,"mouseup",n._onDrop),at(o,"touchend",n._onDrop),at(o,"touchcancel",n._onDrop),Xn&&this.nativeDraggable&&(this.options.touchStartThreshold=4,R.draggable=!0),Nt("delayStart",this,{evt:e}),t.delay&&(!t.delayOnTouchOnly||r)&&(!this.nativeDraggable||!(Je||te))){if(J.eventCanceled){this._onDrop();return}at(o,"mouseup",n._disableDelayedDrag),at(o,"touchend",n._disableDelayedDrag),at(o,"touchcancel",n._disableDelayedDrag),at(o,"mousemove",n._delayedDragTouchMoveHandler),at(o,"touchmove",n._delayedDragTouchMoveHandler),t.supportPointer&&at(o,"pointermove",n._delayedDragTouchMoveHandler),n._dragStartTimer=setTimeout(a,t.delay)}else a()}},_delayedDragTouchMoveHandler:function(e){var r=e.touches?e.touches[0]:e;Math.max(Math.abs(r.clientX-this._lastX),Math.abs(r.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){R&&Cn(R),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;rt(e,"mouseup",this._disableDelayedDrag),rt(e,"touchend",this._disableDelayedDrag),rt(e,"touchcancel",this._disableDelayedDrag),rt(e,"mousemove",this._delayedDragTouchMoveHandler),rt(e,"touchmove",this._delayedDragTouchMoveHandler),rt(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,r){r=r||e.pointerType=="touch"&&e,!this.nativeDraggable||r?this.options.supportPointer?at(document,"pointermove",this._onTouchMove):r?at(document,"touchmove",this._onTouchMove):at(document,"mousemove",this._onTouchMove):(at(R,"dragend",this),at(ft,"dragstart",this._onDragStart));try{document.selection?fn(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(e,r){if(be=!1,ft&&R){Nt("dragStarted",this,{evt:r}),this.nativeDraggable&&at(document,"dragover",bi);var l=this.options;!e&&ht(R,l.dragClass,!1),ht(R,l.ghostClass,!0),J.active=this,e&&this._appendGhost(),Rt({sortable:this,name:"start",originalEvent:r})}else this._nulling()},_emulateDragOver:function(){if(Kt){this._lastX=Kt.clientX,this._lastY=Kt.clientY,gr();for(var e=document.elementFromPoint(Kt.clientX,Kt.clientY),r=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(Kt.clientX,Kt.clientY),e!==r);)r=e;if(R.parentNode[At]._isOutsideThisEl(e),r)do{if(r[At]){var l=void 0;if(l=r[At]._onDragOver({clientX:Kt.clientX,clientY:Kt.clientY,target:e,rootEl:r}),l&&!this.options.dragoverBubble)break}e=r}while(r=r.parentNode);mr()}},_onTouchMove:function(e){if(de){var r=this.options,l=r.fallbackTolerance,n=r.fallbackOffset,u=e.touches?e.touches[0]:e,t=et&&he(et,!0),o=et&&t&&t.a,a=et&&t&&t.d,s=tn&&Dt&&Jn(Dt),d=(u.clientX-de.clientX+n.x)/(o||1)+(s?s[0]-In[0]:0)/(o||1),f=(u.clientY-de.clientY+n.y)/(a||1)+(s?s[1]-In[1]:0)/(a||1);if(!J.active&&!be){if(l&&Math.max(Math.abs(u.clientX-this._lastX),Math.abs(u.clientY-this._lastY))=0&&(Rt({rootEl:gt,name:"add",toEl:gt,fromEl:ft,originalEvent:e}),Rt({sortable:this,name:"remove",toEl:gt,originalEvent:e}),Rt({rootEl:gt,name:"sort",toEl:gt,fromEl:ft,originalEvent:e}),Rt({sortable:this,name:"sort",toEl:gt,originalEvent:e})),Ct&&Ct.save()):Lt!==Se&&Lt>=0&&(Rt({sortable:this,name:"update",toEl:gt,originalEvent:e}),Rt({sortable:this,name:"sort",toEl:gt,originalEvent:e})),J.active&&((Lt==null||Lt===-1)&&(Lt=Se,ae=Xe),Rt({sortable:this,name:"end",toEl:gt,originalEvent:e}),this.save()))),this._nulling()},_nulling:function(){Nt("nulling",this),ft=R=gt=et=ve=mt=sn=ie=de=Kt=$e=Lt=ae=Se=Xe=me=Ye=Ct=qe=J.dragged=J.ghost=J.clone=J.active=null,pn.forEach(function(e){e.checked=!0}),pn.length=On=Tn=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":R&&(this._onDragOver(e),Si(e));break;case"selectstart":e.preventDefault();break}},toArray:function(){for(var e=[],r,l=this.el.children,n=0,u=l.length,t=this.options;nl.right+n||i.clientX<=l.right&&i.clientY>l.bottom&&i.clientX>=l.left:i.clientX>l.right&&i.clientY>l.top||i.clientX<=l.right&&i.clientY>l.bottom+n}function Ti(i,e,r,l,n,u,t,o){var a=l?i.clientY:i.clientX,s=l?r.height:r.width,d=l?r.top:r.left,f=l?r.bottom:r.right,c=!1;if(!t){if(o&&und+s*u/2:af-un)return-Ye}else if(a>d+s*(1-n)/2&&af-s*u/2)?a>d+s/2?1:-1:0}function Ii(i){return yt(R)1&&(_.forEach(function(o){u.addAnimationState({target:o,rect:Mt?dt(o):t}),xn(o),o.fromRect=t,l.removeAnimationState(o)}),Mt=!1,Ni(!this.options.removeCloneOnHide,n))},dragOverCompleted:function(r){var l=r.sortable,n=r.isOwner,u=r.insertion,t=r.activeSortable,o=r.parentEl,a=r.putSortable,s=this.options;if(u){if(n&&t._hideClone(),we=!1,s.animation&&_.length>1&&(Mt||!n&&!t.options.sort&&!a)){var d=dt(ut,!1,!0,!0);_.forEach(function(c){c!==ut&&(Qn(c,d),o.appendChild(c))}),Mt=!0}if(!n)if(Mt||rn(),_.length>1){var f=nn;t._showClone(l),t.options.animation&&!nn&&f&&jt.forEach(function(c){t.addAnimationState({target:c,rect:Ne}),c.fromRect=Ne,c.thisAnimationDuration=null})}else t._showClone(l)}},dragOverAnimationCapture:function(r){var l=r.dragRect,n=r.isOwner,u=r.activeSortable;if(_.forEach(function(o){o.thisAnimationDuration=null}),u.options.animation&&!n&&u.multiDrag.isMultiDrag){Ne=Gt({},l);var t=he(ut,!0);Ne.top-=t.f,Ne.left-=t.e}},dragOverAnimationComplete:function(){Mt&&(Mt=!1,rn())},drop:function(r){var l=r.originalEvent,n=r.rootEl,u=r.parentEl,t=r.sortable,o=r.dispatchSortableEvent,a=r.oldIndex,s=r.putSortable,d=s||this.sortable;if(!!l){var f=this.options,c=u.children;if(!ye)if(f.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),ht(ut,f.selectedClass,!~_.indexOf(ut)),~_.indexOf(ut))_.splice(_.indexOf(ut),1),Re=null,Ge({sortable:t,rootEl:n,name:"deselect",targetEl:ut,originalEvt:l});else{if(_.push(ut),Ge({sortable:t,rootEl:n,name:"select",targetEl:ut,originalEvt:l}),l.shiftKey&&Re&&t.el.contains(Re)){var v=yt(Re),h=yt(ut);if(~v&&~h&&v!==h){var p,g;for(h>v?(g=v,p=h):(g=h,p=v+1);g1){var b=dt(ut),S=yt(ut,":not(."+this.options.selectedClass+")");if(!we&&f.animation&&(ut.thisAnimationDuration=null),d.captureAnimationState(),!we&&(f.animation&&(ut.fromRect=b,_.forEach(function(E){if(E.thisAnimationDuration=null,E!==ut){var C=Mt?dt(E):b;E.fromRect=C,d.addAnimationState({target:E,rect:C})}})),rn(),_.forEach(function(E){c[S]?u.insertBefore(E,c[S]):u.appendChild(E),S++}),a===yt(ut))){var I=!1;_.forEach(function(E){if(E.sortableIndex!==yt(E)){I=!0;return}}),I&&o("update")}_.forEach(function(E){xn(E)}),d.animateAll()}Vt=d}(n===u||s&&s.lastPutMode!=="clone")&&jt.forEach(function(E){E.parentNode&&E.parentNode.removeChild(E)})}},nullingGlobal:function(){this.isMultiDrag=ye=!1,jt.length=0},destroyGlobal:function(){this._deselectMultiDrag(),rt(document,"pointerup",this._deselectMultiDrag),rt(document,"mouseup",this._deselectMultiDrag),rt(document,"touchend",this._deselectMultiDrag),rt(document,"keydown",this._checkKeyDown),rt(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(r){if(!(typeof ye!="undefined"&&ye)&&Vt===this.sortable&&!(r&&Wt(r.target,this.options.draggable,this.sortable.el,!1))&&!(r&&r.button!==0))for(;_.length;){var l=_[0];ht(l,this.options.selectedClass,!1),_.shift(),Ge({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:l,originalEvt:r})}},_checkKeyDown:function(r){r.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(r){r.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},Gt(i,{pluginName:"multiDrag",utils:{select:function(r){var l=r.parentNode[At];!l||!l.options.multiDrag||~_.indexOf(r)||(Vt&&Vt!==l&&(Vt.multiDrag._deselectMultiDrag(),Vt=l),ht(r,l.options.selectedClass,!0),_.push(r))},deselect:function(r){var l=r.parentNode[At],n=_.indexOf(r);!l||!l.options.multiDrag||!~n||(ht(r,l.options.selectedClass,!1),_.splice(n,1))}},eventProperties:function(){var r=this,l=[],n=[];return _.forEach(function(u){l.push({multiDragElement:u,index:u.sortableIndex});var t;Mt&&u!==ut?t=-1:Mt?t=yt(u,":not(."+r.options.selectedClass+")"):t=yt(u),n.push({multiDragElement:u,index:t})}),{items:ei(_),clones:[].concat(jt),oldIndicies:l,newIndicies:n}},optionListeners:{multiDragKey:function(r){return r=r.toLowerCase(),r==="ctrl"?r="Control":r.length>1&&(r=r.charAt(0).toUpperCase()+r.substr(1)),r}}})}function Ni(i,e){_.forEach(function(r,l){var n=e.children[r.sortableIndex+(i?Number(l):0)];n?e.insertBefore(r,n):e.appendChild(r)})}function tr(i,e){jt.forEach(function(r,l){var n=e.children[r.sortableIndex+(i?Number(l):0)];n?e.insertBefore(r,n):e.appendChild(r)})}function rn(){_.forEach(function(i){i!==ut&&i.parentNode&&i.parentNode.removeChild(i)})}J.mount(new Pi);J.mount(Gn,Un);var Mi=Object.freeze(Object.defineProperty({__proto__:null,default:J,MultiDrag:wi,Sortable:J,Swap:Ai},Symbol.toStringTag,{value:"Module"})),Fi=ir(Mi);(function(i,e){(function(l,n){i.exports=n(ka,Fi)})(typeof self!="undefined"?self:ja,function(r,l){return function(n){var u={};function t(o){if(u[o])return u[o].exports;var a=u[o]={i:o,l:!1,exports:{}};return n[o].call(a.exports,a,a.exports,t),a.l=!0,a.exports}return t.m=n,t.c=u,t.d=function(o,a,s){t.o(o,a)||Object.defineProperty(o,a,{enumerable:!0,get:s})},t.r=function(o){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})},t.t=function(o,a){if(a&1&&(o=t(o)),a&8||a&4&&typeof o=="object"&&o&&o.__esModule)return o;var s=Object.create(null);if(t.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:o}),a&2&&typeof o!="string")for(var d in o)t.d(s,d,function(f){return o[f]}.bind(null,d));return s},t.n=function(o){var a=o&&o.__esModule?function(){return o.default}:function(){return o};return t.d(a,"a",a),a},t.o=function(o,a){return Object.prototype.hasOwnProperty.call(o,a)},t.p="",t(t.s="fb15")}({"00ee":function(n,u,t){var o=t("b622"),a=o("toStringTag"),s={};s[a]="z",n.exports=String(s)==="[object z]"},"0366":function(n,u,t){var o=t("1c0b");n.exports=function(a,s,d){if(o(a),s===void 0)return a;switch(d){case 0:return function(){return a.call(s)};case 1:return function(f){return a.call(s,f)};case 2:return function(f,c){return a.call(s,f,c)};case 3:return function(f,c,v){return a.call(s,f,c,v)}}return function(){return a.apply(s,arguments)}}},"057f":function(n,u,t){var o=t("fc6a"),a=t("241c").f,s={}.toString,d=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],f=function(c){try{return a(c)}catch{return d.slice()}};n.exports.f=function(v){return d&&s.call(v)=="[object Window]"?f(v):a(o(v))}},"06cf":function(n,u,t){var o=t("83ab"),a=t("d1e7"),s=t("5c6c"),d=t("fc6a"),f=t("c04e"),c=t("5135"),v=t("0cfb"),h=Object.getOwnPropertyDescriptor;u.f=o?h:function(g,b){if(g=d(g),b=f(b,!0),v)try{return h(g,b)}catch{}if(c(g,b))return s(!a.f.call(g,b),g[b])}},"0cfb":function(n,u,t){var o=t("83ab"),a=t("d039"),s=t("cc12");n.exports=!o&&!a(function(){return Object.defineProperty(s("div"),"a",{get:function(){return 7}}).a!=7})},"13d5":function(n,u,t){var o=t("23e7"),a=t("d58f").left,s=t("a640"),d=t("ae40"),f=s("reduce"),c=d("reduce",{1:0});o({target:"Array",proto:!0,forced:!f||!c},{reduce:function(h){return a(this,h,arguments.length,arguments.length>1?arguments[1]:void 0)}})},"14c3":function(n,u,t){var o=t("c6b6"),a=t("9263");n.exports=function(s,d){var f=s.exec;if(typeof f=="function"){var c=f.call(s,d);if(typeof c!="object")throw TypeError("RegExp exec method returned something other than an Object or null");return c}if(o(s)!=="RegExp")throw TypeError("RegExp#exec called on incompatible receiver");return a.call(s,d)}},"159b":function(n,u,t){var o=t("da84"),a=t("fdbc"),s=t("17c2"),d=t("9112");for(var f in a){var c=o[f],v=c&&c.prototype;if(v&&v.forEach!==s)try{d(v,"forEach",s)}catch{v.forEach=s}}},"17c2":function(n,u,t){var o=t("b727").forEach,a=t("a640"),s=t("ae40"),d=a("forEach"),f=s("forEach");n.exports=!d||!f?function(v){return o(this,v,arguments.length>1?arguments[1]:void 0)}:[].forEach},"1be4":function(n,u,t){var o=t("d066");n.exports=o("document","documentElement")},"1c0b":function(n,u){n.exports=function(t){if(typeof t!="function")throw TypeError(String(t)+" is not a function");return t}},"1c7e":function(n,u,t){var o=t("b622"),a=o("iterator"),s=!1;try{var d=0,f={next:function(){return{done:!!d++}},return:function(){s=!0}};f[a]=function(){return this},Array.from(f,function(){throw 2})}catch{}n.exports=function(c,v){if(!v&&!s)return!1;var h=!1;try{var p={};p[a]=function(){return{next:function(){return{done:h=!0}}}},c(p)}catch{}return h}},"1d80":function(n,u){n.exports=function(t){if(t==null)throw TypeError("Can't call method on "+t);return t}},"1dde":function(n,u,t){var o=t("d039"),a=t("b622"),s=t("2d00"),d=a("species");n.exports=function(f){return s>=51||!o(function(){var c=[],v=c.constructor={};return v[d]=function(){return{foo:1}},c[f](Boolean).foo!==1})}},"23cb":function(n,u,t){var o=t("a691"),a=Math.max,s=Math.min;n.exports=function(d,f){var c=o(d);return c<0?a(c+f,0):s(c,f)}},"23e7":function(n,u,t){var o=t("da84"),a=t("06cf").f,s=t("9112"),d=t("6eeb"),f=t("ce4e"),c=t("e893"),v=t("94ca");n.exports=function(h,p){var g=h.target,b=h.global,S=h.stat,I,E,C,O,B,$;if(b?E=o:S?E=o[g]||f(g,{}):E=(o[g]||{}).prototype,E)for(C in p){if(B=p[C],h.noTargetGet?($=a(E,C),O=$&&$.value):O=E[C],I=v(b?C:g+(S?".":"#")+C,h.forced),!I&&O!==void 0){if(typeof B==typeof O)continue;c(B,O)}(h.sham||O&&O.sham)&&s(B,"sham",!0),d(E,C,B,h)}}},"241c":function(n,u,t){var o=t("ca84"),a=t("7839"),s=a.concat("length","prototype");u.f=Object.getOwnPropertyNames||function(f){return o(f,s)}},"25f0":function(n,u,t){var o=t("6eeb"),a=t("825a"),s=t("d039"),d=t("ad6d"),f="toString",c=RegExp.prototype,v=c[f],h=s(function(){return v.call({source:"a",flags:"b"})!="/a/b"}),p=v.name!=f;(h||p)&&o(RegExp.prototype,f,function(){var b=a(this),S=String(b.source),I=b.flags,E=String(I===void 0&&b instanceof RegExp&&!("flags"in c)?d.call(b):I);return"/"+S+"/"+E},{unsafe:!0})},"2ca0":function(n,u,t){var o=t("23e7"),a=t("06cf").f,s=t("50c4"),d=t("5a34"),f=t("1d80"),c=t("ab13"),v=t("c430"),h="".startsWith,p=Math.min,g=c("startsWith"),b=!v&&!g&&!!function(){var S=a(String.prototype,"startsWith");return S&&!S.writable}();o({target:"String",proto:!0,forced:!b&&!g},{startsWith:function(I){var E=String(f(this));d(I);var C=s(p(arguments.length>1?arguments[1]:void 0,E.length)),O=String(I);return h?h.call(E,O,C):E.slice(C,C+O.length)===O}})},"2d00":function(n,u,t){var o=t("da84"),a=t("342f"),s=o.process,d=s&&s.versions,f=d&&d.v8,c,v;f?(c=f.split("."),v=c[0]+c[1]):a&&(c=a.match(/Edge\/(\d+)/),(!c||c[1]>=74)&&(c=a.match(/Chrome\/(\d+)/),c&&(v=c[1]))),n.exports=v&&+v},"342f":function(n,u,t){var o=t("d066");n.exports=o("navigator","userAgent")||""},"35a1":function(n,u,t){var o=t("f5df"),a=t("3f8c"),s=t("b622"),d=s("iterator");n.exports=function(f){if(f!=null)return f[d]||f["@@iterator"]||a[o(f)]}},"37e8":function(n,u,t){var o=t("83ab"),a=t("9bf2"),s=t("825a"),d=t("df75");n.exports=o?Object.defineProperties:function(c,v){s(c);for(var h=d(v),p=h.length,g=0,b;p>g;)a.f(c,b=h[g++],v[b]);return c}},"3bbe":function(n,u,t){var o=t("861d");n.exports=function(a){if(!o(a)&&a!==null)throw TypeError("Can't set "+String(a)+" as a prototype");return a}},"3ca3":function(n,u,t){var o=t("6547").charAt,a=t("69f3"),s=t("7dd0"),d="String Iterator",f=a.set,c=a.getterFor(d);s(String,"String",function(v){f(this,{type:d,string:String(v),index:0})},function(){var h=c(this),p=h.string,g=h.index,b;return g>=p.length?{value:void 0,done:!0}:(b=o(p,g),h.index+=b.length,{value:b,done:!1})})},"3f8c":function(n,u){n.exports={}},4160:function(n,u,t){var o=t("23e7"),a=t("17c2");o({target:"Array",proto:!0,forced:[].forEach!=a},{forEach:a})},"428f":function(n,u,t){var o=t("da84");n.exports=o},"44ad":function(n,u,t){var o=t("d039"),a=t("c6b6"),s="".split;n.exports=o(function(){return!Object("z").propertyIsEnumerable(0)})?function(d){return a(d)=="String"?s.call(d,""):Object(d)}:Object},"44d2":function(n,u,t){var o=t("b622"),a=t("7c73"),s=t("9bf2"),d=o("unscopables"),f=Array.prototype;f[d]==null&&s.f(f,d,{configurable:!0,value:a(null)}),n.exports=function(c){f[d][c]=!0}},"44e7":function(n,u,t){var o=t("861d"),a=t("c6b6"),s=t("b622"),d=s("match");n.exports=function(f){var c;return o(f)&&((c=f[d])!==void 0?!!c:a(f)=="RegExp")}},4930:function(n,u,t){var o=t("d039");n.exports=!!Object.getOwnPropertySymbols&&!o(function(){return!String(Symbol())})},"4d64":function(n,u,t){var o=t("fc6a"),a=t("50c4"),s=t("23cb"),d=function(f){return function(c,v,h){var p=o(c),g=a(p.length),b=s(h,g),S;if(f&&v!=v){for(;g>b;)if(S=p[b++],S!=S)return!0}else for(;g>b;b++)if((f||b in p)&&p[b]===v)return f||b||0;return!f&&-1}};n.exports={includes:d(!0),indexOf:d(!1)}},"4de4":function(n,u,t){var o=t("23e7"),a=t("b727").filter,s=t("1dde"),d=t("ae40"),f=s("filter"),c=d("filter");o({target:"Array",proto:!0,forced:!f||!c},{filter:function(h){return a(this,h,arguments.length>1?arguments[1]:void 0)}})},"4df4":function(n,u,t){var o=t("0366"),a=t("7b0b"),s=t("9bdd"),d=t("e95a"),f=t("50c4"),c=t("8418"),v=t("35a1");n.exports=function(p){var g=a(p),b=typeof this=="function"?this:Array,S=arguments.length,I=S>1?arguments[1]:void 0,E=I!==void 0,C=v(g),O=0,B,$,T,M,F,Z;if(E&&(I=o(I,S>2?arguments[2]:void 0,2)),C!=null&&!(b==Array&&d(C)))for(M=C.call(g),F=M.next,$=new b;!(T=F.call(M)).done;O++)Z=E?s(M,I,[T.value,O],!0):T.value,c($,O,Z);else for(B=f(g.length),$=new b(B);B>O;O++)Z=E?I(g[O],O):g[O],c($,O,Z);return $.length=O,$}},"4fad":function(n,u,t){var o=t("23e7"),a=t("6f53").entries;o({target:"Object",stat:!0},{entries:function(d){return a(d)}})},"50c4":function(n,u,t){var o=t("a691"),a=Math.min;n.exports=function(s){return s>0?a(o(s),9007199254740991):0}},5135:function(n,u){var t={}.hasOwnProperty;n.exports=function(o,a){return t.call(o,a)}},5319:function(n,u,t){var o=t("d784"),a=t("825a"),s=t("7b0b"),d=t("50c4"),f=t("a691"),c=t("1d80"),v=t("8aa5"),h=t("14c3"),p=Math.max,g=Math.min,b=Math.floor,S=/\$([$&'`]|\d\d?|<[^>]*>)/g,I=/\$([$&'`]|\d\d?)/g,E=function(C){return C===void 0?C:String(C)};o("replace",2,function(C,O,B,$){var T=$.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,M=$.REPLACE_KEEPS_$0,F=T?"$":"$0";return[function(w,Y){var N=c(this),H=w==null?void 0:w[C];return H!==void 0?H.call(w,N,Y):O.call(String(N),w,Y)},function(A,w){if(!T&&M||typeof w=="string"&&w.indexOf(F)===-1){var Y=B(O,A,this,w);if(Y.done)return Y.value}var N=a(A),H=String(this),k=typeof w=="function";k||(w=String(w));var ot=N.global;if(ot){var St=N.unicode;N.lastIndex=0}for(var ct=[];;){var U=h(N,H);if(U===null||(ct.push(U),!ot))break;var D=String(U[0]);D===""&&(N.lastIndex=v(H,d(N.lastIndex),St))}for(var j="",X=0,tt=0;tt=X&&(j+=H.slice(X,xt)+Tt,X=xt+L.length)}return j+H.slice(X)}];function Z(A,w,Y,N,H,k){var ot=Y+A.length,St=N.length,ct=I;return H!==void 0&&(H=s(H),ct=S),O.call(k,ct,function(U,D){var j;switch(D.charAt(0)){case"$":return"$";case"&":return A;case"`":return w.slice(0,Y);case"'":return w.slice(ot);case"<":j=H[D.slice(1,-1)];break;default:var X=+D;if(X===0)return U;if(X>St){var tt=b(X/10);return tt===0?U:tt<=St?N[tt-1]===void 0?D.charAt(1):N[tt-1]+D.charAt(1):U}j=N[X-1]}return j===void 0?"":j})}})},5692:function(n,u,t){var o=t("c430"),a=t("c6cd");(n.exports=function(s,d){return a[s]||(a[s]=d!==void 0?d:{})})("versions",[]).push({version:"3.6.5",mode:o?"pure":"global",copyright:"\xA9 2020 Denis Pushkarev (zloirock.ru)"})},"56ef":function(n,u,t){var o=t("d066"),a=t("241c"),s=t("7418"),d=t("825a");n.exports=o("Reflect","ownKeys")||function(c){var v=a.f(d(c)),h=s.f;return h?v.concat(h(c)):v}},"5a34":function(n,u,t){var o=t("44e7");n.exports=function(a){if(o(a))throw TypeError("The method doesn't accept regular expressions");return a}},"5c6c":function(n,u){n.exports=function(t,o){return{enumerable:!(t&1),configurable:!(t&2),writable:!(t&4),value:o}}},"5db7":function(n,u,t){var o=t("23e7"),a=t("a2bf"),s=t("7b0b"),d=t("50c4"),f=t("1c0b"),c=t("65f0");o({target:"Array",proto:!0},{flatMap:function(h){var p=s(this),g=d(p.length),b;return f(h),b=c(p,0),b.length=a(b,p,p,g,0,1,h,arguments.length>1?arguments[1]:void 0),b}})},6547:function(n,u,t){var o=t("a691"),a=t("1d80"),s=function(d){return function(f,c){var v=String(a(f)),h=o(c),p=v.length,g,b;return h<0||h>=p?d?"":void 0:(g=v.charCodeAt(h),g<55296||g>56319||h+1===p||(b=v.charCodeAt(h+1))<56320||b>57343?d?v.charAt(h):g:d?v.slice(h,h+2):(g-55296<<10)+(b-56320)+65536)}};n.exports={codeAt:s(!1),charAt:s(!0)}},"65f0":function(n,u,t){var o=t("861d"),a=t("e8b5"),s=t("b622"),d=s("species");n.exports=function(f,c){var v;return a(f)&&(v=f.constructor,typeof v=="function"&&(v===Array||a(v.prototype))?v=void 0:o(v)&&(v=v[d],v===null&&(v=void 0))),new(v===void 0?Array:v)(c===0?0:c)}},"69f3":function(n,u,t){var o=t("7f9a"),a=t("da84"),s=t("861d"),d=t("9112"),f=t("5135"),c=t("f772"),v=t("d012"),h=a.WeakMap,p,g,b,S=function(T){return b(T)?g(T):p(T,{})},I=function(T){return function(M){var F;if(!s(M)||(F=g(M)).type!==T)throw TypeError("Incompatible receiver, "+T+" required");return F}};if(o){var E=new h,C=E.get,O=E.has,B=E.set;p=function(T,M){return B.call(E,T,M),M},g=function(T){return C.call(E,T)||{}},b=function(T){return O.call(E,T)}}else{var $=c("state");v[$]=!0,p=function(T,M){return d(T,$,M),M},g=function(T){return f(T,$)?T[$]:{}},b=function(T){return f(T,$)}}n.exports={set:p,get:g,has:b,enforce:S,getterFor:I}},"6eeb":function(n,u,t){var o=t("da84"),a=t("9112"),s=t("5135"),d=t("ce4e"),f=t("8925"),c=t("69f3"),v=c.get,h=c.enforce,p=String(String).split("String");(n.exports=function(g,b,S,I){var E=I?!!I.unsafe:!1,C=I?!!I.enumerable:!1,O=I?!!I.noTargetGet:!1;if(typeof S=="function"&&(typeof b=="string"&&!s(S,"name")&&a(S,"name",b),h(S).source=p.join(typeof b=="string"?b:"")),g===o){C?g[b]=S:d(b,S);return}else E?!O&&g[b]&&(C=!0):delete g[b];C?g[b]=S:a(g,b,S)})(Function.prototype,"toString",function(){return typeof this=="function"&&v(this).source||f(this)})},"6f53":function(n,u,t){var o=t("83ab"),a=t("df75"),s=t("fc6a"),d=t("d1e7").f,f=function(c){return function(v){for(var h=s(v),p=a(h),g=p.length,b=0,S=[],I;g>b;)I=p[b++],(!o||d.call(h,I))&&S.push(c?[I,h[I]]:h[I]);return S}};n.exports={entries:f(!0),values:f(!1)}},"73d9":function(n,u,t){var o=t("44d2");o("flatMap")},7418:function(n,u){u.f=Object.getOwnPropertySymbols},"746f":function(n,u,t){var o=t("428f"),a=t("5135"),s=t("e538"),d=t("9bf2").f;n.exports=function(f){var c=o.Symbol||(o.Symbol={});a(c,f)||d(c,f,{value:s.f(f)})}},7839:function(n,u){n.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7b0b":function(n,u,t){var o=t("1d80");n.exports=function(a){return Object(o(a))}},"7c73":function(n,u,t){var o=t("825a"),a=t("37e8"),s=t("7839"),d=t("d012"),f=t("1be4"),c=t("cc12"),v=t("f772"),h=">",p="<",g="prototype",b="script",S=v("IE_PROTO"),I=function(){},E=function(T){return p+b+h+T+p+"/"+b+h},C=function(T){T.write(E("")),T.close();var M=T.parentWindow.Object;return T=null,M},O=function(){var T=c("iframe"),M="java"+b+":",F;return T.style.display="none",f.appendChild(T),T.src=String(M),F=T.contentWindow.document,F.open(),F.write(E("document.F=Object")),F.close(),F.F},B,$=function(){try{B=document.domain&&new ActiveXObject("htmlfile")}catch{}$=B?C(B):O();for(var T=s.length;T--;)delete $[g][s[T]];return $()};d[S]=!0,n.exports=Object.create||function(M,F){var Z;return M!==null?(I[g]=o(M),Z=new I,I[g]=null,Z[S]=M):Z=$(),F===void 0?Z:a(Z,F)}},"7dd0":function(n,u,t){var o=t("23e7"),a=t("9ed3"),s=t("e163"),d=t("d2bb"),f=t("d44e"),c=t("9112"),v=t("6eeb"),h=t("b622"),p=t("c430"),g=t("3f8c"),b=t("ae93"),S=b.IteratorPrototype,I=b.BUGGY_SAFARI_ITERATORS,E=h("iterator"),C="keys",O="values",B="entries",$=function(){return this};n.exports=function(T,M,F,Z,A,w,Y){a(F,M,Z);var N=function(tt){if(tt===A&&ct)return ct;if(!I&&tt in ot)return ot[tt];switch(tt){case C:return function(){return new F(this,tt)};case O:return function(){return new F(this,tt)};case B:return function(){return new F(this,tt)}}return function(){return new F(this)}},H=M+" Iterator",k=!1,ot=T.prototype,St=ot[E]||ot["@@iterator"]||A&&ot[A],ct=!I&&St||N(A),U=M=="Array"&&ot.entries||St,D,j,X;if(U&&(D=s(U.call(new T)),S!==Object.prototype&&D.next&&(!p&&s(D)!==S&&(d?d(D,S):typeof D[E]!="function"&&c(D,E,$)),f(D,H,!0,!0),p&&(g[H]=$))),A==O&&St&&St.name!==O&&(k=!0,ct=function(){return St.call(this)}),(!p||Y)&&ot[E]!==ct&&c(ot,E,ct),g[M]=ct,A)if(j={values:N(O),keys:w?ct:N(C),entries:N(B)},Y)for(X in j)(I||k||!(X in ot))&&v(ot,X,j[X]);else o({target:M,proto:!0,forced:I||k},j);return j}},"7f9a":function(n,u,t){var o=t("da84"),a=t("8925"),s=o.WeakMap;n.exports=typeof s=="function"&&/native code/.test(a(s))},"825a":function(n,u,t){var o=t("861d");n.exports=function(a){if(!o(a))throw TypeError(String(a)+" is not an object");return a}},"83ab":function(n,u,t){var o=t("d039");n.exports=!o(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})},8418:function(n,u,t){var o=t("c04e"),a=t("9bf2"),s=t("5c6c");n.exports=function(d,f,c){var v=o(f);v in d?a.f(d,v,s(0,c)):d[v]=c}},"861d":function(n,u){n.exports=function(t){return typeof t=="object"?t!==null:typeof t=="function"}},8875:function(n,u,t){var o,a,s;(function(d,f){a=[],o=f,s=typeof o=="function"?o.apply(u,a):o,s!==void 0&&(n.exports=s)})(typeof self!="undefined"?self:this,function(){function d(){var f=Object.getOwnPropertyDescriptor(document,"currentScript");if(!f&&"currentScript"in document&&document.currentScript||f&&f.get!==d&&document.currentScript)return document.currentScript;try{throw new Error}catch(B){var c=/.*at [^(]*\((.*):(.+):(.+)\)$/ig,v=/@([^@]*):(\d+):(\d+)\s*$/ig,h=c.exec(B.stack)||v.exec(B.stack),p=h&&h[1]||!1,g=h&&h[2]||!1,b=document.location.href.replace(document.location.hash,""),S,I,E,C=document.getElementsByTagName("script");p===b&&(S=document.documentElement.outerHTML,I=new RegExp("(?:[^\\n]+?\\n){0,"+(g-2)+"}[^<]* + diff --git a/mock/blog.ts b/mock/blog.ts new file mode 100644 index 0000000..3776a4b --- /dev/null +++ b/mock/blog.ts @@ -0,0 +1,78 @@ +import { MockMethod } from 'vite-plugin-mock' + +export default [ + { + url: '/auth/api/v1/author/blog/content/0001', + method: 'get', + response: ({ body, query }) => { + return { + content: "asdasdasdasdsadasdasdasdasdas" + } + } + }, + { + url: '/auth/api/v1/author/blog/content/0002', + method: 'get', + response: ({ body, query }) => { + return { + content: "wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww" + } + } + }, + { + url: '/auth/api/v1/author/blog/content', + method: 'POST', + response: ({ body, query }) => { + return { + content: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + } + } + }, + { + url: '/auth/api/v1/author/blog/0001', + method: 'delete', + response: () => { + return { + btId: "001", + btName: "your world---", + blog_list: [ + { + bid: "0002", + title: "two", + content: "anything", + btId: "001", + order: 0, + }, + ], + order: 0 + } + }, + }, + { + url: '/auth/api/v1/author/blog/content', + method: 'PUT', + response: () => { + return { + bid: "0003", + title: "three", + content: "just a insert test", + btId: "001", + order: 2, + } + }, + }, + { + url: '/auth/api/v1/author/blog/content', + method: 'POST', + response: () => { + return { + bid: "0003", + title: "three", + content: "just a insert test", + btId: "001", + order: 2, + } + }, + }, +] as MockMethod[] +// /auth/api/v1/author/blog/content \ No newline at end of file diff --git a/mock/blogType.ts b/mock/blogType.ts new file mode 100644 index 0000000..32367c3 --- /dev/null +++ b/mock/blogType.ts @@ -0,0 +1,203 @@ +import { MockMethod } from 'vite-plugin-mock' + +export default [ + { + url: '/auth/api/v1/author/blog/list', + method: 'get', + response: ({ body, query }) => { + return [ + { + btId: "001", + btName: "your world---", + blog_list: [ + { + bid: "0001", + title: "one", + content: "nothing", + btId: "001", + order: 0, + }, + { + bid: "0002", + title: "two", + content: "anything", + btId: "001", + order: 1, + }, + ], + order: 0 + }, + { + btId: "002", + btName: "my world", + blog_list: [ + { + bid: "0003", + title: "three", + content: "nothing", + btId: "002", + order: 0, + }, + { + bid: "0004", + title: "two", + content: "anything", + btId: "002", + order: 1, + }, + ], + order: 1 + }, + { + btId: "003", + btName: "my world", + blog_list: [ + { + bid: "0003", + title: "three", + content: "nothing", + btId: "002", + order: 0, + }, + { + bid: "0004", + title: "two", + content: "anything", + btId: "002", + order: 1, + }, + ], + order: 2 + }, + ] + } + }, + { + url: '/auth/api/v1/author/blog_types', + method: 'post', + response: () => { + return [ + { + btId: "001", + btName: "your world", + blog_list: [ + { + bid: "0001", + title: "one", + content: "nothing", + btId: "001", + order: 0, + }, + { + bid: "0002", + title: "two", + content: "anything", + btId: "001", + order: 1, + }, + ], + order: 1 + }, + { + btId: "002", + btName: "my world", + blog_list: [ + { + bid: "0003", + title: "three", + content: "nothing", + btId: "002", + order: 0, + }, + { + bid: "0004", + title: "two", + content: "anything", + btId: "002", + order: 1, + }, + ], + order: 0 + }, + ] + } + }, + { + url: '/auth/api/v1/author/blog_type', + method: 'put', + response: () => { + return { + btId: "001", + btName: "your world---", + blog_list: [ + { + bid: "0001", + title: "one", + content: "nothing", + btId: "001", + order: 0, + }, + ], + order: 2, + } + } + }, + { + url: '/auth/api/v1/author/blog_type', + method: 'post', + response: () => { + return { + } + } + }, + { + url: '/auth/api/v1/author/blog_type', + method: 'delete', + response: ({ body, query }) => { + return [ + { + btId: "001", + btName: "your world---", + blog_list: [ + { + bid: "0001", + title: "one", + content: "nothing", + btId: "001", + order: 0, + }, + { + bid: "0002", + title: "two", + content: "anything", + btId: "001", + order: 1, + }, + ], + order: 0 + }, + { + btId: "002", + btName: "my world", + blog_list: [ + { + bid: "0003", + title: "three", + content: "nothing", + btId: "002", + order: 0, + }, + { + bid: "0004", + title: "two", + content: "anything", + btId: "002", + order: 1, + }, + ], + order: 1 + }, + ] + } + }, +] as MockMethod[] diff --git a/mock/index.ts b/mock/index.ts new file mode 100644 index 0000000..cab60a9 --- /dev/null +++ b/mock/index.ts @@ -0,0 +1,6 @@ +import { createProdMockServer } from 'vite-plugin-mock/es/createProdMockServer'; +import tenant from './tenant'; + +export function setupMock() { + createProdMockServer([...tenant]); +} \ No newline at end of file diff --git a/mock/tenant.ts b/mock/tenant.ts new file mode 100644 index 0000000..91458c0 --- /dev/null +++ b/mock/tenant.ts @@ -0,0 +1,13 @@ +import { MockMethod } from 'vite-plugin-mock' + +export default [ + { + url: '/auth/api/v1/authorize', + method: 'post', + response: () => { + return { + token: "ABCDEFG" + } + } + } +] as MockMethod[] diff --git a/nginx.conf b/nginx.conf index 1356419..df47c75 100644 --- a/nginx.conf +++ b/nginx.conf @@ -14,6 +14,11 @@ server { index index.html index.htm; } + location /home { + alias /usr/share/nginx/html; + index index.html index.htm; + } + location ~ /view { alias /usr/share/nginx/html; index index.html index.htm; diff --git a/package-lock.json b/package-lock.json index 71c4420..7031603 100644 --- a/package-lock.json +++ b/package-lock.json @@ -59,6 +59,13 @@ "integrity": "sha512-8HqW8EVqjnCmWXVpqAOZf+EGESdkR27odcMMMGefgKXtar00SoYNSryGv//TELI4T3QFsECo78p+0lmalk/CFA==", "dev": true }, + "@esbuild/linux-loong64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz", + "integrity": "sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==", + "dev": true, + "optional": true + }, "@floating-ui/core": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-0.6.1.tgz", @@ -72,11 +79,76 @@ "@floating-ui/core": "^0.6.1" } }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, "@popperjs/core": { "version": "2.11.4", "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.4.tgz", "integrity": "sha512-q/ytXxO5NKvyT37pmisQAItCFqA7FD/vNb8dgaJy3/630Fsc+Mz9/9f2SziBoIZ30TJooXyTwZmhi1zjXmObYg==" }, + "@rollup/plugin-node-resolve": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.3.0.tgz", + "integrity": "sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "deepmerge": "^4.2.2", + "is-builtin-module": "^3.1.0", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + } + }, + "@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "dependencies": { + "estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + } + } + }, + "@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true + }, "@types/js-cookie": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-3.0.1.tgz", @@ -98,6 +170,12 @@ "@types/lodash": "*" } }, + "@types/mockjs": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/mockjs/-/mockjs-1.0.7.tgz", + "integrity": "sha512-OCxXz6hEaJOVpRwuJMiVY5a6LtJcih+br9gwB/Q8ooOBikvk5FpBQ31OlNimXo3EqKha1Z7PFBni+q9m+8NCWg==", + "dev": true + }, "@types/node": { "version": "17.0.23", "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz", @@ -109,6 +187,15 @@ "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", "dev": true }, + "@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@vitejs/plugin-vue": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-2.3.1.tgz", @@ -352,6 +439,16 @@ "color-convert": "^2.0.1" } }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", @@ -365,9 +462,9 @@ "dev": true }, "async": { - "version": "2.6.3", + "version": "2.6.4", "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", "requires": { "lodash": "^4.17.14" } @@ -394,6 +491,27 @@ "@babel/types": "^7.9.6" } }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true + }, "call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -422,6 +540,22 @@ "is-regex": "^1.0.3" } }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, "clipboard": { "version": "2.0.10", "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.10.tgz", @@ -447,6 +581,41 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "commander": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", + "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==", + "dev": true + }, + "connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dev": true, + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, "constantinople": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-4.0.1.tgz", @@ -484,6 +653,12 @@ "ms": "2.1.2" } }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, "delegate": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", @@ -554,6 +729,12 @@ "zrender": "5.3.1" } }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, "element-plus": { "version": "2.1.7", "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.1.7.tgz", @@ -584,6 +765,12 @@ "@emmetio/css-abbreviation": "^2.1.4" } }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true + }, "entities": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", @@ -591,170 +778,171 @@ "dev": true }, "esbuild": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.29.tgz", - "integrity": "sha512-SQS8cO8xFEqevYlrHt6exIhK853Me4nZ4aMW6ieysInLa0FMAL+AKs87HYNRtR2YWRcEIqoXAHh+Ytt5/66qpg==", + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.54.tgz", + "integrity": "sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==", "dev": true, "requires": { - "esbuild-android-64": "0.14.29", - "esbuild-android-arm64": "0.14.29", - "esbuild-darwin-64": "0.14.29", - "esbuild-darwin-arm64": "0.14.29", - "esbuild-freebsd-64": "0.14.29", - "esbuild-freebsd-arm64": "0.14.29", - "esbuild-linux-32": "0.14.29", - "esbuild-linux-64": "0.14.29", - "esbuild-linux-arm": "0.14.29", - "esbuild-linux-arm64": "0.14.29", - "esbuild-linux-mips64le": "0.14.29", - "esbuild-linux-ppc64le": "0.14.29", - "esbuild-linux-riscv64": "0.14.29", - "esbuild-linux-s390x": "0.14.29", - "esbuild-netbsd-64": "0.14.29", - "esbuild-openbsd-64": "0.14.29", - "esbuild-sunos-64": "0.14.29", - "esbuild-windows-32": "0.14.29", - "esbuild-windows-64": "0.14.29", - "esbuild-windows-arm64": "0.14.29" + "@esbuild/linux-loong64": "0.14.54", + "esbuild-android-64": "0.14.54", + "esbuild-android-arm64": "0.14.54", + "esbuild-darwin-64": "0.14.54", + "esbuild-darwin-arm64": "0.14.54", + "esbuild-freebsd-64": "0.14.54", + "esbuild-freebsd-arm64": "0.14.54", + "esbuild-linux-32": "0.14.54", + "esbuild-linux-64": "0.14.54", + "esbuild-linux-arm": "0.14.54", + "esbuild-linux-arm64": "0.14.54", + "esbuild-linux-mips64le": "0.14.54", + "esbuild-linux-ppc64le": "0.14.54", + "esbuild-linux-riscv64": "0.14.54", + "esbuild-linux-s390x": "0.14.54", + "esbuild-netbsd-64": "0.14.54", + "esbuild-openbsd-64": "0.14.54", + "esbuild-sunos-64": "0.14.54", + "esbuild-windows-32": "0.14.54", + "esbuild-windows-64": "0.14.54", + "esbuild-windows-arm64": "0.14.54" } }, "esbuild-android-64": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.29.tgz", - "integrity": "sha512-tJuaN33SVZyiHxRaVTo1pwW+rn3qetJX/SRuc/83rrKYtyZG0XfsQ1ao1nEudIt9w37ZSNXR236xEfm2C43sbw==", + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz", + "integrity": "sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==", "dev": true, "optional": true }, "esbuild-android-arm64": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.29.tgz", - "integrity": "sha512-D74dCv6yYnMTlofVy1JKiLM5JdVSQd60/rQfJSDP9qvRAI0laPXIG/IXY1RG6jobmFMUfL38PbFnCqyI/6fPXg==", + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz", + "integrity": "sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==", "dev": true, "optional": true }, "esbuild-darwin-64": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.29.tgz", - "integrity": "sha512-+CJaRvfTkzs9t+CjGa0Oa28WoXa7EeLutQhxus+fFcu0MHhsBhlmeWHac3Cc/Sf/xPi1b2ccDFfzGYJCfV0RrA==", + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz", + "integrity": "sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==", "dev": true, "optional": true }, "esbuild-darwin-arm64": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.29.tgz", - "integrity": "sha512-5Wgz/+zK+8X2ZW7vIbwoZ613Vfr4A8HmIs1XdzRmdC1kG0n5EG5fvKk/jUxhNlrYPx1gSY7XadQ3l4xAManPSw==", + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz", + "integrity": "sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==", "dev": true, "optional": true }, "esbuild-freebsd-64": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.29.tgz", - "integrity": "sha512-VTfS7Bm9QA12JK1YXF8+WyYOfvD7WMpbArtDj6bGJ5Sy5xp01c/q70Arkn596aGcGj0TvQRplaaCIrfBG1Wdtg==", + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz", + "integrity": "sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==", "dev": true, "optional": true }, "esbuild-freebsd-arm64": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.29.tgz", - "integrity": "sha512-WP5L4ejwLWWvd3Fo2J5mlXvG3zQHaw5N1KxFGnUc4+2ZFZknP0ST63i0IQhpJLgEJwnQpXv2uZlU1iWZjFqEIg==", + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz", + "integrity": "sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==", "dev": true, "optional": true }, "esbuild-linux-32": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.29.tgz", - "integrity": "sha512-4myeOvFmQBWdI2U1dEBe2DCSpaZyjdQtmjUY11Zu2eQg4ynqLb8Y5mNjNU9UN063aVsCYYfbs8jbken/PjyidA==", + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz", + "integrity": "sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==", "dev": true, "optional": true }, "esbuild-linux-64": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.29.tgz", - "integrity": "sha512-iaEuLhssReAKE7HMwxwFJFn7D/EXEs43fFy5CJeA4DGmU6JHh0qVJD2p/UP46DvUXLRKXsXw0i+kv5TdJ1w5pg==", + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz", + "integrity": "sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==", "dev": true, "optional": true }, "esbuild-linux-arm": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.29.tgz", - "integrity": "sha512-OXa9D9QL1hwrAnYYAHt/cXAuSCmoSqYfTW/0CEY0LgJNyTxJKtqc5mlwjAZAvgyjmha0auS/sQ0bXfGf2wAokQ==", + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz", + "integrity": "sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==", "dev": true, "optional": true }, "esbuild-linux-arm64": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.29.tgz", - "integrity": "sha512-KYf7s8wDfUy+kjKymW3twyGT14OABjGHRkm9gPJ0z4BuvqljfOOUbq9qT3JYFnZJHOgkr29atT//hcdD0Pi7Mw==", + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz", + "integrity": "sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==", "dev": true, "optional": true }, "esbuild-linux-mips64le": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.29.tgz", - "integrity": "sha512-05jPtWQMsZ1aMGfHOvnR5KrTvigPbU35BtuItSSWLI2sJu5VrM8Pr9Owym4wPvA4153DFcOJ1EPN/2ujcDt54g==", + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz", + "integrity": "sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==", "dev": true, "optional": true }, "esbuild-linux-ppc64le": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.29.tgz", - "integrity": "sha512-FYhBqn4Ir9xG+f6B5VIQVbRuM4S6qwy29dDNYFPoxLRnwTEKToIYIUESN1qHyUmIbfO0YB4phG2JDV2JDN9Kgw==", + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz", + "integrity": "sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==", "dev": true, "optional": true }, "esbuild-linux-riscv64": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.29.tgz", - "integrity": "sha512-eqZMqPehkb4nZcffnuOpXJQdGURGd6GXQ4ZsDHSWyIUaA+V4FpMBe+5zMPtXRD2N4BtyzVvnBko6K8IWWr36ew==", + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz", + "integrity": "sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==", "dev": true, "optional": true }, "esbuild-linux-s390x": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.29.tgz", - "integrity": "sha512-o7EYajF1rC/4ho7kpSG3gENVx0o2SsHm7cJ5fvewWB/TEczWU7teDgusGSujxCYcMottE3zqa423VTglNTYhjg==", + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz", + "integrity": "sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==", "dev": true, "optional": true }, "esbuild-netbsd-64": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.29.tgz", - "integrity": "sha512-/esN6tb6OBSot6+JxgeOZeBk6P8V/WdR3GKBFeFpSqhgw4wx7xWUqPrdx4XNpBVO7X4Ipw9SAqgBrWHlXfddww==", + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz", + "integrity": "sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==", "dev": true, "optional": true }, "esbuild-openbsd-64": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.29.tgz", - "integrity": "sha512-jUTdDzhEKrD0pLpjmk0UxwlfNJNg/D50vdwhrVcW/D26Vg0hVbthMfb19PJMatzclbK7cmgk1Nu0eNS+abzoHw==", + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz", + "integrity": "sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==", "dev": true, "optional": true }, "esbuild-sunos-64": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.29.tgz", - "integrity": "sha512-EfhQN/XO+TBHTbkxwsxwA7EfiTHFe+MNDfxcf0nj97moCppD9JHPq48MLtOaDcuvrTYOcrMdJVeqmmeQ7doTcg==", + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz", + "integrity": "sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==", "dev": true, "optional": true }, "esbuild-windows-32": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.29.tgz", - "integrity": "sha512-uoyb0YAJ6uWH4PYuYjfGNjvgLlb5t6b3zIaGmpWPOjgpr1Nb3SJtQiK4YCPGhONgfg2v6DcJgSbOteuKXhwqAw==", + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz", + "integrity": "sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==", "dev": true, "optional": true }, "esbuild-windows-64": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.29.tgz", - "integrity": "sha512-X9cW/Wl95QjsH8WUyr3NqbmfdU72jCp71cH3pwPvI4CgBM2IeOUDdbt6oIGljPu2bf5eGDIo8K3Y3vvXCCTd8A==", + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz", + "integrity": "sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==", "dev": true, "optional": true }, "esbuild-windows-arm64": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.29.tgz", - "integrity": "sha512-+O/PI+68fbUZPpl3eXhqGHTGK7DjLcexNnyJqtLZXOFwoAjaXlS5UBCvVcR3o2va+AqZTj8o6URaz8D2K+yfQQ==", + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz", + "integrity": "sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==", "dev": true, "optional": true }, @@ -782,6 +970,69 @@ "through": "^2.3.8" } }, + "fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, "follow-redirects": { "version": "1.14.9", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", @@ -825,6 +1076,15 @@ "has-symbols": "^1.0.1" } }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, "good-listener": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", @@ -879,6 +1139,24 @@ "entities": "^3.0.1" } }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-builtin-module": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.0.tgz", + "integrity": "sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw==", + "dev": true, + "requires": { + "builtin-modules": "^3.3.0" + } + }, "is-core-module": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", @@ -898,6 +1176,33 @@ "object-assign": "^4.1.1" } }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, "is-promise": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", @@ -1003,15 +1308,40 @@ "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, "mingo": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/mingo/-/mingo-1.3.3.tgz", "integrity": "sha1-aSLE0Ufvx3GgFCWixMj3eER4xUY=" }, + "mockjs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mockjs/-/mockjs-1.1.0.tgz", + "integrity": "sha512-eQsKcWzIaZzEZ07NuEyO4Nw65g0hdWAyurVol1IPl1gahRwY+svqzfgfey8U8dahLwG44d6/RwEzuK52rSa/JQ==", + "dev": true, + "requires": { + "commander": "*" + } + }, "moment": { - "version": "2.29.2", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.2.tgz", - "integrity": "sha512-UgzG4rvxYpN15jgCmVJwac49h9ly9NurikMWGPdVxm8GZD6XjkKPxDTjQQ43gtGgnV3X0cAyWDdP2Wexoquifg==" + "version": "2.29.4", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", + "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==" }, "ms": { "version": "2.1.2", @@ -1024,6 +1354,12 @@ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.2.tgz", "integrity": "sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==" }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, "normalize-wheel-es": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.1.2.tgz", @@ -1040,12 +1376,33 @@ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==" }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, "path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "path-to-regexp": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", + "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==", + "dev": true + }, "pause-stream": { "version": "0.0.11", "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", @@ -1059,6 +1416,12 @@ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, "pinia": { "version": "2.0.13", "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.0.13.tgz", @@ -1219,6 +1582,21 @@ "side-channel": "^1.0.4" } }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, "request-light": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/request-light/-/request-light-0.5.7.tgz", @@ -1236,15 +1614,30 @@ "supports-preserve-symlinks-flag": "^1.0.0" } }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, "rollup": { - "version": "2.70.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.70.1.tgz", - "integrity": "sha512-CRYsI5EuzLbXdxC6RnYhOuRdtz4bhejPMSWjsFLfVM/7w/85n2szZv6yExqUXsBdz5KT8eoubeyDUDjhLHEslA==", + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", "dev": true, "requires": { "fsevents": "~2.3.2" } }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, "save": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/save/-/save-2.4.0.tgz", @@ -1280,6 +1673,11 @@ "object-inspect": "^1.9.0" } }, + "sortablejs": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.14.0.tgz", + "integrity": "sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w==" + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -1303,6 +1701,12 @@ "through": "2" } }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true + }, "stream-combiner": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz", @@ -1343,6 +1747,15 @@ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", "dev": true }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, "toggle-selection": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", @@ -1376,23 +1789,54 @@ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true + }, "upath": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz", "integrity": "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==", "dev": true }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true + }, "vite": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-2.9.1.tgz", - "integrity": "sha512-vSlsSdOYGcYEJfkQ/NeLXgnRv5zZfpAsdztkIrs7AZHV8RCMZQkwjo4DS5BnrYTqoWqLoUe1Cah4aVO4oNNqCQ==", + "version": "2.9.13", + "resolved": "https://registry.npmjs.org/vite/-/vite-2.9.13.tgz", + "integrity": "sha512-AsOBAaT0AD7Mhe8DuK+/kE4aWYFMx/i0ZNi98hJclxb4e0OhQcZYUrvLjIaQ8e59Ui7txcvKMiJC1yftqpQoDw==", "dev": true, "requires": { "esbuild": "^0.14.27", "fsevents": "~2.3.2", - "postcss": "^8.4.12", + "postcss": "^8.4.13", "resolve": "^1.22.0", "rollup": "^2.59.0" + }, + "dependencies": { + "nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "dev": true + }, + "postcss": { + "version": "8.4.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz", + "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==", + "dev": true, + "requires": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + } } }, "vite-plugin-compression": { @@ -1406,6 +1850,31 @@ "fs-extra": "^10.0.0" } }, + "vite-plugin-mock": { + "version": "2.9.6", + "resolved": "https://registry.npmjs.org/vite-plugin-mock/-/vite-plugin-mock-2.9.6.tgz", + "integrity": "sha512-/Rm59oPppe/ncbkSrUuAxIQihlI2YcBmnbR4ST1RA2VzM1C0tEQc1KlbQvnUGhXECAGTaQN2JyasiwXP6EtKgg==", + "dev": true, + "requires": { + "@rollup/plugin-node-resolve": "^13.0.4", + "@types/mockjs": "^1.0.4", + "chalk": "^4.1.2", + "chokidar": "^3.5.2", + "connect": "^3.7.0", + "debug": "^4.3.2", + "esbuild": "0.11.3", + "fast-glob": "^3.2.7", + "path-to-regexp": "^6.2.0" + }, + "dependencies": { + "esbuild": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.11.3.tgz", + "integrity": "sha512-BzVRHcCtFepjS9WcqRjqoIxLqgpK21a8J4Zi4msSGxDxiXVO1IbcqT1KjhdDDnJxKfe7bvzZrvMEX+bVO0Elcw==", + "dev": true + } + } + }, "void-elements": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", @@ -1617,6 +2086,14 @@ "vscode-vue-languageservice": "0.29.8" } }, + "vuedraggable": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-4.1.0.tgz", + "integrity": "sha512-FU5HCWBmsf20GpP3eudURW3WdWTKIbEIQxh9/8GE806hydR9qZqRRxRE3RjqX7PkuLuMQG/A7n3cfj9rCEchww==", + "requires": { + "sortablejs": "1.14.0" + } + }, "with": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/with/-/with-7.0.2.tgz", diff --git a/package.json b/package.json index a194a3f..3530426 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,12 @@ { "name": "violin-home-home", "private": true, - "version": "0.0.5", + "version": "1.0.0", "scripts": { "dev": "vite --host", "build": "vue-tsc --noEmit && vite build", "development": "vite build --mode development", + "test": "vite --mode test", "preview": "vite preview" }, "dependencies": { @@ -21,22 +22,25 @@ "lodash-es": "^4.17.21", "lodash-unified": "^1.0.2", "md-editor-v3": "^1.11.6", - "moment": "^2.29.2", + "moment": "^2.29.4", "pinia": "^2.0.13", "qs": "^6.10.3", "save": "^2.4.0", "type-fest": "^2.12.2", "vue": "^3.2.25", - "vue-router": "^4.0.14" + "vue-router": "^4.0.14", + "vuedraggable": "^4.1.0" }, "devDependencies": { "@types/js-cookie": "^3.0.1", "@types/lodash-es": "^4.17.6", "@types/qs": "^6.9.7", "@vitejs/plugin-vue": "^2.3.0", + "mockjs": "^1.1.0", "typescript": "^4.5.4", - "vite": "^2.9.0", + "vite": "^2.9.13", "vite-plugin-compression": "^0.5.1", + "vite-plugin-mock": "^2.9.6", "vue-tsc": "^0.29.8" } -} +} \ No newline at end of file diff --git a/src/api/blog.ts b/src/api/blog.ts index 7eb4fdf..c45706a 100644 --- a/src/api/blog.ts +++ b/src/api/blog.ts @@ -1,18 +1,19 @@ -import request from '../utils/request' +import { service } from '../utils/request' const headers = { 'Content-Type': 'application/json;charsetset=UTF-8' } const listAll = () => { - return request({ + return service({ url: '/auth/api/v1/author/blog/list', - method: 'GET' + method: 'GET', + headers: headers }) } const updateBtName = (data: Object) => { - return request({ + return service({ url: '/auth/api/v1/author/blog_type', method: 'POST', headers: headers, @@ -21,7 +22,7 @@ const updateBtName = (data: Object) => { } const putBlogType = (data: Object) => { - return request({ + return service({ url: '/auth/api/v1/author/blog_type', method: 'PUT', headers: headers, @@ -30,7 +31,7 @@ const putBlogType = (data: Object) => { } const removeBlogType = (data: Object) => { - return request({ + return service({ url: '/auth/api/v1/author/blog_type', method: 'DELETE', headers: headers, @@ -38,8 +39,17 @@ const removeBlogType = (data: Object) => { }) } +const sortBlogTypes = (data: Object) => { + return service({ + url: '/auth/api/v1/author/blog_types', + method: 'POST', + headers: headers, + data: data + }) +} + const getContent = (id: string) => { - return request({ + return service({ url: '/auth/api/v1/author/blog/content/' + id, method: 'GET', headers: headers, @@ -47,7 +57,7 @@ const getContent = (id: string) => { } const putBlog = (postData: Object) => { - return request({ + return service({ url: '/auth/api/v1/author/blog/content', method: 'PUT', headers: headers, @@ -55,22 +65,32 @@ const putBlog = (postData: Object) => { }) } -const updateContent = (postData: Object) => { - return request({ +const updateContent = (post_data: Object) => { + return service({ url: '/auth/api/v1/author/blog/content', method: 'POST', headers: headers, - data: postData + data: post_data }) } -const deleteContent = (bid: string) => { - return request({ +const deleteContent = (bid: string, delete_data: Object) => { + return service({ url: '/auth/api/v1/author/blog/' + bid, method: 'DELETE', headers: headers, + data: delete_data + }) +} + +const sortBlogs = (data: Object, btId: string) => { + return service({ + url: '/auth/api/v1/author/blogs/' + btId, + method: 'POST', + headers: headers, + data: data }) } -export { listAll, updateBtName, putBlogType, removeBlogType, getContent, putBlog, updateContent, deleteContent } \ No newline at end of file +export { listAll, updateBtName, putBlogType, removeBlogType, sortBlogTypes, getContent, putBlog, updateContent, deleteContent, sortBlogs } \ No newline at end of file diff --git a/src/api/blogView.ts b/src/api/blogView.ts index 76a2efc..b779a6f 100644 --- a/src/api/blogView.ts +++ b/src/api/blogView.ts @@ -1,4 +1,4 @@ -import request from '../utils/request' +import { service } from '../utils/request' import Qs from 'qs' const headers = { @@ -6,7 +6,7 @@ const headers = { } const getBlogs = (params: Object) => { - return request({ + return service({ url: '/auth/api/v1/reader/blogs', method: 'GET', params: params, @@ -17,7 +17,7 @@ const getBlogs = (params: Object) => { } const getBtName = () => { - return request({ + return service({ url: '/auth/api/v1/reader/blog_type', method: 'GET', headers: headers @@ -25,7 +25,7 @@ const getBtName = () => { } const getBlog = (bid: string) => { - return request({ + return service({ url: '/auth/api/v1/reader/blog/' + bid, method: 'GET', headers: headers @@ -33,14 +33,14 @@ const getBlog = (bid: string) => { } const publishAll = () => { - return request({ + return service({ url: '/auth/api/v1/reader/blogs/publish/all', method: 'GET' }) } const publish = (bid: string) => { - return request({ + return service({ url: '/auth/api/v1/reader/blogs/publish/' + bid, method: 'GET' }) diff --git a/src/api/bookmark.ts b/src/api/bookmark.ts index c9fc46a..c16ac59 100644 --- a/src/api/bookmark.ts +++ b/src/api/bookmark.ts @@ -1,9 +1,15 @@ -import request from '../utils/request' +import { service } from '../utils/request' import Qs from 'qs' + +/** + * + * @param params + * @returns + */ const search_bookmark = (params: Object) => { - return request({ + return service({ url: '/auth/api/v1/bookmark', - method: 'get', + method: 'GET', params: params, paramsSerializer: (params) => { return Qs.stringify(params, { arrayFormat: 'repeat' }) @@ -12,35 +18,41 @@ const search_bookmark = (params: Object) => { } const put_bookmark = (params: Object) => { - return request({ + return service({ url: '/auth/api/v1/bookmark/insert', - method: 'put', + method: 'PUT', data: params }) } const update_bookmark = (params: Object) => { - return request({ + return service({ url: '/auth/api/v1/bookmark/update', - method: 'post', + method: 'POST', data: params }) } const delete_bookmark = (query: number) => { - return request({ + return service({ url: '/auth/api/v1/bookmark/delete/' + query, - method: 'delete', + method: 'DELETE', }) } const delete_bookmarks = (params: Object) => { - return request({ + return service({ url: '/auth/api/v1/bookmark', - method: 'delete', + method: 'DELETE', headers: {}, data: params }) } -export { search_bookmark, put_bookmark, delete_bookmark, delete_bookmarks, update_bookmark } +export { + search_bookmark, + put_bookmark, + delete_bookmark, + delete_bookmarks, + update_bookmark +} diff --git a/src/api/bookmark_type.ts b/src/api/bookmark_type.ts new file mode 100644 index 0000000..db02f32 --- /dev/null +++ b/src/api/bookmark_type.ts @@ -0,0 +1,39 @@ +import { service } from '../utils/request' + +const put_bookmark_type = (params: Object) => { + return service({ + url: '/auth/api/v1/bookmark_type/insert', + method: 'PUT', + data: params + }) +} + +const get_bookmark_type = () => { + return service({ + url: '/auth/api/v1/bookmark_type', + method: 'GET', + data: {} + }) +} + +const delete_bookmark_type = (type_id: string) => { + return service({ + url: '/auth/api/v1/bookmark_type/' + type_id, + method: 'DELETE' + }) +} + +const post_bookmark_type = (params: Object) => { + return service({ + url: '/auth/api/v1/bookmark_type', + method: 'POST', + data: params + }) +} + +export { + put_bookmark_type, + get_bookmark_type, + delete_bookmark_type, + post_bookmark_type +} \ No newline at end of file diff --git a/src/api/capital.ts b/src/api/capital.ts new file mode 100644 index 0000000..5283994 --- /dev/null +++ b/src/api/capital.ts @@ -0,0 +1,88 @@ +import { trader_service } from '../utils/request' + +"CTA strategy" + +"query account" +const get_accounts = () => { + return trader_service({ + url: '/trader/api/v1/accounts', + method: 'GET', + }) +} + +"get contract" +const get_contract = (symbol: string) => { + return trader_service({ + url: '/trader/api/v1/contract/' + symbol, + method: 'GET', + }) +} + +"get tick" +const get_tick = (symbol: string) => { + return trader_service({ + url: '/trader/api/v1/tick/' + symbol, + method: 'GET', + }) +} + +"get ticks" +const get_ticks = () => { + return trader_service({ + url: '/trader/api/v1/ticks', + method: 'GET', + }) +} + +"send_order" +const send_order = (data: any) => { + return trader_service({ + url: '/trader/api/v1/order', + method: 'POST', + data: data + }) +} + +"get tick" +const subscribe = (symbol: string) => { + return trader_service({ + url: '/trader/api/v1/subscribe/' + symbol, + method: 'GET', + }) +} + +"get subscribe vt_symbols" +const get_subscribe_vt_symbols = () => { + return trader_service({ + url: '/trader/api/v1/subscribe/vt_symbols', + method: 'GET', + }) +} + +"get all vt_symbols" +const get_vt_symbols = () => { + return trader_service({ + url: '/trader/api/v1/vt_symbols', + method: 'GET', + }) +} + +"get exchanges" +const get_exchanges = () => { + return trader_service({ + url: '/trader/api/v1/exchanges', + method: 'GET', + }) +} + +export { + get_accounts, + get_contract, + get_tick, + get_ticks, + subscribe, + send_order, + get_vt_symbols, + get_subscribe_vt_symbols, + get_exchanges +} \ No newline at end of file diff --git a/src/api/cloud.ts b/src/api/cloud.ts index f222a62..4676d00 100644 --- a/src/api/cloud.ts +++ b/src/api/cloud.ts @@ -1,11 +1,11 @@ -import request from '../utils/request' +import { service } from '../utils/request' const headers = { 'Content-Type': 'application/json;charsetset=UTF-8' } const getAudioInfo = (url: string) => { - return request({ + return service({ url: '/auth/api/v1/common/audio-info', method: 'GET', params: { url: url }, diff --git a/src/api/cta_strategy.ts b/src/api/cta_strategy.ts new file mode 100644 index 0000000..78a3e9b --- /dev/null +++ b/src/api/cta_strategy.ts @@ -0,0 +1,131 @@ +import { trader_service } from '../utils/request' + +"CTA strategy" + +"strategy file list" +const get_strategy_files = () => { + return trader_service({ + url: '/trader/api/v1/strategy_file', + method: 'GET', + }) +} + +"strategy file list" +const get_strategy_load_files = () => { + return trader_service({ + url: '/trader/api/v1/strategy_file/load', + method: 'GET', + }) +} + +"upload a strategy file" +const upload_strategy_file = (file: any) => { + const formData = new FormData(); + formData.append("file", file) + return trader_service({ + url: '/trader/api/v1/strategy_file', + method: 'POST', + data: formData, + headers: { + 'Content-Type': 'multipart/form-data', + } + }) +} + +"load a strategy file" +const load_strategy_file = (file_name: string) => { + return trader_service({ + url: '/trader/api/v1/strategy_file/' + file_name, + method: 'PUT', + }) +} + +"unload a strategy file" +const unload_strategy_file = (class_name: string) => { + return trader_service({ + url: '/trader/api/v1/strategy_file/' + class_name, + method: 'PATCH', + }) +} + +"remove a strategy file" +const remove_strategy_file = (file_name: string) => { + return trader_service({ + url: '/trader/api/v1/strategy_file/' + file_name, + method: 'DELETE', + }) +} + + +"get strategy list" +const get_strategies = () => { + return trader_service({ + url: '/trader/api/v1/strategies', + method: 'GET', + }) +} + +"create a strategy" +const create_strategy = (ruleForm: any) => { + return trader_service({ + url: '/trader/api/v1/strategy/' + ruleForm.strategy_name, + method: 'POST', + data: ruleForm + }) +} + +"init a strategy" +const init_strategy = (strategy_name: string) => { + return trader_service({ + url: '/trader/api/v1/strategy/init/' + strategy_name, + method: 'PUT', + }) +} + +"start a strategy" +const start_strategy = (strategy_name: string) => { + return trader_service({ + url: '/trader/api/v1/strategy/' + strategy_name, + method: 'PUT', + }) +} + +"stop a strategy" +const stop_strategy = (strategy_name: string) => { + return trader_service({ + url: '/trader/api/v1/strategy/' + strategy_name, + method: 'PATCH', + }) +} + +"remove a strategy" +const remove_strategy = (strategy_name: string) => { + return trader_service({ + url: '/trader/api/v1/strategy/' + strategy_name, + method: 'DELETE', + }) +} + +"get a strategy status" +const get_strategy_status = (strategy_name: string) => { + return trader_service({ + url: '/trader/api/v1/strategy/status/' + strategy_name, + method: 'GET', + }) +} + +export { + get_strategy_files, + get_strategy_load_files, + upload_strategy_file, + load_strategy_file, + unload_strategy_file, + remove_strategy_file, + get_strategies, + create_strategy, + init_strategy, + start_strategy, + stop_strategy, + remove_strategy, + get_strategy_status, +} \ No newline at end of file diff --git a/src/api/login.ts b/src/api/login.ts index 3b52c97..f2332c5 100644 --- a/src/api/login.ts +++ b/src/api/login.ts @@ -1,11 +1,11 @@ -import request from '../utils/request' +import { service } from '../utils/request' const headers = { 'Content-Type': 'application/json;charsetset=UTF-8' } const getQrCode = () => { - return request({ + return service({ url: '/auth/authorize/baidu', method: 'GET', headers: headers, diff --git a/src/api/master.ts b/src/api/master.ts index 023982f..8b13789 100644 --- a/src/api/master.ts +++ b/src/api/master.ts @@ -1,10 +1 @@ -import request from '../utils/request' -const bookmark_type = () => { - return request({ - url: '/auth/api/v1/master/bookmark/type', - method: 'get', - data: {} - }) -} -export { bookmark_type } diff --git a/src/api/onenote.ts b/src/api/onenote.ts index 5ddc243..9ae4f93 100644 --- a/src/api/onenote.ts +++ b/src/api/onenote.ts @@ -1,40 +1,40 @@ -import request from '../utils/request' +import { service } from '../utils/request' const get_notes = (params: Object) => { - return request({ + return service({ url: '/auth/api/v1/one_note', - method: 'get', + method: 'GET', params: params }) } const update_page = (params: Object) => { - return request({ + return service({ url: '/auth/api/v1/one_note/update_page', - method: 'post', + method: 'POST', data: params }) } const update_section = (params: Object) => { - return request({ + return service({ url: '/auth/api/v1/one_note/update_section', - method: 'post', + method: 'POST', data: params }) } const insert_section = () => { - return request({ + return service({ url: '/auth/api/v1/one_note/insert_section', - method: 'put' + method: 'PUT' }) } const insert_page = (params: Object) => { - return request({ + return service({ url: '/auth/one_note/insert_page', - method: 'put', + method: 'PUT', data: params }) } diff --git a/src/api/trader.ts b/src/api/trader.ts new file mode 100644 index 0000000..8b6c460 --- /dev/null +++ b/src/api/trader.ts @@ -0,0 +1,11 @@ +import { service } from '../utils/request' + +const get_stock_data = (data: Object) => { + return service({ + url: '/auth/api/v1/trader', + method: 'PUT', + data: data + }) +} + +export { get_stock_data } \ No newline at end of file diff --git a/src/api/user.ts b/src/api/user.ts index 4636978..0a27cb0 100644 --- a/src/api/user.ts +++ b/src/api/user.ts @@ -1,6 +1,6 @@ -import request from '../utils/request' +import { service } from '../utils/request' const authorize = (params: any) => { - return request({ + return service({ url: '/auth/api/v1/authorize', method: 'post', data: params @@ -8,11 +8,27 @@ const authorize = (params: any) => { } const obtainUserInfo = (token: string) => { - return request({ + return service({ url: '/auth/api/v1/user_info', method: 'GET', params: { token: token } }) } -export { authorize, obtainUserInfo } \ No newline at end of file +const logout = (id: string) => { + return service({ + url: '/auth/api/v1/logout/' + id, + method: 'GET' + }) +} + +const register_user = (postData: Object) => { + return service({ + url: '/auth/api/v1/register', + method: 'POST', + data: postData + }) +} + + +export { authorize, obtainUserInfo, logout, register_user } \ No newline at end of file diff --git a/src/assets/have_a_nice_day.jpeg b/src/assets/have_a_nice_day.jpeg new file mode 100644 index 0000000..a285979 Binary files /dev/null and b/src/assets/have_a_nice_day.jpeg differ diff --git a/src/components/illustration/index.vue b/src/components/illustration/index.vue new file mode 100644 index 0000000..ce62ec5 --- /dev/null +++ b/src/components/illustration/index.vue @@ -0,0 +1,15 @@ + + + + + \ No newline at end of file diff --git a/src/components/layout/Layout.vue b/src/components/layout/Layout.vue index e09e7ed..2f94300 100644 --- a/src/components/layout/Layout.vue +++ b/src/components/layout/Layout.vue @@ -14,11 +14,13 @@ - 本网站不涉及色情,赌博,毒品和政治宗教等内容,暂时为个人学习用途。 - 考虑到法律风险,针对有敏感词汇还设有过滤功能,所以暂时不对外提供一切功能。 -
- 再次重申,本网站只作为学习网站。。。。。。 + 管祥玮的个人网站 ©Copyright 2022-2022
+ 辽ICP备2022003637号-2 +
+ +
+
@@ -26,9 +28,21 @@ diff --git a/src/components/layout/NavBar.vue b/src/components/layout/NavBar.vue index 5daf137..37ea184 100644 --- a/src/components/layout/NavBar.vue +++ b/src/components/layout/NavBar.vue @@ -1,8 +1,23 @@ + 登录 @@ -62,6 +80,9 @@ const doLogout = () => { } .nav-main { - float: right; + display: flex; + align-items: center; + justify-content: space-between; + /* background-color: bisque; */ } diff --git a/src/components/login/login.vue b/src/components/login/login.vue index 93dfe3e..66dbdf2 100644 --- a/src/components/login/login.vue +++ b/src/components/login/login.vue @@ -1,5 +1,6 @@ @@ -56,36 +60,33 @@ + + + + + + \ No newline at end of file diff --git a/src/view/dashboard/index.vue b/src/view/dashboard/index.vue index 510108d..64736d2 100644 --- a/src/view/dashboard/index.vue +++ b/src/view/dashboard/index.vue @@ -1,63 +1,68 @@ \ No newline at end of file diff --git a/src/view/download/index.vue b/src/view/download/index.vue deleted file mode 100644 index 59db456..0000000 --- a/src/view/download/index.vue +++ /dev/null @@ -1,20 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/view/recommend/index.vue b/src/view/recommend/index.vue index cda1e0b..491e138 100644 --- a/src/view/recommend/index.vue +++ b/src/view/recommend/index.vue @@ -1,8 +1,122 @@ \ No newline at end of file diff --git a/src/view/trader/cta_strategy_file.vue b/src/view/trader/cta_strategy_file.vue new file mode 100644 index 0000000..582392f --- /dev/null +++ b/src/view/trader/cta_strategy_file.vue @@ -0,0 +1,156 @@ + + + + + \ No newline at end of file diff --git a/src/view/trader/dialog.vue b/src/view/trader/dialog.vue new file mode 100644 index 0000000..2254704 --- /dev/null +++ b/src/view/trader/dialog.vue @@ -0,0 +1,144 @@ + + + + \ No newline at end of file diff --git a/src/view/trader/index.vue b/src/view/trader/index.vue new file mode 100644 index 0000000..2fc0ab1 --- /dev/null +++ b/src/view/trader/index.vue @@ -0,0 +1,63 @@ + + + + + \ No newline at end of file diff --git a/violin-home-dev.yaml b/violin-home-dev.yaml index 7e381e4..6777fa3 100644 --- a/violin-home-dev.yaml +++ b/violin-home-dev.yaml @@ -17,7 +17,7 @@ spec: spec: containers: - name: violin-home - image: ccr.ccs.tencentyun.com/violin/violin-home:latest + image: ccr.ccs.tencentyun.com/violin/violin-home:v1.00 imagePullPolicy: Always ports: - containerPort: 8080 diff --git a/vite.config.ts b/vite.config.ts index bb8b5c7..e3ecee4 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,6 +1,7 @@ import { defineConfig, loadEnv } from 'vite' import vue from '@vitejs/plugin-vue' import viteCompression from 'vite-plugin-compression'; +import { viteMockServe } from 'vite-plugin-mock' // https://vitejs.cn/guide/env-and-mode.html#env-files export default defineConfig(({ mode }) => { @@ -9,7 +10,11 @@ export default defineConfig(({ mode }) => { plugins: [ vue(), // this is a gzip plugin to generate the .js.gz file - viteCompression() + viteCompression(), + viteMockServe({ + mockPath: 'mock', + localEnabled: true, + }), ], base: env.VITE_RES_URL } diff --git a/yarn.lock b/yarn.lock index 26155b9..251204c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -870,7 +870,7 @@ mingo@1: resolved "https://registry.yarnpkg.com/mingo/-/mingo-1.3.3.tgz#6922c4d147efc771a01425a2c4c8f7784478c546" integrity sha512-Y4wGTD/M7AMqF8QxKaBGps+axq/Z48hdtRAeiKtInkEXMLzUWUwT0OPDzrB26xrav9GF1AOYJfwVWPcLwnkgTA== -moment@^2.29.2: +moment@^2.29.4: version "2.29.4" resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==