From afc73f491d275b4fe6b4306b439f8295093b57e6 Mon Sep 17 00:00:00 2001 From: chenbihao Date: Fri, 19 Jul 2024 09:56:28 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20chenbiha?= =?UTF-8?q?o/gob@c84ae1c7dbebc576ae28f7074e9db090c3e28a13=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 404.html | 8 ++++---- assets/{404.html-DxXw2YLN.js => 404.html-D0Xl6xim.js} | 2 +- .../{TODO.html-BqzDE0JJ.js => TODO.html-DLw7WuJQ.js} | 2 +- assets/{app-BohDLf75.js => app-DPa7reTN.js} | 2 +- assets/{app.html-B7cYhGEr.js => app.html-9pCSa02-.js} | 2 +- assets/{app.html-D-_AnAHF.js => app.html-CLQ0ktJP.js} | 2 +- assets/{app.html-mppOdkqm.js => app.html-DzxdMPdZ.js} | 2 +- .../{build.html-Cj_YnAjI.js => build.html-DcIi_UkL.js} | 2 +- .../{build.html-CGboqbOl.js => build.html-JAZdfzPZ.js} | 2 +- .../{cache.html-CcCl1x-d.js => cache.html-CoMMy2OM.js} | 2 +- assets/{cmd.html-B-FHDWPO.js => cmd.html-CZwermKv.js} | 2 +- ...cmd_go.html-_YZVf66E.js => cmd_go.html-B_c8CI3J.js} | 2 +- ...d_npm.html-Ch6jn95s.js => cmd_npm.html-my40y7yv.js} | 2 +- ...mmand.html-UnMz95j-.js => command.html-BQ-rG8GH.js} | 2 +- ...config.html-DDdpivKm.js => config.html-CoYRIXvn.js} | 2 +- ...config.html-B1M4F-W5.js => config.html-D387cINI.js} | 2 +- .../{cron.html-D2qQuRoP.js => cron.html-C4qsjjhS.js} | 2 +- .../{cron.html-CMx5t5tQ.js => cron.html-C9IBkk0H.js} | 2 +- ...deploy.html-D0raq5Hd.js => deploy.html-BB6Z2VeE.js} | 2 +- ...deploy.html-CEKbsI8p.js => deploy.html-CwznvW0_.js} | 2 +- assets/{dev.html-Y4lf4MV-.js => dev.html-BzM0K0tk.js} | 2 +- assets/{dev.html-DqlfhMDE.js => dev.html-DMUbWeGB.js} | 2 +- ...d.html-QFGVeQ6Y.js => distributed.html-ChU9nTMK.js} | 2 +- assets/{env.html-D3vuTBla.js => env.html-CjVmGMAX.js} | 2 +- assets/{env.html-C4ZbRxHF.js => env.html-DMjUe7Pg.js} | 2 +- assets/{env.html-_teK4Oqy.js => env.html-Dnu3Gpu1.js} | 2 +- .../{grpc.html-DIJ24529.js => grpc.html-DauTmDFx.js} | 2 +- assets/{id.html-3hikjNGE.js => id.html-C40sJgOE.js} | 2 +- .../{index.html-DMC7V1Oa.js => index.html-0MYXBVMc.js} | 2 +- .../{index.html-CKRN3b_x.js => index.html-BYWTRDDN.js} | 2 +- .../{index.html-92JzTJ5Q.js => index.html-D2njedg8.js} | 2 +- .../{index.html-D0lwSFMQ.js => index.html-DPikwOdE.js} | 2 +- ...stall.html-gNuagqc6.js => install.html-DFWviQR7.js} | 4 ++-- ...uce.html-B1NfBmn6.js => introduce.html-FNF1i26H.js} | 2 +- ...kernel.html-CeK3C6wA.js => kernel.html-Dx0QmcU3.js} | 2 +- assets/{log.html-f97HsJTJ.js => log.html-DF7G-bap.js} | 2 +- ...re.html-vI1hsr7H.js => middleware.html-BP0hHIr0.js} | 2 +- ...re.html-BFXTxuOY.js => middleware.html-BWcFjQEn.js} | 2 +- .../{model.html-BCvsKPgy.js => model.html-CD9hVQvg.js} | 2 +- .../{model.html-DmNrfJXm.js => model.html-D3iO0kG2.js} | 2 +- assets/{new.html-DdCGzv16.js => new.html-DEhsSR-9.js} | 2 +- assets/{orm.html-BLaovd1_.js => orm.html-D8hEhQFt.js} | 2 +- ...ider.html-CS4Ov3Jc.js => provider.html-BcPmJm5h.js} | 2 +- ...ider.html-Cl5mSc27.js => provider.html-BvVlXh2Q.js} | 2 +- .../{redis.html-BJ4NbZR3.js => redis.html-DOIaDwZP.js} | 2 +- assets/{sls.html-DSiB-vJt.js => sls.html-D3Q98FKK.js} | 2 +- assets/{ssh.html-BCIbiRG0.js => ssh.html-Df1FodD1.js} | 2 +- ...ure.html-Q4jb0G38.js => structure.html-HPg53UzZ.js} | 2 +- ...agger.html-C5xOYm73.js => swagger.html-BgFVVPCa.js} | 2 +- ...agger.html-Da8keU3N.js => swagger.html-BpfKCBVd.js} | 2 +- .../{trace.html-BbTgaeqj.js => trace.html-BAUIiF9j.js} | 2 +- .../{util.html-C9wpLeI3.js => util.html-Bn4wvmJo.js} | 2 +- ...rsion.html-I7mgjM1n.js => version.html-Bu4I1Hph.js} | 2 +- ...rsion.html-kyyHzcoG.js => version.html-CnCAQnrB.js} | 2 +- command/app.html | 6 +++--- command/build.html | 6 +++--- command/cmd.html | 6 +++--- command/cmd_go.html | 6 +++--- command/cmd_npm.html | 6 +++--- command/config.html | 6 +++--- command/cron.html | 6 +++--- command/deploy.html | 6 +++--- command/dev.html | 6 +++--- command/env.html | 6 +++--- command/index.html | 6 +++--- command/middleware.html | 6 +++--- command/model.html | 6 +++--- command/new.html | 6 +++--- command/provider.html | 6 +++--- command/swagger.html | 6 +++--- command/version.html | 6 +++--- guide/TODO.html | 6 +++--- guide/app.html | 6 +++--- guide/build.html | 6 +++--- guide/command.html | 6 +++--- guide/cron.html | 6 +++--- guide/deploy.html | 6 +++--- guide/dev.html | 6 +++--- guide/env.html | 6 +++--- guide/grpc.html | 6 +++--- guide/index.html | 6 +++--- guide/install.html | 10 +++++----- guide/introduce.html | 6 +++--- guide/middleware.html | 6 +++--- guide/model.html | 6 +++--- guide/provider.html | 6 +++--- guide/structure.html | 6 +++--- guide/swagger.html | 6 +++--- guide/util.html | 6 +++--- guide/version.html | 6 +++--- index.html | 6 +++--- provider/app.html | 6 +++--- provider/cache.html | 6 +++--- provider/config.html | 6 +++--- provider/distributed.html | 6 +++--- provider/env.html | 6 +++--- provider/id.html | 6 +++--- provider/index.html | 6 +++--- provider/kernel.html | 6 +++--- provider/log.html | 6 +++--- provider/orm.html | 6 +++--- provider/redis.html | 6 +++--- provider/sls.html | 6 +++--- provider/ssh.html | 6 +++--- provider/trace.html | 6 +++--- 105 files changed, 213 insertions(+), 213 deletions(-) rename assets/{404.html-DxXw2YLN.js => 404.html-D0Xl6xim.js} (82%) rename assets/{TODO.html-BqzDE0JJ.js => TODO.html-DLw7WuJQ.js} (99%) rename assets/{app-BohDLf75.js => app-DPa7reTN.js} (98%) rename assets/{app.html-B7cYhGEr.js => app.html-9pCSa02-.js} (99%) rename assets/{app.html-D-_AnAHF.js => app.html-CLQ0ktJP.js} (98%) rename assets/{app.html-mppOdkqm.js => app.html-DzxdMPdZ.js} (99%) rename assets/{build.html-Cj_YnAjI.js => build.html-DcIi_UkL.js} (97%) rename assets/{build.html-CGboqbOl.js => build.html-JAZdfzPZ.js} (98%) rename assets/{cache.html-CcCl1x-d.js => cache.html-CoMMy2OM.js} (99%) rename assets/{cmd.html-B-FHDWPO.js => cmd.html-CZwermKv.js} (97%) rename assets/{cmd_go.html-_YZVf66E.js => cmd_go.html-B_c8CI3J.js} (97%) rename assets/{cmd_npm.html-Ch6jn95s.js => cmd_npm.html-my40y7yv.js} (97%) rename assets/{command.html-UnMz95j-.js => command.html-BQ-rG8GH.js} (99%) rename assets/{config.html-DDdpivKm.js => config.html-CoYRIXvn.js} (99%) rename assets/{config.html-B1M4F-W5.js => config.html-D387cINI.js} (97%) rename assets/{cron.html-D2qQuRoP.js => cron.html-C4qsjjhS.js} (97%) rename assets/{cron.html-CMx5t5tQ.js => cron.html-C9IBkk0H.js} (98%) rename assets/{deploy.html-D0raq5Hd.js => deploy.html-BB6Z2VeE.js} (99%) rename assets/{deploy.html-CEKbsI8p.js => deploy.html-CwznvW0_.js} (99%) rename assets/{dev.html-Y4lf4MV-.js => dev.html-BzM0K0tk.js} (98%) rename assets/{dev.html-DqlfhMDE.js => dev.html-DMUbWeGB.js} (99%) rename assets/{distributed.html-QFGVeQ6Y.js => distributed.html-ChU9nTMK.js} (98%) rename assets/{env.html-D3vuTBla.js => env.html-CjVmGMAX.js} (97%) rename assets/{env.html-C4ZbRxHF.js => env.html-DMjUe7Pg.js} (98%) rename assets/{env.html-_teK4Oqy.js => env.html-Dnu3Gpu1.js} (98%) rename assets/{grpc.html-DIJ24529.js => grpc.html-DauTmDFx.js} (90%) rename assets/{id.html-3hikjNGE.js => id.html-C40sJgOE.js} (97%) rename assets/{index.html-DMC7V1Oa.js => index.html-0MYXBVMc.js} (91%) rename assets/{index.html-CKRN3b_x.js => index.html-BYWTRDDN.js} (93%) rename assets/{index.html-92JzTJ5Q.js => index.html-D2njedg8.js} (95%) rename assets/{index.html-D0lwSFMQ.js => index.html-DPikwOdE.js} (94%) rename assets/{install.html-gNuagqc6.js => install.html-DFWviQR7.js} (86%) rename assets/{introduce.html-B1NfBmn6.js => introduce.html-FNF1i26H.js} (91%) rename assets/{kernel.html-CeK3C6wA.js => kernel.html-Dx0QmcU3.js} (97%) rename assets/{log.html-f97HsJTJ.js => log.html-DF7G-bap.js} (99%) rename assets/{middleware.html-vI1hsr7H.js => middleware.html-BP0hHIr0.js} (97%) rename assets/{middleware.html-BFXTxuOY.js => middleware.html-BWcFjQEn.js} (98%) rename assets/{model.html-BCvsKPgy.js => model.html-CD9hVQvg.js} (99%) rename assets/{model.html-DmNrfJXm.js => model.html-D3iO0kG2.js} (98%) rename assets/{new.html-DdCGzv16.js => new.html-DEhsSR-9.js} (97%) rename assets/{orm.html-BLaovd1_.js => orm.html-D8hEhQFt.js} (99%) rename assets/{provider.html-CS4Ov3Jc.js => provider.html-BcPmJm5h.js} (97%) rename assets/{provider.html-Cl5mSc27.js => provider.html-BvVlXh2Q.js} (99%) rename assets/{redis.html-BJ4NbZR3.js => redis.html-DOIaDwZP.js} (99%) rename assets/{sls.html-DSiB-vJt.js => sls.html-D3Q98FKK.js} (98%) rename assets/{ssh.html-BCIbiRG0.js => ssh.html-Df1FodD1.js} (98%) rename assets/{structure.html-Q4jb0G38.js => structure.html-HPg53UzZ.js} (99%) rename assets/{swagger.html-C5xOYm73.js => swagger.html-BgFVVPCa.js} (97%) rename assets/{swagger.html-Da8keU3N.js => swagger.html-BpfKCBVd.js} (99%) rename assets/{trace.html-BbTgaeqj.js => trace.html-BAUIiF9j.js} (98%) rename assets/{util.html-C9wpLeI3.js => util.html-Bn4wvmJo.js} (99%) rename assets/{version.html-I7mgjM1n.js => version.html-Bu4I1Hph.js} (97%) rename assets/{version.html-kyyHzcoG.js => version.html-CnCAQnrB.js} (98%) diff --git a/404.html b/404.html index 94ed47f..9b83340 100644 --- a/404.html +++ b/404.html @@ -29,11 +29,11 @@ Gob 框架 - - + + -

404

There's nothing here.
Take me home
- +

404

Looks like we've got some broken links.
Take me home
+ diff --git a/assets/404.html-DxXw2YLN.js b/assets/404.html-D0Xl6xim.js similarity index 82% rename from assets/404.html-DxXw2YLN.js rename to assets/404.html-D0Xl6xim.js index ffae4ba..b826adb 100644 --- a/assets/404.html-DxXw2YLN.js +++ b/assets/404.html-D0Xl6xim.js @@ -1 +1 @@ -import{_ as t,c as e,o,a}from"./app-BohDLf75.js";const n={},c=a("p",null,"404 Not Found",-1),l=[c];function s(_,r){return o(),e("div",null,l)}const d=t(n,[["render",s],["__file","404.html.vue"]]),h=JSON.parse('{"path":"/404.html","title":"","lang":"en-US","frontmatter":{"layout":"NotFound"},"headers":[],"git":{},"filePathRelative":null}');export{d as comp,h as data}; +import{_ as t,c as e,o,a}from"./app-DPa7reTN.js";const n={},c=a("p",null,"404 Not Found",-1),l=[c];function s(_,r){return o(),e("div",null,l)}const d=t(n,[["render",s],["__file","404.html.vue"]]),h=JSON.parse('{"path":"/404.html","title":"","lang":"en-US","frontmatter":{"layout":"NotFound"},"headers":[],"git":{},"filePathRelative":null}');export{d as comp,h as data}; diff --git a/assets/TODO.html-BqzDE0JJ.js b/assets/TODO.html-DLw7WuJQ.js similarity index 99% rename from assets/TODO.html-BqzDE0JJ.js rename to assets/TODO.html-DLw7WuJQ.js index 17bf438..df5d0a3 100644 --- a/assets/TODO.html-BqzDE0JJ.js +++ b/assets/TODO.html-DLw7WuJQ.js @@ -1 +1 @@ -import{_ as l,c as i,o as e,b as a}from"./app-BohDLf75.js";const r={},t=a('

待办

功能优化

框架支持功能

框架模块优化

框架模块新增

蓝图模块功能

已完成归档

梳理相关

统一代码

',15),n=[t];function o(d,s){return e(),i("div",null,n)}const u=l(r,[["render",o],["__file","TODO.html.vue"]]),p=JSON.parse('{"path":"/guide/TODO.html","title":"待办","lang":"zh-CN","frontmatter":{"lang":"zh-CN","title":"待办","description":null},"headers":[{"level":2,"title":"功能优化","slug":"功能优化","link":"#功能优化","children":[]},{"level":2,"title":"框架支持功能","slug":"框架支持功能","link":"#框架支持功能","children":[{"level":3,"title":"框架模块优化","slug":"框架模块优化","link":"#框架模块优化","children":[]},{"level":3,"title":"框架模块新增","slug":"框架模块新增","link":"#框架模块新增","children":[]},{"level":3,"title":"蓝图模块功能","slug":"蓝图模块功能","link":"#蓝图模块功能","children":[]}]},{"level":2,"title":"已完成归档","slug":"已完成归档","link":"#已完成归档","children":[{"level":3,"title":"梳理相关","slug":"梳理相关","link":"#梳理相关","children":[]},{"level":3,"title":"统一代码","slug":"统一代码","link":"#统一代码","children":[]}]}],"git":{"updatedTime":1720708372000,"contributors":[{"name":"陈壁浩","email":"chenbihao@qljy.com","commits":6}]},"filePathRelative":"guide/TODO.md"}');export{u as comp,p as data}; +import{_ as l,c as i,o as e,b as a}from"./app-DPa7reTN.js";const r={},t=a('

待办

功能优化

框架支持功能

框架模块优化

框架模块新增

蓝图模块功能

已完成归档

梳理相关

统一代码

',15),n=[t];function o(d,s){return e(),i("div",null,n)}const u=l(r,[["render",o],["__file","TODO.html.vue"]]),p=JSON.parse('{"path":"/guide/TODO.html","title":"待办","lang":"zh-CN","frontmatter":{"lang":"zh-CN","title":"待办","description":null},"headers":[{"level":2,"title":"功能优化","slug":"功能优化","link":"#功能优化","children":[]},{"level":2,"title":"框架支持功能","slug":"框架支持功能","link":"#框架支持功能","children":[{"level":3,"title":"框架模块优化","slug":"框架模块优化","link":"#框架模块优化","children":[]},{"level":3,"title":"框架模块新增","slug":"框架模块新增","link":"#框架模块新增","children":[]},{"level":3,"title":"蓝图模块功能","slug":"蓝图模块功能","link":"#蓝图模块功能","children":[]}]},{"level":2,"title":"已完成归档","slug":"已完成归档","link":"#已完成归档","children":[{"level":3,"title":"梳理相关","slug":"梳理相关","link":"#梳理相关","children":[]},{"level":3,"title":"统一代码","slug":"统一代码","link":"#统一代码","children":[]}]}],"git":{"updatedTime":1720708372000,"contributors":[{"name":"陈壁浩","email":"chenbihao@qljy.com","commits":6}]},"filePathRelative":"guide/TODO.md"}');export{u as comp,p as data}; diff --git a/assets/app-BohDLf75.js b/assets/app-DPa7reTN.js similarity index 98% rename from assets/app-BohDLf75.js rename to assets/app-DPa7reTN.js index e996ed5..6d19498 100644 --- a/assets/app-BohDLf75.js +++ b/assets/app-DPa7reTN.js @@ -14,7 +14,7 @@ * @vue/runtime-dom v3.4.27 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const yu="http://www.w3.org/2000/svg",ku="http://www.w3.org/1998/Math/MathML",At=typeof document<"u"?document:null,Fo=At&&At.createElement("template"),Eu={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const l=t==="svg"?At.createElementNS(yu,e):t==="mathml"?At.createElementNS(ku,e):At.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&l.setAttribute("multiple",r.multiple),l},createText:e=>At.createTextNode(e),createComment:e=>At.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>At.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,l,o){const i=n?n.previousSibling:t.lastChild;if(l&&(l===o||l.nextSibling))for(;t.insertBefore(l.cloneNode(!0),n),!(l===o||!(l=l.nextSibling)););else{Fo.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const s=Fo.content;if(r==="svg"||r==="mathml"){const a=s.firstChild;for(;a.firstChild;)s.appendChild(a.firstChild);s.removeChild(a)}t.insertBefore(s,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},St="transition",Ln="animation",Un=Symbol("_vtc"),rr=(e,{slots:t})=>se(Cc,wu(e),t);rr.displayName="Transition";const Os={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};rr.props=xe({},cs,Os);const zt=(e,t=[])=>{ee(e)?e.forEach(n=>n(...t)):e&&e(...t)},jo=e=>e?ee(e)?e.some(t=>t.length>1):e.length>1:!1;function wu(e){const t={};for(const E in e)E in Os||(t[E]=e[E]);if(e.css===!1)return t;const{name:n="v",type:r,duration:l,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:s=`${n}-enter-to`,appearFromClass:a=o,appearActiveClass:c=i,appearToClass:u=s,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:h=`${n}-leave-active`,leaveToClass:g=`${n}-leave-to`}=e,v=Lu(l),L=v&&v[0],T=v&&v[1],{onBeforeEnter:P,onEnter:k,onEnterCancelled:m,onLeave:y,onLeaveCancelled:H,onBeforeAppear:$=P,onAppear:N=k,onAppearCancelled:_=m}=t,q=(E,V,te)=>{Ut(E,V?u:s),Ut(E,V?c:i),te&&te()},C=(E,V)=>{E._isLeaving=!1,Ut(E,d),Ut(E,g),Ut(E,h),V&&V()},W=E=>(V,te)=>{const ie=E?N:k,R=()=>q(V,E,te);zt(ie,[V,R]),Bo(()=>{Ut(V,E?a:o),xt(V,E?u:s),jo(ie)||zo(V,r,L,R)})};return xe(t,{onBeforeEnter(E){zt(P,[E]),xt(E,o),xt(E,i)},onBeforeAppear(E){zt($,[E]),xt(E,a),xt(E,c)},onEnter:W(!1),onAppear:W(!0),onLeave(E,V){E._isLeaving=!0;const te=()=>C(E,V);xt(E,d),xt(E,h),Cu(),Bo(()=>{E._isLeaving&&(Ut(E,d),xt(E,g),jo(y)||zo(E,r,T,te))}),zt(y,[E,te])},onEnterCancelled(E){q(E,!1),zt(m,[E])},onAppearCancelled(E){q(E,!0),zt(_,[E])},onLeaveCancelled(E){C(E),zt(H,[E])}})}function Lu(e){if(e==null)return null;if(be(e))return[ol(e.enter),ol(e.leave)];{const t=ol(e);return[t,t]}}function ol(e){return wa(e)}function xt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Un]||(e[Un]=new Set)).add(t)}function Ut(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Un];n&&(n.delete(t),n.size||(e[Un]=void 0))}function Bo(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Su=0;function zo(e,t,n,r){const l=e._endId=++Su,o=()=>{l===e._endId&&r()};if(n)return setTimeout(o,n);const{type:i,timeout:s,propCount:a}=xu(e,t);if(!i)return r();const c=i+"end";let u=0;const d=()=>{e.removeEventListener(c,h),o()},h=g=>{g.target===e&&++u>=a&&d()};setTimeout(()=>{u(n[v]||"").split(", "),l=r(`${St}Delay`),o=r(`${St}Duration`),i=Uo(l,o),s=r(`${Ln}Delay`),a=r(`${Ln}Duration`),c=Uo(s,a);let u=null,d=0,h=0;t===St?i>0&&(u=St,d=i,h=o.length):t===Ln?c>0&&(u=Ln,d=c,h=a.length):(d=Math.max(i,c),u=d>0?i>c?St:Ln:null,h=u?u===St?o.length:a.length:0);const g=u===St&&/\b(transform|all)(,|$)/.test(r(`${St}Property`).toString());return{type:u,timeout:d,propCount:h,hasTransform:g}}function Uo(e,t){for(;e.lengthWo(n)+Wo(e[r])))}function Wo(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Cu(){return document.body.offsetHeight}function Pu(e,t,n){const r=e[Un];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Rr=Symbol("_vod"),Rs=Symbol("_vsh"),Ir={beforeMount(e,{value:t},{transition:n}){e[Rr]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Sn(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),Sn(e,!0),r.enter(e)):r.leave(e,()=>{Sn(e,!1)}):Sn(e,t))},beforeUnmount(e,{value:t}){Sn(e,t)}};function Sn(e,t){e.style.display=t?e[Rr]:"none",e[Rs]=!t}const Tu=Symbol(""),Au=/(^|;)\s*display\s*:/;function Ou(e,t,n){const r=e.style,l=Ce(n);let o=!1;if(n&&!l){if(t)if(Ce(t))for(const i of t.split(";")){const s=i.slice(0,i.indexOf(":")).trim();n[s]==null&&kr(r,s,"")}else for(const i in t)n[i]==null&&kr(r,i,"");for(const i in n)i==="display"&&(o=!0),kr(r,i,n[i])}else if(l){if(t!==n){const i=r[Tu];i&&(n+=";"+i),r.cssText=n,o=Au.test(n)}}else t&&e.removeAttribute("style");Rr in e&&(e[Rr]=o?r.display:"",e[Rs]&&(r.display="none"))}const Ko=/\s*!important$/;function kr(e,t,n){if(ee(n))n.forEach(r=>kr(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Ru(e,t);Ko.test(n)?e.setProperty(nn(r),n.replace(Ko,""),"important"):e[r]=n}}const Go=["Webkit","Moz","ms"],il={};function Ru(e,t){const n=il[t];if(n)return n;let r=nt(t);if(r!=="filter"&&r in e)return il[t]=r;r=Jn(r);for(let l=0;lsl||(Du.then(()=>sl=0),sl=Date.now());function ju(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;et(Bu(r,n.value),t,5,[r])};return n.value=e,n.attached=Fu(),n}function Bu(e,t){if(ee(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>l=>!l._stopped&&r&&r(l))}else return t}const Qo=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,zu=(e,t,n,r,l,o,i,s,a)=>{const c=l==="svg";t==="class"?Pu(e,r,c):t==="style"?Ou(e,n,r):Yn(t)?Rl(t)||Nu(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Uu(e,t,r,c))?Mu(e,t,r,o,i,s,a):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Iu(e,t,r,c))};function Uu(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Qo(t)&&oe(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const l=e.tagName;if(l==="IMG"||l==="VIDEO"||l==="CANVAS"||l==="SOURCE")return!1}return Qo(t)&&Ce(n)?!1:t in e}const Wu={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Ku=(e,t)=>{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=l=>{if(!("key"in l))return;const o=nn(l.key);if(t.some(i=>i===o||Wu[i]===o))return e(l)})},Gu=xe({patchProp:zu},Eu);let al,Xo=!1;function qu(){return al=Xo?al:tu(Gu),Xo=!0,al}const Yu=(...e)=>{const t=qu().createApp(...e),{mount:n}=t;return t.mount=r=>{const l=Qu(r);if(l)return n(l,!0,Ju(l))},t};function Ju(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Qu(e){return Ce(e)?document.querySelector(e):e}var lr=e=>/^[a-z][a-z0-9+.-]*:/.test(e)||e.startsWith("//"),Xu=/.md((\?|#).*)?$/,Zu=(e,t="/")=>lr(e)||e.startsWith("/")&&!e.startsWith(t)&&!Xu.test(e),Wr=e=>/^(https?:)?\/\//.test(e),Zo=e=>{if(!e||e.endsWith("/"))return e;let t=e.replace(/(^|\/)README.md$/i,"$1index.html");return t.endsWith(".md")?t=t.substring(0,t.length-3)+".html":t.endsWith(".html")||(t=t+".html"),t.endsWith("/index.html")&&(t=t.substring(0,t.length-10)),t},ed="http://.",td=(e,t)=>{if(!e.startsWith("/")&&t){const n=t.slice(0,t.lastIndexOf("/"));return Zo(new URL(`${n}/${e}`,ed).pathname)}return Zo(e)},nd=(e,t)=>{const n=Object.keys(e).sort((r,l)=>{const o=l.split("/").length-r.split("/").length;return o!==0?o:l.length-r.length});for(const r of n)if(t.startsWith(r))return r;return"/"},rd=/(#|\?)/,Is=e=>{const[t,...n]=e.split(rd);return{pathname:t,hashAndQueries:n.join("")}},ld=["link","meta","script","style","noscript","template"],od=["title","base"],id=([e,t,n])=>od.includes(e)?e:ld.includes(e)?e==="meta"&&t.name?`${e}.${t.name}`:e==="template"&&t.id?`${e}.${t.id}`:JSON.stringify([e,Object.entries(t).map(([r,l])=>typeof l=="boolean"?l?[r,""]:null:[r,l]).filter(r=>r!=null).sort(([r],[l])=>r.localeCompare(l)),n]):null,sd=e=>{const t=new Set,n=[];return e.forEach(r=>{const l=id(r);l&&!t.has(l)&&(t.add(l),n.push(r))}),n},ad=e=>e[e.length-1]==="/"||e.endsWith(".html")?e:`${e}/`,Ms=e=>e[e.length-1]==="/"?e.slice(0,-1):e,$s=e=>e[0]==="/"?e.slice(1):e,Jl=e=>Object.prototype.toString.call(e)==="[object Object]",tt=e=>typeof e=="string";const cd="modulepreload",ud=function(e){return"/gob/"+e},ei={},Q=function(t,n,r){let l=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),i=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));l=Promise.all(n.map(s=>{if(s=ud(s),s in ei)return;ei[s]=!0;const a=s.endsWith(".css"),c=a?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${s}"]${c}`))return;const u=document.createElement("link");if(u.rel=a?"stylesheet":cd,a||(u.as="script",u.crossOrigin=""),u.href=s,i&&u.setAttribute("nonce",i),document.head.appendChild(u),a)return new Promise((d,h)=>{u.addEventListener("load",d),u.addEventListener("error",()=>h(new Error(`Unable to preload CSS for ${s}`)))})}))}return l.then(()=>t()).catch(o=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=o,window.dispatchEvent(i),!i.defaultPrevented)throw o})},dd=JSON.parse("{}"),fd=Object.fromEntries([["/",{loader:()=>Q(()=>import("./index.html-D0lwSFMQ.js"),[]),meta:{title:"开始体验"}}],["/command/",{loader:()=>Q(()=>import("./index.html-DMC7V1Oa.js"),[]),meta:{title:"提供命令"}}],["/command/app.html",{loader:()=>Q(()=>import("./app.html-D-_AnAHF.js"),[]),meta:{title:"运行命令"}}],["/command/build.html",{loader:()=>Q(()=>import("./build.html-Cj_YnAjI.js"),[]),meta:{title:"编译命令"}}],["/command/cmd.html",{loader:()=>Q(()=>import("./cmd.html-B-FHDWPO.js"),[]),meta:{title:"命令"}}],["/command/cmd_go.html",{loader:()=>Q(()=>import("./cmd_go.html-_YZVf66E.js"),[]),meta:{title:"go 命令"}}],["/command/cmd_npm.html",{loader:()=>Q(()=>import("./cmd_npm.html-Ch6jn95s.js"),[]),meta:{title:"npm 命令"}}],["/command/config.html",{loader:()=>Q(()=>import("./config.html-B1M4F-W5.js"),[]),meta:{title:"配置命令"}}],["/command/cron.html",{loader:()=>Q(()=>import("./cron.html-D2qQuRoP.js"),[]),meta:{title:"定时任务命令"}}],["/command/deploy.html",{loader:()=>Q(()=>import("./deploy.html-D0raq5Hd.js"),[]),meta:{title:"部署命令"}}],["/command/dev.html",{loader:()=>Q(()=>import("./dev.html-Y4lf4MV-.js"),[]),meta:{title:"调试模式命令"}}],["/command/env.html",{loader:()=>Q(()=>import("./env.html-D3vuTBla.js"),[]),meta:{title:"环境变量命令"}}],["/command/middleware.html",{loader:()=>Q(()=>import("./middleware.html-vI1hsr7H.js"),[]),meta:{title:"中间件命令"}}],["/command/model.html",{loader:()=>Q(()=>import("./model.html-DmNrfJXm.js"),[]),meta:{title:"生成命令"}}],["/command/new.html",{loader:()=>Q(()=>import("./new.html-DdCGzv16.js"),[]),meta:{title:"创建命令"}}],["/command/provider.html",{loader:()=>Q(()=>import("./provider.html-CS4Ov3Jc.js"),[]),meta:{title:"服务提供者命令"}}],["/command/swagger.html",{loader:()=>Q(()=>import("./swagger.html-C5xOYm73.js"),[]),meta:{title:"swagger命令"}}],["/command/version.html",{loader:()=>Q(()=>import("./version.html-I7mgjM1n.js"),[]),meta:{title:"version命令"}}],["/guide/",{loader:()=>Q(()=>import("./index.html-92JzTJ5Q.js"),[]),meta:{title:"介绍"}}],["/guide/TODO.html",{loader:()=>Q(()=>import("./TODO.html-BqzDE0JJ.js"),[]),meta:{title:"待办"}}],["/guide/app.html",{loader:()=>Q(()=>import("./app.html-mppOdkqm.js"),[]),meta:{title:"运行"}}],["/guide/build.html",{loader:()=>Q(()=>import("./build.html-CGboqbOl.js"),[]),meta:{title:"编译"}}],["/guide/command.html",{loader:()=>Q(()=>import("./command.html-UnMz95j-.js"),[]),meta:{title:"命令"}}],["/guide/cron.html",{loader:()=>Q(()=>import("./cron.html-CMx5t5tQ.js"),[]),meta:{title:"定时"}}],["/guide/deploy.html",{loader:()=>Q(()=>import("./deploy.html-CEKbsI8p.js"),[]),meta:{title:"自动部署"}}],["/guide/dev.html",{loader:()=>Q(()=>import("./dev.html-DqlfhMDE.js"),[]),meta:{title:"调试模式"}}],["/guide/env.html",{loader:()=>Q(()=>import("./env.html-_teK4Oqy.js"),[]),meta:{title:"环境变量"}}],["/guide/grpc.html",{loader:()=>Q(()=>import("./grpc.html-DIJ24529.js"),[]),meta:{title:"grpc支持"}}],["/guide/install.html",{loader:()=>Q(()=>import("./install.html-gNuagqc6.js"),[]),meta:{title:"安装"}}],["/guide/introduce.html",{loader:()=>Q(()=>import("./introduce.html-B1NfBmn6.js"),[]),meta:{title:"快速开始"}}],["/guide/middleware.html",{loader:()=>Q(()=>import("./middleware.html-BFXTxuOY.js"),[]),meta:{title:"中间件"}}],["/guide/model.html",{loader:()=>Q(()=>import("./model.html-BCvsKPgy.js"),[]),meta:{title:"模型"}}],["/guide/provider.html",{loader:()=>Q(()=>import("./provider.html-Cl5mSc27.js"),[]),meta:{title:"服务提供者"}}],["/guide/structure.html",{loader:()=>Q(()=>import("./structure.html-Q4jb0G38.js"),[]),meta:{title:"目录结构"}}],["/guide/swagger.html",{loader:()=>Q(()=>import("./swagger.html-Da8keU3N.js"),[]),meta:{title:"swagger"}}],["/guide/util.html",{loader:()=>Q(()=>import("./util.html-C9wpLeI3.js"),[]),meta:{title:"辅助函数"}}],["/guide/version.html",{loader:()=>Q(()=>import("./version.html-kyyHzcoG.js"),[]),meta:{title:"版本"}}],["/provider/",{loader:()=>Q(()=>import("./index.html-CKRN3b_x.js"),[]),meta:{title:"服务提供者"}}],["/provider/app.html",{loader:()=>Q(()=>import("./app.html-B7cYhGEr.js"),[]),meta:{title:"gob:app"}}],["/provider/cache.html",{loader:()=>Q(()=>import("./cache.html-CcCl1x-d.js"),[]),meta:{title:"gob:cache"}}],["/provider/config.html",{loader:()=>Q(()=>import("./config.html-DDdpivKm.js"),[]),meta:{title:"gob:config"}}],["/provider/distributed.html",{loader:()=>Q(()=>import("./distributed.html-QFGVeQ6Y.js"),[]),meta:{title:"gob:distributed"}}],["/provider/env.html",{loader:()=>Q(()=>import("./env.html-C4ZbRxHF.js"),[]),meta:{title:"gob:env"}}],["/provider/id.html",{loader:()=>Q(()=>import("./id.html-3hikjNGE.js"),[]),meta:{title:"gob:id"}}],["/provider/kernel.html",{loader:()=>Q(()=>import("./kernel.html-CeK3C6wA.js"),[]),meta:{title:"gob:kernel"}}],["/provider/log.html",{loader:()=>Q(()=>import("./log.html-f97HsJTJ.js"),[]),meta:{title:"gob:log"}}],["/provider/orm.html",{loader:()=>Q(()=>import("./orm.html-BLaovd1_.js"),[]),meta:{title:"gob:orm"}}],["/provider/redis.html",{loader:()=>Q(()=>import("./redis.html-BJ4NbZR3.js"),[]),meta:{title:"gob:redis"}}],["/provider/sls.html",{loader:()=>Q(()=>import("./sls.html-DSiB-vJt.js"),[]),meta:{title:"gob:sls"}}],["/provider/ssh.html",{loader:()=>Q(()=>import("./ssh.html-BCIbiRG0.js"),[]),meta:{title:"gob:ssh"}}],["/provider/trace.html",{loader:()=>Q(()=>import("./trace.html-BbTgaeqj.js"),[]),meta:{title:"gob:trace"}}],["/404.html",{loader:()=>Q(()=>import("./404.html-DxXw2YLN.js"),[]),meta:{title:""}}]]);/*! +**/const yu="http://www.w3.org/2000/svg",ku="http://www.w3.org/1998/Math/MathML",At=typeof document<"u"?document:null,Fo=At&&At.createElement("template"),Eu={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const l=t==="svg"?At.createElementNS(yu,e):t==="mathml"?At.createElementNS(ku,e):At.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&l.setAttribute("multiple",r.multiple),l},createText:e=>At.createTextNode(e),createComment:e=>At.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>At.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,l,o){const i=n?n.previousSibling:t.lastChild;if(l&&(l===o||l.nextSibling))for(;t.insertBefore(l.cloneNode(!0),n),!(l===o||!(l=l.nextSibling)););else{Fo.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const s=Fo.content;if(r==="svg"||r==="mathml"){const a=s.firstChild;for(;a.firstChild;)s.appendChild(a.firstChild);s.removeChild(a)}t.insertBefore(s,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},St="transition",Ln="animation",Un=Symbol("_vtc"),rr=(e,{slots:t})=>se(Cc,wu(e),t);rr.displayName="Transition";const Os={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};rr.props=xe({},cs,Os);const zt=(e,t=[])=>{ee(e)?e.forEach(n=>n(...t)):e&&e(...t)},jo=e=>e?ee(e)?e.some(t=>t.length>1):e.length>1:!1;function wu(e){const t={};for(const E in e)E in Os||(t[E]=e[E]);if(e.css===!1)return t;const{name:n="v",type:r,duration:l,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:s=`${n}-enter-to`,appearFromClass:a=o,appearActiveClass:c=i,appearToClass:u=s,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:h=`${n}-leave-active`,leaveToClass:g=`${n}-leave-to`}=e,v=Lu(l),L=v&&v[0],T=v&&v[1],{onBeforeEnter:P,onEnter:k,onEnterCancelled:m,onLeave:y,onLeaveCancelled:H,onBeforeAppear:$=P,onAppear:N=k,onAppearCancelled:_=m}=t,q=(E,V,te)=>{Ut(E,V?u:s),Ut(E,V?c:i),te&&te()},C=(E,V)=>{E._isLeaving=!1,Ut(E,d),Ut(E,g),Ut(E,h),V&&V()},W=E=>(V,te)=>{const ie=E?N:k,R=()=>q(V,E,te);zt(ie,[V,R]),Bo(()=>{Ut(V,E?a:o),xt(V,E?u:s),jo(ie)||zo(V,r,L,R)})};return xe(t,{onBeforeEnter(E){zt(P,[E]),xt(E,o),xt(E,i)},onBeforeAppear(E){zt($,[E]),xt(E,a),xt(E,c)},onEnter:W(!1),onAppear:W(!0),onLeave(E,V){E._isLeaving=!0;const te=()=>C(E,V);xt(E,d),xt(E,h),Cu(),Bo(()=>{E._isLeaving&&(Ut(E,d),xt(E,g),jo(y)||zo(E,r,T,te))}),zt(y,[E,te])},onEnterCancelled(E){q(E,!1),zt(m,[E])},onAppearCancelled(E){q(E,!0),zt(_,[E])},onLeaveCancelled(E){C(E),zt(H,[E])}})}function Lu(e){if(e==null)return null;if(be(e))return[ol(e.enter),ol(e.leave)];{const t=ol(e);return[t,t]}}function ol(e){return wa(e)}function xt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Un]||(e[Un]=new Set)).add(t)}function Ut(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Un];n&&(n.delete(t),n.size||(e[Un]=void 0))}function Bo(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Su=0;function zo(e,t,n,r){const l=e._endId=++Su,o=()=>{l===e._endId&&r()};if(n)return setTimeout(o,n);const{type:i,timeout:s,propCount:a}=xu(e,t);if(!i)return r();const c=i+"end";let u=0;const d=()=>{e.removeEventListener(c,h),o()},h=g=>{g.target===e&&++u>=a&&d()};setTimeout(()=>{u(n[v]||"").split(", "),l=r(`${St}Delay`),o=r(`${St}Duration`),i=Uo(l,o),s=r(`${Ln}Delay`),a=r(`${Ln}Duration`),c=Uo(s,a);let u=null,d=0,h=0;t===St?i>0&&(u=St,d=i,h=o.length):t===Ln?c>0&&(u=Ln,d=c,h=a.length):(d=Math.max(i,c),u=d>0?i>c?St:Ln:null,h=u?u===St?o.length:a.length:0);const g=u===St&&/\b(transform|all)(,|$)/.test(r(`${St}Property`).toString());return{type:u,timeout:d,propCount:h,hasTransform:g}}function Uo(e,t){for(;e.lengthWo(n)+Wo(e[r])))}function Wo(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Cu(){return document.body.offsetHeight}function Pu(e,t,n){const r=e[Un];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Rr=Symbol("_vod"),Rs=Symbol("_vsh"),Ir={beforeMount(e,{value:t},{transition:n}){e[Rr]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Sn(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),Sn(e,!0),r.enter(e)):r.leave(e,()=>{Sn(e,!1)}):Sn(e,t))},beforeUnmount(e,{value:t}){Sn(e,t)}};function Sn(e,t){e.style.display=t?e[Rr]:"none",e[Rs]=!t}const Tu=Symbol(""),Au=/(^|;)\s*display\s*:/;function Ou(e,t,n){const r=e.style,l=Ce(n);let o=!1;if(n&&!l){if(t)if(Ce(t))for(const i of t.split(";")){const s=i.slice(0,i.indexOf(":")).trim();n[s]==null&&kr(r,s,"")}else for(const i in t)n[i]==null&&kr(r,i,"");for(const i in n)i==="display"&&(o=!0),kr(r,i,n[i])}else if(l){if(t!==n){const i=r[Tu];i&&(n+=";"+i),r.cssText=n,o=Au.test(n)}}else t&&e.removeAttribute("style");Rr in e&&(e[Rr]=o?r.display:"",e[Rs]&&(r.display="none"))}const Ko=/\s*!important$/;function kr(e,t,n){if(ee(n))n.forEach(r=>kr(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Ru(e,t);Ko.test(n)?e.setProperty(nn(r),n.replace(Ko,""),"important"):e[r]=n}}const Go=["Webkit","Moz","ms"],il={};function Ru(e,t){const n=il[t];if(n)return n;let r=nt(t);if(r!=="filter"&&r in e)return il[t]=r;r=Jn(r);for(let l=0;lsl||(Du.then(()=>sl=0),sl=Date.now());function ju(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;et(Bu(r,n.value),t,5,[r])};return n.value=e,n.attached=Fu(),n}function Bu(e,t){if(ee(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>l=>!l._stopped&&r&&r(l))}else return t}const Qo=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,zu=(e,t,n,r,l,o,i,s,a)=>{const c=l==="svg";t==="class"?Pu(e,r,c):t==="style"?Ou(e,n,r):Yn(t)?Rl(t)||Nu(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Uu(e,t,r,c))?Mu(e,t,r,o,i,s,a):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Iu(e,t,r,c))};function Uu(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Qo(t)&&oe(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const l=e.tagName;if(l==="IMG"||l==="VIDEO"||l==="CANVAS"||l==="SOURCE")return!1}return Qo(t)&&Ce(n)?!1:t in e}const Wu={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Ku=(e,t)=>{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=l=>{if(!("key"in l))return;const o=nn(l.key);if(t.some(i=>i===o||Wu[i]===o))return e(l)})},Gu=xe({patchProp:zu},Eu);let al,Xo=!1;function qu(){return al=Xo?al:tu(Gu),Xo=!0,al}const Yu=(...e)=>{const t=qu().createApp(...e),{mount:n}=t;return t.mount=r=>{const l=Qu(r);if(l)return n(l,!0,Ju(l))},t};function Ju(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Qu(e){return Ce(e)?document.querySelector(e):e}var lr=e=>/^[a-z][a-z0-9+.-]*:/.test(e)||e.startsWith("//"),Xu=/.md((\?|#).*)?$/,Zu=(e,t="/")=>lr(e)||e.startsWith("/")&&!e.startsWith(t)&&!Xu.test(e),Wr=e=>/^(https?:)?\/\//.test(e),Zo=e=>{if(!e||e.endsWith("/"))return e;let t=e.replace(/(^|\/)README.md$/i,"$1index.html");return t.endsWith(".md")?t=t.substring(0,t.length-3)+".html":t.endsWith(".html")||(t=t+".html"),t.endsWith("/index.html")&&(t=t.substring(0,t.length-10)),t},ed="http://.",td=(e,t)=>{if(!e.startsWith("/")&&t){const n=t.slice(0,t.lastIndexOf("/"));return Zo(new URL(`${n}/${e}`,ed).pathname)}return Zo(e)},nd=(e,t)=>{const n=Object.keys(e).sort((r,l)=>{const o=l.split("/").length-r.split("/").length;return o!==0?o:l.length-r.length});for(const r of n)if(t.startsWith(r))return r;return"/"},rd=/(#|\?)/,Is=e=>{const[t,...n]=e.split(rd);return{pathname:t,hashAndQueries:n.join("")}},ld=["link","meta","script","style","noscript","template"],od=["title","base"],id=([e,t,n])=>od.includes(e)?e:ld.includes(e)?e==="meta"&&t.name?`${e}.${t.name}`:e==="template"&&t.id?`${e}.${t.id}`:JSON.stringify([e,Object.entries(t).map(([r,l])=>typeof l=="boolean"?l?[r,""]:null:[r,l]).filter(r=>r!=null).sort(([r],[l])=>r.localeCompare(l)),n]):null,sd=e=>{const t=new Set,n=[];return e.forEach(r=>{const l=id(r);l&&!t.has(l)&&(t.add(l),n.push(r))}),n},ad=e=>e[e.length-1]==="/"||e.endsWith(".html")?e:`${e}/`,Ms=e=>e[e.length-1]==="/"?e.slice(0,-1):e,$s=e=>e[0]==="/"?e.slice(1):e,Jl=e=>Object.prototype.toString.call(e)==="[object Object]",tt=e=>typeof e=="string";const cd="modulepreload",ud=function(e){return"/gob/"+e},ei={},Q=function(t,n,r){let l=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),i=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));l=Promise.all(n.map(s=>{if(s=ud(s),s in ei)return;ei[s]=!0;const a=s.endsWith(".css"),c=a?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${s}"]${c}`))return;const u=document.createElement("link");if(u.rel=a?"stylesheet":cd,a||(u.as="script",u.crossOrigin=""),u.href=s,i&&u.setAttribute("nonce",i),document.head.appendChild(u),a)return new Promise((d,h)=>{u.addEventListener("load",d),u.addEventListener("error",()=>h(new Error(`Unable to preload CSS for ${s}`)))})}))}return l.then(()=>t()).catch(o=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=o,window.dispatchEvent(i),!i.defaultPrevented)throw o})},dd=JSON.parse("{}"),fd=Object.fromEntries([["/",{loader:()=>Q(()=>import("./index.html-DPikwOdE.js"),[]),meta:{title:"开始体验"}}],["/command/",{loader:()=>Q(()=>import("./index.html-0MYXBVMc.js"),[]),meta:{title:"提供命令"}}],["/command/app.html",{loader:()=>Q(()=>import("./app.html-CLQ0ktJP.js"),[]),meta:{title:"运行命令"}}],["/command/build.html",{loader:()=>Q(()=>import("./build.html-DcIi_UkL.js"),[]),meta:{title:"编译命令"}}],["/command/cmd.html",{loader:()=>Q(()=>import("./cmd.html-CZwermKv.js"),[]),meta:{title:"命令"}}],["/command/cmd_go.html",{loader:()=>Q(()=>import("./cmd_go.html-B_c8CI3J.js"),[]),meta:{title:"go 命令"}}],["/command/cmd_npm.html",{loader:()=>Q(()=>import("./cmd_npm.html-my40y7yv.js"),[]),meta:{title:"npm 命令"}}],["/command/config.html",{loader:()=>Q(()=>import("./config.html-D387cINI.js"),[]),meta:{title:"配置命令"}}],["/command/cron.html",{loader:()=>Q(()=>import("./cron.html-C4qsjjhS.js"),[]),meta:{title:"定时任务命令"}}],["/command/deploy.html",{loader:()=>Q(()=>import("./deploy.html-BB6Z2VeE.js"),[]),meta:{title:"部署命令"}}],["/command/dev.html",{loader:()=>Q(()=>import("./dev.html-BzM0K0tk.js"),[]),meta:{title:"调试模式命令"}}],["/command/env.html",{loader:()=>Q(()=>import("./env.html-CjVmGMAX.js"),[]),meta:{title:"环境变量命令"}}],["/command/middleware.html",{loader:()=>Q(()=>import("./middleware.html-BP0hHIr0.js"),[]),meta:{title:"中间件命令"}}],["/command/model.html",{loader:()=>Q(()=>import("./model.html-D3iO0kG2.js"),[]),meta:{title:"生成命令"}}],["/command/new.html",{loader:()=>Q(()=>import("./new.html-DEhsSR-9.js"),[]),meta:{title:"创建命令"}}],["/command/provider.html",{loader:()=>Q(()=>import("./provider.html-BcPmJm5h.js"),[]),meta:{title:"服务提供者命令"}}],["/command/swagger.html",{loader:()=>Q(()=>import("./swagger.html-BgFVVPCa.js"),[]),meta:{title:"swagger命令"}}],["/command/version.html",{loader:()=>Q(()=>import("./version.html-Bu4I1Hph.js"),[]),meta:{title:"version命令"}}],["/guide/",{loader:()=>Q(()=>import("./index.html-D2njedg8.js"),[]),meta:{title:"介绍"}}],["/guide/TODO.html",{loader:()=>Q(()=>import("./TODO.html-DLw7WuJQ.js"),[]),meta:{title:"待办"}}],["/guide/app.html",{loader:()=>Q(()=>import("./app.html-DzxdMPdZ.js"),[]),meta:{title:"运行"}}],["/guide/build.html",{loader:()=>Q(()=>import("./build.html-JAZdfzPZ.js"),[]),meta:{title:"编译"}}],["/guide/command.html",{loader:()=>Q(()=>import("./command.html-BQ-rG8GH.js"),[]),meta:{title:"命令"}}],["/guide/cron.html",{loader:()=>Q(()=>import("./cron.html-C9IBkk0H.js"),[]),meta:{title:"定时"}}],["/guide/deploy.html",{loader:()=>Q(()=>import("./deploy.html-CwznvW0_.js"),[]),meta:{title:"自动部署"}}],["/guide/dev.html",{loader:()=>Q(()=>import("./dev.html-DMUbWeGB.js"),[]),meta:{title:"调试模式"}}],["/guide/env.html",{loader:()=>Q(()=>import("./env.html-Dnu3Gpu1.js"),[]),meta:{title:"环境变量"}}],["/guide/grpc.html",{loader:()=>Q(()=>import("./grpc.html-DauTmDFx.js"),[]),meta:{title:"grpc支持"}}],["/guide/install.html",{loader:()=>Q(()=>import("./install.html-DFWviQR7.js"),[]),meta:{title:"安装"}}],["/guide/introduce.html",{loader:()=>Q(()=>import("./introduce.html-FNF1i26H.js"),[]),meta:{title:"快速开始"}}],["/guide/middleware.html",{loader:()=>Q(()=>import("./middleware.html-BWcFjQEn.js"),[]),meta:{title:"中间件"}}],["/guide/model.html",{loader:()=>Q(()=>import("./model.html-CD9hVQvg.js"),[]),meta:{title:"模型"}}],["/guide/provider.html",{loader:()=>Q(()=>import("./provider.html-BvVlXh2Q.js"),[]),meta:{title:"服务提供者"}}],["/guide/structure.html",{loader:()=>Q(()=>import("./structure.html-HPg53UzZ.js"),[]),meta:{title:"目录结构"}}],["/guide/swagger.html",{loader:()=>Q(()=>import("./swagger.html-BpfKCBVd.js"),[]),meta:{title:"swagger"}}],["/guide/util.html",{loader:()=>Q(()=>import("./util.html-Bn4wvmJo.js"),[]),meta:{title:"辅助函数"}}],["/guide/version.html",{loader:()=>Q(()=>import("./version.html-CnCAQnrB.js"),[]),meta:{title:"版本"}}],["/provider/",{loader:()=>Q(()=>import("./index.html-BYWTRDDN.js"),[]),meta:{title:"服务提供者"}}],["/provider/app.html",{loader:()=>Q(()=>import("./app.html-9pCSa02-.js"),[]),meta:{title:"gob:app"}}],["/provider/cache.html",{loader:()=>Q(()=>import("./cache.html-CoMMy2OM.js"),[]),meta:{title:"gob:cache"}}],["/provider/config.html",{loader:()=>Q(()=>import("./config.html-CoYRIXvn.js"),[]),meta:{title:"gob:config"}}],["/provider/distributed.html",{loader:()=>Q(()=>import("./distributed.html-ChU9nTMK.js"),[]),meta:{title:"gob:distributed"}}],["/provider/env.html",{loader:()=>Q(()=>import("./env.html-DMjUe7Pg.js"),[]),meta:{title:"gob:env"}}],["/provider/id.html",{loader:()=>Q(()=>import("./id.html-C40sJgOE.js"),[]),meta:{title:"gob:id"}}],["/provider/kernel.html",{loader:()=>Q(()=>import("./kernel.html-Dx0QmcU3.js"),[]),meta:{title:"gob:kernel"}}],["/provider/log.html",{loader:()=>Q(()=>import("./log.html-DF7G-bap.js"),[]),meta:{title:"gob:log"}}],["/provider/orm.html",{loader:()=>Q(()=>import("./orm.html-D8hEhQFt.js"),[]),meta:{title:"gob:orm"}}],["/provider/redis.html",{loader:()=>Q(()=>import("./redis.html-DOIaDwZP.js"),[]),meta:{title:"gob:redis"}}],["/provider/sls.html",{loader:()=>Q(()=>import("./sls.html-D3Q98FKK.js"),[]),meta:{title:"gob:sls"}}],["/provider/ssh.html",{loader:()=>Q(()=>import("./ssh.html-Df1FodD1.js"),[]),meta:{title:"gob:ssh"}}],["/provider/trace.html",{loader:()=>Q(()=>import("./trace.html-BAUIiF9j.js"),[]),meta:{title:"gob:trace"}}],["/404.html",{loader:()=>Q(()=>import("./404.html-D0Xl6xim.js"),[]),meta:{title:""}}]]);/*! * vue-router v4.3.2 * (c) 2024 Eduardo San Martin Morote * @license MIT diff --git a/assets/app.html-B7cYhGEr.js b/assets/app.html-9pCSa02-.js similarity index 99% rename from assets/app.html-B7cYhGEr.js rename to assets/app.html-9pCSa02-.js index 9ffc946..40c35f9 100644 --- a/assets/app.html-B7cYhGEr.js +++ b/assets/app.html-9pCSa02-.js @@ -1,4 +1,4 @@ -import{_ as n,c as s,o as a,b as e}from"./app-BohDLf75.js";const p={},l=e(`

gob:app

服务介绍:

提供基础的 app 框架目录结构获取功能

支持命令:

app

支持配置:无

提供方法:

type App interface {
+import{_ as n,c as s,o as a,b as e}from"./app-DPa7reTN.js";const p={},l=e(`

gob:app

服务介绍:

提供基础的 app 框架目录结构获取功能

支持命令:

app

支持配置:无

提供方法:

type App interface {
 	// AppID 表示当前这个app的唯一id, 可以用于分布式锁等
 	AppID() string
 	// Version 定义当前版本
diff --git a/assets/app.html-D-_AnAHF.js b/assets/app.html-CLQ0ktJP.js
similarity index 98%
rename from assets/app.html-D-_AnAHF.js
rename to assets/app.html-CLQ0ktJP.js
index 0c562e3..d0ec611 100644
--- a/assets/app.html-D-_AnAHF.js
+++ b/assets/app.html-CLQ0ktJP.js
@@ -1,4 +1,4 @@
-import{_ as a,c as e,o as s,b as n}from"./app-BohDLf75.js";const l={},t=n(`

运行命令

命令介绍:

web app 业务应用控制命令

前置需求:无

支持命令:

./gob app start		// 启动一个 app 服务
+import{_ as a,c as e,o as s,b as n}from"./app-DPa7reTN.js";const l={},t=n(`

运行命令

命令介绍:

web app 业务应用控制命令

前置需求:无

支持命令:

./gob app start		// 启动一个 app 服务
 	--address=:8080 // 指定端口
 	--daemon=true 	// 守护模式(win下不支持)
 ./gob app state 	// 获取启动的 app 的信息
diff --git a/assets/app.html-mppOdkqm.js b/assets/app.html-DzxdMPdZ.js
similarity index 99%
rename from assets/app.html-mppOdkqm.js
rename to assets/app.html-DzxdMPdZ.js
index fc192f9..a214dba 100644
--- a/assets/app.html-mppOdkqm.js
+++ b/assets/app.html-DzxdMPdZ.js
@@ -1,4 +1,4 @@
-import{_ as a,c as s,o as n,b as e}from"./app-BohDLf75.js";const l={},i=e(`

运行

命令

相关的命令详见:app

> ./gob app         
+import{_ as a,c as s,o as n,b as e}from"./app-DPa7reTN.js";const l={},i=e(`

运行

命令

相关的命令详见:app

> ./gob app         
 业务应用控制命令,其包含业务启动,关闭,重启,查询等功能
 
 Usage:
diff --git a/assets/build.html-Cj_YnAjI.js b/assets/build.html-DcIi_UkL.js
similarity index 97%
rename from assets/build.html-Cj_YnAjI.js
rename to assets/build.html-DcIi_UkL.js
index 15355dd..6550437 100644
--- a/assets/build.html-Cj_YnAjI.js
+++ b/assets/build.html-DcIi_UkL.js
@@ -1,4 +1,4 @@
-import{_ as e,c as a,o as n,b as l}from"./app-BohDLf75.js";const s={},i=l(`

编译命令

命令介绍:

提供快捷 build 命令

前置需求:无

支持命令:

./gob build self		// 自编译,编译 gob 命令
+import{_ as e,c as a,o as n,b as l}from"./app-DPa7reTN.js";const s={},i=l(`

编译命令

命令介绍:

提供快捷 build 命令

前置需求:无

支持命令:

./gob build self		// 自编译,编译 gob 命令
 ./gob build backend		// 使用 go 编译后端
 ./gob build frontend	// 使用 npm 编译前端
 ./gob build all			// 同时编译前端和后端
diff --git a/assets/build.html-CGboqbOl.js b/assets/build.html-JAZdfzPZ.js
similarity index 98%
rename from assets/build.html-CGboqbOl.js
rename to assets/build.html-JAZdfzPZ.js
index 52a6a22..d948037 100644
--- a/assets/build.html-CGboqbOl.js
+++ b/assets/build.html-JAZdfzPZ.js
@@ -1,4 +1,4 @@
-import{_ as n,c as e,o as a,b as l}from"./app-BohDLf75.js";const s={},i=l(`

编译

命令

应用分为前端(frontend)和后端(backend),所以编译也分为三类

  • 编译前端
  • 编译后端
  • 自编译
  • 同时编译

相关的命令详见:build

> ./gob build
+import{_ as n,c as e,o as a,b as l}from"./app-DPa7reTN.js";const s={},i=l(`

编译

命令

应用分为前端(frontend)和后端(backend),所以编译也分为三类

  • 编译前端
  • 编译后端
  • 自编译
  • 同时编译

相关的命令详见:build

> ./gob build
 编译相关命令
 
 Usage:
diff --git a/assets/cache.html-CcCl1x-d.js b/assets/cache.html-CoMMy2OM.js
similarity index 99%
rename from assets/cache.html-CcCl1x-d.js
rename to assets/cache.html-CoMMy2OM.js
index e72995d..dabd356 100644
--- a/assets/cache.html-CcCl1x-d.js
+++ b/assets/cache.html-CoMMy2OM.js
@@ -1,4 +1,4 @@
-import{_ as n,c as s,o as a,b as t}from"./app-BohDLf75.js";const e={},p=t(`

gob:cache

服务介绍:

cache 服务提供丰富的接口,可以通过接口来操作缓存,目前支持的缓存驱动有两种:

  • redis
  • memory

支持命令:无

支持配置:

通过配置文件 config/[env]/cache.yaml 可以配置缓存服务的驱动和参数,如下是一个配置示例:

# 连接驱动,可选 redis/memory
+import{_ as n,c as s,o as a,b as t}from"./app-DPa7reTN.js";const e={},p=t(`

gob:cache

服务介绍:

cache 服务提供丰富的接口,可以通过接口来操作缓存,目前支持的缓存驱动有两种:

  • redis
  • memory

支持命令:无

支持配置:

通过配置文件 config/[env]/cache.yaml 可以配置缓存服务的驱动和参数,如下是一个配置示例:

# 连接驱动,可选 redis/memory
 # 如果 driver=redis,则可配置项与redis服务一致
 driver: memory
 

提供方法:

type CacheService interface {
diff --git a/assets/cmd.html-B-FHDWPO.js b/assets/cmd.html-CZwermKv.js
similarity index 97%
rename from assets/cmd.html-B-FHDWPO.js
rename to assets/cmd.html-CZwermKv.js
index 4b1f57d..c5f24ba 100644
--- a/assets/cmd.html-B-FHDWPO.js
+++ b/assets/cmd.html-CZwermKv.js
@@ -1,4 +1,4 @@
-import{_ as a,c as e,o as n,b as s}from"./app-BohDLf75.js";const l={},i=s(`

命令

命令介绍:

command 命令

前置需求:

app

支持命令:

./gob command  		// 打印帮助信息
+import{_ as a,c as e,o as n,b as s}from"./app-DPa7reTN.js";const l={},i=s(`

命令

命令介绍:

command 命令

前置需求:

app

支持命令:

./gob command  		// 打印帮助信息
 ./gob command list  // 列出所有控制台命令
 ./gob command new  	// 创建一个控制台命令
 

支持配置:无

使用方法:

稍后补全,可以使用gob [command] help命令获取相关帮助

`,10),t=[i];function c(d,h){return n(),e("div",null,t)}const o=a(l,[["render",c],["__file","cmd.html.vue"]]),p=JSON.parse('{"path":"/command/cmd.html","title":"命令","lang":"zh-CN","frontmatter":{"lang":"zh-CN","title":"命令","description":null},"headers":[{"level":2,"title":"命令介绍:","slug":"命令介绍","link":"#命令介绍","children":[]},{"level":2,"title":"前置需求:","slug":"前置需求","link":"#前置需求","children":[]},{"level":2,"title":"支持命令:","slug":"支持命令","link":"#支持命令","children":[]},{"level":2,"title":"支持配置:无","slug":"支持配置-无","link":"#支持配置-无","children":[]},{"level":2,"title":"使用方法:","slug":"使用方法","link":"#使用方法","children":[]}],"git":{"updatedTime":1718886161000,"contributors":[{"name":"陈壁浩","email":"chenbihao@qljy.com","commits":2}]},"filePathRelative":"command/cmd.md"}');export{o as comp,p as data}; diff --git a/assets/cmd_go.html-_YZVf66E.js b/assets/cmd_go.html-B_c8CI3J.js similarity index 97% rename from assets/cmd_go.html-_YZVf66E.js rename to assets/cmd_go.html-B_c8CI3J.js index d7cd90a..76bc965 100644 --- a/assets/cmd_go.html-_YZVf66E.js +++ b/assets/cmd_go.html-B_c8CI3J.js @@ -1,2 +1,2 @@ -import{_ as e,c as a,o as n,b as s}from"./app-BohDLf75.js";const l={},i=s(`

go 命令

命令介绍:

挂载 go 命令

前置需求:无

支持命令:

./gob go
+import{_ as e,c as a,o as n,b as s}from"./app-DPa7reTN.js";const l={},i=s(`

go 命令

命令介绍:

挂载 go 命令

前置需求:无

支持命令:

./gob go
 

支持配置:无

使用方法:

稍后补全,可以使用gob [command] help命令获取相关帮助

`,9),t=[i];function c(d,h){return n(),a("div",null,t)}const o=e(l,[["render",c],["__file","cmd_go.html.vue"]]),p=JSON.parse('{"path":"/command/cmd_go.html","title":"go 命令","lang":"zh-CN","frontmatter":{"lang":"zh-CN","title":"go 命令","description":null},"headers":[{"level":2,"title":"命令介绍:","slug":"命令介绍","link":"#命令介绍","children":[]},{"level":2,"title":"前置需求:无","slug":"前置需求-无","link":"#前置需求-无","children":[]},{"level":2,"title":"支持命令:","slug":"支持命令","link":"#支持命令","children":[]},{"level":2,"title":"支持配置:无","slug":"支持配置-无","link":"#支持配置-无","children":[]},{"level":2,"title":"使用方法:","slug":"使用方法","link":"#使用方法","children":[]}],"git":{"updatedTime":1718886161000,"contributors":[{"name":"陈壁浩","email":"chenbihao@qljy.com","commits":2}]},"filePathRelative":"command/cmd_go.md"}');export{o as comp,p as data}; diff --git a/assets/cmd_npm.html-Ch6jn95s.js b/assets/cmd_npm.html-my40y7yv.js similarity index 97% rename from assets/cmd_npm.html-Ch6jn95s.js rename to assets/cmd_npm.html-my40y7yv.js index be2136c..b9ca205 100644 --- a/assets/cmd_npm.html-Ch6jn95s.js +++ b/assets/cmd_npm.html-my40y7yv.js @@ -1,2 +1,2 @@ -import{_ as e,c as a,o as n,b as s}from"./app-BohDLf75.js";const l={},t=s(`

npm 命令

命令介绍:

挂载 npm 命令

前置需求:无

支持命令:

./gob npm
+import{_ as e,c as a,o as n,b as s}from"./app-DPa7reTN.js";const l={},t=s(`

npm 命令

命令介绍:

挂载 npm 命令

前置需求:无

支持命令:

./gob npm
 

支持配置:无

使用方法:

稍后补全,可以使用gob [command] help命令获取相关帮助

`,9),i=[t];function c(d,h){return n(),a("div",null,i)}const p=e(l,[["render",c],["__file","cmd_npm.html.vue"]]),o=JSON.parse('{"path":"/command/cmd_npm.html","title":"npm 命令","lang":"zh-CN","frontmatter":{"lang":"zh-CN","title":"npm 命令","description":null},"headers":[{"level":2,"title":"命令介绍:","slug":"命令介绍","link":"#命令介绍","children":[]},{"level":2,"title":"前置需求:无","slug":"前置需求-无","link":"#前置需求-无","children":[]},{"level":2,"title":"支持命令:","slug":"支持命令","link":"#支持命令","children":[]},{"level":2,"title":"支持配置:无","slug":"支持配置-无","link":"#支持配置-无","children":[]},{"level":2,"title":"使用方法:","slug":"使用方法","link":"#使用方法","children":[]}],"git":{"updatedTime":1718886161000,"contributors":[{"name":"陈壁浩","email":"chenbihao@qljy.com","commits":2}]},"filePathRelative":"command/cmd_npm.md"}');export{p as comp,o as data}; diff --git a/assets/command.html-UnMz95j-.js b/assets/command.html-BQ-rG8GH.js similarity index 99% rename from assets/command.html-UnMz95j-.js rename to assets/command.html-BQ-rG8GH.js index 38177c8..bda8401 100644 --- a/assets/command.html-UnMz95j-.js +++ b/assets/command.html-BQ-rG8GH.js @@ -1,4 +1,4 @@ -import{_ as e,r as l,c as i,a as n,d as s,e as c,w as t,b as d,o}from"./app-BohDLf75.js";const p={},r=n("h1",{id:"命令",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#命令"},[n("span",null,"命令")])],-1),m=n("h2",{id:"指南",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#指南"},[n("span",null,"指南")])],-1),u=d(`

gob 允许自定义命令,挂载到 gob 上。并且提供了./gob command 系列命令。

> ./gob command
+import{_ as e,r as l,c as i,a as n,d as s,e as c,w as t,b as d,o}from"./app-DPa7reTN.js";const p={},r=n("h1",{id:"命令",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#命令"},[n("span",null,"命令")])],-1),m=n("h2",{id:"指南",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#指南"},[n("span",null,"指南")])],-1),u=d(`

gob 允许自定义命令,挂载到 gob 上。并且提供了./gob command 系列命令。

> ./gob command
 控制台命令相关
 
 Usage:
diff --git a/assets/config.html-DDdpivKm.js b/assets/config.html-CoYRIXvn.js
similarity index 99%
rename from assets/config.html-DDdpivKm.js
rename to assets/config.html-CoYRIXvn.js
index 08db2b5..5de5762 100644
--- a/assets/config.html-DDdpivKm.js
+++ b/assets/config.html-CoYRIXvn.js
@@ -1,4 +1,4 @@
-import{_ as n,c as s,o as a,b as t}from"./app-BohDLf75.js";const e={},p=t(`

gob:config

服务介绍:

提供基础的配置文件获取方法

支持命令:

app

支持配置:无

提供方法:

type Config interface {
+import{_ as n,c as s,o as a,b as t}from"./app-DPa7reTN.js";const e={},p=t(`

gob:config

服务介绍:

提供基础的配置文件获取方法

支持命令:

app

支持配置:无

提供方法:

type Config interface {
 	// IsExist 检查一个属性是否存在
 	IsExist(key string) bool
 	// Get 获取一个属性值
diff --git a/assets/config.html-B1M4F-W5.js b/assets/config.html-D387cINI.js
similarity index 97%
rename from assets/config.html-B1M4F-W5.js
rename to assets/config.html-D387cINI.js
index 26d2549..0b39bd0 100644
--- a/assets/config.html-B1M4F-W5.js
+++ b/assets/config.html-D387cINI.js
@@ -1,2 +1,2 @@
-import{_ as e,c as a,o as n,b as l}from"./app-BohDLf75.js";const s={},i=l(`

配置命令

命令介绍:

获取配置相关信息

前置需求:无

支持命令:

./gob config get
+import{_ as e,c as a,o as n,b as l}from"./app-DPa7reTN.js";const s={},i=l(`

配置命令

命令介绍:

获取配置相关信息

前置需求:无

支持命令:

./gob config get
 

支持配置:无

支持环境变量:无

使用方法:

稍后补全,可以使用gob [command] help命令获取相关帮助

`,10),t=[i];function c(h,d){return n(),a("div",null,t)}const o=e(s,[["render",c],["__file","config.html.vue"]]),p=JSON.parse('{"path":"/command/config.html","title":"配置命令","lang":"zh-CN","frontmatter":{"lang":"zh-CN","title":"配置命令","description":null},"headers":[{"level":2,"title":"命令介绍:","slug":"命令介绍","link":"#命令介绍","children":[]},{"level":2,"title":"前置需求:无","slug":"前置需求-无","link":"#前置需求-无","children":[]},{"level":2,"title":"支持命令:","slug":"支持命令","link":"#支持命令","children":[]},{"level":2,"title":"支持配置:无","slug":"支持配置-无","link":"#支持配置-无","children":[]},{"level":2,"title":"支持环境变量:无","slug":"支持环境变量-无","link":"#支持环境变量-无","children":[]},{"level":2,"title":"使用方法:","slug":"使用方法","link":"#使用方法","children":[]}],"git":{"updatedTime":1718886161000,"contributors":[{"name":"陈壁浩","email":"chenbihao@qljy.com","commits":2}]},"filePathRelative":"command/config.md"}');export{o as comp,p as data}; diff --git a/assets/cron.html-D2qQuRoP.js b/assets/cron.html-C4qsjjhS.js similarity index 97% rename from assets/cron.html-D2qQuRoP.js rename to assets/cron.html-C4qsjjhS.js index d194307..1c17962 100644 --- a/assets/cron.html-D2qQuRoP.js +++ b/assets/cron.html-C4qsjjhS.js @@ -1,4 +1,4 @@ -import{_ as n,c as a,o as e,b as s}from"./app-BohDLf75.js";const l={},i=s(`

定时任务命令

命令介绍:

定时任务相关命令

前置需求:无

支持命令:

./gob cron list
+import{_ as n,c as a,o as e,b as s}from"./app-DPa7reTN.js";const l={},i=s(`

定时任务命令

命令介绍:

定时任务相关命令

前置需求:无

支持命令:

./gob cron list
 ./gob cron state
 ./gob cron start
 ./gob cron stop
diff --git a/assets/cron.html-CMx5t5tQ.js b/assets/cron.html-C9IBkk0H.js
similarity index 98%
rename from assets/cron.html-CMx5t5tQ.js
rename to assets/cron.html-C9IBkk0H.js
index 8e069d7..a275b25 100644
--- a/assets/cron.html-CMx5t5tQ.js
+++ b/assets/cron.html-C9IBkk0H.js
@@ -1,4 +1,4 @@
-import{_ as n,c as a,o as s,b as e}from"./app-BohDLf75.js";const c={},i=e(`

定时任务

指南

相关的命令详见:cron

gob 中的定时任务是以命令的形式存在。gob 中也定义了一个命令 ./gob cron 来对定时任务服务进行管理。

> ./gob cron
+import{_ as n,c as a,o as s,b as e}from"./app-DPa7reTN.js";const c={},i=e(`

定时任务

指南

相关的命令详见:cron

gob 中的定时任务是以命令的形式存在。gob 中也定义了一个命令 ./gob cron 来对定时任务服务进行管理。

> ./gob cron
 定时任务相关命令
 
 Usage:
diff --git a/assets/deploy.html-D0raq5Hd.js b/assets/deploy.html-BB6Z2VeE.js
similarity index 99%
rename from assets/deploy.html-D0raq5Hd.js
rename to assets/deploy.html-BB6Z2VeE.js
index fe4962e..edf805f 100644
--- a/assets/deploy.html-D0raq5Hd.js
+++ b/assets/deploy.html-BB6Z2VeE.js
@@ -1,4 +1,4 @@
-import{_ as s,c as n,o as a,b as e}from"./app-BohDLf75.js";const l={},p=e(`

部署命令

命令介绍:

部署命令

前置需求:

app

支持命令:

./gob deploy frontend\`	// 部署前端
+import{_ as s,c as n,o as a,b as e}from"./app-DPa7reTN.js";const l={},p=e(`

部署命令

命令介绍:

部署命令

前置需求:

app

支持命令:

./gob deploy frontend\`	// 部署前端
 	-s --skip-build     	// 跳过前端构建
 ./gob deploy backend\`	// 部署后端
 ./gob deploy all\`		// 同时部署前后端
diff --git a/assets/deploy.html-CEKbsI8p.js b/assets/deploy.html-CwznvW0_.js
similarity index 99%
rename from assets/deploy.html-CEKbsI8p.js
rename to assets/deploy.html-CwznvW0_.js
index 0b24df3..850a113 100644
--- a/assets/deploy.html-CEKbsI8p.js
+++ b/assets/deploy.html-CwznvW0_.js
@@ -1,4 +1,4 @@
-import{_ as s,c as a,o as n,b as e}from"./app-BohDLf75.js";const l={},p=e(`

自动部署

相关的命令详见:deploy

部署自动化其实不是一个框架的刚需,有很多方式可以将一个服务进行自动化部署,比如现在比较流行的 Docker 化或者 CI/CD 流程。

但是一些比较个人比较小的项目,比如一个博客、一个官网网站,这些部署流程往往都太庞大了,更需要一个服务,能快速将在开发机器上写好、调试好的程序上传到目标服务器,并且更新应用程序。

这就是gob框架实现的发布自动化。

SSH

所有的部署自动化工具,基本都依赖本地与远端服务器的连接,这个连接可以是 FTP,可以是 HTTP,但是更经常的连接是 SSH 连接。

基本上,SSH 账号是我们拿到 Web 服务器的首要凭证,所以要设计的自动化发布系统也是依赖 SSH 的。

对应的配置文件如下 config/dev/ssh.yaml,你可以看看每个配置的说明:

timeout: 1s
+import{_ as s,c as a,o as n,b as e}from"./app-DPa7reTN.js";const l={},p=e(`

自动部署

相关的命令详见:deploy

部署自动化其实不是一个框架的刚需,有很多方式可以将一个服务进行自动化部署,比如现在比较流行的 Docker 化或者 CI/CD 流程。

但是一些比较个人比较小的项目,比如一个博客、一个官网网站,这些部署流程往往都太庞大了,更需要一个服务,能快速将在开发机器上写好、调试好的程序上传到目标服务器,并且更新应用程序。

这就是gob框架实现的发布自动化。

SSH

所有的部署自动化工具,基本都依赖本地与远端服务器的连接,这个连接可以是 FTP,可以是 HTTP,但是更经常的连接是 SSH 连接。

基本上,SSH 账号是我们拿到 Web 服务器的首要凭证,所以要设计的自动化发布系统也是依赖 SSH 的。

对应的配置文件如下 config/dev/ssh.yaml,你可以看看每个配置的说明:

timeout: 1s
 network: tcp
 host: 192.168.159.128
 port: 22
diff --git a/assets/dev.html-Y4lf4MV-.js b/assets/dev.html-BzM0K0tk.js
similarity index 98%
rename from assets/dev.html-Y4lf4MV-.js
rename to assets/dev.html-BzM0K0tk.js
index 4a8efe6..4f01d2d 100644
--- a/assets/dev.html-Y4lf4MV-.js
+++ b/assets/dev.html-BzM0K0tk.js
@@ -1,4 +1,4 @@
-import{_ as n,c as s,o as a,b as e}from"./app-BohDLf75.js";const l={},t=e(`

调试模式命令

命令介绍:

dev 调试工具,通过反向代理来管理前后端

前置需求:

前后端一体、cmd_build、config、app

支持命令:

./gob dev 			// 显示帮助信息
+import{_ as n,c as s,o as a,b as e}from"./app-DPa7reTN.js";const l={},t=e(`

调试模式命令

命令介绍:

dev 调试工具,通过反向代理来管理前后端

前置需求:

前后端一体、cmd_build、config、app

支持命令:

./gob dev 			// 显示帮助信息
 ./gob dev frontend 	// 调试前端
 ./gob dev backend  	// 调试后端
 ./gob dev all  		// 显示所有
diff --git a/assets/dev.html-DqlfhMDE.js b/assets/dev.html-DMUbWeGB.js
similarity index 99%
rename from assets/dev.html-DqlfhMDE.js
rename to assets/dev.html-DMUbWeGB.js
index fe8caff..cf0f6b4 100644
--- a/assets/dev.html-DqlfhMDE.js
+++ b/assets/dev.html-DMUbWeGB.js
@@ -1,4 +1,4 @@
-import{_ as s,c as a,o as n,b as e}from"./app-BohDLf75.js";const l={},p=e(`

调试模式

命令

相关的命令详见:dev

gob 框架自带调试模式,不管是前端还是后端,都可以启动调试模式,边修改代码,边编译运行服务。

对应的命令为 ./gob dev

> ./gob dev
+import{_ as s,c as a,o as n,b as e}from"./app-DPa7reTN.js";const l={},p=e(`

调试模式

命令

相关的命令详见:dev

gob 框架自带调试模式,不管是前端还是后端,都可以启动调试模式,边修改代码,边编译运行服务。

对应的命令为 ./gob dev

> ./gob dev
 调试模式
 
 Usage:
diff --git a/assets/distributed.html-QFGVeQ6Y.js b/assets/distributed.html-ChU9nTMK.js
similarity index 98%
rename from assets/distributed.html-QFGVeQ6Y.js
rename to assets/distributed.html-ChU9nTMK.js
index a620e83..921d284 100644
--- a/assets/distributed.html-QFGVeQ6Y.js
+++ b/assets/distributed.html-ChU9nTMK.js
@@ -1,4 +1,4 @@
-import{_ as n,c as s,o as a,b as e}from"./app-BohDLf75.js";const t={},i=e(`

gob:distributed

服务介绍:

提供分布式选举的服务,可以用于分布式锁,分布式任务调度等场景。

当分布式集群中有需要选举出一个节点来执行任务时,可以使用此服务。

目前仅支持本地多进程的文件实现,后续会支持 redis 等分布式存储。

支持命令:无

支持配置:无

提供方法:

type Distributed interface {
+import{_ as n,c as s,o as a,b as e}from"./app-DPa7reTN.js";const t={},i=e(`

gob:distributed

服务介绍:

提供分布式选举的服务,可以用于分布式锁,分布式任务调度等场景。

当分布式集群中有需要选举出一个节点来执行任务时,可以使用此服务。

目前仅支持本地多进程的文件实现,后续会支持 redis 等分布式存储。

支持命令:无

支持配置:无

提供方法:

type Distributed interface {
 
 	// Select 分布式选择器, 所有节点对某个服务进行抢占,只选择其中一个节点
 	// ServiceName 服务名字
diff --git a/assets/env.html-D3vuTBla.js b/assets/env.html-CjVmGMAX.js
similarity index 97%
rename from assets/env.html-D3vuTBla.js
rename to assets/env.html-CjVmGMAX.js
index d99d951..600b1c8 100644
--- a/assets/env.html-D3vuTBla.js
+++ b/assets/env.html-CjVmGMAX.js
@@ -1,2 +1,2 @@
-import{_ as e,c as a,o as n,b as s}from"./app-BohDLf75.js";const l={},i=s(`

环境变量命令

命令介绍:

获取当前的App环境

前置需求:

app

支持命令:

./gob env list
+import{_ as e,c as a,o as n,b as s}from"./app-DPa7reTN.js";const l={},i=s(`

环境变量命令

命令介绍:

获取当前的App环境

前置需求:

app

支持命令:

./gob env list
 

支持配置:无

支持环境变量:无

使用方法:

稍后补全,可以使用gob [command] help命令获取相关帮助

`,11),t=[i];function h(c,d){return n(),a("div",null,t)}const o=e(l,[["render",h],["__file","env.html.vue"]]),p=JSON.parse('{"path":"/command/env.html","title":"环境变量命令","lang":"zh-CN","frontmatter":{"lang":"zh-CN","title":"环境变量命令","description":null},"headers":[{"level":2,"title":"命令介绍:","slug":"命令介绍","link":"#命令介绍","children":[]},{"level":2,"title":"前置需求:","slug":"前置需求","link":"#前置需求","children":[]},{"level":2,"title":"支持命令:","slug":"支持命令","link":"#支持命令","children":[]},{"level":2,"title":"支持配置:无","slug":"支持配置-无","link":"#支持配置-无","children":[]},{"level":2,"title":"支持环境变量:无","slug":"支持环境变量-无","link":"#支持环境变量-无","children":[]},{"level":2,"title":"使用方法:","slug":"使用方法","link":"#使用方法","children":[]}],"git":{"updatedTime":1718886161000,"contributors":[{"name":"陈壁浩","email":"chenbihao@qljy.com","commits":2}]},"filePathRelative":"command/env.md"}');export{o as comp,p as data}; diff --git a/assets/env.html-C4ZbRxHF.js b/assets/env.html-DMjUe7Pg.js similarity index 98% rename from assets/env.html-C4ZbRxHF.js rename to assets/env.html-DMjUe7Pg.js index d6493b8..8ba5434 100644 --- a/assets/env.html-C4ZbRxHF.js +++ b/assets/env.html-DMjUe7Pg.js @@ -1,4 +1,4 @@ -import{_ as n,c as s,o as a,b as e}from"./app-BohDLf75.js";const t={},l=e(`

gob:env

服务介绍:

提供环境变量相关方法

支持命令:

app

支持配置:无

提供方法:

type Env interface {
+import{_ as n,c as s,o as a,b as e}from"./app-DPa7reTN.js";const t={},l=e(`

gob:env

服务介绍:

提供环境变量相关方法

支持命令:

app

支持配置:无

提供方法:

type Env interface {
 	// AppEnv 获取当前的环境,建议分为 dev/test/prod
 	AppEnv() string
 	// IsExist 判断一个环境变量是否有被设置
diff --git a/assets/env.html-_teK4Oqy.js b/assets/env.html-Dnu3Gpu1.js
similarity index 98%
rename from assets/env.html-_teK4Oqy.js
rename to assets/env.html-Dnu3Gpu1.js
index bc1524c..ccc5480 100644
--- a/assets/env.html-_teK4Oqy.js
+++ b/assets/env.html-Dnu3Gpu1.js
@@ -1,4 +1,4 @@
-import{_ as n,c as e,o as s,b as a}from"./app-BohDLf75.js";const i={},l=a(`

环境变量

设置

gob 支持使用应用默认下的隐藏文件 .env 来配置各个机器不同的环境变量。

APP_ENV=dev
+import{_ as n,c as e,o as s,b as a}from"./app-DPa7reTN.js";const i={},l=a(`

环境变量

设置

gob 支持使用应用默认下的隐藏文件 .env 来配置各个机器不同的环境变量。

APP_ENV=dev
 
 DB_PASSWORD=mypassword
 

环境变量的设置可以在配置文件中通过 env([环境变量]) 来获取到。

比如:

mysql:
diff --git a/assets/grpc.html-DIJ24529.js b/assets/grpc.html-DauTmDFx.js
similarity index 90%
rename from assets/grpc.html-DIJ24529.js
rename to assets/grpc.html-DauTmDFx.js
index 54cc516..c4c8cfc 100644
--- a/assets/grpc.html-DIJ24529.js
+++ b/assets/grpc.html-DauTmDFx.js
@@ -1 +1 @@
-import{_ as t,c,o as a,a as e}from"./app-BohDLf75.js";const r={},n=e("h1",{id:"grpc-支持",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#grpc-支持"},[e("span",null,"grpc 支持")])],-1),o=[n];function s(i,l){return a(),c("div",null,o)}const d=t(r,[["render",s],["__file","grpc.html.vue"]]),h=JSON.parse('{"path":"/guide/grpc.html","title":"grpc支持","lang":"zh-CN","frontmatter":{"lang":"zh-CN","title":"grpc支持","description":null},"headers":[],"git":{"updatedTime":1717776942000,"contributors":[{"name":"陈壁浩","email":"chenbihao@qljy.com","commits":2}]},"filePathRelative":"guide/grpc.md"}');export{d as comp,h as data};
+import{_ as t,c,o as a,a as e}from"./app-DPa7reTN.js";const r={},n=e("h1",{id:"grpc-支持",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#grpc-支持"},[e("span",null,"grpc 支持")])],-1),o=[n];function s(i,l){return a(),c("div",null,o)}const d=t(r,[["render",s],["__file","grpc.html.vue"]]),h=JSON.parse('{"path":"/guide/grpc.html","title":"grpc支持","lang":"zh-CN","frontmatter":{"lang":"zh-CN","title":"grpc支持","description":null},"headers":[],"git":{"updatedTime":1717776942000,"contributors":[{"name":"陈壁浩","email":"chenbihao@qljy.com","commits":2}]},"filePathRelative":"guide/grpc.md"}');export{d as comp,h as data};
diff --git a/assets/id.html-3hikjNGE.js b/assets/id.html-C40sJgOE.js
similarity index 97%
rename from assets/id.html-3hikjNGE.js
rename to assets/id.html-C40sJgOE.js
index 6cc1feb..b4ff576 100644
--- a/assets/id.html-3hikjNGE.js
+++ b/assets/id.html-C40sJgOE.js
@@ -1,4 +1,4 @@
-import{_ as a,c as e,o as n,b as s}from"./app-BohDLf75.js";const i={},t=s(`

gob:id

服务介绍:

提供分布式 ID 生成服务,可以为当前服务生成唯一id

支持命令:无

支持配置:无

提供方法:

type ID interface {
+import{_ as a,c as e,o as n,b as s}from"./app-DPa7reTN.js";const i={},t=s(`

gob:id

服务介绍:

提供分布式 ID 生成服务,可以为当前服务生成唯一id

支持命令:无

支持配置:无

提供方法:

type ID interface {
 	NewID() string
 }
 
`,7),l=[t];function c(d,o){return n(),e("div",null,l)}const p=a(i,[["render",c],["__file","id.html.vue"]]),h=JSON.parse('{"path":"/provider/id.html","title":"gob:id","lang":"zh-CN","frontmatter":{"lang":"zh-CN","title":"gob:id","description":null},"headers":[{"level":2,"title":"服务介绍:","slug":"服务介绍","link":"#服务介绍","children":[]},{"level":2,"title":"支持命令:无","slug":"支持命令-无","link":"#支持命令-无","children":[]},{"level":2,"title":"支持配置:无","slug":"支持配置-无","link":"#支持配置-无","children":[]},{"level":2,"title":"提供方法:","slug":"提供方法","link":"#提供方法","children":[]}],"git":{"updatedTime":1717776942000,"contributors":[{"name":"陈壁浩","email":"chenbihao@qljy.com","commits":3}]},"filePathRelative":"provider/id.md"}');export{p as comp,h as data}; diff --git a/assets/index.html-DMC7V1Oa.js b/assets/index.html-0MYXBVMc.js similarity index 91% rename from assets/index.html-DMC7V1Oa.js rename to assets/index.html-0MYXBVMc.js index 6cf7338..89fd3ca 100644 --- a/assets/index.html-DMC7V1Oa.js +++ b/assets/index.html-0MYXBVMc.js @@ -1 +1 @@ -import{_ as t,c as a,o as n,a as e}from"./app-BohDLf75.js";const o={},c=e("h1",{id:"提供命令",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#提供命令"},[e("span",null,"提供命令")])],-1),s=e("p",null,"Gob 框架提供了很多开箱即用的命令",-1),i=[c,s];function r(l,d){return n(),a("div",null,i)}const _=t(o,[["render",r],["__file","index.html.vue"]]),h=JSON.parse('{"path":"/command/","title":"提供命令","lang":"zh-CN","frontmatter":{"lang":"zh-CN","title":"提供命令","description":"提供命令"},"headers":[],"git":{"updatedTime":1717776942000,"contributors":[{"name":"陈壁浩","email":"chenbihao@qljy.com","commits":1}]},"filePathRelative":"command/README.md"}');export{_ as comp,h as data}; +import{_ as t,c as a,o as n,a as e}from"./app-DPa7reTN.js";const o={},c=e("h1",{id:"提供命令",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#提供命令"},[e("span",null,"提供命令")])],-1),s=e("p",null,"Gob 框架提供了很多开箱即用的命令",-1),i=[c,s];function r(l,d){return n(),a("div",null,i)}const _=t(o,[["render",r],["__file","index.html.vue"]]),h=JSON.parse('{"path":"/command/","title":"提供命令","lang":"zh-CN","frontmatter":{"lang":"zh-CN","title":"提供命令","description":"提供命令"},"headers":[],"git":{"updatedTime":1717776942000,"contributors":[{"name":"陈壁浩","email":"chenbihao@qljy.com","commits":1}]},"filePathRelative":"command/README.md"}');export{_ as comp,h as data}; diff --git a/assets/index.html-CKRN3b_x.js b/assets/index.html-BYWTRDDN.js similarity index 93% rename from assets/index.html-CKRN3b_x.js rename to assets/index.html-BYWTRDDN.js index a0b5e19..4f367c6 100644 --- a/assets/index.html-CKRN3b_x.js +++ b/assets/index.html-BYWTRDDN.js @@ -1 +1 @@ -import{_ as t,c as o,o as n,a as e}from"./app-BohDLf75.js";const a={},c=e("h1",{id:"服务提供者",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#服务提供者"},[e("span",null,"服务提供者")])],-1),s=e("p",null,"这里列出了 gob 框架自带的服务提供者接口和协议说明",-1),i=e("blockquote",null,[e("p",null,"注:部分服务提供者的对应命令及配置可能未编写说明,展示为“无”,文档稍后补充。")],-1),l=[c,s,i];function r(d,_){return n(),o("div",null,l)}const m=t(a,[["render",r],["__file","index.html.vue"]]),p=JSON.parse('{"path":"/provider/","title":"服务提供者","lang":"zh-CN","frontmatter":{"lang":"zh-CN","title":"服务提供者","description":"服务提供者"},"headers":[],"git":{"updatedTime":1718367132000,"contributors":[{"name":"陈壁浩","email":"chenbihao@qljy.com","commits":2}]},"filePathRelative":"provider/README.md"}');export{m as comp,p as data}; +import{_ as t,c as o,o as n,a as e}from"./app-DPa7reTN.js";const a={},c=e("h1",{id:"服务提供者",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#服务提供者"},[e("span",null,"服务提供者")])],-1),s=e("p",null,"这里列出了 gob 框架自带的服务提供者接口和协议说明",-1),i=e("blockquote",null,[e("p",null,"注:部分服务提供者的对应命令及配置可能未编写说明,展示为“无”,文档稍后补充。")],-1),l=[c,s,i];function r(d,_){return n(),o("div",null,l)}const m=t(a,[["render",r],["__file","index.html.vue"]]),p=JSON.parse('{"path":"/provider/","title":"服务提供者","lang":"zh-CN","frontmatter":{"lang":"zh-CN","title":"服务提供者","description":"服务提供者"},"headers":[],"git":{"updatedTime":1718367132000,"contributors":[{"name":"陈壁浩","email":"chenbihao@qljy.com","commits":2}]},"filePathRelative":"provider/README.md"}');export{m as comp,p as data}; diff --git a/assets/index.html-92JzTJ5Q.js b/assets/index.html-D2njedg8.js similarity index 95% rename from assets/index.html-92JzTJ5Q.js rename to assets/index.html-D2njedg8.js index 068bca8..e88218a 100644 --- a/assets/index.html-92JzTJ5Q.js +++ b/assets/index.html-D2njedg8.js @@ -1 +1 @@ -import{_ as t,c as o,o as n,a as e}from"./app-BohDLf75.js";const a={},s=e("h1",{id:"介绍",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#介绍"},[e("span",null,"介绍")])],-1),c=e("p",null,"gob 框架是一个注重协议,注重开发效率的前后端一体化框架。",-1),i=e("p",null,"框架制定了一系列的基本协议,在具体的业务逻辑中,可以通过每个协议独特的 Key 来从全局容器中获取已经注入的服务实例。",-1),l=e("p",null,"所有的具体应用开发,在业务逻辑中,都是按照约定的协议进行逻辑处理,从而脱离了具体的每个服务所定义的个性化差异。",-1),_=e("p",null,"本框架是作者在学习手写web框架后的产物,计划持续开发并作为开发项目用的脚手架。",-1),d=[s,c,i,l,_];function r(h,m){return n(),o("div",null,d)}const u=t(a,[["render",r],["__file","index.html.vue"]]),f=JSON.parse('{"path":"/guide/","title":"介绍","lang":"zh-CN","frontmatter":{"lang":"zh-CN","title":"介绍","description":"介绍"},"headers":[],"git":{"updatedTime":1718016868000,"contributors":[{"name":"陈壁浩","email":"chenbihao@qljy.com","commits":2},{"name":"被水淹没","email":"994523036@qq.com","commits":1}]},"filePathRelative":"guide/README.md"}');export{u as comp,f as data}; +import{_ as t,c as o,o as n,a as e}from"./app-DPa7reTN.js";const a={},s=e("h1",{id:"介绍",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#介绍"},[e("span",null,"介绍")])],-1),c=e("p",null,"gob 框架是一个注重协议,注重开发效率的前后端一体化框架。",-1),i=e("p",null,"框架制定了一系列的基本协议,在具体的业务逻辑中,可以通过每个协议独特的 Key 来从全局容器中获取已经注入的服务实例。",-1),l=e("p",null,"所有的具体应用开发,在业务逻辑中,都是按照约定的协议进行逻辑处理,从而脱离了具体的每个服务所定义的个性化差异。",-1),_=e("p",null,"本框架是作者在学习手写web框架后的产物,计划持续开发并作为开发项目用的脚手架。",-1),d=[s,c,i,l,_];function r(h,m){return n(),o("div",null,d)}const u=t(a,[["render",r],["__file","index.html.vue"]]),f=JSON.parse('{"path":"/guide/","title":"介绍","lang":"zh-CN","frontmatter":{"lang":"zh-CN","title":"介绍","description":"介绍"},"headers":[],"git":{"updatedTime":1718016868000,"contributors":[{"name":"陈壁浩","email":"chenbihao@qljy.com","commits":2},{"name":"被水淹没","email":"994523036@qq.com","commits":1}]},"filePathRelative":"guide/README.md"}');export{u as comp,f as data}; diff --git a/assets/index.html-D0lwSFMQ.js b/assets/index.html-DPikwOdE.js similarity index 94% rename from assets/index.html-D0lwSFMQ.js rename to assets/index.html-DPikwOdE.js index 46f70ee..43b66d5 100644 --- a/assets/index.html-D0lwSFMQ.js +++ b/assets/index.html-DPikwOdE.js @@ -1 +1 @@ -import{_ as e,c as t,o as i}from"./app-BohDLf75.js";const a={};function o(l,n){return i(),t("div")}const r=e(a,[["render",o],["__file","index.html.vue"]]),s=JSON.parse('{"path":"/","title":"开始体验","lang":"en-US","frontmatter":{"home":true,"title":"开始体验","actions":[{"text":"快速开始","link":"/guide/introduce","type":"primary"}],"features":[{"title":"基于协议","details":"服务间是基于协议进行交互的"},{"title":"前后端协同","details":"前后端协同开发"},{"title":"命令行","details":"有充分的命令行工具"},{"title":"集成定时服务","details":"提供命令进行定时服务的启动"},{"title":"文档丰富","details":"提供丰富的文档说明"},{"title":"开发模式","details":"在开发模式下进行前后端开发,极大提高了开发效率和开发体验"}],"footer":"MIT Licensed | Copyright © 2024-present chenbihao"},"headers":[],"git":{"updatedTime":1717589281000,"contributors":[{"name":"被水淹没","email":"994523036@qq.com","commits":1},{"name":"陈壁浩","email":"chenbihao@qljy.com","commits":1}]},"filePathRelative":"README.md"}');export{r as comp,s as data}; +import{_ as e,c as t,o as i}from"./app-DPa7reTN.js";const a={};function o(l,n){return i(),t("div")}const r=e(a,[["render",o],["__file","index.html.vue"]]),s=JSON.parse('{"path":"/","title":"开始体验","lang":"en-US","frontmatter":{"home":true,"title":"开始体验","actions":[{"text":"快速开始","link":"/guide/introduce","type":"primary"}],"features":[{"title":"基于协议","details":"服务间是基于协议进行交互的"},{"title":"前后端协同","details":"前后端协同开发"},{"title":"命令行","details":"有充分的命令行工具"},{"title":"集成定时服务","details":"提供命令进行定时服务的启动"},{"title":"文档丰富","details":"提供丰富的文档说明"},{"title":"开发模式","details":"在开发模式下进行前后端开发,极大提高了开发效率和开发体验"}],"footer":"MIT Licensed | Copyright © 2024-present chenbihao"},"headers":[],"git":{"updatedTime":1717589281000,"contributors":[{"name":"被水淹没","email":"994523036@qq.com","commits":1},{"name":"陈壁浩","email":"chenbihao@qljy.com","commits":1}]},"filePathRelative":"README.md"}');export{r as comp,s as data}; diff --git a/assets/install.html-gNuagqc6.js b/assets/install.html-DFWviQR7.js similarity index 86% rename from assets/install.html-gNuagqc6.js rename to assets/install.html-DFWviQR7.js index 2db0bc7..f3a86fe 100644 --- a/assets/install.html-gNuagqc6.js +++ b/assets/install.html-DFWviQR7.js @@ -1,4 +1,4 @@ -import{_ as s,c as n,o as a,b as e}from"./app-BohDLf75.js";const l={},p=e(`

安装

可执行文件

选择任一方式进行使用即可

go install

已集成初始化脚手架,可通过以下命令在本地构建应用:

使用 go install github.com/chenbihao/gob@latest 来安装 gob 命令。

源码编译

clone git 地址:git@github.com/chenbihao/gob.git

在 gob 目录中运行命令 go run main.go build self

将生成的可执行文件 gob 放到 $PATH 目录中

下载源码

下载地址: Releases

初始化项目

使用命令 gob new 在当前目录创建子项目

这个创建新的 gob 项目的整个过程是交互式的。你可以根据命令行提示一步步进行:

> gob new
+import{_ as s,c as n,o as a,b as e}from"./app-DPa7reTN.js";const l={},p=e(`

安装

可执行文件

选择任一方式进行使用即可

go install

已集成初始化脚手架,可通过以下命令在本地构建应用:

使用 go install github.com/chenbihao/gob@latest 来安装 gob 命令。

源码编译

clone git 地址:git@github.com/chenbihao/gob.git

在 gob 目录中运行命令 go run main.go build self

将生成的可执行文件 gob 放到 $PATH 目录中

下载源码

下载地址: Releases

在 gob 目录中运行命令 go run main.go build self

初始化项目

使用命令 gob new 在当前目录创建子项目

这个创建新的 gob 项目的整个过程是交互式的。你可以根据命令行提示一步步进行:

> gob new
 ? 请输入目录名称: gobdemo
 ? 请输入模块名称(go.mod中的module, 默认为文件夹名称)
 ? 请输入版本名称(参考 https://github.com/chenbihao/gob/releases,默认为最新版本)
@@ -26,4 +26,4 @@ import{_ as s,c as n,o as a,b as e}from"./app-BohDLf75.js";const l={},p=e(`

-h, --help help for gob Use "gob [command] --help" for more information about a command. -

至此,项目安装成功。

`,21),o=[p];function i(t,c){return a(),n("div",null,o)}const d=s(l,[["render",i],["__file","install.html.vue"]]),u=JSON.parse('{"path":"/guide/install.html","title":"安装","lang":"zh-CN","frontmatter":{"lang":"zh-CN","title":"安装","description":null},"headers":[{"level":2,"title":"可执行文件","slug":"可执行文件","link":"#可执行文件","children":[{"level":3,"title":"go install","slug":"go-install","link":"#go-install","children":[]},{"level":3,"title":"源码编译","slug":"源码编译","link":"#源码编译","children":[]},{"level":3,"title":"下载源码","slug":"下载源码","link":"#下载源码","children":[]}]},{"level":2,"title":"初始化项目","slug":"初始化项目","link":"#初始化项目","children":[]}],"git":{"updatedTime":1718016868000,"contributors":[{"name":"被水淹没","email":"994523036@qq.com","commits":1},{"name":"陈壁浩","email":"chenbihao@qljy.com","commits":1}]},"filePathRelative":"guide/install.md"}');export{d as comp,u as data}; +

至此,项目安装成功。

`,22),o=[p];function i(t,c){return a(),n("div",null,o)}const d=s(l,[["render",i],["__file","install.html.vue"]]),u=JSON.parse('{"path":"/guide/install.html","title":"安装","lang":"zh-CN","frontmatter":{"lang":"zh-CN","title":"安装","description":null},"headers":[{"level":2,"title":"可执行文件","slug":"可执行文件","link":"#可执行文件","children":[{"level":3,"title":"go install","slug":"go-install","link":"#go-install","children":[]},{"level":3,"title":"源码编译","slug":"源码编译","link":"#源码编译","children":[]},{"level":3,"title":"下载源码","slug":"下载源码","link":"#下载源码","children":[]}]},{"level":2,"title":"初始化项目","slug":"初始化项目","link":"#初始化项目","children":[]}],"git":{"updatedTime":1721321862000,"contributors":[{"name":"陈壁浩","email":"chenbihao@qljy.com","commits":2},{"name":"被水淹没","email":"994523036@qq.com","commits":1}]},"filePathRelative":"guide/install.md"}');export{d as comp,u as data}; diff --git a/assets/introduce.html-B1NfBmn6.js b/assets/introduce.html-FNF1i26H.js similarity index 91% rename from assets/introduce.html-B1NfBmn6.js rename to assets/introduce.html-FNF1i26H.js index 55d9422..69f5453 100644 --- a/assets/introduce.html-B1NfBmn6.js +++ b/assets/introduce.html-FNF1i26H.js @@ -1 +1 @@ -import{_ as t,c as a,o,a as e}from"./app-BohDLf75.js";const c={},n=e("h1",{id:"快速开始",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#快速开始"},[e("span",null,"快速开始")])],-1),i=[n];function r(s,d){return o(),a("div",null,i)}const m=t(c,[["render",r],["__file","introduce.html.vue"]]),h=JSON.parse('{"path":"/guide/introduce.html","title":"快速开始","lang":"zh-CN","frontmatter":{"lang":"zh-CN","title":"快速开始","description":"快速开始"},"headers":[],"git":{"updatedTime":1718016868000,"contributors":[{"name":"陈壁浩","email":"chenbihao@qljy.com","commits":2},{"name":"被水淹没","email":"994523036@qq.com","commits":1}]},"filePathRelative":"guide/introduce.md"}');export{m as comp,h as data}; +import{_ as t,c as a,o,a as e}from"./app-DPa7reTN.js";const c={},n=e("h1",{id:"快速开始",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#快速开始"},[e("span",null,"快速开始")])],-1),i=[n];function r(s,d){return o(),a("div",null,i)}const m=t(c,[["render",r],["__file","introduce.html.vue"]]),h=JSON.parse('{"path":"/guide/introduce.html","title":"快速开始","lang":"zh-CN","frontmatter":{"lang":"zh-CN","title":"快速开始","description":"快速开始"},"headers":[],"git":{"updatedTime":1718016868000,"contributors":[{"name":"陈壁浩","email":"chenbihao@qljy.com","commits":2},{"name":"被水淹没","email":"994523036@qq.com","commits":1}]},"filePathRelative":"guide/introduce.md"}');export{m as comp,h as data}; diff --git a/assets/kernel.html-CeK3C6wA.js b/assets/kernel.html-Dx0QmcU3.js similarity index 97% rename from assets/kernel.html-CeK3C6wA.js rename to assets/kernel.html-Dx0QmcU3.js index 8cd4f6d..9524fe8 100644 --- a/assets/kernel.html-CeK3C6wA.js +++ b/assets/kernel.html-Dx0QmcU3.js @@ -1,4 +1,4 @@ -import{_ as e,c as n,o as a,b as s}from"./app-BohDLf75.js";const t={},l=s(`

gob:kernel

服务介绍:

提供框架最核心的结构,包括 http 和 grpc 的 Engine 结构。

支持命令:无

支持配置:无

提供方法:

type Kernel interface {
+import{_ as e,c as n,o as a,b as s}from"./app-DPa7reTN.js";const t={},l=s(`

gob:kernel

服务介绍:

提供框架最核心的结构,包括 http 和 grpc 的 Engine 结构。

支持命令:无

支持配置:无

提供方法:

type Kernel interface {
 	// HttpEngine http.Handler结构,作为net/http框架使用, 实际上是gin.Engine
 	HttpEngine() http.Handler
 }
diff --git a/assets/log.html-f97HsJTJ.js b/assets/log.html-DF7G-bap.js
similarity index 99%
rename from assets/log.html-f97HsJTJ.js
rename to assets/log.html-DF7G-bap.js
index e7013e9..62d76f9 100644
--- a/assets/log.html-f97HsJTJ.js
+++ b/assets/log.html-DF7G-bap.js
@@ -1,4 +1,4 @@
-import{_ as n,c as s,o as a,b as t}from"./app-BohDLf75.js";const p={},e=t(`

gob:log

服务介绍:

提供日志记录相关操作

支持命令:无

支持配置:无

提供方法:

type Log interface {
+import{_ as n,c as s,o as a,b as t}from"./app-DPa7reTN.js";const p={},e=t(`

gob:log

服务介绍:

提供日志记录相关操作

支持命令:无

支持配置:无

提供方法:

type Log interface {
 	// Panic 表示会导致整个程序出现崩溃的日志信息
 	Panic(ctx context.Context, msg string, fields map[string]interface{})
 	// Fatal 表示会导致当前这个请求出现提前终止的错误信息
diff --git a/assets/middleware.html-vI1hsr7H.js b/assets/middleware.html-BP0hHIr0.js
similarity index 97%
rename from assets/middleware.html-vI1hsr7H.js
rename to assets/middleware.html-BP0hHIr0.js
index 19ecb26..559c2aa 100644
--- a/assets/middleware.html-vI1hsr7H.js
+++ b/assets/middleware.html-BP0hHIr0.js
@@ -1,4 +1,4 @@
-import{_ as e,c as a,o as n,b as l}from"./app-BohDLf75.js";const s={},i=l(`

中间件命令

命令介绍:

middleware 生成

前置需求:

app

支持命令:

./gob middleware  			// 打印帮助信息
+import{_ as e,c as a,o as n,b as l}from"./app-DPa7reTN.js";const s={},i=l(`

中间件命令

命令介绍:

middleware 生成

前置需求:

app

支持命令:

./gob middleware  			// 打印帮助信息
 ./gob middleware list  		// 列出所有的业务中间件
 ./gob middleware new  		// 创建一个新的业务中间件
 ./gob middleware migrate 	// 迁移 Gin 已有的中间件
diff --git a/assets/middleware.html-BFXTxuOY.js b/assets/middleware.html-BWcFjQEn.js
similarity index 98%
rename from assets/middleware.html-BFXTxuOY.js
rename to assets/middleware.html-BWcFjQEn.js
index 9d45e1c..5cecf70 100644
--- a/assets/middleware.html-BFXTxuOY.js
+++ b/assets/middleware.html-BWcFjQEn.js
@@ -1,4 +1,4 @@
-import{_ as n,c as a,o as s,b as e}from"./app-BohDLf75.js";const i={},l=e(`

中间件

指南

相关的命令详见:middleware

gob 的 HTTP 路由服务并没有自己开发,而是使用 gin。

gin 生态已经有非常完善的 中间件体系

我们没有必要重新开发这些中间件。所以 gob 框架提供了 middleware 命令来获取这些中间件。

(不能直接使用go get 的方式来获取,因为 gob 在 gin 基础上做了一些微调)

> ./gob middleware
+import{_ as n,c as a,o as s,b as e}from"./app-DPa7reTN.js";const i={},l=e(`

中间件

指南

相关的命令详见:middleware

gob 的 HTTP 路由服务并没有自己开发,而是使用 gin。

gin 生态已经有非常完善的 中间件体系

我们没有必要重新开发这些中间件。所以 gob 框架提供了 middleware 命令来获取这些中间件。

(不能直接使用go get 的方式来获取,因为 gob 在 gin 基础上做了一些微调)

> ./gob middleware
 中间件相关命令
 
 Usage:
diff --git a/assets/model.html-BCvsKPgy.js b/assets/model.html-CD9hVQvg.js
similarity index 99%
rename from assets/model.html-BCvsKPgy.js
rename to assets/model.html-CD9hVQvg.js
index fb57d41..bad6ae9 100644
--- a/assets/model.html-BCvsKPgy.js
+++ b/assets/model.html-CD9hVQvg.js
@@ -1,4 +1,4 @@
-import{_ as a,c as s,o as e,b as n}from"./app-BohDLf75.js";const l={},i=n(`

模型

指南

model 提供了自动生成数据库模型的命令行工具,如果你已经定义好你的model,这里的系列工具能帮助你节省不少时间。

> ./gob model
+import{_ as a,c as s,o as e,b as n}from"./app-DPa7reTN.js";const l={},i=n(`

模型

指南

model 提供了自动生成数据库模型的命令行工具,如果你已经定义好你的model,这里的系列工具能帮助你节省不少时间。

> ./gob model
 数据库模型相关的命令
 
 Usage:
diff --git a/assets/model.html-DmNrfJXm.js b/assets/model.html-D3iO0kG2.js
similarity index 98%
rename from assets/model.html-DmNrfJXm.js
rename to assets/model.html-D3iO0kG2.js
index 3bbb3a6..24efe95 100644
--- a/assets/model.html-DmNrfJXm.js
+++ b/assets/model.html-D3iO0kG2.js
@@ -1,4 +1,4 @@
-import{_ as a,c as s,o as n,b as e}from"./app-BohDLf75.js";const l={},i=e(`

生成命令

命令介绍:

数据库模型相关的命令

前置需求:

支持命令:

./gob model test 	// 测试数据库连接,并展示数据表列表
+import{_ as a,c as s,o as n,b as e}from"./app-DPa7reTN.js";const l={},i=e(`

生成命令

命令介绍:

数据库模型相关的命令

前置需求:

支持命令:

./gob model test 	// 测试数据库连接,并展示数据表列表
 
 ./gob model gen  	// 通过数据库生成模型
 	-d, --database string   // 可选,模型连接的数据库 (default "database.default")
diff --git a/assets/new.html-DdCGzv16.js b/assets/new.html-DEhsSR-9.js
similarity index 97%
rename from assets/new.html-DdCGzv16.js
rename to assets/new.html-DEhsSR-9.js
index 3816833..7c5f59e 100644
--- a/assets/new.html-DdCGzv16.js
+++ b/assets/new.html-DEhsSR-9.js
@@ -1,2 +1,2 @@
-import{_ as e,c as a,o as n,b as s}from"./app-BohDLf75.js";const l={},t=s(`

创建命令

命令介绍:

拉取最新的 gob 框架内容

前置需求:无

支持命令:

./gob new		// 拉取框架并创建一个新的应用
+import{_ as e,c as a,o as n,b as s}from"./app-DPa7reTN.js";const l={},t=s(`

创建命令

命令介绍:

拉取最新的 gob 框架内容

前置需求:无

支持命令:

./gob new		// 拉取框架并创建一个新的应用
 

支持配置:无

使用方法:

稍后补全,可以使用gob [command] help命令获取相关帮助

`,9),i=[t];function h(c,d){return n(),a("div",null,i)}const o=e(l,[["render",h],["__file","new.html.vue"]]),p=JSON.parse('{"path":"/command/new.html","title":"创建命令","lang":"zh-CN","frontmatter":{"lang":"zh-CN","title":"创建命令","description":null},"headers":[{"level":2,"title":"命令介绍:","slug":"命令介绍","link":"#命令介绍","children":[]},{"level":2,"title":"前置需求:无","slug":"前置需求-无","link":"#前置需求-无","children":[]},{"level":2,"title":"支持命令:","slug":"支持命令","link":"#支持命令","children":[]},{"level":2,"title":"支持配置:无","slug":"支持配置-无","link":"#支持配置-无","children":[]},{"level":2,"title":"使用方法:","slug":"使用方法","link":"#使用方法","children":[]}],"git":{"updatedTime":1718886161000,"contributors":[{"name":"陈壁浩","email":"chenbihao@qljy.com","commits":2}]},"filePathRelative":"command/new.md"}');export{o as comp,p as data}; diff --git a/assets/orm.html-BLaovd1_.js b/assets/orm.html-D8hEhQFt.js similarity index 99% rename from assets/orm.html-BLaovd1_.js rename to assets/orm.html-D8hEhQFt.js index d334db2..d7457eb 100644 --- a/assets/orm.html-BLaovd1_.js +++ b/assets/orm.html-D8hEhQFt.js @@ -1,4 +1,4 @@ -import{_ as n,c as s,o as a,b as e}from"./app-BohDLf75.js";const p={},t=e(`

gob:orm

服务介绍:

提供ORM服务的服务,可以用于获取数据库连接,获取表结构等。

支持命令:

app

支持配置:

使用之前需要确保已经正确配置了redis服务。

配置文件为 config/[env]/database.yaml,以下是一个配置的例子:

##### mysql连接配置
+import{_ as n,c as s,o as a,b as e}from"./app-DPa7reTN.js";const p={},t=e(`

gob:orm

服务介绍:

提供ORM服务的服务,可以用于获取数据库连接,获取表结构等。

支持命令:

app

支持配置:

使用之前需要确保已经正确配置了redis服务。

配置文件为 config/[env]/database.yaml,以下是一个配置的例子:

##### mysql连接配置
 #mysql:
 #  hostname: 127.0.0.1
 #  username: test
diff --git a/assets/provider.html-CS4Ov3Jc.js b/assets/provider.html-BcPmJm5h.js
similarity index 97%
rename from assets/provider.html-CS4Ov3Jc.js
rename to assets/provider.html-BcPmJm5h.js
index 7fd307e..e2a41c6 100644
--- a/assets/provider.html-CS4Ov3Jc.js
+++ b/assets/provider.html-BcPmJm5h.js
@@ -1,4 +1,4 @@
-import{_ as e,c as a,o as n,b as s}from"./app-BohDLf75.js";const i={},l=s(`

服务提供者命令

命令介绍:

provider 生成

前置需求:

app

支持命令:

./gob provider  		// 打印帮助信息
+import{_ as e,c as a,o as n,b as s}from"./app-DPa7reTN.js";const i={},l=s(`

服务提供者命令

命令介绍:

provider 生成

前置需求:

app

支持命令:

./gob provider  		// 打印帮助信息
 ./gob provider list  	// 列出容器内的所有服务的字符串凭证
 ./gob provider new  	// 创建一个服务
 

支持配置:无

使用方法:

稍后补全,可以使用gob [command] help命令获取相关帮助

`,10),r=[l];function t(d,c){return n(),a("div",null,r)}const o=e(i,[["render",t],["__file","provider.html.vue"]]),p=JSON.parse('{"path":"/command/provider.html","title":"服务提供者命令","lang":"zh-CN","frontmatter":{"lang":"zh-CN","title":"服务提供者命令","description":null},"headers":[{"level":2,"title":"命令介绍:","slug":"命令介绍","link":"#命令介绍","children":[]},{"level":2,"title":"前置需求:","slug":"前置需求","link":"#前置需求","children":[]},{"level":2,"title":"支持命令:","slug":"支持命令","link":"#支持命令","children":[]},{"level":2,"title":"支持配置:无","slug":"支持配置-无","link":"#支持配置-无","children":[]},{"level":2,"title":"使用方法:","slug":"使用方法","link":"#使用方法","children":[]}],"git":{"updatedTime":1718886161000,"contributors":[{"name":"陈壁浩","email":"chenbihao@qljy.com","commits":2}]},"filePathRelative":"command/provider.md"}');export{o as comp,p as data}; diff --git a/assets/provider.html-Cl5mSc27.js b/assets/provider.html-BvVlXh2Q.js similarity index 99% rename from assets/provider.html-Cl5mSc27.js rename to assets/provider.html-BvVlXh2Q.js index 13a7569..28546b0 100644 --- a/assets/provider.html-Cl5mSc27.js +++ b/assets/provider.html-BvVlXh2Q.js @@ -1,4 +1,4 @@ -import{_ as a,r as e,c as p,a as t,d as n,e as i,w as c,b as o,o as l}from"./app-BohDLf75.js";const u={},r=o(`

服务提供者

指南

gob 框架使用 ServiceProvider 机制来满足协议,通过 ServiceProvider 提供某个协议服务的具体实现。

这样如果开发者对具体的实现协议的服务类的具体实现不满意,则可以很方便的通过切换具体协议的 ServiceProvider 来进行具体服务的切换。

一个 ServiceProvider 是一个单独的文件夹,它包含服务提供和服务实现。具体可以参考 framework/provider/demo

一个 SerivceProvider 就是一个独立的包,这个包可以作为插件独立地发布和分享。

你也可以定义一个无 contract 的 ServiceProvider ,其中的 Name() 需要保证唯一。

创建

我们可以使用命令 ./gob provider new 来创建一个新的service provider

> ./gob provider new
+import{_ as a,r as e,c as p,a as t,d as n,e as i,w as c,b as o,o as l}from"./app-DPa7reTN.js";const u={},r=o(`

服务提供者

指南

gob 框架使用 ServiceProvider 机制来满足协议,通过 ServiceProvider 提供某个协议服务的具体实现。

这样如果开发者对具体的实现协议的服务类的具体实现不满意,则可以很方便的通过切换具体协议的 ServiceProvider 来进行具体服务的切换。

一个 ServiceProvider 是一个单独的文件夹,它包含服务提供和服务实现。具体可以参考 framework/provider/demo

一个 SerivceProvider 就是一个独立的包,这个包可以作为插件独立地发布和分享。

你也可以定义一个无 contract 的 ServiceProvider ,其中的 Name() 需要保证唯一。

创建

我们可以使用命令 ./gob provider new 来创建一个新的service provider

> ./gob provider new
 创建一个服务
 ? 请输入服务名称(服务凭证): demop
 ? 请输入服务所在目录名称(默认: 同服务名称):
diff --git a/assets/redis.html-BJ4NbZR3.js b/assets/redis.html-DOIaDwZP.js
similarity index 99%
rename from assets/redis.html-BJ4NbZR3.js
rename to assets/redis.html-DOIaDwZP.js
index 44f8678..2a468e0 100644
--- a/assets/redis.html-BJ4NbZR3.js
+++ b/assets/redis.html-DOIaDwZP.js
@@ -1,4 +1,4 @@
-import{_ as s,c as n,o as a,b as e}from"./app-BohDLf75.js";const t={},l=e(`

gob:redis

服务介绍:

提供 redis 服务的服务,可以用于获取 redis 连接实例。

支持命令:无

支持配置:

使用之前需要确保已经正确配置了redis服务。

配置文件为 config/[env]/redis.yaml,以下是一个配置的例子:

timeout: 10s # 连接超时
+import{_ as s,c as n,o as a,b as e}from"./app-DPa7reTN.js";const t={},l=e(`

gob:redis

服务介绍:

提供 redis 服务的服务,可以用于获取 redis 连接实例。

支持命令:无

支持配置:

使用之前需要确保已经正确配置了redis服务。

配置文件为 config/[env]/redis.yaml,以下是一个配置的例子:

timeout: 10s # 连接超时
 read_timeout: 2s # 读超时
 write_timeout: 2s # 写超时
 write:
diff --git a/assets/sls.html-DSiB-vJt.js b/assets/sls.html-D3Q98FKK.js
similarity index 98%
rename from assets/sls.html-DSiB-vJt.js
rename to assets/sls.html-D3Q98FKK.js
index aa73ccd..8e8698c 100644
--- a/assets/sls.html-DSiB-vJt.js
+++ b/assets/sls.html-D3Q98FKK.js
@@ -1,4 +1,4 @@
-import{_ as s,c as n,o as a,b as e}from"./app-BohDLf75.js";const t={},l=e(`

gob:sls

服务介绍:

sls 提供对接阿里云日志服务的服务,可以用于日志的收集。

支持命令:无

支持配置:

配置文件为 config/[env]/app.yaml ,如下是一个配置示例:

# 阿里云SLS服务
+import{_ as s,c as n,o as a,b as e}from"./app-DPa7reTN.js";const t={},l=e(`

gob:sls

服务介绍:

sls 提供对接阿里云日志服务的服务,可以用于日志的收集。

支持命令:无

支持配置:

配置文件为 config/[env]/app.yaml ,如下是一个配置示例:

# 阿里云SLS服务
 sls:
 	endpoint: cn-shanghai.log.aliyuncs.com
 	access_key_id: your_access_key_id
diff --git a/assets/ssh.html-BCIbiRG0.js b/assets/ssh.html-Df1FodD1.js
similarity index 98%
rename from assets/ssh.html-BCIbiRG0.js
rename to assets/ssh.html-Df1FodD1.js
index f7b2bc4..5e49b29 100644
--- a/assets/ssh.html-BCIbiRG0.js
+++ b/assets/ssh.html-Df1FodD1.js
@@ -1,4 +1,4 @@
-import{_ as s,c as n,o as a,b as e}from"./app-BohDLf75.js";const t={},l=e(`

gob:ssh

服务介绍:

提供 SSH 服务的服务,可以用于获取 ssh 连接实例。

支持命令:无

支持配置:

使用服务之前必须确保正确配置 ssh。

配置文件为 config/[env]/ssh.yaml,以下是一个配置的例子:

timeout: 1s
+import{_ as s,c as n,o as a,b as e}from"./app-DPa7reTN.js";const t={},l=e(`

gob:ssh

服务介绍:

提供 SSH 服务的服务,可以用于获取 ssh 连接实例。

支持命令:无

支持配置:

使用服务之前必须确保正确配置 ssh。

配置文件为 config/[env]/ssh.yaml,以下是一个配置的例子:

timeout: 1s
 network: tcp
 host: 192.168.159.128 	# ip地址
 port: 22 				# 端口
diff --git a/assets/structure.html-Q4jb0G38.js b/assets/structure.html-HPg53UzZ.js
similarity index 99%
rename from assets/structure.html-Q4jb0G38.js
rename to assets/structure.html-HPg53UzZ.js
index 4ffea44..b63407f 100644
--- a/assets/structure.html-Q4jb0G38.js
+++ b/assets/structure.html-HPg53UzZ.js
@@ -1,4 +1,4 @@
-import{_ as s,c as n,o as e,b as a}from"./app-BohDLf75.js";const i={},l=a(`

目录结构

gob 框架不仅仅是一个类库,也是一个定义了开发模式和目录结构的框架。

gob 希望所有使用这个框架的开发人员遵照统一的项目结构进行开发。

默认目录结构

默认创建的项目结构为:

> tree
+import{_ as s,c as n,o as e,b as a}from"./app-DPa7reTN.js";const i={},l=a(`

目录结构

gob 框架不仅仅是一个类库,也是一个定义了开发模式和目录结构的框架。

gob 希望所有使用这个框架的开发人员遵照统一的项目结构进行开发。

默认目录结构

默认创建的项目结构为:

> tree
 .
 ├─app               // 服务端应用地址
 │  ├─console        // 存放自定义命令
diff --git a/assets/swagger.html-C5xOYm73.js b/assets/swagger.html-BgFVVPCa.js
similarity index 97%
rename from assets/swagger.html-C5xOYm73.js
rename to assets/swagger.html-BgFVVPCa.js
index eecd3e8..cf25218 100644
--- a/assets/swagger.html-C5xOYm73.js
+++ b/assets/swagger.html-BgFVVPCa.js
@@ -1,3 +1,3 @@
-import{_ as e,c as a,o as s,b as n}from"./app-BohDLf75.js";const l={},t=n(`

swagger命令

命令介绍:

swagger 生成

前置需求:

app

支持命令:

./gob swagger  			// 打印帮助信息
+import{_ as e,c as a,o as s,b as n}from"./app-DPa7reTN.js";const l={},t=n(`

swagger命令

命令介绍:

swagger 生成

前置需求:

app

支持命令:

./gob swagger  			// 打印帮助信息
 ./gob swagger gen  		// 生成swagger文件
 

支持配置:无

使用方法:

稍后补全,可以使用gob [command] help命令获取相关帮助

`,10),i=[t];function r(c,h){return s(),a("div",null,i)}const g=e(l,[["render",r],["__file","swagger.html.vue"]]),o=JSON.parse('{"path":"/command/swagger.html","title":"swagger命令","lang":"zh-CN","frontmatter":{"lang":"zh-CN","title":"swagger命令","description":null},"headers":[{"level":2,"title":"命令介绍:","slug":"命令介绍","link":"#命令介绍","children":[]},{"level":2,"title":"前置需求:","slug":"前置需求","link":"#前置需求","children":[]},{"level":2,"title":"支持命令:","slug":"支持命令","link":"#支持命令","children":[]},{"level":2,"title":"支持配置:无","slug":"支持配置-无","link":"#支持配置-无","children":[]},{"level":2,"title":"使用方法:","slug":"使用方法","link":"#使用方法","children":[]}],"git":{"updatedTime":1718886161000,"contributors":[{"name":"陈壁浩","email":"chenbihao@qljy.com","commits":2}]},"filePathRelative":"command/swagger.md"}');export{g as comp,o as data}; diff --git a/assets/swagger.html-Da8keU3N.js b/assets/swagger.html-BpfKCBVd.js similarity index 99% rename from assets/swagger.html-Da8keU3N.js rename to assets/swagger.html-BpfKCBVd.js index 85ebc3d..8c0b56f 100644 --- a/assets/swagger.html-Da8keU3N.js +++ b/assets/swagger.html-BpfKCBVd.js @@ -1,4 +1,4 @@ -import{_ as s,c as n,o as a,b as e}from"./app-BohDLf75.js";const l={},i=e(`

swagger

命令

相关的命令详见:swagger

gob 使用 swaggo 集成了 swagger 生成和服务项目。

并且封装了 ./gob swagger 命令。

> ./gob swagger
+import{_ as s,c as n,o as a,b as e}from"./app-DPa7reTN.js";const l={},i=e(`

swagger

命令

相关的命令详见:swagger

gob 使用 swaggo 集成了 swagger 生成和服务项目。

并且封装了 ./gob swagger 命令。

> ./gob swagger
 swagger对应命令
 
 Usage:
diff --git a/assets/trace.html-BbTgaeqj.js b/assets/trace.html-BAUIiF9j.js
similarity index 98%
rename from assets/trace.html-BbTgaeqj.js
rename to assets/trace.html-BAUIiF9j.js
index 50e9793..9ec9988 100644
--- a/assets/trace.html-BbTgaeqj.js
+++ b/assets/trace.html-BAUIiF9j.js
@@ -1,4 +1,4 @@
-import{_ as n,c as a,o as s,b as e}from"./app-BohDLf75.js";const t={},c=e(`

gob:trace

服务介绍:

提供分布式链路追踪服务,可以用于跟踪分布式服务调用链路。

支持命令:无

支持配置:无

提供方法:

type Trace interface {
+import{_ as n,c as a,o as s,b as e}from"./app-DPa7reTN.js";const t={},c=e(`

gob:trace

服务介绍:

提供分布式链路追踪服务,可以用于跟踪分布式服务调用链路。

支持命令:无

支持配置:无

提供方法:

type Trace interface {
 	// WithTrace register new trace to context
 	WithTrace(c context.Context, trace *TraceContext) context.Context
 	// GetTrace From trace context
diff --git a/assets/util.html-C9wpLeI3.js b/assets/util.html-Bn4wvmJo.js
similarity index 99%
rename from assets/util.html-C9wpLeI3.js
rename to assets/util.html-Bn4wvmJo.js
index 2a73c22..c43383f 100644
--- a/assets/util.html-C9wpLeI3.js
+++ b/assets/util.html-Bn4wvmJo.js
@@ -1,4 +1,4 @@
-import{_ as n,c as s,o as e,b as a}from"./app-BohDLf75.js";const i={},l=a(`

辅助函数

提供一些辅助函数来帮助更好的进行开发。

goroutine 相关

SafeGo

SafeGo 这个函数,提供了一种goroutine安全的函数调用方式。主要适用于业务中需要进行开启异步goroutine业务逻辑调用的场景。

// SafeGo 进行安全的goroutine调用
+import{_ as n,c as s,o as e,b as a}from"./app-DPa7reTN.js";const i={},l=a(`

辅助函数

提供一些辅助函数来帮助更好的进行开发。

goroutine 相关

SafeGo

SafeGo 这个函数,提供了一种goroutine安全的函数调用方式。主要适用于业务中需要进行开启异步goroutine业务逻辑调用的场景。

// SafeGo 进行安全的goroutine调用
 // 第一个参数是context接口,如果还实现了Container接口,且绑定了日志服务,则使用日志服务
 // 第二个参数是匿名函数handler, 进行最终的业务逻辑
 // SafeGo 函数并不会返回error,panic都会进入的日志服务
diff --git a/assets/version.html-I7mgjM1n.js b/assets/version.html-Bu4I1Hph.js
similarity index 97%
rename from assets/version.html-I7mgjM1n.js
rename to assets/version.html-Bu4I1Hph.js
index 081731b..6935b2c 100644
--- a/assets/version.html-I7mgjM1n.js
+++ b/assets/version.html-Bu4I1Hph.js
@@ -1,3 +1,3 @@
-import{_ as e,c as a,o as n,b as s}from"./app-BohDLf75.js";const i={},l=s(`

version命令

命令介绍:

查看版本

前置需求:

支持命令:

./gob version  			// 查看当前版本
+import{_ as e,c as a,o as n,b as s}from"./app-DPa7reTN.js";const i={},l=s(`

version命令

命令介绍:

查看版本

前置需求:

支持命令:

./gob version  			// 查看当前版本
 ./gob version list  	// 获取最新版本日志
 

支持配置:

使用方法:

稍后补全,可以使用gob [command] help命令获取相关帮助

`,11),t=[l];function r(c,h){return n(),a("div",null,t)}const o=e(i,[["render",r],["__file","version.html.vue"]]),p=JSON.parse('{"path":"/command/version.html","title":"version命令","lang":"zh-CN","frontmatter":{"lang":"zh-CN","title":"version命令","description":null},"headers":[{"level":2,"title":"命令介绍:","slug":"命令介绍","link":"#命令介绍","children":[]},{"level":2,"title":"前置需求:","slug":"前置需求","link":"#前置需求","children":[]},{"level":2,"title":"支持命令:","slug":"支持命令","link":"#支持命令","children":[]},{"level":2,"title":"支持配置:","slug":"支持配置","link":"#支持配置","children":[]},{"level":2,"title":"使用方法:","slug":"使用方法","link":"#使用方法","children":[]}],"git":{"updatedTime":1718886161000,"contributors":[{"name":"陈壁浩","email":"chenbihao@qljy.com","commits":2}]},"filePathRelative":"command/version.md"}');export{o as comp,p as data}; diff --git a/assets/version.html-kyyHzcoG.js b/assets/version.html-CnCAQnrB.js similarity index 98% rename from assets/version.html-kyyHzcoG.js rename to assets/version.html-CnCAQnrB.js index 294935a..16e0da1 100644 --- a/assets/version.html-kyyHzcoG.js +++ b/assets/version.html-CnCAQnrB.js @@ -1,4 +1,4 @@ -import{_ as s,c as n,o as e,b as a}from"./app-BohDLf75.js";const i={},l=a(`

版本

命令

相关的命令详见:version

gob 提供了查询当前版本和获取最新版本日志的命令

查询当前版本

使用命令 gob version

> ./gob version
+import{_ as s,c as n,o as e,b as a}from"./app-DPa7reTN.js";const i={},l=a(`

版本

命令

相关的命令详见:version

gob 提供了查询当前版本和获取最新版本日志的命令

查询当前版本

使用命令 gob version

> ./gob version
 gob version: 1.0.0
 

获取最新的版本

使用命令 gob version list

> ./gob version list       
 ===============前置条件检测===============
diff --git a/command/app.html b/command/app.html
index 26a959b..d4e5aaa 100644
--- a/command/app.html
+++ b/command/app.html
@@ -29,8 +29,8 @@
     
     运行命令 | Gob 框架
     
-    
-    
+    
+    
   
   
     
-    
+    
   
 
diff --git a/command/build.html b/command/build.html
index d65386b..5b2c908 100644
--- a/command/build.html
+++ b/command/build.html
@@ -29,8 +29,8 @@
     
     编译命令 | Gob 框架
     
-    
-    
+    
+    
   
   
     
-    
+    
   
 
diff --git a/command/cmd.html b/command/cmd.html
index 075994d..32e78a1 100644
--- a/command/cmd.html
+++ b/command/cmd.html
@@ -29,14 +29,14 @@
     
     命令 | Gob 框架
     
-    
-    
+    
+    
   
   
     
-    
+    
   
 
diff --git a/command/cmd_go.html b/command/cmd_go.html
index 8da6899..adbb1db 100644
--- a/command/cmd_go.html
+++ b/command/cmd_go.html
@@ -29,12 +29,12 @@
     
     go 命令 | Gob 框架
     
-    
-    
+    
+    
   
   
     
-    
+    
   
 
diff --git a/command/cmd_npm.html b/command/cmd_npm.html
index ad70263..84630f0 100644
--- a/command/cmd_npm.html
+++ b/command/cmd_npm.html
@@ -29,12 +29,12 @@
     
     npm 命令 | Gob 框架
     
-    
-    
+    
+    
   
   
     
-    
+    
   
 
diff --git a/command/config.html b/command/config.html
index 0b5b136..69a74f8 100644
--- a/command/config.html
+++ b/command/config.html
@@ -29,12 +29,12 @@
     
     配置命令 | Gob 框架
     
-    
-    
+    
+    
   
   
     
-    
+    
   
 
diff --git a/command/cron.html b/command/cron.html
index 5d8b47b..3cd068a 100644
--- a/command/cron.html
+++ b/command/cron.html
@@ -29,8 +29,8 @@
     
     定时任务命令 | Gob 框架
     
-    
-    
+    
+    
   
   
     
-    
+    
   
 
diff --git a/command/deploy.html b/command/deploy.html
index 5301f9d..6bfb9e4 100644
--- a/command/deploy.html
+++ b/command/deploy.html
@@ -29,8 +29,8 @@
     
     部署命令 | Gob 框架
     
-    
-    
+    
+    
   
   
     
-    
+    
   
 
diff --git a/command/dev.html b/command/dev.html
index 04422f3..9072534 100644
--- a/command/dev.html
+++ b/command/dev.html
@@ -29,8 +29,8 @@
     
     调试模式命令 | Gob 框架
     
-    
-    
+    
+    
   
   
     
- + diff --git a/command/env.html b/command/env.html index 1123590..feeaecb 100644 --- a/command/env.html +++ b/command/env.html @@ -29,12 +29,12 @@ 环境变量命令 | Gob 框架 - - + + - + diff --git a/command/index.html b/command/index.html index f48b4e6..ebfc386 100644 --- a/command/index.html +++ b/command/index.html @@ -29,11 +29,11 @@ 提供命令 | Gob 框架 - - + + - + diff --git a/command/middleware.html b/command/middleware.html index 5a10d6f..281333f 100644 --- a/command/middleware.html +++ b/command/middleware.html @@ -29,8 +29,8 @@ 中间件命令 | Gob 框架 - - + + - + diff --git a/command/model.html b/command/model.html index 92bd07a..c5817ed 100644 --- a/command/model.html +++ b/command/model.html @@ -29,8 +29,8 @@ 生成命令 | Gob 框架 - - + + - + diff --git a/command/new.html b/command/new.html index 8085022..c2bfa44 100644 --- a/command/new.html +++ b/command/new.html @@ -29,12 +29,12 @@ 创建命令 | Gob 框架 - - + + - + diff --git a/command/provider.html b/command/provider.html index 64fa3c6..09e04af 100644 --- a/command/provider.html +++ b/command/provider.html @@ -29,14 +29,14 @@ 服务提供者命令 | Gob 框架 - - + + - + diff --git a/command/swagger.html b/command/swagger.html index 0ae1554..292d96e 100644 --- a/command/swagger.html +++ b/command/swagger.html @@ -29,13 +29,13 @@ swagger命令 | Gob 框架 - - + + - + diff --git a/command/version.html b/command/version.html index 8d66866..f1a1172 100644 --- a/command/version.html +++ b/command/version.html @@ -29,13 +29,13 @@ version命令 | Gob 框架 - - + + - + diff --git a/guide/TODO.html b/guide/TODO.html index f288a46..5f4ecd7 100644 --- a/guide/TODO.html +++ b/guide/TODO.html @@ -29,11 +29,11 @@ 待办 | Gob 框架 - - + +
- + diff --git a/guide/app.html b/guide/app.html index 302e3e6..9213c9c 100644 --- a/guide/app.html +++ b/guide/app.html @@ -29,8 +29,8 @@ 运行 | Gob 框架 - - + + - + diff --git a/guide/build.html b/guide/build.html index 166497a..e2b4460 100644 --- a/guide/build.html +++ b/guide/build.html @@ -29,8 +29,8 @@ 编译 | Gob 框架 - - + +
- + diff --git a/guide/command.html b/guide/command.html index 33a2de3..9926c56 100644 --- a/guide/command.html +++ b/guide/command.html @@ -29,8 +29,8 @@ 命令 | Gob 框架 - - + + - + diff --git a/guide/cron.html b/guide/cron.html index ce74e5e..f9be8db 100644 --- a/guide/cron.html +++ b/guide/cron.html @@ -29,8 +29,8 @@ 定时 | Gob 框架 - - + +
- + diff --git a/guide/deploy.html b/guide/deploy.html index 91ff234..c20898b 100644 --- a/guide/deploy.html +++ b/guide/deploy.html @@ -29,8 +29,8 @@ 自动部署 | Gob 框架 - - + +
- + diff --git a/guide/dev.html b/guide/dev.html index 939c5fb..89685e5 100644 --- a/guide/dev.html +++ b/guide/dev.html @@ -29,8 +29,8 @@ 调试模式 | Gob 框架 - - + +
- + diff --git a/guide/env.html b/guide/env.html index acd0cb9..bc26367 100644 --- a/guide/env.html +++ b/guide/env.html @@ -29,8 +29,8 @@ 环境变量 | Gob 框架 - - + +
- + diff --git a/guide/grpc.html b/guide/grpc.html index a751227..c9a6696 100644 --- a/guide/grpc.html +++ b/guide/grpc.html @@ -29,11 +29,11 @@ grpc支持 | Gob 框架 - - + + - + diff --git a/guide/index.html b/guide/index.html index c5b92a9..0cedfa2 100644 --- a/guide/index.html +++ b/guide/index.html @@ -29,11 +29,11 @@ 介绍 | Gob 框架 - - + +
- + diff --git a/guide/install.html b/guide/install.html index 3bff379..40774a9 100644 --- a/guide/install.html +++ b/guide/install.html @@ -29,11 +29,11 @@ 安装 | Gob 框架 - - + + -
+ diff --git a/guide/introduce.html b/guide/introduce.html index eee2452..4ad7b0d 100644 --- a/guide/introduce.html +++ b/guide/introduce.html @@ -29,11 +29,11 @@ 快速开始 | Gob 框架 - - + + - + diff --git a/guide/middleware.html b/guide/middleware.html index 8b05496..6d52c1d 100644 --- a/guide/middleware.html +++ b/guide/middleware.html @@ -29,8 +29,8 @@ 中间件 | Gob 框架 - - + +
- + diff --git a/guide/model.html b/guide/model.html index 7c5d6bf..778974a 100644 --- a/guide/model.html +++ b/guide/model.html @@ -29,8 +29,8 @@ 模型 | Gob 框架 - - + +
- + diff --git a/guide/provider.html b/guide/provider.html index 33968ce..b52324f 100644 --- a/guide/provider.html +++ b/guide/provider.html @@ -29,8 +29,8 @@ 服务提供者 | Gob 框架 - - + +
- + diff --git a/guide/structure.html b/guide/structure.html index 9fa129f..0f65be7 100644 --- a/guide/structure.html +++ b/guide/structure.html @@ -29,8 +29,8 @@ 目录结构 | Gob 框架 - - + +
- + diff --git a/guide/swagger.html b/guide/swagger.html index f1f733d..da21c7b 100644 --- a/guide/swagger.html +++ b/guide/swagger.html @@ -29,8 +29,8 @@ swagger | Gob 框架 - - + +
- + diff --git a/guide/util.html b/guide/util.html index d2a43fe..430949c 100644 --- a/guide/util.html +++ b/guide/util.html @@ -29,8 +29,8 @@ 辅助函数 | Gob 框架 - - + +
- + diff --git a/guide/version.html b/guide/version.html index 6bb5a3f..74ff1bb 100644 --- a/guide/version.html +++ b/guide/version.html @@ -29,8 +29,8 @@ 版本 | Gob 框架 - - + +
- + diff --git a/index.html b/index.html index 841cf82..e28c8a8 100644 --- a/index.html +++ b/index.html @@ -29,11 +29,11 @@ 开始体验 | Gob 框架 - - + +
- + diff --git a/provider/app.html b/provider/app.html index c89da2d..60dce72 100644 --- a/provider/app.html +++ b/provider/app.html @@ -29,8 +29,8 @@ gob:app | Gob 框架 - - + + - + diff --git a/provider/cache.html b/provider/cache.html index 3cb7f32..4f2e355 100644 --- a/provider/cache.html +++ b/provider/cache.html @@ -29,8 +29,8 @@ gob:cache | Gob 框架 - - + +
- + diff --git a/provider/config.html b/provider/config.html index 7ed151b..256892c 100644 --- a/provider/config.html +++ b/provider/config.html @@ -29,8 +29,8 @@ gob:config | Gob 框架 - - + + - + diff --git a/provider/distributed.html b/provider/distributed.html index 0fac3c0..17fd98d 100644 --- a/provider/distributed.html +++ b/provider/distributed.html @@ -29,8 +29,8 @@ gob:distributed | Gob 框架 - - + +
- + diff --git a/provider/env.html b/provider/env.html index 120094c..18b3b84 100644 --- a/provider/env.html +++ b/provider/env.html @@ -29,8 +29,8 @@ gob:env | Gob 框架 - - + + - + diff --git a/provider/id.html b/provider/id.html index 0ee4708..757c7ec 100644 --- a/provider/id.html +++ b/provider/id.html @@ -29,14 +29,14 @@ gob:id | Gob 框架 - - + + - + diff --git a/provider/index.html b/provider/index.html index cfe3892..05be734 100644 --- a/provider/index.html +++ b/provider/index.html @@ -29,11 +29,11 @@ 服务提供者 | Gob 框架 - - + +
- + diff --git a/provider/kernel.html b/provider/kernel.html index 03f6414..7b78ab6 100644 --- a/provider/kernel.html +++ b/provider/kernel.html @@ -29,8 +29,8 @@ gob:kernel | Gob 框架 - - + + - + diff --git a/provider/log.html b/provider/log.html index a860742..db535e0 100644 --- a/provider/log.html +++ b/provider/log.html @@ -29,8 +29,8 @@ gob:log | Gob 框架 - - + + - + diff --git a/provider/orm.html b/provider/orm.html index 51fd392..1ed3616 100644 --- a/provider/orm.html +++ b/provider/orm.html @@ -29,8 +29,8 @@ gob:orm | Gob 框架 - - + +
- + diff --git a/provider/redis.html b/provider/redis.html index 2837153..22a072b 100644 --- a/provider/redis.html +++ b/provider/redis.html @@ -29,8 +29,8 @@ gob:redis | Gob 框架 - - + +
- + diff --git a/provider/sls.html b/provider/sls.html index 2ad1a5a..ede869f 100644 --- a/provider/sls.html +++ b/provider/sls.html @@ -29,8 +29,8 @@ gob:sls | Gob 框架 - - + +
- + diff --git a/provider/ssh.html b/provider/ssh.html index 3966e79..f56cf62 100644 --- a/provider/ssh.html +++ b/provider/ssh.html @@ -29,8 +29,8 @@ gob:ssh | Gob 框架 - - + +
- + diff --git a/provider/trace.html b/provider/trace.html index 0bafe8b..9237a32 100644 --- a/provider/trace.html +++ b/provider/trace.html @@ -29,8 +29,8 @@ gob:trace | Gob 框架 - - + + - +