Build: 周日 2026/03/29 13:22:18.51

This commit is contained in:
祀梦
2026-03-29 13:22:57 +08:00
parent 18b177d224
commit 338db9a331
225 changed files with 2720 additions and 2162 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
ai/index.html Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
article/tags/index.html Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
import{_ as e,c as o,b as n,o as r}from"./app-BJYYgOLS.js";const a={};function p(s,t){return r(),o("div",null,[...t[0]||(t[0]=[n("p",null,"404 Not Found",-1)])])}const i=e(a,[["render",p]]),l=JSON.parse('{"path":"/404.html","title":"","lang":"zh-CN","frontmatter":{"layout":"NotFound","description":"404 Not Found","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"\\",\\"description\\":\\"404 Not Found\\"}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/404.html"}],["meta",{"property":"og:site_name","content":"仲夏夜之梦"}],["meta",{"property":"og:description","content":"404 Not Found"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}]]},"readingTime":{"minutes":0.01,"words":3},"git":{},"autoDesc":true,"filePathRelative":null,"headers":[]}');export{i as comp,l as data}; import{_ as e,c as o,b as n,o as r}from"./app-DTJ1dk4L.js";const a={};function p(s,t){return r(),o("div",null,[...t[0]||(t[0]=[n("p",null,"404 Not Found",-1)])])}const i=e(a,[["render",p]]),l=JSON.parse('{"path":"/404.html","title":"","lang":"zh-CN","frontmatter":{"layout":"NotFound","description":"404 Not Found","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"\\",\\"description\\":\\"404 Not Found\\"}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/404.html"}],["meta",{"property":"og:site_name","content":"仲夏夜之梦"}],["meta",{"property":"og:description","content":"404 Not Found"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}]]},"readingTime":{"minutes":0.01,"words":3},"git":{},"autoDesc":true,"filePathRelative":null,"headers":[]}');export{i as comp,l as data};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

64
assets/app-DTJ1dk4L.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
import{m as e}from"./mermaid.esm.min-C7K1CMb_.js";function a(c,t){c.accDescr&&t.setAccDescription?.(c.accDescr),c.accTitle&&t.setAccTitle?.(c.accTitle),c.title&&t.setDiagramTitle?.(c.title)}e(a,"populateCommonDb");export{a as c}; import{m as e}from"./mermaid.esm.min-BbAqstPk.js";function a(c,t){c.accDescr&&t.setAccDescription?.(c.accDescr),c.accTitle&&t.setAccTitle?.(c.accTitle),c.title&&t.setDiagramTitle?.(c.title)}e(a,"populateCommonDb");export{a as c};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
import{m as e}from"./mermaid.esm.min-C7K1CMb_.js";var l=e(()=>` import{m as e}from"./mermaid.esm.min-BbAqstPk.js";var l=e(()=>`
/* Font Awesome icon styling - consolidated */ /* Font Awesome icon styling - consolidated */
.label-icon { .label-icon {
display: inline-block; display: inline-block;

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
import{m as a,W as g,p as s}from"./mermaid.esm.min-C7K1CMb_.js";var m=a((t,i,e,o)=>{t.attr("class",e);let{width:h,height:r,x:w,y:x}=n(t,i);g(t,r,h,o);let d=$(w,x,h,r,i);t.attr("viewBox",d),s.debug(`viewBox configured: ${d} with padding: ${i}`)},"setupViewPortForSVG"),n=a((t,i)=>{let e=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:e.width+i*2,height:e.height+i*2,x:e.x,y:e.y}},"calculateDimensionsWithPadding"),$=a((t,i,e,o,h)=>`${t-h} ${i-h} ${e} ${o}`,"createViewBox");export{m as y}; import{m as a,U as g,p as s}from"./mermaid.esm.min-BbAqstPk.js";var m=a((t,i,e,o)=>{t.attr("class",e);let{width:h,height:r,x:w,y:x}=n(t,i);g(t,r,h,o);let d=$(w,x,h,r,i);t.attr("viewBox",d),s.debug(`viewBox configured: ${d} with padding: ${i}`)},"setupViewPortForSVG"),n=a((t,i)=>{let e=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:e.width+i*2,height:e.height+i*2,x:e.x,y:e.y}},"calculateDimensionsWithPadding"),$=a((t,i,e,o,h)=>`${t-h} ${i-h} ${e} ${o}`,"createViewBox");export{m as y};

View File

@@ -1 +1 @@
import{m,i as e}from"./mermaid.esm.min-C7K1CMb_.js";var r=m((o,t)=>{let a;return t==="sandbox"&&(a=e("#i"+o)),(t==="sandbox"?e(a.nodes()[0].contentDocument.body):e("body")).select(`[id="${o}"]`)},"getDiagramElement");export{r as m}; import{m,i as e}from"./mermaid.esm.min-BbAqstPk.js";var r=m((o,t)=>{let a;return t==="sandbox"&&(a=e("#i"+o)),(t==="sandbox"?e(a.nodes()[0].contentDocument.body):e("body")).select(`[id="${o}"]`)},"getDiagramElement");export{r as m};

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
import{m as s}from"./mermaid.esm.min-C7K1CMb_.js";var t,e=(t=class{constructor(i){this.init=i,this.records=this.init()}reset(){this.records=this.init()}},s(t,"ImperativeState"),t);export{e as s}; import{m as s}from"./mermaid.esm.min-BbAqstPk.js";var t,e=(t=class{constructor(i){this.init=i,this.records=this.init()}reset(){this.records=this.init()}},s(t,"ImperativeState"),t);export{e as s};

View File

@@ -0,0 +1 @@
import{m as l,i as n,b as o,r as d,f as y}from"./mermaid.esm.min-BbAqstPk.js";var x=d(y()),p=l((a,t)=>{let e=a.append("rect");if(e.attr("x",t.x),e.attr("y",t.y),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("width",t.width),e.attr("height",t.height),t.name&&e.attr("name",t.name),t.rx&&e.attr("rx",t.rx),t.ry&&e.attr("ry",t.ry),t.attrs!==void 0)for(let r in t.attrs)e.attr(r,t.attrs[r]);return t.class&&e.attr("class",t.class),e},"drawRect"),h=l((a,t)=>{let e={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};p(a,e).lower()},"drawBackgroundRect"),f=l((a,t)=>{let e=t.text.replace(o," "),r=a.append("text");r.attr("x",t.x),r.attr("y",t.y),r.attr("class","legend"),r.style("text-anchor",t.anchor),t.class&&r.attr("class",t.class);let s=r.append("tspan");return s.attr("x",t.x+t.textMargin*2),s.text(e),r},"drawText"),g=l((a,t,e,r)=>{let s=a.append("image");s.attr("x",t),s.attr("y",e);let i=(0,x.sanitizeUrl)(r);s.attr("xlink:href",i)},"drawImage"),m=l((a,t,e,r)=>{let s=a.append("use");s.attr("x",t),s.attr("y",e);let i=(0,x.sanitizeUrl)(r);s.attr("xlink:href",`#${i}`)},"drawEmbeddedImage"),w=l(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),u=l(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),k=l(()=>{let a=n(".mermaidTooltip");return a.empty()&&(a=n("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),a},"createTooltip");export{g as E,u as G,k as T,f,h as g,m as h,w as u,p as x};

View File

@@ -1 +0,0 @@
import{m as l,z as n,q as d,f as h}from"./mermaid.esm.min-C7K1CMb_.js";var i=d(h()),y=l((s,t)=>{let r=s.append("rect");if(r.attr("x",t.x),r.attr("y",t.y),r.attr("fill",t.fill),r.attr("stroke",t.stroke),r.attr("width",t.width),r.attr("height",t.height),t.name&&r.attr("name",t.name),t.rx&&r.attr("rx",t.rx),t.ry&&r.attr("ry",t.ry),t.attrs!==void 0)for(let a in t.attrs)r.attr(a,t.attrs[a]);return t.class&&r.attr("class",t.class),r},"drawRect"),o=l((s,t)=>{let r={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};y(s,r).lower()},"drawBackgroundRect"),p=l((s,t)=>{let r=t.text.replace(n," "),a=s.append("text");a.attr("x",t.x),a.attr("y",t.y),a.attr("class","legend"),a.style("text-anchor",t.anchor),t.class&&a.attr("class",t.class);let e=a.append("tspan");return e.attr("x",t.x+t.textMargin*2),e.text(r),a},"drawText"),g=l((s,t,r,a)=>{let e=s.append("image");e.attr("x",t),e.attr("y",r);let x=(0,i.sanitizeUrl)(a);e.attr("xlink:href",x)},"drawImage"),f=l((s,t,r,a)=>{let e=s.append("use");e.attr("x",t),e.attr("y",r);let x=(0,i.sanitizeUrl)(a);e.attr("xlink:href",`#${x}`)},"drawEmbeddedImage"),m=l(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),w=l(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj");export{f as E,g as d,w as f,o as g,m as h,y as x,p as y};

View File

@@ -1 +0,0 @@
import{V as t,Q as a,C as s,l as e}from"./chunk-BHQAJ5QI-DA7zzj_Z.js";import"./chunk-ZZTKAOFA-cx20ieyl.js";import"./chunk-6EQESGSB-Dkf561HF.js";import"./chunk-T244DUNM-DcmmAP9a.js";import{m as o}from"./mermaid.esm.min-C7K1CMb_.js";import"./app-BJYYgOLS.js";var c={parser:s,get db(){return new e},renderer:a,styles:t,init:o(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{c as diagram};

View File

@@ -0,0 +1 @@
import{U as t,q as a,E as s,c as o}from"./chunk-TFLKLN34-D38mcvdj.js";import"./chunk-KSICW3F5-_UGIl_8q.js";import"./chunk-W2A4CRWB-ySFc8Hn2.js";import"./chunk-TBF5ZNIQ-CRSBpdfg.js";import"./chunk-T4EQAHMB-BcpZ2qh9.js";import{m as e}from"./mermaid.esm.min-BbAqstPk.js";import"./app-DTJ1dk4L.js";var d={parser:s,get db(){return new o},renderer:a,styles:t,init:e(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{d as diagram};

View File

@@ -0,0 +1 @@
import{U as t,q as a,E as s,c as o}from"./chunk-TFLKLN34-D38mcvdj.js";import"./chunk-KSICW3F5-_UGIl_8q.js";import"./chunk-W2A4CRWB-ySFc8Hn2.js";import"./chunk-TBF5ZNIQ-CRSBpdfg.js";import"./chunk-T4EQAHMB-BcpZ2qh9.js";import{m as e}from"./mermaid.esm.min-BbAqstPk.js";import"./app-DTJ1dk4L.js";var d={parser:s,get db(){return new o},renderer:a,styles:t,init:e(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{d as diagram};

View File

@@ -1 +0,0 @@
import{V as t,Q as a,C as s,l as e}from"./chunk-BHQAJ5QI-DA7zzj_Z.js";import"./chunk-ZZTKAOFA-cx20ieyl.js";import"./chunk-6EQESGSB-Dkf561HF.js";import"./chunk-T244DUNM-DcmmAP9a.js";import{m as o}from"./mermaid.esm.min-C7K1CMb_.js";import"./app-BJYYgOLS.js";var c={parser:s,get db(){return new e},renderer:a,styles:t,init:o(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{c as diagram};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,43 +0,0 @@
import{c as I}from"./chunk-4KE642ED-de9jmlDi.js";import{p as S}from"./treemap-KMMF4GRG-7ORZ52ND-Bwerl8EN.js";import{m as o,G as E,$ as F,e as z,j as P,U as G,H as R,aN as D,N,L as v,O as w,r as j,p as B,aT as H}from"./mermaid.esm.min-C7K1CMb_.js";import"./chunk-OMTJKCYW-aVlGrdgc.js";import"./app-BJYYgOLS.js";var x={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},b={axes:[],curves:[],options:x},u=structuredClone(b),V=j.radar,W=o(()=>v({...V,...w().radar}),"getConfig"),C=o(()=>u.axes,"getAxes"),U=o(()=>u.curves,"getCurves"),_=o(()=>u.options,"getOptions"),Z=o(a=>{u.axes=a.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),q=o(a=>{u.curves=a.map(t=>({name:t.name,label:t.label??t.name,entries:J(t.entries)}))},"setCurves"),J=o(a=>{if(a[0].axis==null)return a.map(e=>e.value);let t=C();if(t.length===0)throw new Error("Axes must be populated before curves for reference entries");return t.map(e=>{let r=a.find(i=>i.axis?.$refText===e.name);if(r===void 0)throw new Error("Missing entry for axis "+e.label);return r.value})},"computeCurveEntries"),K=o(a=>{let t=a.reduce((e,r)=>(e[r.name]=r,e),{});u.options={showLegend:t.showLegend?.value??x.showLegend,ticks:t.ticks?.value??x.ticks,max:t.max?.value??x.max,min:t.min?.value??x.min,graticule:t.graticule?.value??x.graticule}},"setOptions"),Q=o(()=>{N(),u=structuredClone(b)},"clear"),f={getAxes:C,getCurves:U,getOptions:_,setAxes:Z,setCurves:q,setOptions:K,getConfig:W,clear:Q,setAccTitle:R,getAccTitle:G,setDiagramTitle:P,getDiagramTitle:z,getAccDescription:F,setAccDescription:E},X=o(a=>{I(a,f);let{axes:t,curves:e,options:r}=a;f.setAxes(t),f.setCurves(e),f.setOptions(r)},"populate"),Y={parse:o(async a=>{let t=await S("radar",a);B.debug(t),X(t)},"parse")},tt=o((a,t,e,r)=>{let i=r.db,n=i.getAxes(),l=i.getCurves(),s=i.getOptions(),c=i.getConfig(),d=i.getDiagramTitle(),p=D(t),g=et(p,c),h=s.max??Math.max(...l.map(y=>Math.max(...y.entries))),m=s.min,$=Math.min(c.width,c.height)/2;at(g,n,$,s.ticks,s.graticule),rt(g,n,$,c),M(g,n,l,m,h,s.graticule,c),k(g,l,s.showLegend,c),g.append("text").attr("class","radarTitle").text(d).attr("x",0).attr("y",-c.height/2-c.marginTop)},"draw"),et=o((a,t)=>{let e=t.width+t.marginLeft+t.marginRight,r=t.height+t.marginTop+t.marginBottom,i={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return a.attr("viewbox",`0 0 ${e} ${r}`).attr("width",e).attr("height",r),a.append("g").attr("transform",`translate(${i.x}, ${i.y})`)},"drawFrame"),at=o((a,t,e,r,i)=>{if(i==="circle")for(let n=0;n<r;n++){let l=e*(n+1)/r;a.append("circle").attr("r",l).attr("class","radarGraticule")}else if(i==="polygon"){let n=t.length;for(let l=0;l<r;l++){let s=e*(l+1)/r,c=t.map((d,p)=>{let g=2*p*Math.PI/n-Math.PI/2,h=s*Math.cos(g),m=s*Math.sin(g);return`${h},${m}`}).join(" ");a.append("polygon").attr("points",c).attr("class","radarGraticule")}}},"drawGraticule"),rt=o((a,t,e,r)=>{let i=t.length;for(let n=0;n<i;n++){let l=t[n].label,s=2*n*Math.PI/i-Math.PI/2;a.append("line").attr("x1",0).attr("y1",0).attr("x2",e*r.axisScaleFactor*Math.cos(s)).attr("y2",e*r.axisScaleFactor*Math.sin(s)).attr("class","radarAxisLine"),a.append("text").text(l).attr("x",e*r.axisLabelFactor*Math.cos(s)).attr("y",e*r.axisLabelFactor*Math.sin(s)).attr("class","radarAxisLabel")}},"drawAxes");function M(a,t,e,r,i,n,l){let s=t.length,c=Math.min(l.width,l.height)/2;e.forEach((d,p)=>{if(d.entries.length!==s)return;let g=d.entries.map((h,m)=>{let $=2*Math.PI*m/s-Math.PI/2,y=L(h,r,i,c),A=y*Math.cos($),O=y*Math.sin($);return{x:A,y:O}});n==="circle"?a.append("path").attr("d",T(g,l.curveTension)).attr("class",`radarCurve-${p}`):n==="polygon"&&a.append("polygon").attr("points",g.map(h=>`${h.x},${h.y}`).join(" ")).attr("class",`radarCurve-${p}`)})}o(M,"drawCurves");function L(a,t,e,r){let i=Math.min(Math.max(a,t),e);return r*(i-t)/(e-t)}o(L,"relativeRadius");function T(a,t){let e=a.length,r=`M${a[0].x},${a[0].y}`;for(let i=0;i<e;i++){let n=a[(i-1+e)%e],l=a[i],s=a[(i+1)%e],c=a[(i+2)%e],d={x:l.x+(s.x-n.x)*t,y:l.y+(s.y-n.y)*t},p={x:s.x-(c.x-l.x)*t,y:s.y-(c.y-l.y)*t};r+=` C${d.x},${d.y} ${p.x},${p.y} ${s.x},${s.y}`}return`${r} Z`}o(T,"closedRoundCurve");function k(a,t,e,r){if(!e)return;let i=(r.width/2+r.marginRight)*3/4,n=-(r.height/2+r.marginTop)*3/4,l=20;t.forEach((s,c)=>{let d=a.append("g").attr("transform",`translate(${i}, ${n+c*l})`);d.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${c}`),d.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(s.label)})}o(k,"drawLegend");var it={draw:tt},st=o((a,t)=>{let e="";for(let r=0;r<a.THEME_COLOR_LIMIT;r++){let i=a[`cScale${r}`];e+=`
.radarCurve-${r} {
color: ${i};
fill: ${i};
fill-opacity: ${t.curveOpacity};
stroke: ${i};
stroke-width: ${t.curveStrokeWidth};
}
.radarLegendBox-${r} {
fill: ${i};
fill-opacity: ${t.curveOpacity};
stroke: ${i};
}
`}return e},"genIndexStyles"),nt=o(a=>{let t=H(),e=w(),r=v(t,e.themeVariables),i=v(r.radar,a);return{themeVariables:r,radarOptions:i}},"buildRadarStyleOptions"),lt=o(({radar:a}={})=>{let{themeVariables:t,radarOptions:e}=nt(a);return`
.radarTitle {
font-size: ${t.fontSize};
color: ${t.titleColor};
dominant-baseline: hanging;
text-anchor: middle;
}
.radarAxisLine {
stroke: ${e.axisColor};
stroke-width: ${e.axisStrokeWidth};
}
.radarAxisLabel {
dominant-baseline: middle;
text-anchor: middle;
font-size: ${e.axisLabelFontSize}px;
color: ${e.axisColor};
}
.radarGraticule {
fill: ${e.graticuleColor};
fill-opacity: ${e.graticuleOpacity};
stroke: ${e.graticuleColor};
stroke-width: ${e.graticuleStrokeWidth};
}
.radarLegendText {
text-anchor: start;
font-size: ${e.legendFontSize}px;
dominant-baseline: hanging;
}
${st(t,e)}
`},"styles"),ht={parser:Y,db:f,renderer:it,styles:lt};export{ht as diagram};

View File

@@ -0,0 +1,43 @@
import{c as S}from"./chunk-AEOMTBSW-B2mxm9r_.js";import{p as I}from"./treemap-KZPCXAKY-RU5UWGQG-kaNIxUTr.js";import{Y as E,X as F,Z as z,K as D,V as P,j as R,m as o,aO as V,$ as W,L as v,n as B,o as w,p as j,aT as G,U as Z}from"./mermaid.esm.min-BbAqstPk.js";import"./chunk-H3VCZNTA-nEiogkTg.js";import"./app-DTJ1dk4L.js";var h={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},b={axes:[],curves:[],options:h},x=structuredClone(b),K=B.radar,U=o(()=>v({...K,...w().radar}),"getConfig"),M=o(()=>x.axes,"getAxes"),X=o(()=>x.curves,"getCurves"),Y=o(()=>x.options,"getOptions"),_=o(a=>{x.axes=a.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),H=o(a=>{x.curves=a.map(t=>({name:t.name,label:t.label??t.name,entries:q(t.entries)}))},"setCurves"),q=o(a=>{if(a[0].axis==null)return a.map(e=>e.value);let t=M();if(t.length===0)throw new Error("Axes must be populated before curves for reference entries");return t.map(e=>{let r=a.find(i=>i.axis?.$refText===e.name);if(r===void 0)throw new Error("Missing entry for axis "+e.label);return r.value})},"computeCurveEntries"),J=o(a=>{let t=a.reduce((e,r)=>(e[r.name]=r,e),{});x.options={showLegend:t.showLegend?.value??h.showLegend,ticks:t.ticks?.value??h.ticks,max:t.max?.value??h.max,min:t.min?.value??h.min,graticule:t.graticule?.value??h.graticule}},"setOptions"),N=o(()=>{W(),x=structuredClone(b)},"clear"),f={getAxes:M,getCurves:X,getOptions:Y,setAxes:_,setCurves:H,setOptions:J,getConfig:U,clear:N,setAccTitle:R,getAccTitle:P,setDiagramTitle:D,getDiagramTitle:z,getAccDescription:F,setAccDescription:E},Q=o(a=>{S(a,f);let{axes:t,curves:e,options:r}=a;f.setAxes(t),f.setCurves(e),f.setOptions(r)},"populate"),tt={parse:o(async a=>{let t=await I("radar",a);j.debug(t),Q(t)},"parse")},et=o((a,t,e,r)=>{let i=r.db,n=i.getAxes(),l=i.getCurves(),s=i.getOptions(),c=i.getConfig(),d=i.getDiagramTitle(),g=V(t),p=at(g,c),u=s.max??Math.max(...l.map(y=>Math.max(...y.entries))),m=s.min,$=Math.min(c.width,c.height)/2;rt(p,n,$,s.ticks,s.graticule),it(p,n,$,c),C(p,n,l,m,u,s.graticule,c),k(p,l,s.showLegend,c),p.append("text").attr("class","radarTitle").text(d).attr("x",0).attr("y",-c.height/2-c.marginTop)},"draw"),at=o((a,t)=>{let e=t.width+t.marginLeft+t.marginRight,r=t.height+t.marginTop+t.marginBottom,i={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return Z(a,r,e,t.useMaxWidth??!0),a.attr("viewBox",`0 0 ${e} ${r}`),a.append("g").attr("transform",`translate(${i.x}, ${i.y})`)},"drawFrame"),rt=o((a,t,e,r,i)=>{if(i==="circle")for(let n=0;n<r;n++){let l=e*(n+1)/r;a.append("circle").attr("r",l).attr("class","radarGraticule")}else if(i==="polygon"){let n=t.length;for(let l=0;l<r;l++){let s=e*(l+1)/r,c=t.map((d,g)=>{let p=2*g*Math.PI/n-Math.PI/2,u=s*Math.cos(p),m=s*Math.sin(p);return`${u},${m}`}).join(" ");a.append("polygon").attr("points",c).attr("class","radarGraticule")}}},"drawGraticule"),it=o((a,t,e,r)=>{let i=t.length;for(let n=0;n<i;n++){let l=t[n].label,s=2*n*Math.PI/i-Math.PI/2;a.append("line").attr("x1",0).attr("y1",0).attr("x2",e*r.axisScaleFactor*Math.cos(s)).attr("y2",e*r.axisScaleFactor*Math.sin(s)).attr("class","radarAxisLine"),a.append("text").text(l).attr("x",e*r.axisLabelFactor*Math.cos(s)).attr("y",e*r.axisLabelFactor*Math.sin(s)).attr("class","radarAxisLabel")}},"drawAxes");function C(a,t,e,r,i,n,l){let s=t.length,c=Math.min(l.width,l.height)/2;e.forEach((d,g)=>{if(d.entries.length!==s)return;let p=d.entries.map((u,m)=>{let $=2*Math.PI*m/s-Math.PI/2,y=L(u,r,i,c),A=y*Math.cos($),O=y*Math.sin($);return{x:A,y:O}});n==="circle"?a.append("path").attr("d",T(p,l.curveTension)).attr("class",`radarCurve-${g}`):n==="polygon"&&a.append("polygon").attr("points",p.map(u=>`${u.x},${u.y}`).join(" ")).attr("class",`radarCurve-${g}`)})}o(C,"drawCurves");function L(a,t,e,r){let i=Math.min(Math.max(a,t),e);return r*(i-t)/(e-t)}o(L,"relativeRadius");function T(a,t){let e=a.length,r=`M${a[0].x},${a[0].y}`;for(let i=0;i<e;i++){let n=a[(i-1+e)%e],l=a[i],s=a[(i+1)%e],c=a[(i+2)%e],d={x:l.x+(s.x-n.x)*t,y:l.y+(s.y-n.y)*t},g={x:s.x-(c.x-l.x)*t,y:s.y-(c.y-l.y)*t};r+=` C${d.x},${d.y} ${g.x},${g.y} ${s.x},${s.y}`}return`${r} Z`}o(T,"closedRoundCurve");function k(a,t,e,r){if(!e)return;let i=(r.width/2+r.marginRight)*3/4,n=-(r.height/2+r.marginTop)*3/4,l=20;t.forEach((s,c)=>{let d=a.append("g").attr("transform",`translate(${i}, ${n+c*l})`);d.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${c}`),d.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(s.label)})}o(k,"drawLegend");var st={draw:et},nt=o((a,t)=>{let e="";for(let r=0;r<a.THEME_COLOR_LIMIT;r++){let i=a[`cScale${r}`];e+=`
.radarCurve-${r} {
color: ${i};
fill: ${i};
fill-opacity: ${t.curveOpacity};
stroke: ${i};
stroke-width: ${t.curveStrokeWidth};
}
.radarLegendBox-${r} {
fill: ${i};
fill-opacity: ${t.curveOpacity};
stroke: ${i};
}
`}return e},"genIndexStyles"),lt=o(a=>{let t=G(),e=w(),r=v(t,e.themeVariables),i=v(r.radar,a);return{themeVariables:r,radarOptions:i}},"buildRadarStyleOptions"),ot=o(({radar:a}={})=>{let{themeVariables:t,radarOptions:e}=lt(a);return`
.radarTitle {
font-size: ${t.fontSize};
color: ${t.titleColor};
dominant-baseline: hanging;
text-anchor: middle;
}
.radarAxisLine {
stroke: ${e.axisColor};
stroke-width: ${e.axisStrokeWidth};
}
.radarAxisLabel {
dominant-baseline: middle;
text-anchor: middle;
font-size: ${e.axisLabelFontSize}px;
color: ${e.axisColor};
}
.radarGraticule {
fill: ${e.graticuleColor};
fill-opacity: ${e.graticuleOpacity};
stroke: ${e.graticuleColor};
stroke-width: ${e.graticuleStrokeWidth};
}
.radarLegendText {
text-anchor: start;
font-size: ${e.legendFontSize}px;
dominant-baseline: hanging;
}
${nt(t,e)}
`},"styles"),xt={parser:tt,db:f,renderer:st,styles:ot};export{xt as diagram};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
import{c as B}from"./chunk-4KE642ED-de9jmlDi.js";import{p as C}from"./treemap-KMMF4GRG-7ORZ52ND-Bwerl8EN.js";import{m as f,L as u,aN as P,W as z,p as w,H as W,U as F,j as S,e as D,$ as E,G as T,O as N,r as L,N as A}from"./mermaid.esm.min-C7K1CMb_.js";import"./chunk-OMTJKCYW-aVlGrdgc.js";import"./app-BJYYgOLS.js";var H=L.packet,m,$=(m=class{constructor(){this.packet=[],this.setAccTitle=W,this.getAccTitle=F,this.setDiagramTitle=S,this.getDiagramTitle=D,this.getAccDescription=E,this.setAccDescription=T}getConfig(){let t=u({...H,...N().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){A(),this.packet=[]}},f(m,"PacketDB"),m),R=1e4,j=f((e,t)=>{B(e,t);let r=-1,i=[],l=1,{bitsPerRow:n}=t.getConfig();for(let{start:a,end:s,bits:c,label:d}of e.blocks){if(a!==void 0&&s!==void 0&&s<a)throw new Error(`Packet block ${a} - ${s} is invalid. End must be greater than start.`);if(a??=r+1,a!==r+1)throw new Error(`Packet block ${a} - ${s??a} is not contiguous. It should start from ${r+1}.`);if(c===0)throw new Error(`Packet block ${a} is invalid. Cannot have a zero bit field.`);for(s??=a+(c??1)-1,c??=s-a+1,r=s,w.debug(`Packet block ${a} - ${r} with label ${d}`);i.length<=n+1&&t.getPacket().length<R;){let[p,o]=G({start:a,end:s,bits:c,label:d},l,n);if(i.push(p),p.end+1===l*n&&(t.pushWord(i),i=[],l++),!o)break;({start:a,end:s,bits:c,label:d}=o)}}t.pushWord(i)},"populate"),G=f((e,t,r)=>{if(e.start===void 0)throw new Error("start should have been set during first phase");if(e.end===void 0)throw new Error("end should have been set during first phase");if(e.start>e.end)throw new Error(`Block start ${e.start} is greater than block end ${e.end}.`);if(e.end+1<=t*r)return[e,void 0];let i=t*r-1,l=t*r;return[{start:e.start,end:i,label:e.label,bits:i-e.start},{start:l,end:e.end,label:e.label,bits:e.end-l}]},"getNextFittingBlock"),y={parser:{yy:void 0},parse:f(async e=>{let t=await C("packet",e),r=y.parser?.yy;if(!(r instanceof $))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");w.debug(t),j(t,r)},"parse")},M=f((e,t,r,i)=>{let l=i.db,n=l.getConfig(),{rowHeight:a,paddingY:s,bitWidth:c,bitsPerRow:d}=n,p=l.getPacket(),o=l.getDiagramTitle(),h=a+s,b=h*(p.length+1)-(o?0:a),k=c*d+2,g=P(t);g.attr("viewbox",`0 0 ${k} ${b}`),z(g,b,k,n.useMaxWidth);for(let[x,v]of p.entries())O(g,v,x,n);g.append("text").text(o).attr("x",k/2).attr("y",b-h/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),O=f((e,t,r,{rowHeight:i,paddingX:l,paddingY:n,bitWidth:a,bitsPerRow:s,showBits:c})=>{let d=e.append("g"),p=r*(i+n)+n;for(let o of t){let h=o.start%s*a+1,b=(o.end-o.start+1)*a-l;if(d.append("rect").attr("x",h).attr("y",p).attr("width",b).attr("height",i).attr("class","packetBlock"),d.append("text").attr("x",h+b/2).attr("y",p+i/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(o.label),!c)continue;let k=o.end===o.start,g=p-2;d.append("text").attr("x",h+(k?b/2:0)).attr("y",g).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",k?"middle":"start").text(o.start),k||d.append("text").attr("x",h+b).attr("y",g).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(o.end)}},"drawWord"),Y={draw:M},U={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},V=f(({packet:e}={})=>{let t=u(U,e);return` import{c as v}from"./chunk-AEOMTBSW-B2mxm9r_.js";import{p as C}from"./treemap-KZPCXAKY-RU5UWGQG-kaNIxUTr.js";import{m as f,L as u,aO as P,U as z,p as w,j as F,V as S,K as D,Z as W,X as E,Y as T,n as L,o as Y,$ as A}from"./mermaid.esm.min-BbAqstPk.js";import"./chunk-H3VCZNTA-nEiogkTg.js";import"./app-DTJ1dk4L.js";var R=L.packet,m,$=(m=class{constructor(){this.packet=[],this.setAccTitle=F,this.getAccTitle=S,this.setDiagramTitle=D,this.getDiagramTitle=W,this.getAccDescription=E,this.setAccDescription=T}getConfig(){let t=u({...R,...Y().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){A(),this.packet=[]}},f(m,"PacketDB"),m),j=1e4,M=f((e,t)=>{v(e,t);let r=-1,i=[],l=1,{bitsPerRow:n}=t.getConfig();for(let{start:a,end:s,bits:c,label:d}of e.blocks){if(a!==void 0&&s!==void 0&&s<a)throw new Error(`Packet block ${a} - ${s} is invalid. End must be greater than start.`);if(a??=r+1,a!==r+1)throw new Error(`Packet block ${a} - ${s??a} is not contiguous. It should start from ${r+1}.`);if(c===0)throw new Error(`Packet block ${a} is invalid. Cannot have a zero bit field.`);for(s??=a+(c??1)-1,c??=s-a+1,r=s,w.debug(`Packet block ${a} - ${r} with label ${d}`);i.length<=n+1&&t.getPacket().length<j;){let[p,o]=V({start:a,end:s,bits:c,label:d},l,n);if(i.push(p),p.end+1===l*n&&(t.pushWord(i),i=[],l++),!o)break;({start:a,end:s,bits:c,label:d}=o)}}t.pushWord(i)},"populate"),V=f((e,t,r)=>{if(e.start===void 0)throw new Error("start should have been set during first phase");if(e.end===void 0)throw new Error("end should have been set during first phase");if(e.start>e.end)throw new Error(`Block start ${e.start} is greater than block end ${e.end}.`);if(e.end+1<=t*r)return[e,void 0];let i=t*r-1,l=t*r;return[{start:e.start,end:i,label:e.label,bits:i-e.start},{start:l,end:e.end,label:e.label,bits:e.end-l}]},"getNextFittingBlock"),y={parser:{yy:void 0},parse:f(async e=>{let t=await C("packet",e),r=y.parser?.yy;if(!(r instanceof $))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");w.debug(t),M(t,r)},"parse")},X=f((e,t,r,i)=>{let l=i.db,n=l.getConfig(),{rowHeight:a,paddingY:s,bitWidth:c,bitsPerRow:d}=n,p=l.getPacket(),o=l.getDiagramTitle(),b=a+s,h=b*(p.length+1)-(o?0:a),k=c*d+2,g=P(t);g.attr("viewBox",`0 0 ${k} ${h}`),z(g,h,k,n.useMaxWidth);for(let[x,B]of p.entries())H(g,B,x,n);g.append("text").text(o).attr("x",k/2).attr("y",h-b/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),H=f((e,t,r,{rowHeight:i,paddingX:l,paddingY:n,bitWidth:a,bitsPerRow:s,showBits:c})=>{let d=e.append("g"),p=r*(i+n)+n;for(let o of t){let b=o.start%s*a+1,h=(o.end-o.start+1)*a-l;if(d.append("rect").attr("x",b).attr("y",p).attr("width",h).attr("height",i).attr("class","packetBlock"),d.append("text").attr("x",b+h/2).attr("y",p+i/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(o.label),!c)continue;let k=o.end===o.start,g=p-2;d.append("text").attr("x",b+(k?h/2:0)).attr("y",g).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",k?"middle":"start").text(o.start),k||d.append("text").attr("x",b+h).attr("y",g).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(o.end)}},"drawWord"),K={draw:X},N={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},O=f(({packet:e}={})=>{let t=u(N,e);return`
.packetByte { .packetByte {
font-size: ${t.byteFontSize}; font-size: ${t.byteFontSize};
} }
@@ -21,4 +21,4 @@ import{c as B}from"./chunk-4KE642ED-de9jmlDi.js";import{p as C}from"./treemap-KM
stroke-width: ${t.blockStrokeWidth}; stroke-width: ${t.blockStrokeWidth};
fill: ${t.blockFillColor}; fill: ${t.blockFillColor};
} }
`},"styles"),K={parser:y,get db(){return new $},renderer:Y,styles:V};export{K as diagram}; `},"styles"),_={parser:y,get db(){return new $},renderer:K,styles:O};export{_ as diagram};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
import{_ as i,c as a,a as n,o as l}from"./app-BJYYgOLS.js";const e={};function h(t,s){return l(),a("div",null,[...s[0]||(s[0]=[n(`<h2 id="关于-memory-和-storage-存储类型" tabindex="-1"><a class="header-anchor" href="#关于-memory-和-storage-存储类型"><span>关于 memory 和 storage 存储类型</span></a></h2><ul><li><code>storage</code>:合约的持久化状态数据,保存在链上状态。对 <code>storage</code> 的写入最昂贵,读取也比内存贵;修改会永久生效。</li><li><code>memory</code>:函数调用期间的临时数据,函数返回后即释放。对 <code>memory</code> 的更改不会持久化。</li><li>(补充)<code>calldata</code>:外部函数参数的只读数据位置,零拷贝、不可修改,用于节省 gas。</li></ul><h3 id="生命周期与成本" tabindex="-1"><a class="header-anchor" href="#生命周期与成本"><span>生命周期与成本</span></a></h3><ul><li><code>storage</code> 写入昂贵、读取较贵;适合保存需要长期存在的状态。</li><li><code>memory</code> 在函数结束时释放,读取/写入相对便宜;适合临时计算与返回值。</li><li>复杂引用类型(数组、<code>struct</code>、<code>mapping</code>、<code>string</code>、<code>bytes</code>)在函数参数或局部变量处通常必须显式标注数据位置。</li></ul><h3 id="默认与必须声明" tabindex="-1"><a class="header-anchor" href="#默认与必须声明"><span>默认与必须声明</span></a></h3><ul><li>状态变量总是位于 <code>storage</code>(例如 <code>User[] public users;</code>)。</li><li>外部函数(<code>external</code>)的复杂类型参数默认是 <code>calldata</code>;内部/公共函数需要显式标注 <code>memory</code> 或 <code>storage</code>。</li><li>局部变量的复杂类型必须指定数据位置,否则编译报错。</li></ul><h3 id="拷贝与引用语义" tabindex="-1"><a class="header-anchor" href="#拷贝与引用语义"><span>拷贝与引用语义</span></a></h3><ul><li>从 <code>storage</code> 读取到 <code>memory</code> 会“复制”数据;修改 <code>memory</code> 副本不影响原始 <code>storage</code>。</li><li>使用 <code>storage</code> 局部变量可以得到对状态数据的“引用”,对其赋值会持久化。</li></ul><div class="language-solidity line-numbers-mode" data-highlighter="shiki" data-ext="solidity" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-solidity"><span class="line"><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">pragma</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;"> solidity</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;"> ^0.8.20</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">;</span></span> import{_ as i,c as a,a as n,o as l}from"./app-DTJ1dk4L.js";const e={};function h(t,s){return l(),a("div",null,[...s[0]||(s[0]=[n(`<h2 id="关于-memory-和-storage-存储类型" tabindex="-1"><a class="header-anchor" href="#关于-memory-和-storage-存储类型"><span>关于 memory 和 storage 存储类型</span></a></h2><ul><li><code>storage</code>:合约的持久化状态数据,保存在链上状态。对 <code>storage</code> 的写入最昂贵,读取也比内存贵;修改会永久生效。</li><li><code>memory</code>:函数调用期间的临时数据,函数返回后即释放。对 <code>memory</code> 的更改不会持久化。</li><li>(补充)<code>calldata</code>:外部函数参数的只读数据位置,零拷贝、不可修改,用于节省 gas。</li></ul><h3 id="生命周期与成本" tabindex="-1"><a class="header-anchor" href="#生命周期与成本"><span>生命周期与成本</span></a></h3><ul><li><code>storage</code> 写入昂贵、读取较贵;适合保存需要长期存在的状态。</li><li><code>memory</code> 在函数结束时释放,读取/写入相对便宜;适合临时计算与返回值。</li><li>复杂引用类型(数组、<code>struct</code>、<code>mapping</code>、<code>string</code>、<code>bytes</code>)在函数参数或局部变量处通常必须显式标注数据位置。</li></ul><h3 id="默认与必须声明" tabindex="-1"><a class="header-anchor" href="#默认与必须声明"><span>默认与必须声明</span></a></h3><ul><li>状态变量总是位于 <code>storage</code>(例如 <code>User[] public users;</code>)。</li><li>外部函数(<code>external</code>)的复杂类型参数默认是 <code>calldata</code>;内部/公共函数需要显式标注 <code>memory</code> 或 <code>storage</code>。</li><li>局部变量的复杂类型必须指定数据位置,否则编译报错。</li></ul><h3 id="拷贝与引用语义" tabindex="-1"><a class="header-anchor" href="#拷贝与引用语义"><span>拷贝与引用语义</span></a></h3><ul><li>从 <code>storage</code> 读取到 <code>memory</code> 会“复制”数据;修改 <code>memory</code> 副本不影响原始 <code>storage</code>。</li><li>使用 <code>storage</code> 局部变量可以得到对状态数据的“引用”,对其赋值会持久化。</li></ul><div class="language-solidity line-numbers-mode" data-highlighter="shiki" data-ext="solidity" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-solidity"><span class="line"><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">pragma</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;"> solidity</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;"> ^0.8.20</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">;</span></span>
<span class="line"></span> <span class="line"></span>
<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;">contract</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994;"> Users</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span> <span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;">contract</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994;"> Users</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;"> struct</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994;"> User</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994;"> string</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> name</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">;</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994;"> uint</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> age</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">;</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span> <span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;"> struct</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994;"> User</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994;"> string</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> name</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">;</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994;"> uint</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> age</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">;</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
@@ -35,4 +35,4 @@ import{_ as i,c as a,a as n,o as l}from"./app-BJYYgOLS.js";const e={};function h
<span class="line"><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> a </span><span style="--shiki-light:#999999;--shiki-dark:#666666;">=</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;"> new</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994;"> uint</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">[](</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;">n</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">)</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">;</span></span> <span class="line"><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> a </span><span style="--shiki-light:#999999;--shiki-dark:#666666;">=</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;"> new</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994;"> uint</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">[](</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;">n</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">)</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">;</span></span>
<span class="line"><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;"> for</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> (</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994;">uint</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> i </span><span style="--shiki-light:#999999;--shiki-dark:#666666;">=</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;"> 0</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">;</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> i </span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;">&lt;</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> n</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">;</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> i</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;">++</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">)</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> a</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">[</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">i</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">]</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> =</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> i</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">;</span></span> <span class="line"><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;"> for</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> (</span><span style="--shiki-light:#2E8F82;--shiki-dark:#5DA994;">uint</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> i </span><span style="--shiki-light:#999999;--shiki-dark:#666666;">=</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;"> 0</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">;</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> i </span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;">&lt;</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> n</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">;</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> i</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;">++</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">)</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> a</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">[</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">i</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">]</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> =</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> i</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">;</span></span>
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span> <span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="" tabindex="-1"><a class="header-anchor" href="#"><span></span></a></h3><ul><li> <code>storage</code> </li><li> <code>memory</code> 使 <code>storage</code> </li><li> <code>string/bytes/</code> <code>memorystorage</code> </li><li> <code>calldata</code> 使 gas</li></ul>`,17)])])}const p=i(e,[["render",h]]),d=JSON.parse('{"path":"/programming/solidity/other/miscellaneous/","title":"","lang":"zh-CN","frontmatter":{"title":"","createTime":"2025/10/12 15:34:38","permalink":"/programming/solidity/other/miscellaneous/","description":" memory storage storage storage memory memory calldata gas...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-01-09T02:03:40.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/programming/solidity/other/miscellaneous/"}],["meta",{"property":"og:site_name","content":""}],["meta",{"property":"og:title","content":""}],["meta",{"property":"og:description","content":" memory storage storage storage memory memory calldata gas..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-01-09T02:03:40.000Z"}],["meta",{"property":"article:modified_time","content":"2026-01-09T02:03:40.000Z"}]]},"readingTime":{"minutes":2.4,"words":721},"git":{"createdTime":1767924220000,"updatedTime":1767924220000,"contributors":[{"name":"","username":"","email":"3501646051@qq.com","commits":1,"avatar":"https://gravatar.com/avatar/6406a81eeddc359cf3d3ce018797689fc6d014ff06215c27d0210b42e8f5a8ab?d=retro"}]},"autoDesc":true,"filePathRelative":"notes/programming/solidity/other/miscellaneous.md","headers":[]}');export{p as comp,d as data}; <span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="" tabindex="-1"><a class="header-anchor" href="#"><span></span></a></h3><ul><li> <code>storage</code> </li><li> <code>memory</code> 使 <code>storage</code> </li><li> <code>string/bytes/</code> <code>memorystorage</code> </li><li> <code>calldata</code> 使 gas</li></ul>`,17)])])}const p=i(e,[["render",h]]),d=JSON.parse('{"path":"/programming/solidity/other/miscellaneous/","title":" | Solidity","lang":"zh-CN","frontmatter":{"title":"","createTime":"2025/10/12 15:34:38","permalink":"/programming/solidity/other/miscellaneous/","description":" memory storage storage storage memory memory calldata gas...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-01-09T02:03:40.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/programming/solidity/other/miscellaneous/"}],["meta",{"property":"og:site_name","content":""}],["meta",{"property":"og:title","content":""}],["meta",{"property":"og:description","content":" memory storage storage storage memory memory calldata gas..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-01-09T02:03:40.000Z"}],["meta",{"property":"article:modified_time","content":"2026-01-09T02:03:40.000Z"}]]},"readingTime":{"minutes":2.4,"words":721},"git":{"createdTime":1767924220000,"updatedTime":1767924220000,"contributors":[{"name":"","username":"","email":"3501646051@qq.com","commits":1,"avatar":"https://gravatar.com/avatar/6406a81eeddc359cf3d3ce018797689fc6d014ff06215c27d0210b42e8f5a8ab?d=retro"}]},"autoDesc":true,"filePathRelative":"notes/programming/solidity/other/miscellaneous.md","headers":[]}');export{p as comp,d as data};

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
import{_ as e,c as t,o as a}from"./app-BJYYgOLS.js";const o={};function c(r,i){return a(),t("div")}const p=e(o,[["render",c]]),s=JSON.parse('{"path":"/ops/blockchain/theory/basic-principles/","title":"区块链的基本原理","lang":"zh-CN","frontmatter":{"title":"区块链的基本原理","createTime":"2025/09/28 12:39:11","permalink":"/ops/blockchain/theory/basic-principles/","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"区块链的基本原理\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-01-09T02:03:40.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/ops/blockchain/theory/basic-principles/"}],["meta",{"property":"og:site_name","content":"仲夏夜之梦"}],["meta",{"property":"og:title","content":"区块链的基本原理"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-01-09T02:03:40.000Z"}],["meta",{"property":"article:modified_time","content":"2026-01-09T02:03:40.000Z"}]]},"readingTime":{"minutes":0.06,"words":17},"git":{"createdTime":1767924220000,"updatedTime":1767924220000,"contributors":[{"name":"祀梦","username":"","email":"3501646051@qq.com","commits":1,"avatar":"https://gravatar.com/avatar/6406a81eeddc359cf3d3ce018797689fc6d014ff06215c27d0210b42e8f5a8ab?d=retro"}]},"filePathRelative":"notes/ops/blockchain/theory/basic-principles.md","headers":[]}');export{p as comp,s as data};

View File

@@ -1 +0,0 @@
import{_ as e,c as n,a as i,o as a}from"./app-BJYYgOLS.js";const o={};function r(p,t){return a(),n("div",null,[...t[0]||(t[0]=[i('<p>你好呀,这里是祀梦的 Linux 运维笔记小天地~ 🌟</p><p>在这片神奇的天地里,我们将一起探索 Linux 操作系统的奥秘,学习各种实用的运维技巧。无论你是刚开始接触 Linux 的新手,还是已经有一定经验的运维工程师,相信这里都能为你提供一些有用的知识和见解哦~</p><h2 id="为什么选择-linux" tabindex="-1"><a class="header-anchor" href="#为什么选择-linux"><span>为什么选择 Linux</span></a></h2><p>Linux 就像是一个宝藏盒子,里面装满了各种强大的工具和功能。它稳定、安全、高效,是服务器领域的佼佼者。而且最重要的是,它是开源的!这意味着我们可以自由地探索它的内部结构,甚至可以根据自己的需求进行定制~</p><h2 id="笔记内容概览" tabindex="-1"><a class="header-anchor" href="#笔记内容概览"><span>笔记内容概览</span></a></h2><p>这里的笔记将会涵盖以下几个方面:</p><ul><li><strong>Linux 基础命令</strong>:从最基本的文件操作到系统管理,一步步带你熟悉 Linux 的常用命令</li><li><strong>系统管理</strong>:学习如何管理用户、进程、服务和网络</li><li><strong>Shell 脚本编程</strong>:掌握 Shell 脚本的编写技巧,让你的工作更加自动化</li><li><strong>系统性能优化</strong>:了解如何监控和优化 Linux 系统的性能</li><li><strong>安全防护</strong>:学习 Linux 系统的安全配置和防护措施</li></ul><h2 id="学习建议" tabindex="-1"><a class="header-anchor" href="#学习建议"><span>学习建议</span></a></h2><p>学习 Linux 最好的方法就是<strong>多实践</strong>!不要害怕犯错,每一次错误都是成长的机会。如果你在学习过程中遇到了问题,记得多查阅文档,多和社区交流~</p><p>让我们一起开启这段精彩的 Linux 运维之旅吧! 💪</p>',10)])])}const c=e(o,[["render",r]]),l=JSON.parse('{"path":"/ops/linux/","title":"Linux 运维笔记","lang":"zh-CN","frontmatter":{"title":"Linux 运维笔记","createTime":"2025/09/28 10:30:00","permalink":"/ops/linux/","description":"你好呀,这里是祀梦的 Linux 运维笔记小天地~ 🌟 在这片神奇的天地里,我们将一起探索 Linux 操作系统的奥秘,学习各种实用的运维技巧。无论你是刚开始接触 Linux 的新手,还是已经有一定经验的运维工程师,相信这里都能为你提供一些有用的知识和见解哦~ 为什么选择 Linux Linux 就像是一个宝藏盒子,里面装满了各种强大的工具和功能。...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Linux 运维笔记\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-01-09T02:03:40.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/ops/linux/"}],["meta",{"property":"og:site_name","content":"仲夏夜之梦"}],["meta",{"property":"og:title","content":"Linux 运维笔记"}],["meta",{"property":"og:description","content":"你好呀,这里是祀梦的 Linux 运维笔记小天地~ 🌟 在这片神奇的天地里,我们将一起探索 Linux 操作系统的奥秘,学习各种实用的运维技巧。无论你是刚开始接触 Linux 的新手,还是已经有一定经验的运维工程师,相信这里都能为你提供一些有用的知识和见解哦~ 为什么选择 Linux Linux 就像是一个宝藏盒子,里面装满了各种强大的工具和功能。..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-01-09T02:03:40.000Z"}],["meta",{"property":"article:modified_time","content":"2026-01-09T02:03:40.000Z"}]]},"readingTime":{"minutes":1.43,"words":430},"git":{"createdTime":1767924220000,"updatedTime":1767924220000,"contributors":[{"name":"祀梦","username":"","email":"3501646051@qq.com","commits":1,"avatar":"https://gravatar.com/avatar/6406a81eeddc359cf3d3ce018797689fc6d014ff06215c27d0210b42e8f5a8ab?d=retro"}]},"autoDesc":true,"filePathRelative":"notes/ops/linux/README.md","headers":[]}');export{c as comp,l as data};

View File

@@ -1,4 +1,4 @@
import{_ as t,c as r,a as k,e as d,w as a,r as p,o as g,b as i,d as s}from"./app-BJYYgOLS.js";const A={};function y(D,l){const e=p("CodeTabs");return g(),r("div",null,[l[8]||(l[8]=k('<h2 id="节点的基础概念" tabindex="-1"><a class="header-anchor" href="#节点的基础概念"><span>节点的基础概念</span></a></h2><p>FISCO BCOS 引入了<a href="https://fisco-bcos-documentation.readthedocs.io/zh-cn/latest/docs/design/security_control/node_management.html#id6" target="_blank" rel="noopener noreferrer">游离节点、观察者节点和共识节点</a>,这三种节点类型可以通过控制台互相转换。</p><p>组员:</p><ul><li>共识节点:参与共识的节点,拥有群组的所有数据(搭链时默认都生成共识节点)。</li><li>观察者节点:不参与共识,但能实时同步链上数据的节点。</li></ul><p>非组员:</p><ul><li>游离节点:已启动,等待加入群组的节点。处在一种暂时的节点状态,不能获取链上的数据。</li></ul><h2 id="节点配置文件详解" tabindex="-1"><a class="header-anchor" href="#节点配置文件详解"><span>节点配置文件详解</span></a></h2><p>节点搭建完成之后会有<code>config.ini</code>、<code>conf/group.%group_id.genesis</code>、<code>conf/group.%group_id.ini</code>、<code>node.nodeid</code> 等配置文件</p>',8)),d(e,{id:"37",data:[{id:"config.ini"},{id:"group.1.genesis"},{id:"group.1.ini"},{id:"node.nodeid"}]},{title0:a(({value:h,isActive:n})=>[...l[0]||(l[0]=[i("span",null,"config.ini",-1)])]),title1:a(({value:h,isActive:n})=>[...l[1]||(l[1]=[i("span",null,"group.1.genesis",-1)])]),title2:a(({value:h,isActive:n})=>[...l[2]||(l[2]=[i("span",null,"group.1.ini",-1)])]),title3:a(({value:h,isActive:n})=>[...l[3]||(l[3]=[i("span",null,"node.nodeid",-1)])]),tab0:a(({value:h,isActive:n})=>[...l[4]||(l[4]=[i("div",{class:"language-bash line-numbers-mode","data-highlighter":"shiki","data-ext":"bash",style:{"--shiki-light":"#393a34","--shiki-dark":"#dbd7caee","--shiki-light-bg":"#ffffff","--shiki-dark-bg":"#121212"}},[i("pre",{class:"shiki shiki-themes vitesse-light vitesse-dark vp-code"},[i("code",{class:"language-bash"},[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#A0ADA0","--shiki-dark":"#758575DD"}},"# RPC (Remote Proceduce Call 远程过程调用)")]),s(` import{_ as t,c as r,a as k,e as d,w as a,r as p,o as g,b as i,d as s}from"./app-DTJ1dk4L.js";const A={};function y(D,l){const e=p("CodeTabs");return g(),r("div",null,[l[8]||(l[8]=k('<h2 id="节点的基础概念" tabindex="-1"><a class="header-anchor" href="#节点的基础概念"><span>节点的基础概念</span></a></h2><p>FISCO BCOS 引入了<a href="https://fisco-bcos-documentation.readthedocs.io/zh-cn/latest/docs/design/security_control/node_management.html#id6" target="_blank" rel="noopener noreferrer">游离节点、观察者节点和共识节点</a>,这三种节点类型可以通过控制台互相转换。</p><p>组员:</p><ul><li>共识节点:参与共识的节点,拥有群组的所有数据(搭链时默认都生成共识节点)。</li><li>观察者节点:不参与共识,但能实时同步链上数据的节点。</li></ul><p>非组员:</p><ul><li>游离节点:已启动,等待加入群组的节点。处在一种暂时的节点状态,不能获取链上的数据。</li></ul><h2 id="节点配置文件详解" tabindex="-1"><a class="header-anchor" href="#节点配置文件详解"><span>节点配置文件详解</span></a></h2><p>节点搭建完成之后会有<code>config.ini</code>、<code>conf/group.%group_id.genesis</code>、<code>conf/group.%group_id.ini</code>、<code>node.nodeid</code> 等配置文件</p>',8)),d(e,{id:"37",data:[{id:"config.ini"},{id:"group.1.genesis"},{id:"group.1.ini"},{id:"node.nodeid"}]},{title0:a(({value:h,isActive:n})=>[...l[0]||(l[0]=[i("span",null,"config.ini",-1)])]),title1:a(({value:h,isActive:n})=>[...l[1]||(l[1]=[i("span",null,"group.1.genesis",-1)])]),title2:a(({value:h,isActive:n})=>[...l[2]||(l[2]=[i("span",null,"group.1.ini",-1)])]),title3:a(({value:h,isActive:n})=>[...l[3]||(l[3]=[i("span",null,"node.nodeid",-1)])]),tab0:a(({value:h,isActive:n})=>[...l[4]||(l[4]=[i("div",{class:"language-bash line-numbers-mode","data-highlighter":"shiki","data-ext":"bash",style:{"--shiki-light":"#393a34","--shiki-dark":"#dbd7caee","--shiki-light-bg":"#ffffff","--shiki-dark-bg":"#121212"}},[i("pre",{class:"shiki shiki-themes vitesse-light vitesse-dark vp-code"},[i("code",{class:"language-bash"},[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#A0ADA0","--shiki-dark":"#758575DD"}},"# RPC (Remote Proceduce Call 远程过程调用)")]),s(`
`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#A0ADA0","--shiki-dark":"#758575DD"}},"# 用于配置节点对外提供的 RPC 服务,包括 JSON-RPC ( 用于 Web3.js,控制台等 )和 Channel 通信( 用于 SDK,Java 应用等 ")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#A0ADA0","--shiki-dark":"#758575DD"}},"# 用于配置节点对外提供的 RPC 服务,包括 JSON-RPC ( 用于 Web3.js,控制台等 )和 Channel 通信( 用于 SDK,Java 应用等 ")]),s(`
`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}},"["),i("span",{style:{"--shiki-light":"#393A34","--shiki-dark":"#DBD7CAEE"}},"rpc"),i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}},"]")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}},"["),i("span",{style:{"--shiki-light":"#393A34","--shiki-dark":"#DBD7CAEE"}},"rpc"),i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}},"]")]),s(`
`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#A0ADA0","--shiki-dark":"#758575DD"}}," # 允许外部访问")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#A0ADA0","--shiki-dark":"#758575DD"}}," # 允许外部访问")]),s(`
@@ -276,4 +276,4 @@ import{_ as t,c as r,a as k,e as d,w as a,r as p,o as g,b as i,d as s}from"./app
`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}}," ;"),i("span",{style:{"--shiki-light":"#59873A","--shiki-dark":"#80A665"}}," when"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," sdk_allowlist"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," is"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," not"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," empty,"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," only"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," the"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," SDK"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," in"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," the"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," allowlist"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," can"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," connect"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," to"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," this"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," node")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}}," ;"),i("span",{style:{"--shiki-light":"#59873A","--shiki-dark":"#80A665"}}," when"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," sdk_allowlist"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," is"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," not"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," empty,"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," only"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," the"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," SDK"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," in"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," the"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," allowlist"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," can"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," connect"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," to"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," this"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," node")]),s(`
`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}}," ;"),i("span",{style:{"--shiki-light":"#59873A","--shiki-dark":"#80A665"}}," public_key.0"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," should"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," be"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," nodeid,"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," nodeid"),i("span",{style:{"--shiki-light":"#B5695977","--shiki-dark":"#C98A7D77"}},"'"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}},"s length is 128")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}}," ;"),i("span",{style:{"--shiki-light":"#59873A","--shiki-dark":"#80A665"}}," public_key.0"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," should"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," be"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," nodeid,"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," nodeid"),i("span",{style:{"--shiki-light":"#B5695977","--shiki-dark":"#C98A7D77"}},"'"),i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}},"s length is 128")]),s(`
`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," ;public_key.0=")])])]),i("div",{class:"line-numbers","aria-hidden":"true",style:{"counter-reset":"line-number 0"}},[i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"})])],-1)])]),tab3:a(({value:h,isActive:n})=>[...l[7]||(l[7]=[i("div",{class:"language-bash line-numbers-mode","data-highlighter":"shiki","data-ext":"bash",style:{"--shiki-light":"#393a34","--shiki-dark":"#dbd7caee","--shiki-light-bg":"#ffffff","--shiki-dark-bg":"#121212"}},[i("pre",{class:"shiki shiki-themes vitesse-light vitesse-dark vp-code"},[i("code",{class:"language-bash"},[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#A0ADA0","--shiki-dark":"#758575DD"}},"# 节点的 ID")]),s(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#B56959","--shiki-dark":"#C98A7D"}}," ;public_key.0=")])])]),i("div",{class:"line-numbers","aria-hidden":"true",style:{"counter-reset":"line-number 0"}},[i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"})])],-1)])]),tab3:a(({value:h,isActive:n})=>[...l[7]||(l[7]=[i("div",{class:"language-bash line-numbers-mode","data-highlighter":"shiki","data-ext":"bash",style:{"--shiki-light":"#393a34","--shiki-dark":"#dbd7caee","--shiki-light-bg":"#ffffff","--shiki-dark-bg":"#121212"}},[i("pre",{class:"shiki shiki-themes vitesse-light vitesse-dark vp-code"},[i("code",{class:"language-bash"},[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#A0ADA0","--shiki-dark":"#758575DD"}},"# 节点的 ID")]),s(`
`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#59873A","--shiki-dark":"#80A665"}},"f0535616759000b473a285d60814bc2c5927a9cb897644da46890de71e59df590cd6fe1b226a95e19a566b6fc127fd85032de0d9fdd3d529e5e50cd96ad51f28")])])]),i("div",{class:"line-numbers","aria-hidden":"true",style:{"counter-reset":"line-number 0"}},[i("div",{class:"line-number"}),i("div",{class:"line-number"})])],-1)])]),_:1}),l[9]||(l[9]=k('<h2 id="节点操作命令" tabindex="-1"><a class="header-anchor" href="#节点操作命令"><span>节点操作命令</span></a></h2><ul><li><p><code>addSealer</code>:将节点转换为共识节点。</p></li><li><p><code>addObserver</code>:将节点转换为观察节点。</p></li><li><p><code>removeNode</code>:将节点设置为游离节点。</p></li><li><p><code>getSealerList</code>:查询当前的共识节点的列表</p></li><li><p><code>getObserverList</code>:查询当前的观察者节点的列表·</p></li><li><p><code>getNodeList</code>:查询当前的所有节点的列表</p></li></ul><p>操作节点的时候是通过节点ID进行操作的节点ID可以在节点目录的<code>conf/node.nodeid</code>中获取</p><p>请确保节点加入的区块链所有节点共识正常:正常的节点会输出<code>+++</code>日志</p><h2 id="参考文章" tabindex="-1"><a class="header-anchor" href="#参考文章"><span>参考文章:</span></a></h2><ol><li><p><a href="https://fisco-bcos-documentation.readthedocs.io/zh-cn/latest/docs/manual/node_management.html" target="_blank" rel="noopener noreferrer">组员节点管理</a></p></li><li><p><a href="https://fisco-bcos-documentation.readthedocs.io/zh-cn/latest/docs/design/features/storage_security.html" target="_blank" rel="noopener noreferrer">落盘加密</a></p></li><li><p><a href="https://blog.csdn.net/LforikQ/article/details/130920092" target="_blank" rel="noopener noreferrer">【全网首发】FISCO-BCOS从底层讲起链从配置文件开始解析...</a></p></li><li><p><a href="https://blog.csdn.net/qq_57309855/article/details/126334115" target="_blank" rel="noopener noreferrer">【教程】如何修改FISCO-BCOS内的EVM的gas值让区块链预防DOS攻击...</a></p></li></ol>',6))])}const B=t(A,[["render",y]]),o=JSON.parse('{"path":"/ops/blockchain/theory/fisco-bcos-node-type/","title":"区块链的节点","lang":"zh-CN","frontmatter":{"title":"区块链的节点","createTime":"2025/10/05 13:07:05","permalink":"/ops/blockchain/theory/fisco-bcos-node-type/","description":"节点的基础概念 FISCO BCOS 引入了游离节点、观察者节点和共识节点,这三种节点类型可以通过控制台互相转换。 组员: 共识节点:参与共识的节点,拥有群组的所有数据(搭链时默认都生成共识节点)。 观察者节点:不参与共识,但能实时同步链上数据的节点。 非组员: 游离节点:已启动,等待加入群组的节点。处在一种暂时的节点状态,不能获取链上的数据。 节点配...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"区块链的节点\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-01-09T02:03:40.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/ops/blockchain/theory/fisco-bcos-node-type/"}],["meta",{"property":"og:site_name","content":"仲夏夜之梦"}],["meta",{"property":"og:title","content":"区块链的节点"}],["meta",{"property":"og:description","content":"节点的基础概念 FISCO BCOS 引入了游离节点、观察者节点和共识节点,这三种节点类型可以通过控制台互相转换。 组员: 共识节点:参与共识的节点,拥有群组的所有数据(搭链时默认都生成共识节点)。 观察者节点:不参与共识,但能实时同步链上数据的节点。 非组员: 游离节点:已启动,等待加入群组的节点。处在一种暂时的节点状态,不能获取链上的数据。 节点配..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-01-09T02:03:40.000Z"}],["meta",{"property":"article:modified_time","content":"2026-01-09T02:03:40.000Z"}]]},"readingTime":{"minutes":7.44,"words":2233},"git":{"createdTime":1767924220000,"updatedTime":1767924220000,"contributors":[{"name":"祀梦","username":"","email":"3501646051@qq.com","commits":1,"avatar":"https://gravatar.com/avatar/6406a81eeddc359cf3d3ce018797689fc6d014ff06215c27d0210b42e8f5a8ab?d=retro"}]},"autoDesc":true,"filePathRelative":"notes/ops/blockchain/theory/fisco-bcos-node-type.md","headers":[]}');export{B as comp,o as data}; `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#59873A","--shiki-dark":"#80A665"}},"f0535616759000b473a285d60814bc2c5927a9cb897644da46890de71e59df590cd6fe1b226a95e19a566b6fc127fd85032de0d9fdd3d529e5e50cd96ad51f28")])])]),i("div",{class:"line-numbers","aria-hidden":"true",style:{"counter-reset":"line-number 0"}},[i("div",{class:"line-number"}),i("div",{class:"line-number"})])],-1)])]),_:1}),l[9]||(l[9]=k('<h2 id="节点操作命令" tabindex="-1"><a class="header-anchor" href="#节点操作命令"><span>节点操作命令</span></a></h2><ul><li><p><code>addSealer</code>:将节点转换为共识节点。</p></li><li><p><code>addObserver</code>:将节点转换为观察节点。</p></li><li><p><code>removeNode</code>:将节点设置为游离节点。</p></li><li><p><code>getSealerList</code>:查询当前的共识节点的列表</p></li><li><p><code>getObserverList</code>:查询当前的观察者节点的列表·</p></li><li><p><code>getNodeList</code>:查询当前的所有节点的列表</p></li></ul><p>操作节点的时候是通过节点ID进行操作的节点ID可以在节点目录的<code>conf/node.nodeid</code>中获取</p><p>请确保节点加入的区块链所有节点共识正常:正常的节点会输出<code>+++</code>日志</p><h2 id="参考文章" tabindex="-1"><a class="header-anchor" href="#参考文章"><span>参考文章:</span></a></h2><ol><li><p><a href="https://fisco-bcos-documentation.readthedocs.io/zh-cn/latest/docs/manual/node_management.html" target="_blank" rel="noopener noreferrer">组员节点管理</a></p></li><li><p><a href="https://fisco-bcos-documentation.readthedocs.io/zh-cn/latest/docs/design/features/storage_security.html" target="_blank" rel="noopener noreferrer">落盘加密</a></p></li><li><p><a href="https://blog.csdn.net/LforikQ/article/details/130920092" target="_blank" rel="noopener noreferrer">【全网首发】FISCO-BCOS从底层讲起链从配置文件开始解析...</a></p></li><li><p><a href="https://blog.csdn.net/qq_57309855/article/details/126334115" target="_blank" rel="noopener noreferrer">【教程】如何修改FISCO-BCOS内的EVM的gas值让区块链预防DOS攻击...</a></p></li></ol>',6))])}const B=t(A,[["render",y]]),o=JSON.parse('{"path":"/ops/blockchain/theory/fisco-bcos-node-type/","title":"区块链的节点 | 区块链运维","lang":"zh-CN","frontmatter":{"title":"区块链的节点","createTime":"2025/10/05 13:07:05","permalink":"/ops/blockchain/theory/fisco-bcos-node-type/","description":"节点的基础概念 FISCO BCOS 引入了游离节点、观察者节点和共识节点,这三种节点类型可以通过控制台互相转换。 组员: 共识节点:参与共识的节点,拥有群组的所有数据(搭链时默认都生成共识节点)。 观察者节点:不参与共识,但能实时同步链上数据的节点。 非组员: 游离节点:已启动,等待加入群组的节点。处在一种暂时的节点状态,不能获取链上的数据。 节点配...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"区块链的节点\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-01-09T02:03:40.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/ops/blockchain/theory/fisco-bcos-node-type/"}],["meta",{"property":"og:site_name","content":"仲夏夜之梦"}],["meta",{"property":"og:title","content":"区块链的节点"}],["meta",{"property":"og:description","content":"节点的基础概念 FISCO BCOS 引入了游离节点、观察者节点和共识节点,这三种节点类型可以通过控制台互相转换。 组员: 共识节点:参与共识的节点,拥有群组的所有数据(搭链时默认都生成共识节点)。 观察者节点:不参与共识,但能实时同步链上数据的节点。 非组员: 游离节点:已启动,等待加入群组的节点。处在一种暂时的节点状态,不能获取链上的数据。 节点配..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-01-09T02:03:40.000Z"}],["meta",{"property":"article:modified_time","content":"2026-01-09T02:03:40.000Z"}]]},"readingTime":{"minutes":7.44,"words":2233},"git":{"createdTime":1767924220000,"updatedTime":1767924220000,"contributors":[{"name":"祀梦","username":"","email":"3501646051@qq.com","commits":1,"avatar":"https://gravatar.com/avatar/6406a81eeddc359cf3d3ce018797689fc6d014ff06215c27d0210b42e8f5a8ab?d=retro"}]},"autoDesc":true,"filePathRelative":"notes/ops/blockchain/theory/fisco-bcos-node-type.md","headers":[]}');export{B as comp,o as data};

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
import{_ as a,c as n,b as t,o}from"./app-DTJ1dk4L.js";const r={};function i(c,e){return o(),n("div",null,[...e[0]||(e[0]=[t("blockquote",null,[t("p",null,"还没有开始写呢,先占个位置~ ✨")],-1),t("p",null,"敬请期待...",-1)])])}const p=a(r,[["render",i]]),l=JSON.parse('{"path":"/subject/certification/sys-analyst/planning/","title":"第十章 系统规划与分析 | 系统分析师","lang":"zh-CN","frontmatter":{"title":"第十章 系统规划与分析","createTime":"2026/03/01 14:00:00","permalink":"/subject/certification/sys-analyst/planning/","description":"还没有开始写呢,先占个位置~ ✨ 敬请期待...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"第十章 系统规划与分析\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-03-01T12:47:17.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/subject/certification/sys-analyst/planning/"}],["meta",{"property":"og:site_name","content":"仲夏夜之梦"}],["meta",{"property":"og:title","content":"第十章 系统规划与分析"}],["meta",{"property":"og:description","content":"还没有开始写呢,先占个位置~ ✨ 敬请期待..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-03-01T12:47:17.000Z"}],["meta",{"property":"article:modified_time","content":"2026-03-01T12:47:17.000Z"}]]},"readingTime":{"minutes":0.15,"words":46},"git":{"createdTime":1772369237000,"updatedTime":1772369237000,"contributors":[{"name":"祀梦","username":"","email":"3501646051@qq.com","commits":1,"avatar":"https://gravatar.com/avatar/6406a81eeddc359cf3d3ce018797689fc6d014ff06215c27d0210b42e8f5a8ab?d=retro"}]},"autoDesc":true,"filePathRelative":"notes/subject/certification/sys-analyst/planning.md","headers":[]}');export{p as comp,l as data};

View File

@@ -1 +0,0 @@
import{_ as t,c as a,a as n,o as r}from"./app-BJYYgOLS.js";const o={};function i(p,e){return r(),a("div",null,[...e[0]||(e[0]=[n('<p>各位今天要给大家介绍一个超棒的图床搭建方法哦EdgeOne Pages 是腾讯云提供的静态网站托管服务,而且还有免费额度可以使用呢,对于日常需求来说完全足够啦~</p><h2 id="创建一个-git-项目" tabindex="-1"><a class="header-anchor" href="#创建一个-git-项目"><span>创建一个 Git 项目</span></a></h2><p>第一步呢,我们需要先在 Gitee 上创建一个项目,专门用来存放网站里要用的各种图片。当然啦,如果你习惯用 Github 或者 CNB 也没问题,这些平台都是支持的哦~而且要记住,项目的目录结构就是以后图片的访问路径呢~</p><h2 id="edgeone-page-中导入项目" tabindex="-1"><a class="header-anchor" href="#edgeone-page-中导入项目"><span>EdgeOne Page 中导入项目</span></a></h2><p>接下来打开 EdgeOne Page 的<a href="https://console.cloud.tencent.com/edgeone/pages" target="_blank" rel="noopener noreferrer">控制台</a>,这里可以导入 Github、Gitee 和 CNB 的项目哦~</p><p>点击「导入项目」,选择 Gitee 项目,找到刚才创建的那个项目,然后就可以直接开始部署啦~</p><p>等待大概一分钟左右,部署完成后,在项目概览页面点击预览按钮,就可以先看看资源能不能正常访问啦~</p><h2 id="配置域名" tabindex="-1"><a class="header-anchor" href="#配置域名"><span>配置域名</span></a></h2><p>如果临时链接可以正常访问的话,我们就可以配置自己的域名啦~在项目概览页面点击「自定义域名」就可以进入配置界面哦~</p><p>在那里输入你想要使用的域名腾讯云可是提供了50个免费证书的额度呢而且证书到期后还会自动释放额度所以完全不用担心证书不够用的问题可以放心大胆地点击「使用免费证书」按钮哦</p>',10)])])}const s=t(o,[["render",i]]),d=JSON.parse('{"path":"/article/8gihio2v/","title":"通过 EdgeOne Pages 搭建图床","lang":"zh-CN","frontmatter":{"title":"通过 EdgeOne Pages 搭建图床","createTime":"2025/09/29 02:28:17","permalink":"/article/8gihio2v/","tags":["image-hosting"],"description":"各位今天要给大家介绍一个超棒的图床搭建方法哦EdgeOne Pages 是腾讯云提供的静态网站托管服务,而且还有免费额度可以使用呢,对于日常需求来说完全足够啦~ 创建一个 Git 项目 第一步呢,我们需要先在 Gitee 上创建一个项目,专门用来存放网站里要用的各种图片。当然啦,如果你习惯用 Github 或者 CNB 也没问题,这些平台都是支持的...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"通过 EdgeOne Pages 搭建图床\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-03-28T16:28:45.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/article/8gihio2v/"}],["meta",{"property":"og:site_name","content":"仲夏夜之梦"}],["meta",{"property":"og:title","content":"通过 EdgeOne Pages 搭建图床"}],["meta",{"property":"og:description","content":"各位今天要给大家介绍一个超棒的图床搭建方法哦EdgeOne Pages 是腾讯云提供的静态网站托管服务,而且还有免费额度可以使用呢,对于日常需求来说完全足够啦~ 创建一个 Git 项目 第一步呢,我们需要先在 Gitee 上创建一个项目,专门用来存放网站里要用的各种图片。当然啦,如果你习惯用 Github 或者 CNB 也没问题,这些平台都是支持的..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-03-28T16:28:45.000Z"}],["meta",{"property":"article:tag","content":"image-hosting"}],["meta",{"property":"article:modified_time","content":"2026-03-28T16:28:45.000Z"}]]},"readingTime":{"minutes":1.41,"words":423},"git":{"createdTime":1767924220000,"updatedTime":1774715325000,"contributors":[{"name":"祀梦","username":"","email":"3501646051@qq.com","commits":2,"avatar":"https://gravatar.com/avatar/6406a81eeddc359cf3d3ce018797689fc6d014ff06215c27d0210b42e8f5a8ab?d=retro"}]},"autoDesc":true,"filePathRelative":"blog/website/EdgeOne_Pages_Images.md","headers":[],"categoryList":[{"id":"126ac9","sort":10000,"name":"博客"},{"id":"b0f8fe","sort":10002,"name":"网站"}]}');export{s as comp,d as data};

View File

@@ -1,4 +1,4 @@
import{_ as r,c as g,b as i,a as e,e as l,d as a,w as h,r as d,o as y}from"./app-BJYYgOLS.js";const D={},c={class:"code-block-title","data-title":"index.html"},o={class:"code-block-title-bar"},A={class:"title"},v={class:"code-block-title","data-title":"index.html"},m={class:"code-block-title-bar"},u={class:"title"},B={class:"code-block-title","data-title":"index.html"},b={class:"code-block-title-bar"},E={class:"title"},C={class:"code-block-title","data-title":"index.html"},F={class:"code-block-title-bar"},f={class:"title"},q={class:"code-block-title","data-title":"index.html"},x={class:"code-block-title-bar"},w={class:"title"},T={class:"code-block-title","data-title":"index.html"},S={class:"code-block-title-bar"},L={class:"title"},H={class:"code-block-title","data-title":"index.html"},M={class:"code-block-title-bar"},P={class:"title"},N={class:"code-block-title","data-title":"index.html"},O={class:"code-block-title-bar"},z={class:"title"},Y={class:"code-block-title","data-title":"index.html"},j={class:"code-block-title-bar"},V={class:"title"};function R(I,s){const k=d("VPIcon"),p=d("CodeTabs");return y(),g("div",null,[s[38]||(s[38]=i("h2",{id:"文本与标题-h-p-span-strong-em-div",tabindex:"-1"},[i("a",{class:"header-anchor",href:"#文本与标题-h-p-span-strong-em-div"},[i("span",null,"文本与标题H/P/Span/Strong/Em/Div")])],-1)),s[39]||(s[39]=i("p",null,[i("strong",null,"标题"),a(":从重要到不重要,"),i("code",null,"<h1>"),a(" ~ "),i("code",null,"<h6>"),a("。")],-1)),i("div",c,[i("div",o,[i("span",A,[l(k,{provider:"iconify",name:"vscode-icons:file-type-html"}),s[0]||(s[0]=a("index.html",-1))])]),s[1]||(s[1]=e(`<div class="language-html line-numbers-mode" data-highlighter="shiki" data-ext="html" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-html"><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">&lt;</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">h1</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">我的网站</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&lt;/</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">h1</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span></span> import{_ as r,c as g,b as i,d as a,e as l,a as e,w as h,r as d,o as y}from"./app-DTJ1dk4L.js";const D={},c={class:"code-block-title","data-title":"index.html"},o={class:"code-block-title-bar"},A={class:"title"},v={class:"code-block-title","data-title":"index.html"},m={class:"code-block-title-bar"},u={class:"title"},B={class:"code-block-title","data-title":"index.html"},b={class:"code-block-title-bar"},E={class:"title"},C={class:"code-block-title","data-title":"index.html"},F={class:"code-block-title-bar"},f={class:"title"},q={class:"code-block-title","data-title":"index.html"},x={class:"code-block-title-bar"},w={class:"title"},T={class:"code-block-title","data-title":"index.html"},S={class:"code-block-title-bar"},L={class:"title"},H={class:"code-block-title","data-title":"index.html"},M={class:"code-block-title-bar"},P={class:"title"},N={class:"code-block-title","data-title":"index.html"},O={class:"code-block-title-bar"},z={class:"title"},Y={class:"code-block-title","data-title":"index.html"},j={class:"code-block-title-bar"},V={class:"title"};function R(I,s){const k=d("VPIcon"),p=d("CodeTabs");return y(),g("div",null,[s[38]||(s[38]=i("h2",{id:"文本与标题-h-p-span-strong-em-div",tabindex:"-1"},[i("a",{class:"header-anchor",href:"#文本与标题-h-p-span-strong-em-div"},[i("span",null,"文本与标题H/P/Span/Strong/Em/Div")])],-1)),s[39]||(s[39]=i("p",null,[i("strong",null,"标题"),a(":从重要到不重要,"),i("code",null,"<h1>"),a(" ~ "),i("code",null,"<h6>"),a("。")],-1)),i("div",c,[i("div",o,[i("span",A,[l(k,{provider:"iconify",name:"vscode-icons:file-type-html"}),s[0]||(s[0]=a("index.html",-1))])]),s[1]||(s[1]=e(`<div class="language-html line-numbers-mode" data-highlighter="shiki" data-ext="html" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-html"><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">&lt;</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">h1</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">我的网站</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&lt;/</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">h1</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span></span>
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">&lt;</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">h2</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"></span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&lt;/</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">h2</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span></span> <span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">&lt;</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">h2</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"></span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&lt;/</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">h2</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span></span>
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">&lt;</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">h3</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"></span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&lt;/</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">h3</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div>`,1))]),s[40]||(s[40]=e('<h3 id="div" tabindex="-1"><a class="header-anchor" href="#div"><span>div</span></a></h3><p><strong> <code>&lt;div&gt;</code></strong></p><p><code>&lt;div&gt;</code> &quot;division&quot;&quot;&quot;&quot;&quot;</p><p></p><ul><li> = </li><li><code>&lt;div&gt;</code> = </li><li> = </li></ul><h3 id="div-" tabindex="-1"><a class="header-anchor" href="#div-"><span><code>&lt;div&gt;</code> </span></a></h3><ol><li> <code>&lt;div&gt;</code> </li></ol><ul><li></li><li></li><li><code>&lt;div&gt;</code></li></ul><p><strong><code>&lt;div&gt;</code> </strong></p><h3 id="使-div" tabindex="-1"><a class="header-anchor" href="#使-div"><span>使 <code>&lt;div&gt;</code></span></a></h3><p><code>&lt;div&gt;</code></p>',11)),i("div",v,[i("div",m,[i("span",u,[l(k,{provider:"iconify",name:"vscode-icons:file-type-html"}),s[2]||(s[2]=a("index.html",-1))])]),s[3]||(s[3]=e(`<div class="language-html line-numbers-mode" data-highlighter="shiki" data-ext="html" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-html"><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">&lt;!</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">DOCTYPE</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;"> html</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span></span> <span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">&lt;</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">h3</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"></span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&lt;/</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">h3</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div>`,1))]),s[40]||(s[40]=e('<h3 id="div" tabindex="-1"><a class="header-anchor" href="#div"><span>div</span></a></h3><p><strong> <code>&lt;div&gt;</code></strong></p><p><code>&lt;div&gt;</code> &quot;division&quot;&quot;&quot;&quot;&quot;</p><p></p><ul><li> = </li><li><code>&lt;div&gt;</code> = </li><li> = </li></ul><h3 id="div-" tabindex="-1"><a class="header-anchor" href="#div-"><span><code>&lt;div&gt;</code> </span></a></h3><ol><li> <code>&lt;div&gt;</code> </li></ol><ul><li></li><li></li><li><code>&lt;div&gt;</code></li></ul><p><strong><code>&lt;div&gt;</code> </strong></p><h3 id="使-div" tabindex="-1"><a class="header-anchor" href="#使-div"><span>使 <code>&lt;div&gt;</code></span></a></h3><p><code>&lt;div&gt;</code></p>',11)),i("div",v,[i("div",m,[i("span",u,[l(k,{provider:"iconify",name:"vscode-icons:file-type-html"}),s[2]||(s[2]=a("index.html",-1))])]),s[3]||(s[3]=e(`<div class="language-html line-numbers-mode" data-highlighter="shiki" data-ext="html" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-html"><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">&lt;!</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">DOCTYPE</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;"> html</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span></span>
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">&lt;</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">html</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span></span> <span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">&lt;</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">html</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span></span>
@@ -190,4 +190,4 @@ import{_ as r,c as g,b as i,a as e,e as l,d as a,w as h,r as d,o as y}from"./app
`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}}," </"),i("span",{style:{"--shiki-light":"#1E754F","--shiki-dark":"#4D9375"}},"section"),i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}},">")]),a(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}}," </"),i("span",{style:{"--shiki-light":"#1E754F","--shiki-dark":"#4D9375"}},"section"),i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}},">")]),a(`
`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}}," </"),i("span",{style:{"--shiki-light":"#1E754F","--shiki-dark":"#4D9375"}},"body"),i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}},">")]),a(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}}," </"),i("span",{style:{"--shiki-light":"#1E754F","--shiki-dark":"#4D9375"}},"body"),i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}},">")]),a(`
`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}},"</"),i("span",{style:{"--shiki-light":"#1E754F","--shiki-dark":"#4D9375"}},"html"),i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}},">")])])]),i("div",{class:"line-numbers","aria-hidden":"true",style:{"counter-reset":"line-number 0"}},[i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"})])],-1)])]),tab1:h(({value:t,isActive:n})=>[...s[37]||(s[37]=[i("div",{class:"language-css line-numbers-mode","data-highlighter":"shiki","data-ext":"css",style:{"--shiki-light":"#393a34","--shiki-dark":"#dbd7caee","--shiki-light-bg":"#ffffff","--shiki-dark-bg":"#121212"}},[i("pre",{class:"shiki shiki-themes vitesse-light vitesse-dark vp-code"},[i("code",{class:"language-css"},[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#1E754F","--shiki-dark":"#4D9375"}},"section"),i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}}," {"),i("span",{style:{"--shiki-light":"#998418","--shiki-dark":"#B8A965"}}," margin-bottom"),i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}},":"),i("span",{style:{"--shiki-light":"#2F798A","--shiki-dark":"#4C9A91"}}," 1"),i("span",{style:{"--shiki-light":"#AB5959","--shiki-dark":"#CB7676"}},"rem"),i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}},";"),i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}}," }")]),a(` `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}},"</"),i("span",{style:{"--shiki-light":"#1E754F","--shiki-dark":"#4D9375"}},"html"),i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}},">")])])]),i("div",{class:"line-numbers","aria-hidden":"true",style:{"counter-reset":"line-number 0"}},[i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"}),i("div",{class:"line-number"})])],-1)])]),tab1:h(({value:t,isActive:n})=>[...s[37]||(s[37]=[i("div",{class:"language-css line-numbers-mode","data-highlighter":"shiki","data-ext":"css",style:{"--shiki-light":"#393a34","--shiki-dark":"#dbd7caee","--shiki-light-bg":"#ffffff","--shiki-dark-bg":"#121212"}},[i("pre",{class:"shiki shiki-themes vitesse-light vitesse-dark vp-code"},[i("code",{class:"language-css"},[i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#1E754F","--shiki-dark":"#4D9375"}},"section"),i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}}," {"),i("span",{style:{"--shiki-light":"#998418","--shiki-dark":"#B8A965"}}," margin-bottom"),i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}},":"),i("span",{style:{"--shiki-light":"#2F798A","--shiki-dark":"#4C9A91"}}," 1"),i("span",{style:{"--shiki-light":"#AB5959","--shiki-dark":"#CB7676"}},"rem"),i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}},";"),i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}}," }")]),a(`
`),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#1E754F","--shiki-dark":"#4D9375"}},"img"),i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}}," {"),i("span",{style:{"--shiki-light":"#998418","--shiki-dark":"#B8A965"}}," border"),i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}},":"),i("span",{style:{"--shiki-light":"#2F798A","--shiki-dark":"#4C9A91"}}," 2"),i("span",{style:{"--shiki-light":"#AB5959","--shiki-dark":"#CB7676"}},"px"),i("span",{style:{"--shiki-light":"#A65E2B","--shiki-dark":"#C99076"}}," solid"),i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}}," #"),i("span",{style:{"--shiki-light":"#A65E2B","--shiki-dark":"#C99076"}},"eee"),i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}},";"),i("span",{style:{"--shiki-light":"#998418","--shiki-dark":"#B8A965"}}," border-radius"),i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}},":"),i("span",{style:{"--shiki-light":"#2F798A","--shiki-dark":"#4C9A91"}}," 50"),i("span",{style:{"--shiki-light":"#AB5959","--shiki-dark":"#CB7676"}},"%"),i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}},";"),i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}}," }")])])]),i("div",{class:"line-numbers","aria-hidden":"true",style:{"counter-reset":"line-number 0"}},[i("div",{class:"line-number"}),i("div",{class:"line-number"})])],-1)])]),_:1})])}const Z=r(D,[["render",R]]),J=JSON.parse('{"path":"/programming/web/basic-syntax/html-tags-attributes/","title":"HTML 常用标签与属性","lang":"zh-CN","frontmatter":{"title":"HTML 常用标签与属性","createTime":"2025/11/2 19:30:00","permalink":"/programming/web/basic-syntax/html-tags-attributes/","description":"文本与标题H/P/Span/Strong/Em/Div 标题:从重要到不重要,<h1> ~ <h6>。 认识div标签 什么是 <div> <div> 是 \\"division\\"(分区)的缩写,可以理解为网页中的\\"容器\\"或\\"盒子\\"。 想象一下搬家时的纸箱: 网页 = 整个房间 <div> = 一个个纸箱 箱子里 = 可以放各种物品(文字、图片、按钮...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"HTML 常用标签与属性\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-01-09T02:03:40.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/programming/web/basic-syntax/html-tags-attributes/"}],["meta",{"property":"og:site_name","content":"仲夏夜之梦"}],["meta",{"property":"og:title","content":"HTML 常用标签与属性"}],["meta",{"property":"og:description","content":"文本与标题H/P/Span/Strong/Em/Div 标题:从重要到不重要,<h1> ~ <h6>。 认识div标签 什么是 <div> <div> 是 \\"division\\"(分区)的缩写,可以理解为网页中的\\"容器\\"或\\"盒子\\"。 想象一下搬家时的纸箱: 网页 = 整个房间 <div> = 一个个纸箱 箱子里 = 可以放各种物品(文字、图片、按钮..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-01-09T02:03:40.000Z"}],["meta",{"property":"article:modified_time","content":"2026-01-09T02:03:40.000Z"}]]},"readingTime":{"minutes":8.68,"words":2603},"git":{"createdTime":1767924220000,"updatedTime":1767924220000,"contributors":[{"name":"祀梦","username":"","email":"3501646051@qq.com","commits":1,"avatar":"https://gravatar.com/avatar/6406a81eeddc359cf3d3ce018797689fc6d014ff06215c27d0210b42e8f5a8ab?d=retro"}]},"autoDesc":true,"filePathRelative":"notes/programming/web/basic-syntax/html-tags-attributes.md","headers":[]}');export{Z as comp,J as data}; `),i("span",{class:"line"},[i("span",{style:{"--shiki-light":"#1E754F","--shiki-dark":"#4D9375"}},"img"),i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}}," {"),i("span",{style:{"--shiki-light":"#998418","--shiki-dark":"#B8A965"}}," border"),i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}},":"),i("span",{style:{"--shiki-light":"#2F798A","--shiki-dark":"#4C9A91"}}," 2"),i("span",{style:{"--shiki-light":"#AB5959","--shiki-dark":"#CB7676"}},"px"),i("span",{style:{"--shiki-light":"#A65E2B","--shiki-dark":"#C99076"}}," solid"),i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}}," #"),i("span",{style:{"--shiki-light":"#A65E2B","--shiki-dark":"#C99076"}},"eee"),i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}},";"),i("span",{style:{"--shiki-light":"#998418","--shiki-dark":"#B8A965"}}," border-radius"),i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}},":"),i("span",{style:{"--shiki-light":"#2F798A","--shiki-dark":"#4C9A91"}}," 50"),i("span",{style:{"--shiki-light":"#AB5959","--shiki-dark":"#CB7676"}},"%"),i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}},";"),i("span",{style:{"--shiki-light":"#999999","--shiki-dark":"#666666"}}," }")])])]),i("div",{class:"line-numbers","aria-hidden":"true",style:{"counter-reset":"line-number 0"}},[i("div",{class:"line-number"}),i("div",{class:"line-number"})])],-1)])]),_:1})])}const Z=r(D,[["render",R]]),J=JSON.parse('{"path":"/programming/web/basic-syntax/html-tags-attributes/","title":"HTML 常用标签与属性 | Web 开发","lang":"zh-CN","frontmatter":{"title":"HTML 常用标签与属性","createTime":"2025/11/2 19:30:00","permalink":"/programming/web/basic-syntax/html-tags-attributes/","description":"文本与标题H/P/Span/Strong/Em/Div 标题:从重要到不重要,<h1> ~ <h6>。 认识div标签 什么是 <div> <div> 是 \\"division\\"(分区)的缩写,可以理解为网页中的\\"容器\\"或\\"盒子\\"。 想象一下搬家时的纸箱: 网页 = 整个房间 <div> = 一个个纸箱 箱子里 = 可以放各种物品(文字、图片、按钮...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"HTML 常用标签与属性\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-01-09T02:03:40.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/programming/web/basic-syntax/html-tags-attributes/"}],["meta",{"property":"og:site_name","content":"仲夏夜之梦"}],["meta",{"property":"og:title","content":"HTML 常用标签与属性"}],["meta",{"property":"og:description","content":"文本与标题H/P/Span/Strong/Em/Div 标题:从重要到不重要,<h1> ~ <h6>。 认识div标签 什么是 <div> <div> 是 \\"division\\"(分区)的缩写,可以理解为网页中的\\"容器\\"或\\"盒子\\"。 想象一下搬家时的纸箱: 网页 = 整个房间 <div> = 一个个纸箱 箱子里 = 可以放各种物品(文字、图片、按钮..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-01-09T02:03:40.000Z"}],["meta",{"property":"article:modified_time","content":"2026-01-09T02:03:40.000Z"}]]},"readingTime":{"minutes":8.68,"words":2603},"git":{"createdTime":1767924220000,"updatedTime":1767924220000,"contributors":[{"name":"祀梦","username":"","email":"3501646051@qq.com","commits":1,"avatar":"https://gravatar.com/avatar/6406a81eeddc359cf3d3ce018797689fc6d014ff06215c27d0210b42e8f5a8ab?d=retro"}]},"autoDesc":true,"filePathRelative":"notes/programming/web/basic-syntax/html-tags-attributes.md","headers":[]}');export{Z as comp,J as data};

View File

@@ -0,0 +1 @@
import{_ as a,c as o,b as t,o as r}from"./app-DTJ1dk4L.js";const n={};function c(i,e){return r(),o("div",null,[...e[0]||(e[0]=[t("blockquote",null,[t("p",null,"还没有开始写呢,先占个位置~ ✨")],-1),t("p",null,"敬请期待...",-1)])])}const p=a(n,[["render",c]]),m=JSON.parse('{"path":"/subject/certification/sys-analyst/","title":"第一章 绪论 | 系统分析师","lang":"zh-CN","frontmatter":{"title":"第一章 绪论","createTime":"2026/03/01 14:00:00","permalink":"/subject/certification/sys-analyst/","description":"还没有开始写呢,先占个位置~ ✨ 敬请期待...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"第一章 绪论\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-03-01T12:47:17.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/subject/certification/sys-analyst/"}],["meta",{"property":"og:site_name","content":"仲夏夜之梦"}],["meta",{"property":"og:title","content":"第一章 绪论"}],["meta",{"property":"og:description","content":"还没有开始写呢,先占个位置~ ✨ 敬请期待..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-03-01T12:47:17.000Z"}],["meta",{"property":"article:modified_time","content":"2026-03-01T12:47:17.000Z"}]]},"readingTime":{"minutes":0.12,"words":36},"git":{"createdTime":1772369237000,"updatedTime":1772369237000,"contributors":[{"name":"祀梦","username":"","email":"3501646051@qq.com","commits":1,"avatar":"https://gravatar.com/avatar/6406a81eeddc359cf3d3ce018797689fc6d014ff06215c27d0210b42e8f5a8ab?d=retro"}]},"autoDesc":true,"filePathRelative":"notes/subject/certification/sys-analyst/README.md","headers":[]}');export{p as comp,m as data};

View File

@@ -1,4 +1,4 @@
import{_ as e,c as a,a as n,o as i}from"./app-BJYYgOLS.js";const l={};function t(d,s){return i(),a("div",null,[...s[0]||(s[0]=[n(`<p>这篇文章主要讲WSL2虚拟机核心操作哦它基于轻量级Hyper-V运行像贴心小精灵默默工作还能用命令行精细控制接下来讲启动/关闭、实例管理、资源配置、网络操作、备份迁移这五大操作,是不是很期待呢~♪</p><h2 id="启动-关闭-wsl2-虚拟机" tabindex="-1"><a class="header-anchor" href="#启动-关闭-wsl2-虚拟机"><span>启动/关闭 WSL2 虚拟机</span></a></h2><p>WSL2的虚拟机平时是由Windows自动管理的呢不过我们也可以通过命令手动控制它的生命周期哦</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-"><span class="line"><span># 启动指定的发行版</span></span> import{_ as e,c as a,a as n,o as i}from"./app-DTJ1dk4L.js";const l={};function t(d,s){return i(),a("div",null,[...s[0]||(s[0]=[n(`<p>这篇文章主要讲WSL2虚拟机核心操作哦它基于轻量级Hyper-V运行像贴心小精灵默默工作还能用命令行精细控制接下来讲启动/关闭、实例管理、资源配置、网络操作、备份迁移这五大操作,是不是很期待呢~♪</p><h2 id="启动-关闭-wsl2-虚拟机" tabindex="-1"><a class="header-anchor" href="#启动-关闭-wsl2-虚拟机"><span>启动/关闭 WSL2 虚拟机</span></a></h2><p>WSL2的虚拟机平时是由Windows自动管理的呢不过我们也可以通过命令手动控制它的生命周期哦</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-"><span class="line"><span># 启动指定的发行版</span></span>
<span class="line"><span>wsl -d Ubuntu-20.04</span></span> <span class="line"><span>wsl -d Ubuntu-20.04</span></span>
<span class="line"><span></span></span> <span class="line"><span></span></span>
<span class="line"><span># 关闭指定的发行版</span></span> <span class="line"><span># 关闭指定的发行版</span></span>
@@ -37,4 +37,4 @@ import{_ as e,c as a,a as n,o as i}from"./app-BJYYgOLS.js";const l={};function t
<span class="line"><span></span></span> <span class="line"><span></span></span>
<span class="line"><span># 导入 tar 文件为新的发行版</span></span> <span class="line"><span># 导入 tar 文件为新的发行版</span></span>
<span class="line"><span>wsl --import &lt;新发行版名称&gt; &lt;安装目录&gt; &lt;tar 文件路径&gt; [选项]</span></span> <span class="line"><span>wsl --import &lt;新发行版名称&gt; &lt;安装目录&gt; &lt;tar 文件路径&gt; [选项]</span></span>
<span class="line"><span>wsl --import Ubuntu-Backup C:\\wsl\\Ubuntu-Backup D:\\backups\\ubuntu-2004.tar --version 2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>root使</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-"><span class="line"><span>ubuntu2004.exe config --default-user username</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>WSL2便</p>`,36)])])}const r=e(l,[["render",t]]),c=JSON.parse('{"path":"/article/operate-wsl2/","title":"WSL2 ","lang":"zh-CN","frontmatter":{"title":"WSL2 ","createTime":"2025/09/30 16:08:32","permalink":"/article/operate-wsl2/","tags":["wsl"],"description":"WSL2Hyper-V/ / WSL2 WSL2Windows W...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"WSL2 \\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-03-28T16:28:45.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/article/operate-wsl2/"}],["meta",{"property":"og:site_name","content":""}],["meta",{"property":"og:title","content":"WSL2 "}],["meta",{"property":"og:description","content":"WSL2Hyper-V/ / WSL2 WSL2Windows W..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-03-28T16:28:45.000Z"}],["meta",{"property":"article:tag","content":"wsl"}],["meta",{"property":"article:modified_time","content":"2026-03-28T16:28:45.000Z"}]]},"readingTime":{"minutes":3.74,"words":1122},"git":{"createdTime":1767924220000,"updatedTime":1774715325000,"contributors":[{"name":"","username":"","email":"3501646051@qq.com","commits":2,"avatar":"https://gravatar.com/avatar/6406a81eeddc359cf3d3ce018797689fc6d014ff06215c27d0210b42e8f5a8ab?d=retro"}]},"autoDesc":true,"filePathRelative":"blog/technology/Operate_WSL2.md","headers":[],"categoryList":[{"id":"126ac9","sort":10000,"name":""},{"id":"750eb7","sort":10001,"name":""}]}');export{r as comp,c as data}; <span class="line"><span>wsl --import Ubuntu-Backup C:\\wsl\\Ubuntu-Backup D:\\backups\\ubuntu-2004.tar --version 2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>root使</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-"><span class="line"><span>ubuntu2004.exe config --default-user username</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>WSL2便</p>`,36)])])}const r=e(l,[["render",t]]),c=JSON.parse('{"path":"/article/operate-wsl2/","title":"WSL2 | ","lang":"zh-CN","frontmatter":{"title":"WSL2 ","createTime":"2025/09/30 16:08:32","permalink":"/article/operate-wsl2/","tags":["wsl"],"description":"WSL2Hyper-V/ / WSL2 WSL2Windows W...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"WSL2 \\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-03-28T16:28:45.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/article/operate-wsl2/"}],["meta",{"property":"og:site_name","content":""}],["meta",{"property":"og:title","content":"WSL2 "}],["meta",{"property":"og:description","content":"WSL2Hyper-V/ / WSL2 WSL2Windows W..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-03-28T16:28:45.000Z"}],["meta",{"property":"article:tag","content":"wsl"}],["meta",{"property":"article:modified_time","content":"2026-03-28T16:28:45.000Z"}]]},"readingTime":{"minutes":3.74,"words":1122},"git":{"createdTime":1767924220000,"updatedTime":1774715325000,"contributors":[{"name":"","username":"","email":"3501646051@qq.com","commits":2,"avatar":"https://gravatar.com/avatar/6406a81eeddc359cf3d3ce018797689fc6d014ff06215c27d0210b42e8f5a8ab?d=retro"}]},"autoDesc":true,"filePathRelative":"blog/technology/Operate_WSL2.md","headers":[],"categoryList":[{"id":"83ec45","sort":10001,"name":""}]}');export{r as comp,c as data};

View File

@@ -1,4 +1,4 @@
import{_ as r,c as g,a as e,b as s,e as k,d as i,w as h,r as p,o as y}from"./app-BJYYgOLS.js";const c={},A={class:"code-block-title","data-title":"index.html"},D={class:"code-block-title-bar"},B={class:"title"};function v(o,a){const t=p("VPIcon"),d=p("CodeTabs");return y(),g("div",null,[a[8]||(a[8]=e('<h2 id="javascript-是什么" tabindex="-1"><a class="header-anchor" href="#javascript-是什么"><span>JavaScript 是什么?</span></a></h2><p>JavaScript 是一种广泛用于网页开发的脚本语言,它使网页能够实现交互式功能。与 HTML负责结构和 CSS负责样式不同JavaScript 专注于<strong>行为</strong>,可以让网页变得动态和响应式。</p><h2 id="第一个-javascript-程序" tabindex="-1"><a class="header-anchor" href="#第一个-javascript-程序"><span>第一个 JavaScript 程序</span></a></h2><p>JavaScript 代码可以直接写在 HTML 文件中,通常放在 <code>&lt;body&gt;</code> 标签的底部,使用 <code>&lt;script&gt;</code> 标签包裹。</p>',4)),s("div",A,[s("div",D,[s("span",B,[k(t,{provider:"iconify",name:"vscode-icons:file-type-html"}),a[0]||(a[0]=i("index.html",-1))])]),a[1]||(a[1]=e(`<div class="language-html line-numbers-mode" data-highlighter="shiki" data-ext="html" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-html"><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">&lt;!</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">DOCTYPE</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;"> html</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span></span> import{_ as r,c as g,a as e,b as s,e as k,d as i,w as h,r as p,o as y}from"./app-DTJ1dk4L.js";const c={},A={class:"code-block-title","data-title":"index.html"},D={class:"code-block-title-bar"},B={class:"title"};function v(o,a){const t=p("VPIcon"),d=p("CodeTabs");return y(),g("div",null,[a[8]||(a[8]=e('<h2 id="javascript-是什么" tabindex="-1"><a class="header-anchor" href="#javascript-是什么"><span>JavaScript 是什么?</span></a></h2><p>JavaScript 是一种广泛用于网页开发的脚本语言,它使网页能够实现交互式功能。与 HTML负责结构和 CSS负责样式不同JavaScript 专注于<strong>行为</strong>,可以让网页变得动态和响应式。</p><h2 id="第一个-javascript-程序" tabindex="-1"><a class="header-anchor" href="#第一个-javascript-程序"><span>第一个 JavaScript 程序</span></a></h2><p>JavaScript 代码可以直接写在 HTML 文件中,通常放在 <code>&lt;body&gt;</code> 标签的底部,使用 <code>&lt;script&gt;</code> 标签包裹。</p>',4)),s("div",A,[s("div",D,[s("span",B,[k(t,{provider:"iconify",name:"vscode-icons:file-type-html"}),a[0]||(a[0]=i("index.html",-1))])]),a[1]||(a[1]=e(`<div class="language-html line-numbers-mode" data-highlighter="shiki" data-ext="html" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-html"><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">&lt;!</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">DOCTYPE</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;"> html</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span></span>
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">&lt;</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">html</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;"> lang</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">=</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">&quot;</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">zh-CN</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">&quot;</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span></span> <span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">&lt;</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">html</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;"> lang</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">=</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">&quot;</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">zh-CN</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">&quot;</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span></span>
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">&lt;</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">head</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span></span> <span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">&lt;</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">head</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span></span>
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> &lt;</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">meta</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;"> charset</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">=</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">&quot;</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">utf-8</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">&quot;</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span></span> <span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> &lt;</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">meta</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;"> charset</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">=</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">&quot;</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">utf-8</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">&quot;</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span></span>
@@ -322,4 +322,4 @@ import{_ as r,c as g,a as e,b as s,e as k,d as i,w as h,r as p,o as y}from"./app
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;">console</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">log</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">(</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;">typeof</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;"> 42</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">);</span><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"> // &quot;number&quot;</span></span> <span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;">console</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">log</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">(</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;">typeof</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;"> 42</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">);</span><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"> // &quot;number&quot;</span></span>
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;">console</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">log</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">(</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;">typeof</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;"> true</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">);</span><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"> // &quot;boolean&quot;</span></span> <span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;">console</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">log</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">(</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;">typeof</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;"> true</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">);</span><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"> // &quot;boolean&quot;</span></span>
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;">console</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">log</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">(</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;">typeof</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {});</span><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"> // &quot;object&quot;</span></span> <span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;">console</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">log</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">(</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;">typeof</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {});</span><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"> // &quot;object&quot;</span></span>
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;">console</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">log</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">(</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;">typeof</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> []);</span><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"> // &quot;object&quot;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="" tabindex="-1"><a class="header-anchor" href="#"><span></span></a></h2><h3 id="1-" tabindex="-1"><a class="header-anchor" href="#1-"><span>1</span></a></h3><p>使 HTMLCSS JavaScript </p><p></p><ul><li>使</li><li>使 DOM </li><li></li></ul><h3 id="2-" tabindex="-1"><a class="header-anchor" href="#2-"><span>2</span></a></h3><p>1100&quot;&quot;&quot;&quot;</p><p></p><ul><li>使 <code>Math.random()</code> </li><li>使</li><li></li></ul><h2 id="" tabindex="-1"><a class="header-anchor" href="#"><span></span></a></h2><p>JavaScript web DOM JavaScript </p><p> JavaScript </p>`,25))])}const m=r(c,[["render",v]]),b=JSON.parse('{"path":"/programming/web/basic-syntax/javascript-basics/","title":"JavaScript ","lang":"zh-CN","frontmatter":{"title":"JavaScript ","createTime":"2025/11/2 21:30:00","permalink":"/programming/web/basic-syntax/javascript-basics/","description":"JavaScript JavaScript 广使 HTML CSSJavaScript JavaScript JavaScript HTML <body> ...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"JavaScript \\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-01-09T02:03:40.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/programming/web/basic-syntax/javascript-basics/"}],["meta",{"property":"og:site_name","content":""}],["meta",{"property":"og:title","content":"JavaScript "}],["meta",{"property":"og:description","content":"JavaScript JavaScript 广使 HTML CSSJavaScript JavaScript JavaScript HTML <body> ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-01-09T02:03:40.000Z"}],["meta",{"property":"article:modified_time","content":"2026-01-09T02:03:40.000Z"}]]},"readingTime":{"minutes":8.39,"words":2518},"git":{"createdTime":1767924220000,"updatedTime":1767924220000,"contributors":[{"name":"","username":"","email":"3501646051@qq.com","commits":1,"avatar":"https://gravatar.com/avatar/6406a81eeddc359cf3d3ce018797689fc6d014ff06215c27d0210b42e8f5a8ab?d=retro"}]},"autoDesc":true,"filePathRelative":"notes/programming/web/basic-syntax/javascript-basics.md","headers":[]}');export{m as comp,b as data}; <span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;">console</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">log</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">(</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;">typeof</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> []);</span><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"> // &quot;object&quot;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="" tabindex="-1"><a class="header-anchor" href="#"><span></span></a></h2><h3 id="1-" tabindex="-1"><a class="header-anchor" href="#1-"><span>1</span></a></h3><p>使 HTMLCSS JavaScript </p><p></p><ul><li>使</li><li>使 DOM </li><li></li></ul><h3 id="2-" tabindex="-1"><a class="header-anchor" href="#2-"><span>2</span></a></h3><p>1100&quot;&quot;&quot;&quot;</p><p></p><ul><li>使 <code>Math.random()</code> </li><li>使</li><li></li></ul><h2 id="" tabindex="-1"><a class="header-anchor" href="#"><span></span></a></h2><p>JavaScript web DOM JavaScript </p><p> JavaScript </p>`,25))])}const m=r(c,[["render",v]]),b=JSON.parse('{"path":"/programming/web/basic-syntax/javascript-basics/","title":"JavaScript | Web ","lang":"zh-CN","frontmatter":{"title":"JavaScript ","createTime":"2025/11/2 21:30:00","permalink":"/programming/web/basic-syntax/javascript-basics/","description":"JavaScript JavaScript 广使 HTML CSSJavaScript JavaScript JavaScript HTML <body> ...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"JavaScript \\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-01-09T02:03:40.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/programming/web/basic-syntax/javascript-basics/"}],["meta",{"property":"og:site_name","content":""}],["meta",{"property":"og:title","content":"JavaScript "}],["meta",{"property":"og:description","content":"JavaScript JavaScript 广使 HTML CSSJavaScript JavaScript JavaScript HTML <body> ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-01-09T02:03:40.000Z"}],["meta",{"property":"article:modified_time","content":"2026-01-09T02:03:40.000Z"}]]},"readingTime":{"minutes":8.39,"words":2518},"git":{"createdTime":1767924220000,"updatedTime":1767924220000,"contributors":[{"name":"","username":"","email":"3501646051@qq.com","commits":1,"avatar":"https://gravatar.com/avatar/6406a81eeddc359cf3d3ce018797689fc6d014ff06215c27d0210b42e8f5a8ab?d=retro"}]},"autoDesc":true,"filePathRelative":"notes/programming/web/basic-syntax/javascript-basics.md","headers":[]}');export{m as comp,b as data};

View File

@@ -1 +1 @@
import{_ as t,c as e,o as n}from"./app-BJYYgOLS.js";const a={};function o(i,s){return n(),e("div")}const p=t(a,[["render",o]]),c=JSON.parse('{"path":"/friends/","title":"My Friends","lang":"zh-CN","frontmatter":{"title":"My Friends","description":"星星划过的时候,要记得许愿哦~♪","permalink":"/friends/","contentPosition":"after","article":false,"pageLayout":"friends","list":[{"name":"pengzhanbo","link":"https://github.com/pengzhanbo","avatar":"https://github.com/pengzhanbo.png","desc":"即使慢,驰而不息,纵会落后,纵会失败,但必须能够到达他所向的目标。"},{"name":"祀梦","link":"https://github.com/si-meng-spec","avatar":"https://github.com/si-meng-spec.png","desc":"嗨~ 新的一天,从一场美妙的邂逅开始。"},{"name":"AJohn","link":"https://www.ajohn.top/","avatar":"https://github.com/zzyAJohn.png","desc":"我希望正在读这句话的人永远开心"},{"name":"小小夏","link":"https://notes.simengweb.com","avatar":"https://image.simengweb.com/images/xxx.jpg","desc":"Kawasaki天下第一"}],"draft":true,"head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"My Friends\\",\\"image\\":[\\"\\"],\\"dateModified\\":null,\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/friends/"}],["meta",{"property":"og:site_name","content":"仲夏夜之梦"}],["meta",{"property":"og:title","content":"My Friends"}],["meta",{"property":"og:description","content":"星星划过的时候,要记得许愿哦~♪"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}]]},"readingTime":{"minutes":0.45,"words":134},"git":{},"filePathRelative":"friends.md","headers":[],"type":"friends"}');export{p as comp,c as data}; import{_ as t,c as e,o as n}from"./app-DTJ1dk4L.js";const a={};function o(i,s){return n(),e("div")}const p=t(a,[["render",o]]),c=JSON.parse('{"path":"/friends/","title":"My Friends","lang":"zh-CN","frontmatter":{"title":"My Friends","description":"星星划过的时候,要记得许愿哦~♪","permalink":"/friends/","contentPosition":"after","article":false,"pageLayout":"friends","list":[{"name":"pengzhanbo","link":"https://github.com/pengzhanbo","avatar":"https://github.com/pengzhanbo.png","desc":"即使慢,驰而不息,纵会落后,纵会失败,但必须能够到达他所向的目标。"},{"name":"祀梦","link":"https://github.com/si-meng-spec","avatar":"https://github.com/si-meng-spec.png","desc":"嗨~ 新的一天,从一场美妙的邂逅开始。"},{"name":"AJohn","link":"https://www.ajohn.top/","avatar":"https://github.com/zzyAJohn.png","desc":"我希望正在读这句话的人永远开心"},{"name":"小小夏","link":"https://notes.simengweb.com","avatar":"https://image.simengweb.com/images/xxx.jpg","desc":"Kawasaki天下第一"}],"draft":true,"head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"My Friends\\",\\"image\\":[\\"\\"],\\"dateModified\\":null,\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/friends/"}],["meta",{"property":"og:site_name","content":"仲夏夜之梦"}],["meta",{"property":"og:title","content":"My Friends"}],["meta",{"property":"og:description","content":"星星划过的时候,要记得许愿哦~♪"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}]]},"readingTime":{"minutes":0.45,"words":134},"git":{},"filePathRelative":"friends.md","headers":[],"type":"friends"}');export{p as comp,c as data};

View File

@@ -0,0 +1 @@
import{_ as e,c as t,o as a}from"./app-DTJ1dk4L.js";const r={};function c(n,s){return a(),t("div")}const o=e(r,[["render",c]]),l=JSON.parse('{"path":"/article/archives/","title":"归档","lang":"zh-CN","frontmatter":{"lang":"zh-CN","title":"归档","gitInclude":[],"draft":true},"readingTime":{"minutes":0,"words":0},"git":{},"filePathRelative":null,"headers":[],"type":"posts-archives"}');export{o as comp,l as data};

View File

@@ -1 +0,0 @@
import{_ as e,c as t,o as a}from"./app-BJYYgOLS.js";const n={};function r(o,c){return a(),t("div")}const i=e(n,[["render",r]]),s=JSON.parse('{"path":"/blog/","title":"博客","lang":"zh-CN","frontmatter":{"lang":"zh-CN","title":"博客","gitInclude":[],"draft":true},"readingTime":{"minutes":0,"words":0},"git":{},"filePathRelative":null,"headers":[],"type":"blog"}');export{i as comp,s as data};

View File

@@ -1 +0,0 @@
import{_ as t,c as r,a as o,o as i}from"./app-BJYYgOLS.js";const a={};function n(p,e){return i(),r("div",null,[...e[0]||(e[0]=[o('<h2 id="solidity-智能合约概述" tabindex="-1"><a class="header-anchor" href="#solidity-智能合约概述"><span>Solidity 智能合约概述</span></a></h2><p>Solidity 是一种用于编写智能合约的静态类型编程语言它运行在以太坊虚拟机EVM上。</p><h2 id="推荐的资料" tabindex="-1"><a class="header-anchor" href="#推荐的资料"><span>推荐的资料</span></a></h2><p>推荐的编辑器</p><p>Remix IDE<a href="https://remix.ethereum.org/" target="_blank" rel="noopener noreferrer">https://remix.ethereum.org/</a></p><p>有在线版本,也可以下载之后使用,而且可以通过 Docker 部署,很方便</p><p>Solidity 学习资料:</p><ul><li><a href="https://docs.soliditylang.org/zh-cn/latest/index.html" target="_blank" rel="noopener noreferrer">Solidity 官方文档</a></li><li><a href="https://cryptozombies.io/zh/course" target="_blank" rel="noopener noreferrer">cryptozombies</a></li></ul>',8)])])}const d=t(a,[["render",n]]),c=JSON.parse('{"path":"/programming/solidity/","title":"Solidity 学习笔记","lang":"zh-CN","frontmatter":{"title":"Solidity 学习笔记","description":"记录Solidity智能合约开发的学习心得和基础知识","createTime":"2025/09/28 19:39:00","permalink":"/programming/solidity/","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Solidity 学习笔记\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-01-09T02:03:40.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/programming/solidity/"}],["meta",{"property":"og:site_name","content":"仲夏夜之梦"}],["meta",{"property":"og:title","content":"Solidity 学习笔记"}],["meta",{"property":"og:description","content":"记录Solidity智能合约开发的学习心得和基础知识"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-01-09T02:03:40.000Z"}],["meta",{"property":"article:modified_time","content":"2026-01-09T02:03:40.000Z"}]]},"readingTime":{"minutes":0.44,"words":132},"git":{"createdTime":1767924220000,"updatedTime":1767924220000,"contributors":[{"name":"祀梦","username":"","email":"3501646051@qq.com","commits":1,"avatar":"https://gravatar.com/avatar/6406a81eeddc359cf3d3ce018797689fc6d014ff06215c27d0210b42e8f5a8ab?d=retro"}]},"filePathRelative":"notes/programming/solidity/README.md","headers":[]}');export{d as comp,c as data};

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
import{_ as a,c as o,b as t,o as r}from"./app-BJYYgOLS.js";const n={};function c(i,e){return r(),o("div",null,[...e[0]||(e[0]=[t("blockquote",null,[t("p",null,"还没有开始写呢,先占个位置~ ✨")],-1),t("p",null,"敬请期待...",-1)])])}const m=a(n,[["render",c]]),p=JSON.parse('{"path":"/subject/certification/sys-analyst/math/","title":"第二章 数学与工程基础","lang":"zh-CN","frontmatter":{"title":"第二章 数学与工程基础","createTime":"2026/03/01 14:00:00","permalink":"/subject/certification/sys-analyst/math/","description":"还没有开始写呢,先占个位置~ ✨ 敬请期待...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"第二章 数学与工程基础\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-03-01T12:47:17.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/subject/certification/sys-analyst/math/"}],["meta",{"property":"og:site_name","content":"仲夏夜之梦"}],["meta",{"property":"og:title","content":"第二章 数学与工程基础"}],["meta",{"property":"og:description","content":"还没有开始写呢,先占个位置~ ✨ 敬请期待..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-03-01T12:47:17.000Z"}],["meta",{"property":"article:modified_time","content":"2026-03-01T12:47:17.000Z"}]]},"readingTime":{"minutes":0.15,"words":46},"git":{"createdTime":1772369237000,"updatedTime":1772369237000,"contributors":[{"name":"祀梦","username":"","email":"3501646051@qq.com","commits":1,"avatar":"https://gravatar.com/avatar/6406a81eeddc359cf3d3ce018797689fc6d014ff06215c27d0210b42e8f5a8ab?d=retro"}]},"autoDesc":true,"filePathRelative":"notes/subject/certification/sys-analyst/math.md","headers":[]}');export{m as comp,p as data};

View File

@@ -1 +0,0 @@
import{_ as r,c as a,b as e,o as n}from"./app-BJYYgOLS.js";const i={};function o(c,t){return n(),a("div",null,[...t[0]||(t[0]=[e("ul",null,[e("li",null,"阅读策略(略读、扫读、精读)"),e("li",null,"篇章结构与逻辑(指代、连接、修饰)")],-1)])])}const m=r(i,[["render",o]]),p=JSON.parse('{"path":"/subject/english/reading-writing/","title":"阅读提升","lang":"zh-CN","frontmatter":{"title":"阅读提升","createTime":"2025/10/20 16:40:00","permalink":"/subject/english/reading-writing/","description":"阅读策略(略读、扫读、精读) 篇章结构与逻辑(指代、连接、修饰)","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"阅读提升\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-01-09T02:03:40.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/subject/english/reading-writing/"}],["meta",{"property":"og:site_name","content":"仲夏夜之梦"}],["meta",{"property":"og:title","content":"阅读提升"}],["meta",{"property":"og:description","content":"阅读策略(略读、扫读、精读) 篇章结构与逻辑(指代、连接、修饰)"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-01-09T02:03:40.000Z"}],["meta",{"property":"article:modified_time","content":"2026-01-09T02:03:40.000Z"}]]},"readingTime":{"minutes":0.13,"words":40},"git":{"createdTime":1767924220000,"updatedTime":1767924220000,"contributors":[{"name":"祀梦","username":"","email":"3501646051@qq.com","commits":1,"avatar":"https://gravatar.com/avatar/6406a81eeddc359cf3d3ce018797689fc6d014ff06215c27d0210b42e8f5a8ab?d=retro"}]},"autoDesc":true,"filePathRelative":"notes/subject/english/reading-writing/README.md","headers":[]}');export{m as comp,p as data};

View File

@@ -0,0 +1 @@
import{_ as t,c as r,a as o,o as i}from"./app-DTJ1dk4L.js";const a={};function n(p,e){return i(),r("div",null,[...e[0]||(e[0]=[o('<h2 id="solidity-智能合约概述" tabindex="-1"><a class="header-anchor" href="#solidity-智能合约概述"><span>Solidity 智能合约概述</span></a></h2><p>Solidity 是一种用于编写智能合约的静态类型编程语言它运行在以太坊虚拟机EVM上。</p><h2 id="推荐的资料" tabindex="-1"><a class="header-anchor" href="#推荐的资料"><span>推荐的资料</span></a></h2><p>推荐的编辑器</p><p>Remix IDE<a href="https://remix.ethereum.org/" target="_blank" rel="noopener noreferrer">https://remix.ethereum.org/</a></p><p>有在线版本,也可以下载之后使用,而且可以通过 Docker 部署,很方便</p><p>Solidity 学习资料:</p><ul><li><a href="https://docs.soliditylang.org/zh-cn/latest/index.html" target="_blank" rel="noopener noreferrer">Solidity 官方文档</a></li><li><a href="https://cryptozombies.io/zh/course" target="_blank" rel="noopener noreferrer">cryptozombies</a></li></ul>',8)])])}const d=t(a,[["render",n]]),c=JSON.parse('{"path":"/programming/solidity/","title":"Solidity 学习笔记 | Solidity","lang":"zh-CN","frontmatter":{"title":"Solidity 学习笔记","description":"记录Solidity智能合约开发的学习心得和基础知识","createTime":"2025/09/28 19:39:00","permalink":"/programming/solidity/","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Solidity 学习笔记\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-01-09T02:03:40.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/programming/solidity/"}],["meta",{"property":"og:site_name","content":"仲夏夜之梦"}],["meta",{"property":"og:title","content":"Solidity 学习笔记"}],["meta",{"property":"og:description","content":"记录Solidity智能合约开发的学习心得和基础知识"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-01-09T02:03:40.000Z"}],["meta",{"property":"article:modified_time","content":"2026-01-09T02:03:40.000Z"}]]},"readingTime":{"minutes":0.44,"words":132},"git":{"createdTime":1767924220000,"updatedTime":1767924220000,"contributors":[{"name":"祀梦","username":"","email":"3501646051@qq.com","commits":1,"avatar":"https://gravatar.com/avatar/6406a81eeddc359cf3d3ce018797689fc6d014ff06215c27d0210b42e8f5a8ab?d=retro"}]},"filePathRelative":"notes/programming/solidity/README.md","headers":[]}');export{d as comp,c as data};

View File

@@ -1 +0,0 @@
import{_ as t,c as a,a as o,o as r}from"./app-BJYYgOLS.js";const n={};function c(p,e){return r(),a("div",null,[...e[0]||(e[0]=[o('<h2 id="区块链简介" tabindex="-1"><a class="header-anchor" href="#区块链简介"><span>区块链简介</span></a></h2><p>区块链就像是一本神奇的共享账本哦~它由许许多多的&quot;区块&quot;连接而成,每个区块里都记录着各种交易信息~最特别的是,这本账本不是由某一个人或组织保管的,而是由网络里的所有人一起维护呢~</p><p>想象一下,当有新的交易发生时,网络里的每个人都会收到一份拷贝,大家一起验证这份交易的真实性,然后把它添加到账本里~这样一来,就没有人能够偷偷篡改账本啦~是不是很神奇呢~♪</p><p>区块链还有一个超棒的特点哦~它不需要中间人的帮忙,就能让互不相识的人们安全地进行交易~就像魔法一样,让信任在数字世界里自然生长~</p><h2 id="区块链的理论基础" tabindex="-1"><a class="header-anchor" href="#区块链的理论基础"><span>区块链的理论基础</span></a></h2><p>呜呜~在网上找关于完整区块链原理的资料好难呀,现在就只看到一些比较基础的课程和书籍呢。</p><p>嘿嘿在B站的话发现有一个课程超棒哒就是肖臻老师的<a href="https://www.bilibili.com/video/BV1Vt411X7JF/" target="_blank" rel="noopener noreferrer">《区块链技术与应用》</a>呢!</p><p>在Youtube上也可以去看看<a href="https://www.youtube.com/@BinanceAcademy" target="_blank" rel="noopener noreferrer">Binance Academy</a>的视频哟,感觉也很不错哒!</p><p>至于书籍嘛,目前还没找到特别好的,不过没关系,会继续努力找找哒!如果有好的课程的话,可以评论留言分享一下哦~</p><h2 id="区块链的运维实践" tabindex="-1"><a class="header-anchor" href="#区块链的运维实践"><span>区块链的运维实践</span></a></h2><p>嘿嘿~区块链的搭建呀,主要就是通过 <a href="https://fisco-bcos-documentation.readthedocs.io/zh-cn/latest/docs/introduction.html" target="_blank" rel="noopener noreferrer">FISCO BCOS</a> 来实现哒!</p><p>它呢是一个开源的、基于Java的区块链平台哟~还支持智能合约的部署和执行呢,超厉害的!</p>',12)])])}const s=t(n,[["render",c]]),d=JSON.parse('{"path":"/ops/blockchain/","title":"区块链运维指南","lang":"zh-CN","frontmatter":{"title":"区块链运维指南","createTime":"2025/09/28 07:54:17","permalink":"/ops/blockchain/","description":"区块链简介 区块链就像是一本神奇的共享账本哦~它由许许多多的\\"区块\\"连接而成,每个区块里都记录着各种交易信息~最特别的是,这本账本不是由某一个人或组织保管的,而是由网络里的所有人一起维护呢~ 想象一下,当有新的交易发生时,网络里的每个人都会收到一份拷贝,大家一起验证这份交易的真实性,然后把它添加到账本里~这样一来,就没有人能够偷偷篡改账本啦~是不是很神...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"区块链运维指南\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-01-09T02:03:40.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/ops/blockchain/"}],["meta",{"property":"og:site_name","content":"仲夏夜之梦"}],["meta",{"property":"og:title","content":"区块链运维指南"}],["meta",{"property":"og:description","content":"区块链简介 区块链就像是一本神奇的共享账本哦~它由许许多多的\\"区块\\"连接而成,每个区块里都记录着各种交易信息~最特别的是,这本账本不是由某一个人或组织保管的,而是由网络里的所有人一起维护呢~ 想象一下,当有新的交易发生时,网络里的每个人都会收到一份拷贝,大家一起验证这份交易的真实性,然后把它添加到账本里~这样一来,就没有人能够偷偷篡改账本啦~是不是很神..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-01-09T02:03:40.000Z"}],["meta",{"property":"article:modified_time","content":"2026-01-09T02:03:40.000Z"}]]},"readingTime":{"minutes":1.54,"words":461},"git":{"createdTime":1767924220000,"updatedTime":1767924220000,"contributors":[{"name":"祀梦","username":"","email":"3501646051@qq.com","commits":1,"avatar":"https://gravatar.com/avatar/6406a81eeddc359cf3d3ce018797689fc6d014ff06215c27d0210b42e8f5a8ab?d=retro"}]},"autoDesc":true,"filePathRelative":"notes/ops/blockchain/README.md","headers":[]}');export{s as comp,d as data};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
import{_ as e,c as t,o as a}from"./app-BJYYgOLS.js";const r={};function n(o,c){return a(),t("div")}const s=e(r,[["render",n]]),l=JSON.parse('{"path":"/blog/categories/","title":"分类","lang":"zh-CN","frontmatter":{"lang":"zh-CN","title":"分类","gitInclude":[],"draft":true},"readingTime":{"minutes":0,"words":0},"git":{},"filePathRelative":null,"headers":[],"type":"blog-categories"}');export{s as comp,l as data};

View File

@@ -0,0 +1 @@
import{_ as t,c as e,o as a}from"./app-DTJ1dk4L.js";const n={};function r(o,c){return a(),e("div")}const i=t(n,[["render",r]]),l=JSON.parse('{"path":"/blog/","title":"博客","lang":"zh-CN","frontmatter":{"lang":"zh-CN","title":"博客","gitInclude":[],"draft":true},"readingTime":{"minutes":0,"words":0},"git":{},"filePathRelative":null,"headers":[],"type":"posts"}');export{i as comp,l as data};

View File

@@ -1,4 +1,4 @@
import{_ as i,c as e,a,o as n}from"./app-BJYYgOLS.js";const t={};function l(h,s){return n(),e("div",null,[...s[0]||(s[0]=[a(`<h2 id="console-控制台是什么" tabindex="-1"><a class="header-anchor" href="#console-控制台是什么"><span>Console 控制台是什么?</span></a></h2><p>Console 是 FISCO BCOS 官方提供的一个交互式命令行工具,用于直接与区块链节点交互。 主要功能包括:</p><ul><li>查询区块链状态(如区块链高度、节点列表、群组信息)</li><li>部署和调用智能合约(支持 Solidity</li><li>管理节点(如查看节点共识状态、动态添加节点)</li><li>调试交易和查看回执</li></ul><h2 id="部署-console-控制台" tabindex="-1"><a class="header-anchor" href="#部署-console-控制台"><span>部署 Console 控制台</span></a></h2><p>获取下载脚本:<code>wget https://gitee.com/FISCO-BCOS/console/releases/download/v2.8.0/console.tar.gz</code> 解压控制台安装包:<code>tar -zxf console.tar.gz console/</code></p><p>复制配置文件:<code>cp conf/config-example.toml conf/config.toml</code> 编辑配置文件:<code>vim conf/config.toml</code></p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark has-highlighted vp-code"><code class="language-bash"><span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># enSslKey = &quot;conf/gm/gmensdk.key&quot; # GM ssl cert file path</span></span> import{_ as i,c as e,a,o as n}from"./app-DTJ1dk4L.js";const t={};function l(h,s){return n(),e("div",null,[...s[0]||(s[0]=[a(`<h2 id="console-控制台是什么" tabindex="-1"><a class="header-anchor" href="#console-控制台是什么"><span>Console 控制台是什么?</span></a></h2><p>Console 是 FISCO BCOS 官方提供的一个交互式命令行工具,用于直接与区块链节点交互。 主要功能包括:</p><ul><li>查询区块链状态(如区块链高度、节点列表、群组信息)</li><li>部署和调用智能合约(支持 Solidity</li><li>管理节点(如查看节点共识状态、动态添加节点)</li><li>调试交易和查看回执</li></ul><h2 id="部署-console-控制台" tabindex="-1"><a class="header-anchor" href="#部署-console-控制台"><span>部署 Console 控制台</span></a></h2><p>获取下载脚本:<code>wget https://gitee.com/FISCO-BCOS/console/releases/download/v2.8.0/console.tar.gz</code> 解压控制台安装包:<code>tar -zxf console.tar.gz console/</code></p><p>复制配置文件:<code>cp conf/config-example.toml conf/config.toml</code> 编辑配置文件:<code>vim conf/config.toml</code></p><div class="language-bash line-numbers-mode" data-highlighter="shiki" data-ext="bash" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark has-highlighted vp-code"><code class="language-bash"><span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># enSslKey = &quot;conf/gm/gmensdk.key&quot; # GM ssl cert file path</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"> # default load the GM SSL encryption privateKey from \${certPath}/gm/gmensdk.key</span></span> <span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"> # default load the GM SSL encryption privateKey from \${certPath}/gm/gmensdk.key</span></span>
<span class="line"></span> <span class="line"></span>
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">[</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">network</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">]</span></span> <span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">[</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">network</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">]</span></span>
@@ -10,4 +10,4 @@ import{_ as i,c as e,a,o as n}from"./app-BJYYgOLS.js";const t={};function l(h,s)
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">[</span></span> <span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">[</span></span>
<span class="line"><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> d036a22f16909cba4c8521cd3c31db3be381e673c9749e3fd2848ab25eca134ef917cb9306f41893295c535078bce77bdc241eba3f92549a73efe4699d3c0df8,</span></span> <span class="line"><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> d036a22f16909cba4c8521cd3c31db3be381e673c9749e3fd2848ab25eca134ef917cb9306f41893295c535078bce77bdc241eba3f92549a73efe4699d3c0df8,</span></span>
<span class="line"><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> f0535616759000b473a285d60814bc2c5927a9cb897644da46890de71e59df590cd6fe1b226a95e19a566b6fc127fd85032de0d9fdd3d529e5e50cd96ad51f28</span></span> <span class="line"><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> f0535616759000b473a285d60814bc2c5927a9cb897644da46890de71e59df590cd6fe1b226a95e19a566b6fc127fd85032de0d9fdd3d529e5e50cd96ad51f28</span></span>
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">]</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></div>`,18)])])}const o=i(t,[["render",l]]),p=JSON.parse('{"path":"/ops/blockchain/practice/console-operator/","title":"Console ","lang":"zh-CN","frontmatter":{"title":"Console ","createTime":"2025/10/03 02:55:49","permalink":"/ops/blockchain/practice/console-operator/","description":"Console Console FISCO BCOS Solidity Console ...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Console \\",\\"image\\":[\\"https://image.simengweb.com/notes/ops/blockchain/practice/console-operator/2025-10-03-161500.png\\"],\\"dateModified\\":\\"2026-01-09T02:03:40.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/ops/blockchain/practice/console-operator/"}],["meta",{"property":"og:site_name","content":""}],["meta",{"property":"og:title","content":"Console "}],["meta",{"property":"og:description","content":"Console Console FISCO BCOS Solidity Console ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:image","content":"https://image.simengweb.com/notes/ops/blockchain/practice/console-operator/2025-10-03-161500.png"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-01-09T02:03:40.000Z"}],["meta",{"property":"article:modified_time","content":"2026-01-09T02:03:40.000Z"}]]},"readingTime":{"minutes":1.15,"words":344},"git":{"createdTime":1767924220000,"updatedTime":1767924220000,"contributors":[{"name":"","username":"","email":"3501646051@qq.com","commits":1,"avatar":"https://gravatar.com/avatar/6406a81eeddc359cf3d3ce018797689fc6d014ff06215c27d0210b42e8f5a8ab?d=retro"}]},"autoDesc":true,"filePathRelative":"notes/ops/blockchain/practice/console-operator.md","headers":[]}');export{o as comp,p as data}; <span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">]</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></div>`,18)])])}const o=i(t,[["render",l]]),p=JSON.parse('{"path":"/ops/blockchain/practice/console-operator/","title":"Console | ","lang":"zh-CN","frontmatter":{"title":"Console ","createTime":"2025/10/03 02:55:49","permalink":"/ops/blockchain/practice/console-operator/","description":"Console Console FISCO BCOS Solidity Console ...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Console \\",\\"image\\":[\\"https://image.simengweb.com/notes/ops/blockchain/practice/console-operator/2025-10-03-161500.png\\"],\\"dateModified\\":\\"2026-01-09T02:03:40.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/ops/blockchain/practice/console-operator/"}],["meta",{"property":"og:site_name","content":""}],["meta",{"property":"og:title","content":"Console "}],["meta",{"property":"og:description","content":"Console Console FISCO BCOS Solidity Console ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:image","content":"https://image.simengweb.com/notes/ops/blockchain/practice/console-operator/2025-10-03-161500.png"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-01-09T02:03:40.000Z"}],["meta",{"property":"article:modified_time","content":"2026-01-09T02:03:40.000Z"}]]},"readingTime":{"minutes":1.15,"words":344},"git":{"createdTime":1767924220000,"updatedTime":1767924220000,"contributors":[{"name":"","username":"","email":"3501646051@qq.com","commits":1,"avatar":"https://gravatar.com/avatar/6406a81eeddc359cf3d3ce018797689fc6d014ff06215c27d0210b42e8f5a8ab?d=retro"}]},"autoDesc":true,"filePathRelative":"notes/ops/blockchain/practice/console-operator.md","headers":[]}');export{o as comp,p as data};

View File

@@ -1 +0,0 @@
import{_ as t,c as e,o as a}from"./app-BJYYgOLS.js";const n={};function r(o,c){return a(),e("div")}const l=t(n,[["render",r]]),i=JSON.parse('{"path":"/blog/tags/","title":"标签","lang":"zh-CN","frontmatter":{"lang":"zh-CN","title":"标签","gitInclude":[],"draft":true},"readingTime":{"minutes":0,"words":0},"git":{},"filePathRelative":null,"headers":[],"type":"blog-tags"}');export{l as comp,i as data};

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
import{_ as r,c as n,b as t,d as o,e as i,w as p,r as s,o as m}from"./app-DTJ1dk4L.js";const d={};function l(c,e){const a=s("VPLink");return m(),n("div",null,[e[3]||(e[3]=t("h1",{id:"模型",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#模型"},[t("span",null,"模型")])],-1)),e[4]||(e[4]=t("p",null,"这里是我和大模型、RAG、本地部署还有各种工具链打交道的地方",-1)),e[5]||(e[5]=t("p",null,"和博客里的随想不同这些笔记会更系统化一些方便以后自己回来查的时候能一把抓到重点。左侧的目录会随着我记的东西越来越多而慢慢展开就像「英语学习」「Web 开发」那些栏目一样,可以按专题慢慢逛。",-1)),t("p",null,[e[1]||(e[1]=o("当然啦,如果只是突然想到什么、想随手记几句碎碎念,还是会丢进 ",-1)),i(a,{href:"/blog/"},{default:p(()=>[...e[0]||(e[0]=[o("博客",-1)])]),_:1}),e[2]||(e[2]=o(" 里,那里更适合发点动态更新的小东西~",-1))])])}const u=r(d,[["render",l]]),g=JSON.parse('{"path":"/ai/","title":"模型 | 模型","lang":"zh-CN","frontmatter":{"title":"模型","createTime":"2026/03/29 20:00:00","permalink":"/ai/","description":"模型 这里是我和大模型、RAG、本地部署还有各种工具链打交道的地方 和博客里的随想不同这些笔记会更系统化一些方便以后自己回来查的时候能一把抓到重点。左侧的目录会随着我记的东西越来越多而慢慢展开就像「英语学习」「Web 开发」那些栏目一样,可以按专题慢慢逛。 当然啦,如果只是突然想到什么、想随手记几句碎碎念,还是会丢进 里,那里更适合发点动态更新...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"模型\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-03-29T05:21:46.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/ai/"}],["meta",{"property":"og:site_name","content":"仲夏夜之梦"}],["meta",{"property":"og:title","content":"模型"}],["meta",{"property":"og:description","content":"模型 这里是我和大模型、RAG、本地部署还有各种工具链打交道的地方 和博客里的随想不同这些笔记会更系统化一些方便以后自己回来查的时候能一把抓到重点。左侧的目录会随着我记的东西越来越多而慢慢展开就像「英语学习」「Web 开发」那些栏目一样,可以按专题慢慢逛。 当然啦,如果只是突然想到什么、想随手记几句碎碎念,还是会丢进 里,那里更适合发点动态更新..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-03-29T05:21:46.000Z"}],["meta",{"property":"article:modified_time","content":"2026-03-29T05:21:46.000Z"}]]},"readingTime":{"minutes":0.56,"words":168},"git":{"createdTime":1774761706000,"updatedTime":1774761706000,"contributors":[{"name":"祀梦","username":"","email":"3501646051@qq.com","commits":1,"avatar":"https://gravatar.com/avatar/6406a81eeddc359cf3d3ce018797689fc6d014ff06215c27d0210b42e8f5a8ab?d=retro"}]},"autoDesc":true,"filePathRelative":"notes/ai/README.md","headers":[]}');export{u as comp,g as data};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
import{_ as r,c as t,a,o}from"./app-BJYYgOLS.js";const n={};function l(i,e){return o(),t("div",null,[...e[0]||(e[0]=[a('<p>这里是我在LeetCode刷题过程中记录的解题思路和代码实现。通过整理这些题解希望能够提高自己的算法水平和编程能力。</p><h2 id="题解分类" tabindex="-1"><a class="header-anchor" href="#题解分类"><span>题解分类</span></a></h2><h3 id="数组与字符串" tabindex="-1"><a class="header-anchor" href="#数组与字符串"><span>数组与字符串</span></a></h3><ul><li><a href="https://leetcode-cn.com/problems/two-sum/" target="_blank" rel="noopener noreferrer">两数之和</a></li><li><a href="https://leetcode-cn.com/problems/3sum/" target="_blank" rel="noopener noreferrer">三数之和</a></li></ul><h3 id="链表" tabindex="-1"><a class="header-anchor" href="#链表"><span>链表</span></a></h3><ul><li><a href="https://leetcode-cn.com/problems/reverse-linked-list/" target="_blank" rel="noopener noreferrer">反转链表</a></li><li><a href="https://leetcode-cn.com/problems/merge-two-sorted-lists/" target="_blank" rel="noopener noreferrer">合并两个有序链表</a></li></ul><h3 id="动态规划" tabindex="-1"><a class="header-anchor" href="#动态规划"><span>动态规划</span></a></h3><ul><li><a href="https://leetcode-cn.com/problems/climbing-stairs/" target="_blank" rel="noopener noreferrer">爬楼梯</a></li><li><a href="https://leetcode-cn.com/problems/longest-palindromic-substring/" target="_blank" rel="noopener noreferrer">最长回文子串</a></li></ul><h2 id="解题技巧" tabindex="-1"><a class="header-anchor" href="#解题技巧"><span>解题技巧</span></a></h2><ol><li><strong>双指针法</strong>:常用于数组、链表问题,如两数之和、反转链表等</li><li><strong>滑动窗口</strong>:处理字符串子串问题</li><li><strong>动态规划</strong>:将原问题分解为子问题,自底向上求解</li><li><strong>分治法</strong>:将问题分成若干子问题,分别求解后合并结果</li></ol><h2 id="学习资源" tabindex="-1"><a class="header-anchor" href="#学习资源"><span>学习资源</span></a></h2><ul><li><a href="https://leetcode-cn.com/problemset/all/" target="_blank" rel="noopener noreferrer">LeetCode官方题解</a></li><li><a href="https://programmercarl.com/" target="_blank" rel="noopener noreferrer">代码随想录</a></li><li><a href="https://mitpress.mit.edu/books/introduction-algorithms" target="_blank" rel="noopener noreferrer">算法导论</a></li></ul>',12)])])}const c=r(n,[["render",l]]),p=JSON.parse('{"path":"/programming/leetcode/","title":"LeetCode 题解笔记","lang":"zh-CN","frontmatter":{"title":"LeetCode 题解笔记","description":"记录LeetCode算法题的解题思路和代码实现","createTime":"2025/09/22 08:09:52","permalink":"/programming/leetcode/","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"LeetCode 题解笔记\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-01-09T02:03:40.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/programming/leetcode/"}],["meta",{"property":"og:site_name","content":"仲夏夜之梦"}],["meta",{"property":"og:title","content":"LeetCode 题解笔记"}],["meta",{"property":"og:description","content":"记录LeetCode算法题的解题思路和代码实现"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-01-09T02:03:40.000Z"}],["meta",{"property":"article:modified_time","content":"2026-01-09T02:03:40.000Z"}]]},"readingTime":{"minutes":0.89,"words":268},"git":{"createdTime":1767924220000,"updatedTime":1767924220000,"contributors":[{"name":"祀梦","username":"","email":"3501646051@qq.com","commits":1,"avatar":"https://gravatar.com/avatar/6406a81eeddc359cf3d3ce018797689fc6d014ff06215c27d0210b42e8f5a8ab?d=retro"}]},"filePathRelative":"notes/programming/leetcode/README.md","headers":[]}');export{c as comp,p as data};

View File

@@ -0,0 +1 @@
import{_ as e,c as t,o as a}from"./app-DTJ1dk4L.js";const r={};function c(n,o){return a(),t("div")}const i=e(r,[["render",c]]),l=JSON.parse('{"path":"/article/categories/","title":"分类","lang":"zh-CN","frontmatter":{"lang":"zh-CN","title":"分类","gitInclude":[],"draft":true},"readingTime":{"minutes":0,"words":0},"git":{},"filePathRelative":null,"headers":[],"type":"posts-categories"}');export{i as comp,l as data};

View File

@@ -1,4 +1,4 @@
import{_ as i,c as a,a as n,o as h}from"./app-BJYYgOLS.js";const k={};function l(p,s){return h(),a("div",null,[...s[0]||(s[0]=[n(`<h2 id="一、x-质数" tabindex="-1"><a class="header-anchor" href="#一、x-质数"><span>一、X 质数</span></a></h2><h3 id="题目" tabindex="-1"><a class="header-anchor" href="#题目"><span>题目</span></a></h3><p>题目链接0X质数 - 蓝桥云课</p><h3 id="问题描述" tabindex="-1"><a class="header-anchor" href="#问题描述"><span>问题描述</span></a></h3><p>对于一个含有 M 个数位的正整数 N ,任意选中其中 K 个不同的数位0≤K&lt;M将这些选中的数位删除之后余下的数位按照原来的顺序组成了一个新的数字 P 。如果至少存在一个 P 是质数,我们就称 N 是一个 X 质数。例如,对于整数 7869 ,我们可以删去 7 和 6 ,得到一个新的数字 89 ,由于 89 是一个质数,因此 7869 是一个 X 质数。又如,对于整数 77 ,可以删去一个 7 后变为质数 7 ,因此 77 也是一个 X 质数。</p><p>请问 1 (含)至 1000000中一共有多少个不同的 X 质数。</p><h3 id="解析" tabindex="-1"><a class="header-anchor" href="#解析"><span>解析</span></a></h3><p>先通过埃氏筛,获取到范围内的所有质数。然后遍历每个数字的所有子串,查看是否满足 X 质数的定义,我们只要找到一个符合条件的子串即可退出循环,只要子串是质数或者 X 质数,我们都可以认定当前数字为 X 质数。</p><p>这里在寻找每个数的子串的时候,可以采用二进制的方式,详情查看:通过位运算快速生成所有的子序列|祀梦的个人博客</p><h3 id="答案" tabindex="-1"><a class="header-anchor" href="#答案"><span>答案</span></a></h3><div class="language-python line-numbers-mode" data-highlighter="shiki" data-ext="python" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-python"><span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># import os</span></span> import{_ as i,c as a,a as n,o as h}from"./app-DTJ1dk4L.js";const k={};function l(p,s){return h(),a("div",null,[...s[0]||(s[0]=[n(`<h2 id="一、x-质数" tabindex="-1"><a class="header-anchor" href="#一、x-质数"><span>一、X 质数</span></a></h2><h3 id="题目" tabindex="-1"><a class="header-anchor" href="#题目"><span>题目</span></a></h3><p>题目链接0X质数 - 蓝桥云课</p><h3 id="问题描述" tabindex="-1"><a class="header-anchor" href="#问题描述"><span>问题描述</span></a></h3><p>对于一个含有 M 个数位的正整数 N ,任意选中其中 K 个不同的数位0≤K&lt;M将这些选中的数位删除之后余下的数位按照原来的顺序组成了一个新的数字 P 。如果至少存在一个 P 是质数,我们就称 N 是一个 X 质数。例如,对于整数 7869 ,我们可以删去 7 和 6 ,得到一个新的数字 89 ,由于 89 是一个质数,因此 7869 是一个 X 质数。又如,对于整数 77 ,可以删去一个 7 后变为质数 7 ,因此 77 也是一个 X 质数。</p><p>请问 1 (含)至 1000000中一共有多少个不同的 X 质数。</p><h3 id="解析" tabindex="-1"><a class="header-anchor" href="#解析"><span>解析</span></a></h3><p>先通过埃氏筛,获取到范围内的所有质数。然后遍历每个数字的所有子串,查看是否满足 X 质数的定义,我们只要找到一个符合条件的子串即可退出循环,只要子串是质数或者 X 质数,我们都可以认定当前数字为 X 质数。</p><p>这里在寻找每个数的子串的时候,可以采用二进制的方式,详情查看:通过位运算快速生成所有的子序列|祀梦的个人博客</p><h3 id="答案" tabindex="-1"><a class="header-anchor" href="#答案"><span>答案</span></a></h3><div class="language-python line-numbers-mode" data-highlighter="shiki" data-ext="python" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;"><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code class="language-python"><span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># import os</span></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># import sys</span></span> <span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># import sys</span></span>
<span class="line"></span> <span class="line"></span>
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># def is_prime(n):</span></span> <span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># def is_prime(n):</span></span>
@@ -127,4 +127,4 @@ import{_ as i,c as a,a as n,o as h}from"./app-BJYYgOLS.js";const k={};function l
<span class="line"><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> ans </span><span style="--shiki-light:#999999;--shiki-dark:#666666;">=</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;"> max</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">(</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> (</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> i </span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;">-</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> L </span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;">-</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;"> 1</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> )</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;"> *</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> A</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">[</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">prev_i</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">]</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> ,</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">ans</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">)</span></span> <span class="line"><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> ans </span><span style="--shiki-light:#999999;--shiki-dark:#666666;">=</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;"> max</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">(</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> (</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> i </span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;">-</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> L </span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;">-</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;"> 1</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> )</span><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;"> *</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> A</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">[</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">prev_i</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">]</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> ,</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">ans</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">)</span></span>
<span class="line"><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> stack</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">.</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">append</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">(</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">i</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">)</span></span> <span class="line"><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> stack</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">.</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">append</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">(</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">i</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">)</span></span>
<span class="line"></span> <span class="line"></span>
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">print</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">(</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">ans</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">)</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="" tabindex="-1"><a class="header-anchor" href="#"><span></span></a></h2><h2 id="" tabindex="-1"><a class="header-anchor" href="#"><span></span></a></h2><h2 id="" tabindex="-1"><a class="header-anchor" href="#"><span></span></a></h2><h2 id="" tabindex="-1"><a class="header-anchor" href="#"><span></span></a></h2><h2 id="" tabindex="-1"><a class="header-anchor" href="#"><span></span></a></h2>`,60)])])}const e=i(k,[["render",l]]),d=JSON.parse('{"path":"/archives/b1c77a1d-d402-4788-8049-fa3aeb12ebd0/","title":" Python ","lang":"zh-CN","frontmatter":{"title":" Python ","createTime":"2026/01/09 15:57:22","permalink":"/archives/b1c77a1d-d402-4788-8049-fa3aeb12ebd0/","tags":["contest"],"description":"X 0X - M N K 0K<M P P N X 7869 7 6 ...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\" Python \\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-03-28T16:28:45.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/archives/b1c77a1d-d402-4788-8049-fa3aeb12ebd0/"}],["meta",{"property":"og:site_name","content":""}],["meta",{"property":"og:title","content":" Python "}],["meta",{"property":"og:description","content":"X 0X - M N K 0K<M P P N X 7869 7 6 ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-03-28T16:28:45.000Z"}],["meta",{"property":"article:tag","content":"contest"}],["meta",{"property":"article:modified_time","content":"2026-03-28T16:28:45.000Z"}]]},"readingTime":{"minutes":6.48,"words":1944},"git":{"createdTime":1767946229000,"updatedTime":1774715325000,"contributors":[{"name":"","username":"","email":"3501646051@qq.com","commits":2,"avatar":"https://gravatar.com/avatar/6406a81eeddc359cf3d3ce018797689fc6d014ff06215c27d0210b42e8f5a8ab?d=retro"}]},"autoDesc":true,"filePathRelative":"blog/competition/14th-lanqiaocup-python-grad.md","headers":[],"categoryList":[{"id":"126ac9","sort":10000,"name":""},{"id":"83ee8d","sort":10004,"name":""}]}');export{e as comp,d as data}; <span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">print</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">(</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">ans</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">)</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="" tabindex="-1"><a class="header-anchor" href="#"><span></span></a></h2><h2 id="" tabindex="-1"><a class="header-anchor" href="#"><span></span></a></h2><h2 id="" tabindex="-1"><a class="header-anchor" href="#"><span></span></a></h2><h2 id="" tabindex="-1"><a class="header-anchor" href="#"><span></span></a></h2><h2 id="" tabindex="-1"><a class="header-anchor" href="#"><span></span></a></h2>`,60)])])}const e=i(k,[["render",l]]),d=JSON.parse('{"path":"/archives/b1c77a1d-d402-4788-8049-fa3aeb12ebd0/","title":" Python | ","lang":"zh-CN","frontmatter":{"title":" Python ","createTime":"2026/01/09 15:57:22","permalink":"/archives/b1c77a1d-d402-4788-8049-fa3aeb12ebd0/","tags":["contest"],"description":"X 0X - M N K 0K<M P P N X 7869 7 6 ...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\" Python \\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-03-28T16:28:45.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/archives/b1c77a1d-d402-4788-8049-fa3aeb12ebd0/"}],["meta",{"property":"og:site_name","content":""}],["meta",{"property":"og:title","content":" Python "}],["meta",{"property":"og:description","content":"X 0X - M N K 0K<M P P N X 7869 7 6 ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-03-28T16:28:45.000Z"}],["meta",{"property":"article:tag","content":"contest"}],["meta",{"property":"article:modified_time","content":"2026-03-28T16:28:45.000Z"}]]},"readingTime":{"minutes":6.48,"words":1944},"git":{"createdTime":1767946229000,"updatedTime":1774715325000,"contributors":[{"name":"","username":"","email":"3501646051@qq.com","commits":2,"avatar":"https://gravatar.com/avatar/6406a81eeddc359cf3d3ce018797689fc6d014ff06215c27d0210b42e8f5a8ab?d=retro"}]},"autoDesc":true,"filePathRelative":"blog/competition/14th-lanqiaocup-python-grad.md","headers":[],"categoryList":[{"id":"3190db","sort":10003,"name":""}]}');export{e as comp,d as data};

Some files were not shown because too many files have changed in this diff Show More