Files
server-configs/siyuan/data/plugins/kmind-plugin/app/app.js
2026-02-13 22:24:27 +08:00

1 line
101 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
(function(e){function t(t){for(var n,i,l=t[0],d=t[1],s=t[2],c=0,u=[];c<l.length;c++)i=l[c],Object.prototype.hasOwnProperty.call(r,i)&&r[i]&&u.push(r[i][0]),r[i]=0;for(n in d)Object.prototype.hasOwnProperty.call(d,n)&&(e[n]=d[n]);p&&p(t);while(u.length)u.shift()();return a.push.apply(a,s||[]),o()}function o(){for(var e,t=0;t<a.length;t++){for(var o=a[t],n=!0,i=1;i<o.length;i++){var l=o[i];0!==r[l]&&(n=!1)}n&&(a.splice(t--,1),e=d(d.s=o[0]))}return e}var n={},i={app:0},r={app:0},a=[];function l(e){return d.p+"js/"+({}[e]||e)+".js"}function d(t){if(n[t])return n[t].exports;var o=n[t]={i:t,l:!1,exports:{}};return e[t].call(o.exports,o,o.exports,d),o.l=!0,o.exports}d.e=function(e){var t=[],o={"chunk-35114226":1,"chunk-1ab5e92d":1,"chunk-df089062":1,"chunk-3222d6ee":1};i[e]?t.push(i[e]):0!==i[e]&&o[e]&&t.push(i[e]=new Promise((function(t,o){for(var n="css/"+({}[e]||e)+".css",r=d.p+n,a=document.getElementsByTagName("link"),l=0;l<a.length;l++){var s=a[l],c=s.getAttribute("data-href")||s.getAttribute("href");if("stylesheet"===s.rel&&(c===n||c===r))return t()}var u=document.getElementsByTagName("style");for(l=0;l<u.length;l++){s=u[l],c=s.getAttribute("data-href");if(c===n||c===r)return t()}var p=document.createElement("link");p.rel="stylesheet",p.type="text/css",p.onload=t,p.onerror=function(t){var n=t&&t.target&&t.target.src||r,a=new Error("Loading CSS chunk "+e+" failed.\n("+n+")");a.code="CSS_CHUNK_LOAD_FAILED",a.request=n,delete i[e],p.parentNode.removeChild(p),o(a)},p.href=r;var m=document.getElementsByTagName("head")[0];m.appendChild(p)})).then((function(){i[e]=0})));var n=r[e];if(0!==n)if(n)t.push(n[2]);else{var a=new Promise((function(t,o){n=r[e]=[t,o]}));t.push(n[2]=a);var s,c=document.createElement("script");c.charset="utf-8",c.timeout=120,d.nc&&c.setAttribute("nonce",d.nc),c.src=l(e);var u=new Error;s=function(t){c.onerror=c.onload=null,clearTimeout(p);var o=r[e];if(0!==o){if(o){var n=t&&("load"===t.type?"missing":t.type),i=t&&t.target&&t.target.src;u.message="Loading chunk "+e+" failed.\n("+n+": "+i+")",u.name="ChunkLoadError",u.type=n,u.request=i,o[1](u)}r[e]=void 0}};var p=setTimeout((function(){s({type:"timeout",target:c})}),12e4);c.onerror=c.onload=s,document.head.appendChild(c)}return Promise.all(t)},d.m=e,d.c=n,d.d=function(e,t,o){d.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},d.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.t=function(e,t){if(1&t&&(e=d(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(d.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)d.d(o,n,function(t){return e[t]}.bind(null,n));return o},d.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return d.d(t,"a",t),t},d.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},d.p="",d.oe=function(e){throw console.error(e),e};var s=window["webpackJsonp"]=window["webpackJsonp"]||[],c=s.push.bind(s);s.push=t,s=s.slice();for(var u=0;u<s.length;u++)t(s[u]);var p=c;a.push([0,"chunk-vendors"]),o()})({0:function(e,t,o){e.exports=o("56d7")},"0485":function(e,t,o){"use strict";o.d(t,"d",(function(){return n})),o.d(t,"a",(function(){return i})),o.d(t,"c",(function(){return r})),o.d(t,"b",(function(){return a}));let n=function(e){return e[e["DEBUG"]=0]="DEBUG",e[e["INFO"]=1]="INFO",e[e["WARN"]=2]="WARN",e[e["ERROR"]=3]="ERROR",e[e["NONE"]=99]="NONE",e}({});const i={level:n.INFO,enabledTypes:["*"],console:!0,persist:!1,maxLogs:1e3,showTimestamp:!0,showSource:!0,showClickablePath:!0,handlers:[]},r={[n.DEBUG]:"DEBUG",[n.INFO]:"INFO",[n.WARN]:"WARN",[n.ERROR]:"ERROR",[n.NONE]:"NONE"},a={[n.DEBUG]:"#999999",[n.INFO]:"#2196F3",[n.WARN]:"#FF9800",[n.ERROR]:"#F44336",[n.NONE]:"#000000"}},"0e71":function(e,t,o){"use strict";o.r(t),o.d(t,"向思源请求数据",(function(){return n})),o.d(t,"searchRefBlock",(function(){return r})),o.d(t,"deleteBlock",(function(){return a})),o.d(t,"insertBlock",(function(){return l})),o.d(t,"updateBlock",(function(){return d})),o.d(t,"sql",(function(){return s})),o.d(t,"uploadAsset",(function(){return c})),o.d(t,"putFile",(function(){return u})),o.d(t,"putFileDirect",(function(){return p})),o.d(t,"putKmindFile",(function(){return m})),o.d(t,"putKmindTempConfigFile",(function(){return g})),o.d(t,"listFile",(function(){return h})),o.d(t,"deleteFile",(function(){return f})),o.d(t,"renameFile",(function(){return y})),o.d(t,"getFile",(function(){return w})),o.d(t,"getKmindTempConfigFile",(function(){return T})),o.d(t,"getDocInfo",(function(){return v})),o.d(t,"getBlockInfo",(function(){return S})),o.d(t,"getBlockDOM",(function(){return k})),o.d(t,"getBlockKramdown",(function(){return D})),o.d(t,"exportPreview",(function(){return N})),o.d(t,"listFileForPlugin",(function(){return b})),o.d(t,"getFileForPlugin",(function(){return E})),o.d(t,"putFileForPlugin",(function(){return O})),o.d(t,"deleteFileForPlugin",(function(){return C})),o.d(t,"putFileDirectForPlugin",(function(){return I})),o.d(t,"forwardProxyForPlugin",(function(){return _})),o.d(t,"getKmindUserInfoFile",(function(){return F})),o.d(t,"putKmindUserInfoFile",(function(){return x})),o.d(t,"setBlockAttrs",(function(){return M})),o.d(t,"getBlockAttrs",(function(){return R})),o.d(t,"createDoc",(function(){return P})),o.d(t,"listDocTree",(function(){return A})),o.d(t,"listDocsByPath",(function(){return L})),o.d(t,"changeSort",(function(){return B})),o.d(t,"renameDoc",(function(){return G})),o.d(t,"renameDocByID",(function(){return H})),o.d(t,"removeDoc",(function(){return W})),o.d(t,"removeDocByID",(function(){return U})),o.d(t,"moveDocsByID",(function(){return j})),o.d(t,"getRefText",(function(){return z})),o.d(t,"getHPathByID",(function(){return Y})),o.d(t,"getPathByID",(function(){return K}));o("d9e2"),o("2c66"),o("249d"),o("40e9"),o("907a"),o("986a"),o("1d02"),o("3c5d"),o("6ce5"),o("2834"),o("4ea1");async function n(e,t,{headers:o}={headers:void 0}){let n=null;return await fetch(e,{body:o?t:JSON.stringify(t),method:"POST"}).then((function(t){if(t.ok)return n=t.json(),n;const o=`API错误:(${e})${t.status} ${t.statusText}`;console.error(o)})),n}var i=function(e){return e["PutFile"]="/api/file/putFile",e["GetFile"]="/api/file/getFile",e["ListFile"]="/api/file/readDir",e["DeleteFile"]="/api/file/removeFile",e["UploadAsset"]="/api/asset/upload",e["renameFile"]="/api/file/renameFile",e["GetDocInfo"]="/api/block/getDocInfo",e["GetDoc"]="/api/block/getDoc",e["GetBlockInfo"]="/api/block/getBlockInfo",e["GetBlockDOM"]="/api/block/getBlockDOM",e["GetBlockKramdown"]="/api/block/getBlockKramdown",e["GetBlockAttrs"]="/api/attr/getBlockAttrs",e["SetBlockAttrs"]="/api/attr/setBlockAttrs",e["SQL"]="/api/query/sql",e["更新块"]="/api/block/updateBlock",e["插入块"]="/api/block/insertBlock",e["删除块"]="/api/block/deleteBlock",e["CreateDoc"]="/api/filetree/createDoc",e["ListDocTree"]="/api/filetree/listDocTree",e["ListDocsByPath"]="/api/filetree/listDocsByPath",e["ChangeSort"]="/api/filetree/changeSort",e["RenameDoc"]="/api/filetree/renameDoc",e["RenameDocByID"]="/api/filetree/renameDocByID",e["RemoveDoc"]="/api/filetree/removeDoc",e["RemoveDocByID"]="/api/filetree/removeDocByID",e["MoveDocs"]="/api/filetree/moveDocs",e["MoveDocsByID"]="/api/filetree/moveDocsByID",e["ExportPreview"]="/api/export/exportPreviewHTML",e}(i||{});const r=e=>{const t={beforeLen:32,isDatabase:!1,...e};return n("/api/search/searchRefBlock",t)},a=e=>n(i.删除块,{id:e}),l=e=>n(i.插入块,e),d=e=>n(i.更新块,e),s=e=>n(i.SQL,{stmt:e}),c=({path:e="/data/storage/petal/kmind/",file:t})=>{const o=new FormData;return o.append("assetsDirPath",e),o.append("file[]",t),n(i.UploadAsset,o,{headers:{"Content-Type":"multipart/form-data"}})},u=({file:e="",path:t="/data/storage/petal/kmind/",isDir:o=!1,modeTime:r=Date.now()})=>{const a=new FormData;return a.append("file",e),a.append("path",t),a.append("isDir",o),a.append("modeTime",r),n(i.PutFile,a,{headers:{"Content-Type":"multipart/form-data"}})},p=({target:e={},fileName:t="kmind",suffix:o="kmind",path:r="/data/storage/petal/kmind/",isDir:a=!1,modeTime:l=Date.now()})=>{const d=JSON.stringify(e),s=new Blob([d],{type:"application/json"}),c=new File([s],`${t}.${o}`,{type:"application/json",lastModified:l}),u=new FormData;return u.append("file",c),u.append("path",r),u.append("isDir",a),u.append("modeTime",l),n(i.PutFile,u,{headers:{"Content-Type":"multipart/form-data"}})},m=({target:e={},fileName:t="kmind"})=>p({target:e,fileName:t,suffix:"kmind",path:"/data/storage/petal/kmind/"}),g=(e={})=>p({target:e,fileName:"temp",suffix:"kmindconf",path:"/data/storage/petal/kmind/config/temp.kmindconf"}),h=({path:e="/assets/"})=>n(i.ListFile,{path:e}),f=({path:e})=>n(i.DeleteFile,{path:e}),y=({path:e,newPath:t})=>n(i.renameFile,{path:e,newPath:t}),w=({path:e})=>n(i.GetFile,{path:e}),T=()=>w({path:"/data/storage/petal/kmind/config/temp.kmindconf"}),v=e=>n(i.GetDocInfo,{id:e}),S=e=>n(i.GetBlockInfo,{id:e}),k=e=>n(i.GetBlockDOM,{id:e}),D=(e,t="md")=>n(i.GetBlockKramdown,{id:e,mode:t}),N=e=>n(i.ExportPreview,{id:e}),b=async({path:e})=>{try{const t=await n("/api/file/readDir",{path:e});if(0!==t.code)throw new Error("Failed to list files: "+(t.msg||"Unknown error"));return t.data||[]}catch(t){throw console.error("Error listing files:",t),t}},E=async({path:e})=>{try{var t;const o=await fetch("/api/file/getFile",{method:"POST",body:JSON.stringify({path:e})});if(!o.ok)throw new Error("Failed to get file: "+o.statusText);const n=null===(t=e.split(".").pop())||void 0===t?void 0:t.toLowerCase(),i=["webp","png","jpg","jpeg","gif","bmp","ico","pdf","zip","rar","7z"];if(n&&i.includes(n)){const e=await o.arrayBuffer();return new Uint8Array(e)}{const e=await o.text();try{return JSON.parse(e)}catch{return e}}}catch(o){throw console.error("Error getting file:",o),o}},O=async({path:e,isDir:t=!1,target:o})=>{try{if(t){const t=new FormData,o=new Blob([""],{type:"text/plain"});t.append("path",e),t.append("file",o,"dummy"),t.append("isDir","true");const n=await fetch("/api/file/putFile",{method:"POST",body:t}),i=await n.json();return i}{const t=new FormData;let n;n=o instanceof Uint8Array?new Blob([o],{type:"application/octet-stream"}):"string"===typeof o?new Blob([o],{type:"text/plain"}):new Blob([JSON.stringify(o)],{type:"application/json"}),t.append("path",e),t.append("file",n);const i=await fetch("/api/file/putFile",{method:"POST",body:t}),r=await i.json();return r}}catch(n){throw console.error("Error putting file:",n),n}},C=async({path:e})=>{try{const t=await n("/api/file/removeFile",{path:e});if(0!==t.code)throw new Error("Failed to delete file: "+(t.msg||"Unknown error"));return t}catch(t){throw console.error("Error deleting file:",t),t}},I=async({target:e,path:t})=>{try{const o=await n("/api/file/putFile",{path:t,file:"string"===typeof e?e:JSON.stringify(e,null,2),isDir:!1});if(0!==o.code)throw new Error("Failed to put file: "+(o.msg||"Unknown error"));return o}catch(o){throw console.error("Error putting file:",o),o}},_=async({url:e,method:t="GET",headers:o=[],payload:i})=>{try{const r={};o&&Array.isArray(o)&&o.forEach(e=>{Object.keys(e).forEach(t=>{r[t]=e[t]})});const a=await n("/api/network/forwardProxy",{url:e,method:t,headers:[r],payload:"string"===typeof i?i:JSON.stringify(i),timeout:3e4});return a}catch(r){throw console.error("Forward proxy request failed:",r),r}},F=()=>w({path:"/data/storage/petal/kmind/config/user.kmindconf"}),x=(e={})=>p({target:e,fileName:"user",suffix:"kmindconf",path:"/data/storage/petal/kmind/config/user.kmindconf"}),M=e=>n(i.SetBlockAttrs,e,{headers:void 0}),R=e=>n(i.GetBlockAttrs,{id:e}),P=e=>{const{notebook:t,path:o,title:r,listDocTree:a=!0,md:l="",sorts:d=[]}=e,s={notebook:t,path:o,title:r,listDocTree:a,md:l,sorts:d};return n(i.CreateDoc,s)},A=(e,t)=>{const o=t.endsWith(".sy")?t.slice(0,-3):t;return n(i.ListDocTree,{notebook:e,path:o})},L=(e,t)=>n(i.ListDocsByPath,{notebook:e,path:t}),B=e=>n(i.ChangeSort,e),G=e=>n(i.RenameDoc,e),H=e=>n(i.RenameDocByID,e),W=e=>n(i.RemoveDoc,e),U=e=>n(i.RemoveDocByID,e),j=e=>n(i.MoveDocsByID,e),z=e=>n("/api/block/getRefText",{id:e}),Y=e=>n("/api/filetree/getHPathByID",{id:e}),K=e=>n("/api/filetree/getPathByID",{id:e})},"1e48":function(e,t,o){"use strict";o.d(t,"a",(function(){return u}));o("d9e2");var n=o("88bb"),i=o("2b0e"),r=o("9225"),a=o("0e71");function l(e){e||(e={});const t=()=>"sy-doctree-doc-dom"===e.type||"sy-doctree-moc-dom"===e.type||"sy-doctree-outlinedoc-dom"===e.type?null:window.frameElement,o=()=>{const o=t();var n;if(o)return null===(n=o.parentElement)||void 0===n?void 0:n.parentElement;const i=e.name||e.docId,r=e.type;if(i){let e="kmind-doctree-doc-root";return"sy-doctree-moc-dom"===r?e="kmind-doctree-moc-root":"sy-doctree-outlinedoc-dom"===r&&(e="kmind-doctree-outlinedoc-root"),document.getElementById(`${e}-${i}`)}return null},n=()=>t(),i=()=>null!==window.frameElement&&window.parent!==window,r=()=>i()?window.parent:window,a=()=>{const e=o();if(e){const t={};return Array.from(e.attributes).forEach(e=>{e.name.startsWith("custom-")&&(t[e.name]=e.value)}),t}return{}};return{getFrameElement:t,getBlockNode:o,getIframeNode:n,isInIframe:i,getParentWindow:r,getContainerAttributes:a}}const d=Object(i["ref"])(0),s=Object(i["ref"])(0),c=e=>{const t=new WeakSet;return JSON.stringify(e,(e,o)=>{if("function"!==typeof o&&void 0!==o){if("object"===typeof o&&null!==o){if(t.has(o))return"[Circular Reference]";t.add(o)}return o}})},u=()=>{const e=e=>{const t=e.split("/")[0];switch(t){case"assets":return"sy-doctree-doc";case"data":return"sy-plugin"}},t=e=>{switch(null===e||void 0===e?void 0:e.type){case"sy-plugin":return g(null===e||void 0===e?void 0:e.name);case"sy-widget":return p();case"sy-plugin-doc2kmind":return k(null===e||void 0===e?void 0:e.name);case"sy-widget-mirror":const t=e.mirrorPath.split("/")[0];switch(t){case"assets":return w({path:"data/"+e.mirrorPath,tip:"mirrorPath"});case"data":return w({path:e.mirrorPath,tip:"mirrorPath"})}case"sy-doctree-doc-dom":case"sy-doctree-doc":case"sy-doctree-outlinedoc-dom":return h(e);case"sy-doctree-moc-dom":return S(e.name)}},i=(e,t)=>{switch(null===t||void 0===t?void 0:t.type){case"sy-plugin":return y(e,t);case"sy-widget":return m(e,t);case"sy-doctree-doc":case"sy-doctree-doc-dom":case"sy-doctree-outlinedoc-dom":return f(e,t);case"sy-doctree-moc-dom":return Promise.resolve()}},u=e=>{const{getBlockNode:t,getIframeNode:o}=l(e),n=t(),i=(null===n||void 0===n?void 0:n.getAttribute("data-type"))||"",r="NodeWidget"===i;if("NodeWidget"!==i)return{id:"",mindMapData:"",debuggerMode:"",filePath:"",dataAssets:"",blockNode:n,isWidget:r,iframeNode:o()};let a="sy-widget";const d=o(),s=(null===n||void 0===n?void 0:n.getAttribute("data-node-id"))||"20230302162223-3rxpzda",c=(null===n||void 0===n?void 0:n.getAttribute("custom-mind-map-data"))||"",u=(null===n||void 0===n?void 0:n.getAttribute("custom-debugger"))||"",p=(null===n||void 0===n?void 0:n.getAttribute("custom-file-path"))||"",m=(null===n||void 0===n?void 0:n.getAttribute("custom-kmind-widget-mirror"))||"",g=(null===n||void 0===n?void 0:n.getAttribute("custom-kmind-widget-mirror-target-node-id"))||"";let h,f=!1;return m&&(f=!0,a="sy-widget-mirror"),h=(null===n||void 0===n?void 0:n.getAttribute("custom-data-assets"))||"",{id:s,mindMapData:c,debuggerMode:u,filePath:p,dataAssets:h,blockNode:n,iframeNode:d,isWidget:r,isMirror:f,injectConfigType:a,mirrorPath:m,mirrorTargetNodeId:g}},p=()=>{const{id:e,mindMapData:t,debuggerMode:o,filePath:n,dataAssets:i}=u();return w({path:"/data/"+i})},m=async(e,t)=>{let{id:o,mindMapData:i,debuggerMode:r,filePath:l,dataAssets:d}=u();d=d||`assets/kmind-${o}.kmind`;const s="/data/"+d;await Object(a["setBlockAttrs"])({id:o,attrs:{"custom-mind-map-data":"","custom-file-path":"","custom-data-assets":d}}).catch(e=>{console.log(e),Object(n["a"])("保存数据失败请检查此挂件的自定义属性的data-assets是否正确!","error")}),D(e,t);const c=JSON.stringify(e),p=new Blob([c],{type:"application/json"}),m=new File([p],`kmind-${o}.kmind`,{type:"application/json",lastModified:Date.now()});await Object(a["putFile"])({file:m,path:s}).then(e=>{}).catch(e=>{Object(n["a"])("保存导图数据失败请检查此挂件的自定义属性的data-assets是否正确!","error"),console.log(e)})},g=e=>w({path:`/data/storage/petal/kmind/${e}.kmind`}),h=e=>{let{doctreeDocPath:t,syDocId:o,type:n}=e;t||(t="sy-doctree-outlinedoc-dom"===n?`assets/kmind-doctree-outlinedoc-${o}.kmind`:`assets/kmind-doctree-doc-${o}.kmind`);const i="/data/"+t;return w({path:i})},f=async(e,t)=>{var o,i;if(null!==(o=window)&&void 0!==o&&null!==(o=o.parent)&&void 0!==o&&null!==(o=o.kmindApi)&&void 0!==o&&null!==(o=o.plugin)&&void 0!==o&&o.isMobile&&!1===(null===(i=window)||void 0===i||null===(i=i.parent)||void 0===i||null===(i=i.kmindApi)||void 0===i||null===(i=i.globalConfig)||void 0===i?void 0:i.mobileDocTreeKmindEdit))return;const{doctreeDocPath:r,syDocId:l,type:d}=t;let s=r,c="custom-data-assets-kmind-doctree-doc";"sy-doctree-outlinedoc-dom"===d?(s=s||`assets/kmind-doctree-outlinedoc-${l}.kmind`,c="custom-data-assets-kmind-doctree-outlinedoc"):(s=s||`assets/kmind-doctree-doc-${l}.kmind`,c="custom-data-assets-kmind-doctree-doc");const u="/data/"+s,{data:p}=await Object(a["getBlockAttrs"])(l);p[c]||(console.log(c+" 不存在,设置文档属性"),await Object(a["setBlockAttrs"])({id:l,attrs:{[c]:s}}).catch(e=>{console.log(e),Object(n["a"])(`保存数据失败,请检查此文档的自定义属性的 ${c} 是否正确!`,"error")})),D(e,t);const m=JSON.stringify(e),g=new Blob([m],{type:"application/json"}),h=new File([g],""+u,{type:"application/json",lastModified:Date.now()});await Object(a["putFile"])({file:h,path:u}).then(e=>{}).catch(e=>{Object(n["a"])("保存导图数据失败请检查此文档的自定义属性的custom-data-assets-kmind-doctree-doc是否正确!","error"),console.log(e)})},y=async(e,t)=>{console.log("要保存的数据:",e),D(e,t);const o=c(e),i=new Blob([o],{type:"application/json"}),r=new File([i],t.name+".kmind",{type:"application/json",lastModified:Date.now()});await Object(a["putFile"])({file:r,path:`/data/storage/petal/kmind/${t.name}.kmind`}).then(e=>{}).catch(e=>{Object(n["a"])("保存导图数据失败请检查此挂件的自定义属性的data-assets是否正确!","error"),console.log(e)})},w=async({path:e,tip:t="data-assets"})=>Object(a["getFile"])({path:e}).then(e=>{var t,o;const n=e||{};n&&Array.isArray(n.roots)&&!n.multiRoot&&(n.multiRoot=!0);const i=(null===e||void 0===e||null===(t=e.kmind)||void 0===t?void 0:t.localConfig)||{},r=(null===e||void 0===e||null===(o=e.config)||void 0===o?void 0:o.rainbowLinesConfig)||{};return{mindMapData:n,localConfig:i,rainbowLinesConfig:r}}).catch(e=>{console.log(e),Object(n["a"])(`从本地读取导图数据失败,请检查此挂件的自定义属性的${t}是否正确!`,"error")}),T=async(e,t,o)=>{var n;const i=await o(e,t);if(!i||0!==i.code||null===(n=i.data)||void 0===n||!n.files)return[];const r=i.data.files,a=r.map(async t=>{const n=t.name.endsWith(".sy")?t.name.slice(0,-3):t.name,i={uid:t.id,title:n,children:[]};return t.subFileCount>0&&(i.children=await T(e,t.path,o)),i}),l=await Promise.all(a);return l},v=(e,t,o)=>{const n=e=>{const t={data:{text:e.title||"未命名",uid:e.uid,docId:e.uid},children:[]};return e.children&&e.children.length>0&&(t.children=e.children.map(e=>n(e))),t},i={data:{text:o,uid:t,docId:t},children:[]};return e&&0!==e.length?(i.children=e.map(e=>n(e)),{root:i}):{root:i}},S=async e=>{try{const{getBlockInfo:t,listDocsByPath:n}=await Promise.resolve().then(o.bind(null,"0e71")),i=await t(e);if(!i||0!==i.code)throw new Error("获取文档信息失败");const{box:r,path:a,rootTitle:l}=i.data,d=await T(r,a,n),s=v(d,e,l||"未命名");return{mindMapData:s,localConfig:{},rainbowLinesConfig:{}}}catch(t){return console.error("获取 MOC 数据失败:",t),Object(n["a"])("获取 MOC 数据失败","error"),{mindMapData:{root:{data:{text:"加载失败"},children:[]}},localConfig:{},rainbowLinesConfig:{}}}},k=async e=>{const{data:t}=await Object(a["getBlockInfo"])(e),o=`/data/${t.box}${t.path}`;return await Object(a["getFile"])({path:o})},D=(e,t)=>{const o=e=>{Object(n["a"])(e,"error")},i=!(null===e||void 0===e||!e.root),a=!0===(null===e||void 0===e?void 0:e.multiRoot)&&Array.isArray(null===e||void 0===e?void 0:e.roots)&&e.roots.length>0;if(0===Object.keys(e).length)throw o(String(r["a"].t("kmind.dataProtectionInterceptTip"))),new Error("KMind:数据为空,拦截保存! "+c(t));if(!i&&!a)throw o(String(r["a"].t("kmind.dataProtectionInterceptTip"))),new Error("KMind: 数据为空,拦截保存! "+c(t));return!0},N=e=>{var t;return null!==e&&void 0!==e&&e.multiRoot&&Array.isArray(e.roots)?e.roots=e.roots.map(e=>(e.smmVersion||(e.smmVersion="0.13.0"),e)):null!==e&&void 0!==e&&null!==(t=e.root)&&void 0!==t&&t.smmVersion||(e.root.smmVersion="0.13.0"),e};return{getDataFromWidget:p,saveDataToWidget:m,getDataFromPlugin:g,saveDataToPlugin:y,getDataFromSY:t,saveDataToSY:i,getWidgetBlockInfo:u,saveDataToDoctreeDoc:f,wordsCount:d,nodeCount:s,getMirrorType:e,compatibleSmmVersion:N,getMocDataFromSY:S,convertDocTreeToKmindData:v,buildDocumentTree:T}}},2278:function(e,t,o){"use strict";o.d(t,"a",(function(){return a})),o.d(t,"b",(function(){return s}));var n=o("2a15"),i=o("0485"),r=o("b2d1");const a={install(e,t){const o=(null===t||void 0===t?void 0:t.logger)||n["a"].getInstance();e.prototype.$logger=o,e.prototype.$log={debug:(e,t,n)=>{o.debug(e,t,n)},info:(e,t,n)=>{o.info(e,t,n)},warn:(e,t,n)=>{o.warn(e,t,n)},error:(e,t,n)=>{o.error(e,t,n)}},t&&t.trackLifecycle&&e.mixin({created(){const e=this.$options.name||"Anonymous";o.debug("vue-lifecycle","Component created: "+e)},mounted(){const e=this.$options.name||"Anonymous";o.debug("vue-lifecycle","Component mounted: "+e)},destroyed(){const e=this.$options.name||"Anonymous";o.debug("vue-lifecycle","Component destroyed: "+e)}}),e.config.errorHandler=(e,t,n)=>{var i;const r=(null===t||void 0===t||null===(i=t.$options)||void 0===i?void 0:i.name)||"Unknown";o.error("vue-error",`Error in component ${r}: ${n}`,{error:e,component:r,info:n,stack:e.stack})}}};let l=!1;const d=e=>{if(l)return;const t="undefined"!==typeof localStorage&&!!localStorage.getItem("kmind-logger-config");if(!t){const t=r["a"];"dev"===t?e.updateConfig({level:i["d"].DEBUG,enabledTypes:["*"],console:!0,persist:!0,maxLogs:2e3,showTimestamp:!0,showSource:!0,showClickablePath:!0}):e.updateConfig({level:i["d"].NONE,enabledTypes:["*"],console:!1,persist:!1,maxLogs:1,showTimestamp:!1,showSource:!1,showClickablePath:!1})}l=!0};function s(e){const t=n["a"].getInstance();return d(t),e?{logger:t,debug:(o,n)=>t.debug(e,o,n),info:(o,n)=>t.info(e,o,n),warn:(o,n)=>t.warn(e,o,n),error:(o,n)=>t.error(e,o,n),withType:e=>({debug:(o,n)=>t.debug(e,o,n),info:(o,n)=>t.info(e,o,n),warn:(o,n)=>t.warn(e,o,n),error:(o,n)=>t.error(e,o,n)})}:{logger:t,debug:t.debug.bind(t),info:t.info.bind(t),warn:t.warn.bind(t),error:t.error.bind(t)}}},"2a15":function(e,t,o){"use strict";o.d(t,"a",(function(){return r}));var n=o("ade3"),i=(o("d9e2"),o("14d9"),o("0485"));class r{static getInstance(){return this.instance||(this.instance=new r),this.instance}static destroy(){this.instance&&(this.instance.destroy(),this.instance=null)}constructor(){Object(n["a"])(this,"logs",[]),Object(n["a"])(this,"CONFIG_KEY","kmind-logger-config"),Object(n["a"])(this,"LOGS_KEY","kmind-logger-logs"),Object(n["a"])(this,"storageListener",null),this.config=this.loadConfig(),this.logs=this.loadLogs(),this.setupStorageListener()}destroy(){this.storageListener&&(window.removeEventListener("storage",this.storageListener),this.storageListener=null)}safeStringify(e){const t=new WeakSet;return JSON.stringify(e,(e,o)=>{if("function"!==typeof o&&void 0!==o){if("object"===typeof o&&null!==o){if(t.has(o))return"[Circular Reference]";if(t.add(o),o.constructor&&"MindMapNode"===o.constructor.name)return"[MindMapNode]";if("_node"===e)return"[Node Reference]"}return o}})}loadConfig(){if("undefined"===typeof localStorage)return{...i["a"]};try{const e=localStorage.getItem(this.CONFIG_KEY);if(e)return{...i["a"],...JSON.parse(e)}}catch(e){console.warn("Failed to load logger config:",e)}return{...i["a"]}}loadLogs(){if(!this.config.persist||"undefined"===typeof localStorage)return[];try{const e=localStorage.getItem(this.LOGS_KEY);if(e)return JSON.parse(e)}catch(e){console.warn("Failed to load logger logs:",e)}return[]}setupStorageListener(){"undefined"!==typeof window&&"undefined"!==typeof localStorage&&(this.storageListener=e=>{if(e.key===this.CONFIG_KEY&&e.newValue)try{const t=JSON.parse(e.newValue);this.config={...i["a"],...t}}catch(t){console.warn("Failed to parse logger config from storage:",t)}},window.addEventListener("storage",this.storageListener))}isElectron(){return!("undefined"===typeof window||!window.process||!window.process.type)}detectSource(){if("undefined"!==typeof window&&window.parent!==window)return"iframe-app";if("undefined"!==typeof globalThis&&globalThis.kmindApi){const e=(new Error).stack||"";return e.includes("siyuan-plugin-src")?"plugin":"dom-app"}return"web-app"}trimLogs(){this.logs.length>this.config.maxLogs&&(this.logs=this.logs.slice(-this.config.maxLogs))}saveLogs(){if(this.config.persist&&"undefined"!==typeof localStorage)try{localStorage.setItem(this.LOGS_KEY,this.safeStringify(this.logs))}catch(e){this.logs=this.logs.slice(-Math.floor(this.config.maxLogs/2));try{localStorage.setItem(this.LOGS_KEY,this.safeStringify(this.logs))}catch(t){console.warn("Failed to save logs:",t)}}}output(e){this.config.console&&this.consoleOutput(e),this.config.handlers&&this.config.handlers.length>0&&this.config.handlers.forEach(t=>{try{t.handle(e)}catch(o){console.error(`Logger handler "${t.name||"unknown"}" error:`,o)}})}getCallerInfo(){try{const e=new Error,t=e.stack;if(!t)return null;const o=t.split("\n"),n=["logger.ts","logger.js","vue-plugin.ts","vue-plugin.js","useLogger","createTypedLogger"];let i=null;for(let a=2;a<o.length;a++){const e=o[a];if(!e)continue;let t=!1;for(const o of n)if(e.includes(o)){t=!0;break}if(!t&&(e.includes("://")||e.includes("at "))){i=e;break}}if(!i)return null;const r=i.match(/\((.*?)\)/);if(r){let e=r[1];e.includes("webpack:///./")?e=e.replace("webpack:///./","webpack:///"):e.includes("/./")&&(e=e.replace("/./","/")),this.isElectron()&&(e=e.replace(/\.(ts|js|tsx|jsx|vue)\?:/g,".$1:"));const t=e.lastIndexOf(":"),o=e.lastIndexOf(":",t-1);if(o>-1){const n=e.substring(0,o),i=e.substring(o+1,t),r=e.substring(t+1);let a=n;return n.includes("/")&&(a=n.split("/").pop()||n),a.includes("?")&&(a=a.split("?")[0]),{file:a,line:i,column:r,fullPath:e}}}return null}catch(e){}return null}consoleOutput(e){const{level:t,type:o,message:n,data:r,source:a,timestamp:l}=e,d=i["c"][t],s=i["b"][t],c=[],u=[];if(this.config.showTimestamp){const e=new Date(l),t=`${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}.${e.getMilliseconds().toString().padStart(3,"0")}`;c.push(`[${t}]`)}c.push(`%c${d}%c`),u.push(`color: ${s}; font-weight: bold`,"color: inherit"),this.config.showSource&&c.push(`[${a}]`),c.push(`[${o}]`),c.push(n);const p=c.join(" "),m=[p,...u];if(void 0!==r&&m.push("\n",r),this.config.showClickablePath){const e=this.getCallerInfo();e&&m.push("\n"," at "+e.fullPath)}switch(t){case i["d"].DEBUG:console.debug(...m);break;case i["d"].INFO:console.info(...m);break;case i["d"].WARN:console.warn(...m);break;case i["d"].ERROR:console.error(...m);break}}updateConfig(e){if(this.config={...this.config,...e},this.config.persist&&"undefined"!==typeof localStorage)try{localStorage.setItem(this.CONFIG_KEY,this.safeStringify(this.config))}catch(t){console.warn("Failed to save logger config:",t)}}getConfig(){return{...this.config}}log(e,t,o,n){if(e<this.config.level)return;if(!this.config.enabledTypes.includes("*")&&!this.config.enabledTypes.includes(t))return;const i={timestamp:Date.now(),level:e,type:t,message:o,data:n,source:this.detectSource()};this.logs.push(i),this.trimLogs(),this.saveLogs(),this.output(i)}debug(e,t,o){this.log(i["d"].DEBUG,e,t,o)}info(e,t,o){this.log(i["d"].INFO,e,t,o)}warn(e,t,o){this.log(i["d"].WARN,e,t,o)}error(e,t,o){this.log(i["d"].ERROR,e,t,o)}query(e={}){let t=[...this.logs];return e.types&&e.types.length>0&&(t=t.filter(t=>e.types.includes(t.type))),void 0!==e.level&&(t=t.filter(t=>t.level>=e.level)),void 0!==e.since&&(t=t.filter(t=>t.timestamp>=e.since)),void 0!==e.until&&(t=t.filter(t=>t.timestamp<=e.until)),e.sources&&e.sources.length>0&&(t=t.filter(t=>e.sources.includes(t.source))),void 0!==e.limit&&e.limit>0&&(t=t.slice(-e.limit)),t}clear(){this.logs=[],this.config.persist&&"undefined"!==typeof localStorage&&localStorage.removeItem(this.LOGS_KEY)}export(){const e=this.safeStringify(this.logs);try{return JSON.stringify(JSON.parse(e),null,2)}catch(t){return e}}import(e){try{const t=JSON.parse(e);Array.isArray(t)&&(this.logs=t,this.trimLogs(),this.saveLogs())}catch(t){this.error("logger","Failed to import logs",t)}}}Object(n["a"])(r,"instance",null)},"365c":function(e,t,o){"use strict";o.d(t,"a",(function(){return h})),o.d(t,"e",(function(){return T})),o.d(t,"d",(function(){return v})),o.d(t,"f",(function(){return S})),o.d(t,"b",(function(){return D})),o.d(t,"c",(function(){return N}));var n=o("5848"),i=o("2b0e"),r=o("1e48"),a=o("c0d6"),l=o("5c96"),d=o("2ef0"),s=o("e907");const c="SIMPLE_MIND_MAP_DATA",u="SIMPLE_MIND_MAP_LANG",p="SIMPLE_MIND_MAP_LOCAL_CONFIG";let m=null;const{getDataFromSY:g}=Object(r["a"])(),h=(e="localstorage",t={})=>{if("localstorage"===e){if(window.takeOverApp)return m=window.takeOverAppMethods.getMindMapData(),m;if(a["a"].state.isHandleLocalFile)return i["default"].prototype.getCurrentData();const e=localStorage.getItem(c);if(null===e)return Object(d["cloneDeep"])(n["a"]);try{return JSON.parse(e)}catch(o){return Object(d["cloneDeep"])(n["a"])}}else{if("app"===e)return t.app.getData(!0);if("sy-plugin"===e)return g(t);if("sy-plugin-doc2kmind"===e)return g(t);if("sy-widget"===e)return g(t);if("sy-widget-mirror"===e)return g(t);if("sy-doctree-doc"===e||"sy-doctree-doc-dom"===e||"sy-doctree-moc-dom"===e||"sy-doctree-outlinedoc-dom"===e)return g(t)}},{saveDataToPlugin:f,saveDataToWidget:y,saveDataToDoctreeDoc:w}=Object(r["a"])(),T=(e,t)=>{const o=s["a"].get(null===t||void 0===t?void 0:t.name)||a["a"];switch(null===t||void 0===t?void 0:t.type){case"sy-doctree-doc":case"sy-doctree-doc-dom":case"sy-doctree-outlinedoc-dom":return w(o.getters.mindMapFullDataWithConfig,t);case"sy-doctree-moc-dom":return;case"sy-widget-mirror":return;case"sy-widget":return y(o.getters.mindMapFullDataWithConfig,t);case"sy-plugin":return f(o.getters.mindMapFullDataWithConfig,t);default:try{let t=null;if(t=window.takeOverApp?m:h(),console.log("存储data",e),t.root=e,console.log("存储originData",t),window.takeOverApp)return m=t,void window.takeOverAppMethods.saveMindMapData(t);if(i["default"].prototype.$bus.$emit("write_local_file",t),a["a"].state.isHandleLocalFile)return;let o=JSON.stringify(t);localStorage.setItem(c,o)}catch(n){console.log(n)}}},v=({config:e,layout:t,theme:o,view:n},r)=>{const l=s["a"].get(null===r||void 0===r?void 0:r.name)||a["a"];switch(null===r||void 0===r?void 0:r.type){case"sy-doctree-doc":case"sy-doctree-doc-dom":case"sy-doctree-outlinedoc-dom":return l.commit("setConfig",e),l.commit("mergeMindMapDataJson",{layout:t,theme:o,view:n}),w(l.getters.mindMapFullDataWithConfig,r);case"sy-doctree-moc-dom":case"sy-widget-mirror":return;case"sy-widget":return l.commit("setConfig",e),l.commit("mergeMindMapDataJson",{layout:t,theme:o,view:n}),y(l.getters.mindMapFullDataWithConfig,r);case"sy-plugin":return l.commit("setConfig",e),l.commit("mergeMindMapDataJson",{layout:t,theme:o,view:n}),f(l.getters.mindMapFullDataWithConfig,r);default:try{let t=null;if(t=window.takeOverApp?m:h(),t={...t,...e},window.takeOverApp)return m=t,void window.takeOverAppMethods.saveMindMapData(t);if(i["default"].prototype.$bus.$emit("write_local_file",t),a["a"].state.isHandleLocalFile)return;let o=JSON.stringify(t);localStorage.setItem(c,o)}catch(d){console.log(d)}}},S=(e,t)=>{const o=s["a"].get(null===t||void 0===t?void 0:t.name)||a["a"];switch(null===t||void 0===t?void 0:t.type){case"sy-doctree-doc":case"sy-doctree-doc-dom":case"sy-doctree-outlinedoc-dom":return w(o.getters.mindMapFullDataWithConfig,t);case"sy-doctree-moc-dom":case"sy-widget-mirror":return;case"sy-widget":return y(o.getters.mindMapFullDataWithConfig,t);case"sy-plugin":return f(o.getters.mindMapFullDataWithConfig,t);default:if(window.takeOverApp)return void window.takeOverAppMethods.saveLanguage(e);localStorage.setItem(u,e)}},k=e=>{if(!e)return"zh";const t=String(e).toLowerCase().replace("-","_");return"zh_cn"===t||"zh"===t?"zh":"en_us"===t||"en"===t?"en":"zh_tw"===t||"zhtw"===t||"zh_hant"===t?"zhtw":e},D=e=>{const t=s["a"].get(null===e||void 0===e?void 0:e.name)||a["a"],o=()=>{var e,o;const n=null===t||void 0===t||null===(e=t.state)||void 0===e||null===(e=e.kmind)||void 0===e||null===(e=e.localConfig)||void 0===e?void 0:e.lang,i=null===t||void 0===t||null===(o=t.state)||void 0===o||null===(o=o.kmind)||void 0===o?void 0:o.lang;return k(n)||k(i)||null},n=()=>{const e=localStorage.getItem(u);return e?k(e):null},i=()=>o()||n()||window.takeOverApp&&k(window.takeOverAppMethods.getLanguage())||"zh";switch(null===e||void 0===e?void 0:e.type){case"sy-doctree-moc-dom":case"sy-widget-mirror":return i();case"sy-doctree-doc":case"sy-doctree-doc-dom":case"sy-doctree-outlinedoc-dom":case"sy-plugin":case"sy-widget":return i();default:return i()}},N=e=>{switch(null===e||void 0===e?void 0:e.type){case"sy-widget":case"sy-plugin":case"sy-widget-mirror":case"sy-doctree-doc":case"sy-doctree-doc-dom":case"sy-doctree-moc-dom":case"sy-doctree-outlinedoc-dom":return g(e).then(e=>{var t;return null!==(t=e.mindMapData)&&void 0!==t?t:{}}).catch(e=>{console.log(e),l["Message"].error("kmind:获取配置失败")});default:if(window.takeOverApp)return window.takeOverAppMethods.getLocalConfig();let t=localStorage.getItem(p);return t?JSON.parse(t):null}}},"4def":function(e,t,o){"use strict";o("5a68")},"56d7":function(e,t,o){"use strict";o.r(t);var n=o("2b0e"),i=function(){var e=this,t=e._self._c;return t("div",{attrs:{id:"app"}},[t("router-view")],1)},r=[],a={name:"App",components:{},data(){return{currentChunk:"",controller:new AbortController,content:""}},created(){this.getData()},methods:{async getData(){},async postMsg(){const e=await fetch("http://localhost:3000/ai/chat",{signal:this.controller.signal,method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({a:"227d32b1-08aa-413d-9c12-6832c34bc59b",b:"ep-20250214110611-hhf9z",messages:[{role:"user",content:"帮我写一个【2025年前端学习计划】需要以Markdown格式返回因为我要导入思维导图软件进行使用只需返回内容即可。"}]})});return(!e.status||200===e.status)&&e.body.getReader()},handleChunkData(e){return e=e.trim(),this.currentChunk&&(e=this.currentChunk+e,this.currentChunk=""),e.includes("[DONE]")||"}"!==e[e.length-1]&&(this.currentChunk=e),e},stop(){this.controller.abort(),this.controller=new AbortController}}},l=a,d=(o("4def"),o("2877")),s=Object(d["a"])(l,i,r,!1,null,null,null),c=s.exports,u=(o("c73d"),o("8c4f"));n["default"].use(u["a"]);const p=[{path:"/",name:"Edit",component:()=>Promise.all([o.e("chunk-034978b9"),o.e("chunk-37cf6f14"),o.e("chunk-df089062")]).then(o.bind(null,"5fca"))},{path:"/index",redirect:"/"},{path:"/doc/zh",component:()=>o.e("chunk-3222d6ee").then(o.bind(null,"f226"))},{path:"/test",name:"Test",component:()=>Promise.all([o.e("chunk-034978b9"),o.e("chunk-37cf6f14"),o.e("chunk-1ab5e92d")]).then(o.bind(null,"bd8c"))},{path:"/theme-batch-generator",name:"ThemeBatchGenerator",component:()=>Promise.all([o.e("chunk-034978b9"),o.e("chunk-35114226")]).then(o.bind(null,"5899"))}];let m=!1;try{const e="true"===String("true").toLowerCase();m="undefined"!==typeof window&&window.top===window.self&&(e||"undefined"!==typeof window.siyuan)}catch(b){m=!1}const g=new u["a"]({mode:m?"abstract":"hash",routes:p});var h=g,f=o("c0d6"),y=o("5c96"),w=o.n(y),T=(o("0fae"),o("9c65"),o("0808"),o("c71c")),v=o("9225"),S=o("365c"),k=o("2278");n["default"].config.productionTip=!1;const D=new n["default"];n["default"].prototype.$bus=D,n["default"].use(w.a),n["default"].use(T["a"]),n["default"].use(k["a"]);const N=()=>{v["a"].locale=Object(S["b"])(),new n["default"]({render:e=>e(c),router:h,store:f["a"],i18n:v["a"]}).$mount("#app")};window.takeOverApp?(window.initApp=N,window.$bus=D):N()},5848:function(e,t,o){"use strict";const n=()=>({image:"/enJFNMHnedQTYTESGfDkctCp2.jpeg",imageTitle:"图片名称",imageSize:{width:1e3,height:563},icon:["priority_1"],tag:["标签1","标签2"],hyperlink:"http://lxqnsys.com/",hyperlinkTitle:"理想青年实验室",note:"理想青年实验室\n一个有意思的角落"}),i=(n(),n(),{root:{data:{text:"根节点"},children:[{data:{text:"二级节点",generalization:{text:"概要"}},children:[{data:{text:"分支主题"},children:[]},{data:{text:"分支主题"},children:[]}]}]}});t["a"]={...i,theme:{template:"classic4",config:{}},layout:"logicalStructure",config:{}}},"5a68":function(e,t,o){},"88bb":function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o("5c96");const i=(e,t="info")=>{Object(n["Message"])({type:t,message:"KMind: "+e})}},9225:function(e,t,o){"use strict";var n=o("2b0e"),i=o("a925"),r={kmind:{jumpToEditSourceDoc:"Jump to edit source doc",kmindInitLoadingText:"If it takes more than 5 seconds to load, it means that KMindApp has failed to load. Please turn it on and off again on the page.",dataProtectionInterceptTip:"We blocked a potentially destructive save. Please close and reopen this mind map to restore normal saving.",dragCreateRootHint:"Release to create a new root node"},kmindFloatToolbar:{editNode:"Edit Node",deleteNode:"Delete Node",addNote:"Add Note",addLink:"Add Link",addTag:"Add Tag",addImage:"Add Image",addIcon:"Add Icon",addAssociativeLine:"Add Associative Line",addSummary:"Add Summary",addFormula:"Add Formula",addOuterFrame:"Add Outer Frame",undo:"Undo",redo:"Redo",formatPainter:"Format Painter",dragToAddNode:"Press and drag to add node"},baseStyle:{title:"BaseStyle",kmindTitle:"MapStyle",background:"Background",color:"Color",image:"Image",imageRepeat:"Image repeat",imagePosition:"Image position",imageSize:"Image size",line:"Line",width:"Width",style:"Style",lineRadius:"Radius",lineOfOutline:"Line of outline",showArrow:"Is show arrow",nodePadding:"Node padding",nodeMargin:"Node margin",horizontal:"Horizontal",vertical:"Vertical",maximumWidth:"Max width",maximumHeight:"Max height",icon:"Icon",size:"Size",level2Node:"Level2 node",belowLevel2Node:"Below level2 node",nodeBorderType:"Node border style",nodeUseLineStyle:"Use only has bottom border style",otherConfig:"Other config",associativeLine:"Associative line",associativeLineWidth:"Width",associativeLineColor:"Color",associativeLineActiveWidth:"Active width",associativeLineActiveColor:"Active color",rootStyle:"Root Node",associativeLineText:"Associative line text",fontFamily:"Font family",fontSize:"Font size",rootLineStartPos:"Root line start pos",center:"Center",edge:"Edge",rainbowLines:"Rainbow lines",notUseRainbowLines:"Not use rainbow lines",outerFramePadding:"Outer frame padding"},setting:{title:"Setting",openPerformance:"Enable performance mode",enableFreeDrag:"Enable node free drag(Beta)",isEnableNodeRichText:"Enable node rich text editing",mousewheelAction:"Mouse wheel behavior",zoomView:"Zoom view",moveViewUpDown:"Move view up and down",mousewheelZoomActionReverse:"Mouse Wheel Zoom",mousewheelZoomActionReverse1:"Zoom out forward and zoom in back",mousewheelZoomActionReverse2:"Zoom in forward and zoom out back",createNewNodeBehavior:"Behavior of creating new node",default:"Active new node and editing",notActive:"Not active new node",activeOnly:"Only active new node but not editing",openRealtimeRenderOnNodeTextEdit:"Enable real-time rendering effect for text editing",isShowScrollbar:"Is show scrollbar",isUseHandDrawnLikeStyle:"Is use hand drawn like style",isUseMomentum:"Is open drag momentum",watermark:"Watermark",showWatermark:"Is show watermark",onlyExport:"Only export",watermarkDefaultText:"Watermark text",watermarkText:"Watermark text",watermarkTextColor:"Text color",watermarkLineSpacing:"Line spacing",watermarkTextSpacing:"Text spacing",watermarkAngle:"Angle",watermarkTextOpacity:"Text opacity",watermarkTextFontSize:"Font size",belowNode:"Display below nodes",tagPositionRight:"Text right",tagPositionBottom:"Text bottom",alwaysShowExpandBtn:"Always show expand btn",enableAutoEnterTextEditWhenKeydown:"Auto enter text edit when keydown",confirm:"Confirm",cancel:"Cancel",changeRichTextTip:"This operation will clear all historical modification records and modify the mind map data. Do you want to continue?",changeRichTextTip2:"Do you want to switch to rich text mode?",changeRichTextTip3:"Do you want to switch to non rich text mode?",enableDragImport:"Is it allowed to directly drag and drop files to the page for import",imgTextMargin:"Node image and text margin",textContentMargin:"Node contents margin",enableInheritAncestorLineStyle:"Node connection style inherits the style of ancestor nodes"},color:{moreColor:"More color"},contextmenu:{export:"Export",insertSiblingNode:"Insert sibling node",insertChildNode:"Insert child node",insertParentNode:"Insert parent node",insertSummary:"Insert summary",addSiyuanPage:"Siyuan subpage",moveUpNode:"Move up node",moveDownNode:"Move down node",deleteNode:"Delete node",deleteCurrentNode:"Only del cur node",copyNode:"Copy node",copyNodeHyperlink:"Copy node hyperlink",copyNodeHyperlinkDesc:"Get locate link",cutNode:"Cut node",pasteNode:"Paste node",backCenter:"Back root node",expandAll:"Expand all",unExpandAll:"Un expand all",expandTo:"Expand to",arrangeLayout:"Arrange layout",level1:"Level1",level2:"Level2",level3:"Level3",level4:"Level4",level5:"Level5",level6:"Level6",zenMode:"Zen mode",fitCanvas:"Fit canvas",removeImage:"Remove image",removeHyperlink:"Remove hyperlink",removeSiyuanHyperlink:"Remove Siyuan document association",removeSiyuanPDFHyperlink:"Remove Siyuan PDF association",removeNote:"Remove note",removeCustomStyles:"Remove custom styles",removeAllNodeCustomStyles:"Remove all node custom styles",copyKmindNodeHyperlink:"Copy node hyperlink",exportNodeToPng:"Export node to png",kmindCopyNodeToPng:"Copy node to png",copyNodeMirrorBlock:"Copy node mirror block",kmindCopySuccessAnywhere:"Copy success, please paste directly in Siyuan",bindProtyleBlock:"Bind SiYuan block ID",clearProtyleBlock:"Clear SiYuan block binding",copyToClipboard:"Copy to clipboard",copyToSmm:"SMM",copyToKMind:"KMind",copyToJson:"JSON",copyToMarkdown:"Markdown",copyToTxt:"Txt",copyToPng:"Png",copySuccess:"Copy success",copyFail:"Copy fail",number:"Number child nodes",expandNodeChild:"Expand all sub nodes",unExpandNodeChild:"Un expand all sub nodes",addToDo:"Add toDo",removeToDo:"Remove toDo"},count:{words:"Words",nodes:"Nodes"},dialog:{cancel:"Cancel",confirm:"Confirm"},export:{title:"Export",filename:"Filename",include:"Is include config like theme and structure",dedicatedFile:"Dedicated file",jsonFile:"json file",imageFile:"Image file",svgFile:"svg file",pdfFile:"pdf file",markdownFile:"markdown file",isTransparent:"Background is transparent",transformingDomToImages:"Converting nodes: ",notifyTitle:"Info",notifyMessage:"If the download is not triggered, check whether it is blocked by the browser",paddingX:"Padding x",paddingY:"Padding y",useMultiPageExport:"Export multi page",defaultFileName:"Mind map",addFooterTextPlaceholder:"For example: From KMind",addFooterText:"Add text at the footer",desc:"Desc",options:"Options",protyleExportWarning:"Note: If any node loads SiYuan blocks, their contents may not be fully exported to image / PDF / SVG. Please refer to the preview inside SiYuan for the complete view."},fullscreen:{fullscreenShow:"Full screen show",fullscreenEdit:"Full screen edit"},demonstrate:{demonstrate:"Enter demonstration mode"},import:{title:"Import",selectFile:"Select file",support:"Support",file:"file",pleaseSelect:"Please select",maxFileNum:"At most one file can be selected",notSelectTip:"Please select the file to import",fileContentError:"The file content is incorrect",importSuccess:"Import success",fileParsingFailed:"File parsing failed",xmindCanvasSelectDialogTitle:"Select the canvas to import",markdownTextTitle:"Paste Markdown text (optional)",markdownTextPlaceholder:"Paste Markdown text here to import as a mind map",chooseSourceTitle:"Choose import source",chooseSourceMessage:"Both a file and Markdown text are provided. Please choose which source to import from.",useFile:"Import from file",useText:"Import from text",notSelectFileOrTextTip:"Please select a file or enter Markdown text to import",pastedMarkdownRootText:"Pasted Markdown"},kmindHistory:{title:"History",createHistoryVersion:"Create a history version",refreshHistoryList:"Refresh",autoSave:"Auto save",preview:"Preview",delete:"Delete",apply:"Apply",pin:"Pin"},navigatorToolbar:{openMiniMap:"Open mini map",closeMiniMap:"Close mini map",readonly:"Change to Readonly",edit:"Change to edit",backToRoot:"Back to root node",toggleZenMode:"Toggle zen mode",changeSourceCodeEdit:"Switch to source code editing mode"},nodeHyperlink:{title:"Link",link:"Href",name:"Name"},protyleNode:{bindBlockIdTitle:"Bind SiYuan block ID",inputBlockIdPlaceholder:"Please enter SiYuan block ID (e.g. 20231111123456-xxxxxxx)",emptyBlockIdError:"Block ID cannot be empty",invalidBlockIdError:"Invalid block ID format. Please enter a SiYuan block ID like 20251203102139-a4512w0.",blockNotExistError:"Block does not exist or is not ready. Please make sure this ID is valid in the current workspace.",docIdNotAllowedError:"Binding document IDs is not supported yet. Please bind to a specific inner block ID instead.",bindSuccess:"Protyle block bound",bindFail:"Failed to bind Protyle block",clearSuccess:"Protyle binding cleared",clearFail:"Failed to clear Protyle binding",notAvailable:"Embedding Protyle in node is not available in this mode",clickToEdit:"Click to start editing Protyle",openInNewTab:"Open in new tab",openOnRight:"Open on the right",openOnBottom:"Open at the bottom",unbind:"Clear Protyle binding"},nodeIcon:{title:"Icon"},nodeImage:{title:"Image",imgTitle:"Title",copyImage:"Copy image to clipboard",copyImageLink:"Copy image link"},nodeNote:{title:"Note"},nodeTag:{title:"Tag",addTip:"Press Enter to add"},richEditor:{nodeEditorTitle:"Node editor",nodeNoteEditorTitle:"Note editor"},outline:{title:"Outline",nodeDefaultText:"Branch node",print:"Print",fullscreen:"Fullscreen"},outlineDoc:{title:"Outline Doc"},scale:{zoomIn:"Zoom in",zoomOut:"Zoom out"},shortcutKey:{title:"Shortcut key",categoryNode:"Node",categoryCanvas:"Canvas",categoryTool:"Tools",categoryOutline:"Outline",categoryFile:"File / Search",categoryReserved:"Reserved",docTreeOnlyBadge:"Doc-tree only",disabled:"Disabled",reservedSelectAll:"Select all",reservedCopy:"Copy",reservedPaste:"Paste",reservedCut:"Cut",reservedUndo:"Undo",reservedRedo:"Redo"},shortcutCommands:{EDIT_NODE:"Edit node",QUICK_EDIT_NODE:"Quick edit node (select all)",INSERT_CHILD_NODE:"Insert child node",INSERT_NODE:"Insert sibling node",INSERT_PARENT_NODE:"Insert parent node",UP_NODE:"Move node up",DOWN_NODE:"Move node down",ADD_GENERALIZATION:"Insert summary",TOGGLE_EXPAND:"Expand / collapse node",REMOVE_NODE:"Delete node",REMOVE_CURRENT_NODE:"Delete current node only",ADD_SIYUAN_PAGE:"Node sub-document",BIND_PROTYLE_BLOCK_ID:"Bind SiYuan block ID",TOGGLE_TODO:"Toggle TODO",COPY_NODE_HYPERLINK:"Copy node hyperlink",KMIND_COPY_CUR_NODE_TO_PNG:"Copy node as image",KMIND_COPY_NODE_MIRROR_BLOCK:"Copy node mirror block",RESET_LAYOUT:"Auto layout",RETURN_CENTER:"Center to root",VIEW_ENLARGE:"Zoom in",VIEW_NARROW:"Zoom out",VIEW_FIT:"Fit canvas",SEARCH:"Search & replace",SAVE:"Save",TOGGLE_OUTLINE_SIDEBAR:"Toggle outline sidebar",TOGGLE_OUTLINE_EDIT:"Toggle outline fullscreen edit",TOGGLE_ZEN_MODE:"Toggle zen mode",TOGGLE_READONLY_MODE:"Toggle readonly/editable mode",TOGGLE_MINI_MAP:"Toggle mini map",SHOW_NOTE_EDITOR:"Note",SHOW_NODE_TAG:"Tag",SHOW_NODE_LINK:"Hyperlink",SHOW_NODE_IMAGE:"Image",SHOW_NODE_ICON:"Icon",CREATE_ASSOCIATIVE_LINE:"Add associative line",OPEN_FORMULA_SIDEBAR:"Formula",TOGGLE_PAINTER:"Format painter"},strusture:{title:"Strusture"},style:{title:"Node style",normal:"Normal",active:"Active",text:"Text",fontFamily:"Font family",fontSize:"Font size",color:"color",addFontWeight:"add font weight",italic:"Italic",textDecoration:"Text decoration",underline:"Underline",none:"None",lineThrough:"Line through",overline:"Overline",border:"Border",style:"Style",width:"Width",borderRadius:"Border radius",background:"Background",shape:"Shape",line:"Line",nodePadding:"Node padding",horizontal:"Horizontal",vertical:"Vertical",gradientStyle:"Gradient",startColor:"Start",endColor:"End",arrowDir:"Arrow dir",arrowDirStart:"Start",arrowDirEnd:"End",direction:"Direction",pleaseSelectNode:"Please select a node",selectNodeTip:"Please select a node",openLineFlow:"Open line flow",lineFlowDuration:"Line flow duration",forward:"Forward",reverse:"Reverse",img:"Image",placement:"Placement",top:"Top",bottom:"Bottom",left:"Left",right:"Right",tag:"Tag"},theme:{title:"Theme",classics:"Classics",dark:"Darkness",simple:"Simple",myThemes:"My Themes",currentScope:"Current scope",scopeGlobal:"Global default",root:"Root",coverTip:"You have currently customized the basic style, do you want to overwrite it?",tip:"Tip",cover:"Cover",reserve:"Reserve",theme_default:"Default",theme_classic:"Classic",theme_blackHumour:"Black Humour",theme_lateNightOffice:"Late Night Office",theme_blackGold:"Black Gold",theme_orangeJuice:"Orange Juice",theme_neonLamp:"Neon Lamp",theme_darkNightLceBlade:"Dark Night Ice Blade",theme_dark:"Dark",theme_dark2:"Dark 2",theme_dark3:"Dark 3",theme_dark4:"Dark 4",theme_dark5:"Dark 5",theme_dark6:"Dark 6",theme_dark7:"Dark 7",theme_skyGreen:"Sky Green",theme_classicGreen:"Classic Green",theme_classicBlue:"Classic Blue",theme_blueSky:"Blue Sky",theme_brainImpairedPink:"Brain Impaired Pink",theme_earthYellow:"Earth Yellow",theme_freshGreen:"Fresh Green",theme_freshRed:"Fresh Red",theme_romanticPurple:"Romantic Purple",theme_pinkGrape:"Pink Grape",theme_mint:"Mint",theme_gold:"Gold VIP",theme_vitalityOrange:"Vitality Orange",theme_greenLeaf:"Green Leaf",theme_minions:"Minions",theme_simpleBlack:"Simple Black",theme_courseGreen:"Course Green",theme_coffee:"Coffee",theme_redSpirit:"Red Spirit",theme_avocado:"Avocado",theme_autumn:"Autumn",theme_oreo:"Oreo",theme_shallowSea:"Shallow Sea",theme_lemonBubbles:"Lemon Bubbles",theme_rose:"Rose",theme_seaBlueLine:"Sea Blue Line",theme_morandi:"Morandi",theme_cactus:"Cactus",theme_classic2:"Classic 2",theme_classic3:"Classic 3",theme_classic4:"Classic 4",theme_classic5:"Classic 5",theme_classic6:"Classic 6",theme_classic7:"Classic 7",theme_classic8:"Classic 8",theme_classic9:"Classic 9",theme_classic10:"Classic 10",theme_classic11:"Classic 11",theme_classic12:"Classic 12",theme_classic13:"Classic 13",theme_classic14:"Classic 14",theme_classic15:"Classic 15"},toolbar:{undo:"Undo",redo:"Redo",insertSiblingNode:"Sibling node",insertChildNode:"Child node",deleteNode:"Delete node",image:"Image",icon:"Icon",link:"Link",note:"Note",tag:"Tag",summary:"Summary",displayOutline:"Display outline",baseStyle:"Base style",theme:"Theme",strusture:"Strusture",newFile:"New file",openFile:"Open file",saveAs:"Save as",import:"Import",export:"Export",history:"History",shortcutKey:"Shortcut key",associativeLine:"Associative line",painter:"Painter",formula:"Formula",attachment:"Attachment",outerFrame:"Outer frame",editNode:"Edit node",more:"More",selectFileTip:"Please select a file",notSupportTip:"Your browser does not support this feature, or the current page is not using the HTTPS protocol",tip:"Tip",editingLocalFileTipFront:"Currently editing your local【",editingLocalFileTipEnd:"】file",fileContentError:"File content error",fileOpenFailed:"File open failed",defaultFileName:"Mind map",creatingTip:"Creating file",directory:"Directory",newFileTip:"Please export the currently edited file before creating a new one, Beware of content loss",openFileTip:"Please export the currently edited file before opening it, Beware of content loss"},edit:{newFeatureNoticeTitle:"New feature reminder",newFeatureNoticeMessage:"This update supports node rich text editing, But there are some defects, The most important impact is that the time to export the image is proportional to the number of nodes, Therefore, if you are more dependent on export requirements, you can use【Base style】-【Other config】-【Enable node rich text editing】Set to turn off rich text editing mode.",root:"Root node",newRoot:"New root node",multiRootDialogTitle:"Enable multi-root mode",multiRootDialogContent:"The current mind map is single-root. Enable multi-root mode? A backup will be saved automatically.",multiRootSuccess:"Multi-root mode enabled and current version saved automatically",splitByWrap:"Is automatically split nodes based on line breaks?",tip:"Tip",yes:"Yes",no:"No",exportError:"Export failed",dragTip:"Release here to import the file",modeReadonly:"Readonly mode",modeEditable:"Editable mode",dropHintDocLink:"Release: Update SiYuan link",dropHintDocRoot:"Release: Create document root node",dropHintDocNeedMulti:"Release: Create new root (enable multi-root first)",dropHintGutterRoot:"Release: Create SiYuan block root node",dropHintGutterChild:"Release: Create SiYuan block as child",dropHintGutterNeedMulti:"Release: Create SiYuan block root (enable multi-root first)",dropSuccessDocLink:"Updated node SiYuan link",dropSuccessDocRoot:"Created document root node",dropSuccessDocRootMulti:"Created {count} document root nodes, can undo",dropSuccessDocChild:"Added as child node",dropSuccessDocChildMulti:"Added {count} child nodes",dropSuccessGutterRoot:"Created SiYuan block root node",dropSuccessGutterRootMulti:"Created {count} SiYuan block root nodes, can undo",dropSuccessGutterChild:"Added SiYuan block child node",dropSuccessGutterChildMulti:"Added {count} SiYuan block child nodes",dropNoTargetNode:"No target node found",dropError:"Failed to process drop",deleteNodeImgTip:"Are you sure to delete the node image?",autoOpenNodeRichTextTip:"Detected imported rich text content, automatically enabled rich text mode"},mouseAction:{tip1:"Current: Left click to drag the canvas, right click to box select nodes",tip2:"Current: Left click to box select nodes, right click to drag the canvas"},search:{searchPlaceholder:"Please enter the search content",replacePlaceholder:"Please enter replacement content",replace:"Replace",replaceAll:"Replace all",cancel:"Cancel",noResult:"No result"},nodeIconSidebar:{title:"Icon/Sticker",icon:"Icon",sticker:"Sticker"},formulaSidebar:{title:"Formula",placeholder:"Please enter LaTeX syntax",confirm:"Confirm",common:"Common formulas",tip:"Inserting formulas is not supported in non rich text mode"},richTextToolbar:{bold:"Bold",italic:"Italic",underline:"Underline",strike:"Strike",fontFamily:"Font family",fontSize:"Font size",color:"Color",backgroundColor:"Background color",removeFormat:"Clear Style",textAlign:"Text align"},other:{loading:"Loading, please wait..."},sourceCodeEdit:{sourceCodeTip:"It is not recommended to modify the style in rich text mode because it requires synchronous modification of data and HTML structure.",format:"Format",copy:"Copy",confirm:"Complete",close:"Close",formatErrorTip:"The JSON format is incorrect. Please check and try again",copyTip:"Copied to clipboard",formatTip:"Format complete"},attachment:{deleteAttachment:"Delete attachment",tip:"The attachment function is only available on the client side"},annotation:{mark:"Mark",show:"Show mark",type:"Type",color:"Color",lineWidth:"Line width",padding:"Padding",animate:"Animate"},nodeOuterFrame:{outerFrameSetting:"Setting",deleteOuterFrame:"Delete outer frame",boxStyle:"Box style",boxColor:"Box color",fillColor:"Fill color",strokeFlow:"Dash flow",strokeFlowDuration:"Duration(s)",labelText:"Label",labelPosition:"Label position",labelFontSize:"Font size",labelOffsetX:"Offset X",labelOffsetY:"Offset Y",labelPadding:"Padding",labelColor:"Text color",labelBackground:"Background",textPosition:{topLeft:"Top left",top:"Top",topRight:"Top right",left:"Left",center:"Center",right:"Right",bottomLeft:"Bottom left",bottom:"Bottom",bottomRight:"Bottom right"}},nodeTagStyle:{placeholder:"Please enter the tag content",delete:"Delete this tag"},openSiyuanFloat:{open:"Open document",openLeft:"Open left",openRight:"Open in tab right",openBottom:"Open in tab bottom"},kmindDefaultText:{defaultInsertSecondLevelNodeText:"Subtopic",defaultInsertBelowSecondLevelNodeText:"Add Content",defaultGeneralizationText:"Summary",defaultAssociativeLineText:"Associative Line"},moc:{operationNotSupported:"MOC mode does not support this operation",insertParentNotSupported:"MOC mode does not support: Insert parent node",insertMultiNotSupported:"MOC mode does not support: Insert multiple sibling nodes",pasteNotSupported:"MOC mode does not support: Paste node (node tree)",undoNotSupported:"MOC mode does not support: Undo (Ctrl+Z)",redoNotSupported:"MOC mode does not support: Redo (Ctrl+Y)",refreshMocData:"Refresh MOC Mind Map Data",cannotGetDocId:"Cannot get current document ID",refreshing:"Refreshing MOC mind map data...",refreshSuccess:"Refresh completed",refreshFailedNoData:"Refresh failed: No valid data received",refreshFailed:"Refresh failed",deleteNodeConfirmSingle:"Deleting this node will also delete the corresponding SiYuan document. Continue?",deleteNodeConfirmMultiple:"Deleting {count} nodes will also delete the corresponding SiYuan documents. Continue?",deleteConfirmTitle:"Warning",confirmButton:"Confirm",cancelButton:"Cancel",deleteSuccess:"{count} document(s) deleted",deletePartialFailed:"Delete failed: {failed}/{total} document(s) failed to delete",deleteFailed:"Failed to delete node",noNodesToDelete:"No nodes to delete",noDocIdToDelete:"Node has no associated document ID",createDocFailed:"Failed to create document",createNodeFailed:"Failed to create node",renameDocFailed:"Failed to rename document",titleCannotBeEmpty:"Title cannot be empty",moveDocFailed:"Failed to move document",moveNodeFailed:"Failed to move node",moveSuccess:"{count} document(s) moved",noNodesToMove:"No nodes to move",noTargetNode:"No target node",targetNodeNoDocId:"Target node has no associated document ID",nodeNoDocId:"Node to move has no associated document ID"}},a={kmind:{jumpToEditSourceDoc:"跳转编辑源文档",kmindInitLoadingText:"如果超过5秒还没有加载完成说明KMindApp加载失败了请重新开关一下该页面即可",dataProtectionInterceptTip:"已经为您拦截可能的数据丢失,请手动开关一下本张导图即可恢复正常的保存流程",dragCreateRootHint:"松手即可创建新根节点"},kmindFloatToolbar:{editNode:"编辑节点",deleteNode:"删除节点",addNote:"添加备注",addLink:"添加链接",addTag:"添加标签",addImage:"添加图片",addIcon:"添加图标",addAssociativeLine:"添加关联线",addSummary:"添加概要",addFormula:"添加公式",addOuterFrame:"添加外框",undo:"撤销",redo:"重做",formatPainter:"格式刷",dragToAddNode:"按住拖动添加节点"},baseStyle:{title:"基础样式",kmindTitle:"导图样式",background:"背景",color:"颜色",image:"图片",imageRepeat:"图片重复",imagePosition:"图片位置",imageSize:"图片大小",line:"连线",width:"粗细",style:"风格",lineRadius:"圆角大小",lineOfOutline:"概要的连线",showArrow:"是否显示箭头",nodePadding:"节点内边距",nodeMargin:"节点外边距",horizontal:"水平",vertical:"垂直",maximumWidth:"显示的最大宽度",maximumHeight:"显示的最大高度",icon:"图标",size:"大小",level2Node:"二级节点",belowLevel2Node:"三级及以下节点",nodeBorderType:"节点边框风格",nodeUseLineStyle:"是否使用只有底边框的风格",associativeLine:"关联线",associativeLineWidth:"粗细",associativeLineColor:"颜色",associativeLineActiveWidth:"激活粗细",associativeLineActiveColor:"激活颜色",rootStyle:"根节点",associativeLineText:"关联线文字",fontFamily:"字体",fontSize:"字号",rootLineStartPos:"根节点连线起始位置",center:"中心",edge:"边缘",rainbowLines:"彩虹线条",notUseRainbowLines:"不使用彩虹线条",outerFramePadding:"外框内边距"},setting:{title:"设置",openPerformance:"开启性能模式(Beta)",enableFreeDrag:"是否开启节点自由拖拽",isEnableNodeRichText:"是否开启节点富文本编辑",mousewheelAction:"鼠标滚轮行为",zoomView:"缩放视图",moveViewUpDown:"上下移动视图",mousewheelZoomActionReverse:"鼠标滚轮缩放",mousewheelZoomActionReverse1:"向前缩小向后放大",mousewheelZoomActionReverse2:"向前放大向后缩小",createNewNodeBehavior:"创建新节点的行为",default:"激活新节点及进入编辑",notActive:"不激活新节点",activeOnly:"只激活新节点,不进入编辑",openRealtimeRenderOnNodeTextEdit:"开启文本编辑实时渲染效果",isShowScrollbar:"是否显示滚动条",isUseHandDrawnLikeStyle:"是否开启手绘风格",isUseMomentum:"是否开启拖动画布的动量效果",watermark:"水印",showWatermark:"是否显示水印",watermarkDefaultText:"水印文字",onlyExport:"是否仅在导出时显示",watermarkText:"水印文字",watermarkTextColor:"文字颜色",watermarkLineSpacing:"水印行间距",watermarkTextSpacing:"水印文字间距",watermarkAngle:"旋转角度",watermarkTextOpacity:"文字透明度",watermarkTextFontSize:"文字字号",belowNode:"显示在节点下方",tagPositionRight:"文本右侧",tagPositionBottom:"文本下面",alwaysShowExpandBtn:"是否一直显示展开收起按钮",enableAutoEnterTextEditWhenKeydown:"键盘输入时自动进入文本编辑",enableInheritAncestorLineStyle:"节点连线样式继承祖先节点的样式",confirm:"确定",cancel:"取消",changeRichTextTip:"该操作会清空所有历史修改记录,并且修改思维导图数据,是否继续?",changeRichTextTip2:"是否切换为富文本模式?",changeRichTextTip3:"是否切换为非富文本模式?",enableDragImport:"是否允许直接拖拽文件到页面进行导入",imgTextMargin:"节点图片和文本间隔",textContentMargin:"节点各种内容间隔"},color:{moreColor:"更多颜色"},contextmenu:{export:"导出",insertSiblingNode:"插入同级节点",insertChildNode:"插入子级节点",insertParentNode:"插入父节点",insertSummary:"插入概要",addSiyuanPage:"节点子文档",moveUpNode:"上移节点",moveDownNode:"下移节点",deleteNode:"删除节点",deleteCurrentNode:"仅删除当前节点",copyNode:"复制节点",copyNodeHyperlink:"复制节点超链接",copyNodeHyperlinkDesc:"获取定位链接",cutNode:"剪切节点",pasteNode:"粘贴节点",backCenter:"回到根节点",expandAll:"展开所有",unExpandAll:"收起所有",expandTo:"展开到",arrangeLayout:"一键整理布局",level1:"一级主题",level2:"二级主题",level3:"三级主题",level4:"四级主题",level5:"五级主题",level6:"六级主题",zenMode:"禅模式",fitCanvas:"适应画布",removeImage:"移除图片",removeHyperlink:"移除超链接",removeSiyuanHyperlink:"移除思源子文档关联",removeSiyuanPDFHyperlink:"移除思源PDF关联",removeNote:"移除备注",removeCustomStyles:"一键去除自定义样式",removeAllNodeCustomStyles:"一键去除所有节点自定义样式",copyKmindNodeHyperlink:"复制节点超链接",exportNodeToPng:"导出该节点为图片",kmindCopyNodeToPng:"复制该节点为图片",copyNodeMirrorBlock:"复制节点镜像块",kmindCopySuccessAnywhere:"复制成功,请在思源中的任意位置直接粘贴即可",bindProtyleBlock:"绑定思源块 ID",clearProtyleBlock:"取消 Protyle 绑定",copyToClipboard:"复制到剪贴板",copyToSmm:"SMM",copyToKMind:"KMind",copyToJson:"JSON",copyToMarkdown:"Markdown",copyToTxt:"Txt",copyToPng:"图片",copySuccess:"复制成功",copyFail:"复制失败",number:"编号其子节点",expandNodeChild:"展开所有下级节点",unExpandNodeChild:"收起所有下级节点",addToDo:"添加待办",removeToDo:"删除待办"},count:{words:"字数",nodes:"节点"},dialog:{cancel:"取 消",confirm:"确 定"},export:{title:"导出",filename:"导出文件名称",include:"是否包含主题、结构等配置数据",dedicatedFile:"专有文件",jsonFile:"json文件",imageFile:"图片文件",svgFile:"svg文件",pdfFile:"pdf文件",markdownFile:"markdown文件",isTransparent:"背景是否透明",transformingDomToImages:"正在转换节点:",notifyTitle:"消息",notifyMessage:"如果没有触发下载,请检查是否被浏览器拦截了",paddingX:"水平内边距",paddingY:"垂直内边距",useMultiPageExport:"是否多页导出",defaultFileName:"思维导图",addFooterText:"底部添加文字",addFooterTextPlaceholder:"比如来自KMind",desc:"说明",options:"选项",protyleExportWarning:"请注意:如果节点中加载了思源块,其内容暂无法完整导出为图片 / PDF / SVG请以思源本体预览为准。"},fullscreen:{fullscreenShow:"全屏查看",fullscreenEdit:"全屏编辑"},demonstrate:{demonstrate:"进入演示模式"},import:{title:"导入",selectFile:"选取文件",support:"支持",file:"文件",pleaseSelect:"请选择",maxFileNum:"最多只能选择一个文件",notSelectTip:"请选择要导入的文件",fileContentError:"文件内容有误",importSuccess:"导入成功",fileParsingFailed:"文件解析失败",xmindCanvasSelectDialogTitle:"选择要导入的画布",markdownTextTitle:"粘贴 Markdown 文本(可选)",markdownTextPlaceholder:"在此粘贴 Markdown 文本,支持直接导入为导图",chooseSourceTitle:"选择导入数据来源",chooseSourceMessage:"检测到同时存在已选择的文件和输入的 Markdown 文本,请选择要导入的数据来源。",useFile:"使用文件内容导入",useText:"使用文本内容导入",notSelectFileOrTextTip:"请选择要导入的文件或输入 Markdown 文本",pastedMarkdownRootText:"粘贴的 Markdown 文档"},kmindHistory:{title:"历史记录",createHistoryVersion:"创建一个历史版本",refreshHistoryList:"刷新",autoSave:"自动保存",preview:"预览",delete:"删除",apply:"应用",pin:"标记"},navigatorToolbar:{openMiniMap:"开启小地图",closeMiniMap:"关闭小地图",readonly:"切换为只读模式",edit:"切换为编辑模式",backToRoot:"回到根节点",toggleZenMode:"切换为禅模式",changeSourceCodeEdit:"切换为源码编辑模式"},nodeHyperlink:{title:"超链接",link:"链接",name:"名称"},protyleNode:{bindBlockIdTitle:"绑定思源块 ID",inputBlockIdPlaceholder:"请输入思源块 ID例如 20231111123456-xxxxxxx",emptyBlockIdError:"块 ID 不能为空",invalidBlockIdError:"块 ID 格式不正确,请输入类似 20251203102139-a4512w0 的思源块 ID",blockNotExistError:"块不存在或索引未完成,请确认该 ID 在当前工作空间中有效",docIdNotAllowedError:"暂不支持绑定文档 ID请绑定文档内部的具体块 ID",bindSuccess:"已绑定 Protyle 块",bindFail:"绑定 Protyle 失败",clearSuccess:"已取消 Protyle 绑定",clearFail:"取消 Protyle 绑定失败",notAvailable:"当前模式暂不支持在节点内渲染 Protyle",clickToEdit:"点击开始编辑 Protyle",openInNewTab:"在新标签页中打开",openOnRight:"在右侧打开",openOnBottom:"在下方打开",unbind:"取消 Protyle 绑定"},nodeIcon:{title:"图标"},nodeImage:{title:"图片",imgTitle:"图片标题",copyImage:"复制图片到剪贴板",copyImageLink:"复制图片链接"},nodeNote:{title:"备注"},nodeTag:{title:"标签",addTip:"请按回车键添加"},richEditor:{nodeEditorTitle:"节点编辑",nodeNoteEditorTitle:"备注编辑"},outline:{title:"大纲",nodeDefaultText:"分支节点",print:"打印",fullscreen:"全屏"},outlineDoc:{title:"大纲笔记"},scale:{zoomIn:"放大",zoomOut:"缩小"},shortcutKey:{title:"快捷键",categoryNode:"节点操作",categoryCanvas:"画布操作",categoryTool:"工具",categoryOutline:"大纲",categoryFile:"文件/搜索",categoryReserved:"保留键",docTreeOnlyBadge:"仅文档树导图",disabled:"已禁用",reservedSelectAll:"全选",reservedCopy:"复制",reservedPaste:"粘贴",reservedCut:"剪切",reservedUndo:"撤销",reservedRedo:"重做"},shortcutCommands:{EDIT_NODE:"编辑节点",QUICK_EDIT_NODE:"快速编辑节点(全选)",INSERT_CHILD_NODE:"插入下级节点",INSERT_NODE:"插入同级节点",INSERT_PARENT_NODE:"插入父节点",UP_NODE:"上移节点",DOWN_NODE:"下移节点",ADD_GENERALIZATION:"插入概要",TOGGLE_EXPAND:"展开/收起节点",REMOVE_NODE:"删除节点",REMOVE_CURRENT_NODE:"仅删除当前节点",ADD_SIYUAN_PAGE:"节点子文档",BIND_PROTYLE_BLOCK_ID:"绑定思源块ID",TOGGLE_TODO:"添加/删除待办",COPY_NODE_HYPERLINK:"复制节点超链接",KMIND_COPY_CUR_NODE_TO_PNG:"复制该节点为图片",KMIND_COPY_NODE_MIRROR_BLOCK:"复制节点镜像块",RESET_LAYOUT:"一键整理布局",RETURN_CENTER:"回到根节点",VIEW_ENLARGE:"放大",VIEW_NARROW:"缩小",VIEW_FIT:"适应画布",SEARCH:"搜索和替换",SAVE:"保存",TOGGLE_OUTLINE_SIDEBAR:"打开/关闭大纲侧边栏",TOGGLE_OUTLINE_EDIT:"进入/退出大纲全屏编辑",TOGGLE_ZEN_MODE:"切换禅模式",TOGGLE_READONLY_MODE:"切换只读/可编辑模式",TOGGLE_MINI_MAP:"开关小地图",SHOW_NOTE_EDITOR:"备注",SHOW_NODE_TAG:"标签",SHOW_NODE_LINK:"超链接",SHOW_NODE_IMAGE:"图片",SHOW_NODE_ICON:"图标",CREATE_ASSOCIATIVE_LINE:"添加关联线",OPEN_FORMULA_SIDEBAR:"公式",TOGGLE_PAINTER:"格式刷"},strusture:{title:"结构"},style:{title:"节点样式",normal:"常态",active:"选中状态",text:"文字",fontFamily:"字体",fontSize:"字号",color:"颜色",addFontWeight:"加粗",italic:"斜体",textDecoration:"划线",none:"无",underline:"下划线",lineThrough:"中划线",overline:"上划线",border:"边框",style:"样式",width:"宽度",borderRadius:"圆角",background:"背景",shape:"形状",line:"线条",nodePadding:"节点内边距",horizontal:"水平",vertical:"垂直",gradientStyle:"渐变",startColor:"起始",endColor:"结束",arrowDir:"箭头位置",arrowDirStart:"头部",arrowDirEnd:"尾部",direction:"方向",pleaseSelectNode:"请选择一个节点",selectNodeTip:"请选择一个节点",openLineFlow:"开启流动效果",lineFlowDuration:"一个流动周期的时间",forward:"正向",reverse:"反向",img:"图片",placement:"布局",top:"上",bottom:"下",left:"左",right:"右",tag:"标签"},theme:{title:"主题",classics:"经典",dark:"深色",simple:"朴素",myThemes:"我的主题",currentScope:"当前作用范围",scopeGlobal:"全局默认",root:"根",coverTip:"你当前自定义过基础样式,是否覆盖?",tip:"提示",cover:"覆盖",reserve:"保留",theme_default:"默认",theme_classic:"脑图经典",theme_blackHumour:"黑色幽默",theme_lateNightOffice:"深夜办公室",theme_blackGold:"黑金",theme_orangeJuice:"橙汁",theme_neonLamp:"霓虹灯",theme_darkNightLceBlade:"暗夜冰刃",theme_dark:"暗色",theme_dark2:"暗色2",theme_dark3:"暗色3",theme_dark4:"暗色4",theme_dark5:"暗色5",theme_dark6:"暗色6",theme_dark7:"暗色7",theme_skyGreen:"天清绿",theme_classicGreen:"经典绿",theme_classicBlue:"经典蓝",theme_blueSky:"天空蓝",theme_brainImpairedPink:"脑残粉",theme_earthYellow:"泥土黄",theme_freshGreen:"清新绿",theme_freshRed:"清新红",theme_romanticPurple:"浪漫紫",theme_pinkGrape:"粉红葡萄",theme_mint:"薄荷",theme_gold:"金色vip",theme_vitalityOrange:"活力橙",theme_greenLeaf:"绿叶",theme_minions:"小黄人",theme_simpleBlack:"简约黑",theme_courseGreen:"课程绿",theme_coffee:"咖啡",theme_redSpirit:"红色精神",theme_avocado:"牛油果",theme_autumn:"秋天",theme_oreo:"奥利奥",theme_shallowSea:"浅海",theme_lemonBubbles:"柠檬气泡",theme_rose:"玫瑰",theme_seaBlueLine:"海蓝线",theme_morandi:"莫兰迪",theme_cactus:"仙人掌",theme_classic2:"脑图经典2",theme_classic3:"脑图经典3",theme_classic4:"脑图经典4",theme_classic5:"脑图经典5",theme_classic6:"脑图经典6",theme_classic7:"脑图经典7",theme_classic8:"脑图经典8",theme_classic9:"脑图经典9",theme_classic10:"脑图经典10",theme_classic11:"脑图经典11",theme_classic12:"脑图经典12",theme_classic13:"脑图经典13",theme_classic14:"脑图经典14",theme_classic15:"脑图经典15"},toolbar:{undo:"回退",redo:"前进",insertSiblingNode:"同级节点",insertChildNode:"子节点",deleteNode:"删除节点",image:"图片",icon:"图标",link:"超链接",note:"备注",tag:"标签",summary:"概要",displayOutline:"显示大纲",baseStyle:"基础样式",theme:"主题",strusture:"结构",newFile:"新建",openFile:"打开",saveAs:"另存为",import:"导入",export:"导出",history:"历史记录",shortcutKey:"快捷键",associativeLine:"关联线",painter:"格式刷",formula:"公式",attachment:"附件",outerFrame:"外框",editNode:"编辑节点",more:"更多",selectFileTip:"请选择文件",notSupportTip:"你的浏览器不支持该功能或者当前页面非https协议",tip:"提示",editingLocalFileTipFront:"当前正在编辑你本机的【",editingLocalFileTipEnd:"】文件",fileContentError:"文件内容有误",fileOpenFailed:"文件打开失败",defaultFileName:"思维导图",creatingTip:"正在创建文件",directory:"目录",newFileTip:"新建文件前请先导出当前编辑的文件,谨防内容丢失",openFileTip:"打开文件前请先导出当前编辑的文件,谨防内容丢失"},edit:{newFeatureNoticeTitle:"新特性提醒",newFeatureNoticeMessage:"本次更新支持了节点富文本编辑,但是存在一定缺陷,最主要的影响是导出为图片的时间和节点数量成正比,所以对导出需求比较依赖的话可以通过【基础样式】-【其他配置】-【是否开启节点富文本编辑】设置关掉富文本编辑模式。",root:"根节点",newRoot:"新根节点",multiRootDialogTitle:"开启多根模式",multiRootDialogContent:"当前导图为单根结构,是否开启多根模式?开启后会自动备份当前版本。",multiRootSuccess:"已开启多根模式,并自动保存当前版本",splitByWrap:"是否按换行自动分割节点?",tip:"提示",yes:"是",no:"否",exportError:"导出失败",dragTip:"在此释放以导入该文件",modeReadonly:"只读模式",modeEditable:"可编辑模式",dropHintDocLink:"松开:更新该节点的思源链接",dropHintDocRoot:"松开:创建文档根节点",dropHintDocNeedMulti:"松开:创建新根(需开启多根)",dropHintGutterRoot:"松开:创建思源块根节点",dropHintGutterChild:"松开:作为子节点创建思源块",dropHintGutterNeedMulti:"松开:创建思源块根节点(需开启多根)",dropSuccessDocLink:"已更新节点思源链接",dropSuccessDocRoot:"已创建文档根节点",dropSuccessDocRootMulti:"已创建 {count} 个文档根节点,可撤销",dropSuccessDocChild:"已添加为子节点",dropSuccessDocChildMulti:"已添加 {count} 个子节点",dropSuccessGutterRoot:"已创建思源块根节点",dropSuccessGutterRootMulti:"已创建 {count} 个思源块根节点,可撤销",dropSuccessGutterChild:"已添加思源块子节点",dropSuccessGutterChildMulti:"已添加 {count} 个思源块子节点",dropNoTargetNode:"未找到可插入的目标节点",dropError:"处理拖拽失败",deleteNodeImgTip:"是否确认删除该节点图片?",autoOpenNodeRichTextTip:"检测到导入了富文本内容,已自动开启富文本模式"},mouseAction:{tip1:"当前:左键拖动画布,右键框选节点",tip2:"当前:左键框选节点,右键拖动画布"},search:{searchPlaceholder:"请输入查找内容",replacePlaceholder:"请输入替换内容",replace:"替换",replaceAll:"全部替换",cancel:"取消",noResult:"暂无结果"},nodeIconSidebar:{title:"图标/贴纸",icon:"图标",sticker:"贴纸"},formulaSidebar:{title:"公式",placeholder:"请输入 LaTeX 语法",confirm:"完成",common:"常用公式",tip:"非富文本模式下不支持插入公式"},richTextToolbar:{bold:"加粗",italic:"斜体",underline:"下划线",strike:"删除线",fontFamily:"字体",fontSize:"字号",color:"字体颜色",backgroundColor:"背景颜色",removeFormat:"清除样式",textAlign:"对齐方式"},other:{loading:"正在加载,请稍后..."},sourceCodeEdit:{sourceCodeTip:"富文本模式下不建议修改样式因为需要同步修改数据及html结构。",format:"格式化",copy:"复制",confirm:"完成",close:"关闭",formatErrorTip:"JSON格式有误请检查后再试",copyTip:"已复制到剪贴板",formatTip:"格式化完成"},attachment:{deleteAttachment:"删除附件",tip:"附件功能仅在客户端可用"},annotation:{mark:"标记",show:"显示标记",type:"类型",color:"颜色",lineWidth:"线宽",padding:"内边距",animate:"开启动画"},nodeOuterFrame:{outerFrameSetting:"外框设置",deleteOuterFrame:"删除外框",boxStyle:"边框样式",boxColor:"边框颜色",fillColor:"填充颜色",strokeFlow:"虚线流动",strokeFlowDuration:"流动时长(s)",labelText:"标题",labelPosition:"标题位置",labelFontSize:"字号",labelOffsetX:"偏移X",labelOffsetY:"偏移Y",labelPadding:"内边距",labelColor:"文字颜色",labelBackground:"背景颜色",textPosition:{topLeft:"左上",top:"上",topRight:"右上",left:"左",center:"中",right:"右",bottomLeft:"左下",bottom:"下",bottomRight:"右下"}},nodeTagStyle:{placeholder:"请输入标签内容",delete:"删除此标签"},openSiyuanFloat:{open:"打开文档",openLeft:"打开左侧",openRight:"在页签右侧打开",openBottom:"在页签底部打开"},kmindDefaultText:{defaultInsertSecondLevelNodeText:"二级节点",defaultInsertBelowSecondLevelNodeText:"分支主题",defaultGeneralizationText:"概要",defaultAssociativeLineText:"关联线"},moc:{operationNotSupported:"MOC 模式暂不支持该操作",insertParentNotSupported:"MOC 模式暂不支持:插入父节点",insertMultiNotSupported:"MOC 模式暂不支持:插入多个同级节点",pasteNotSupported:"MOC 模式暂不支持:粘贴节点(节点树)",undoNotSupported:"MOC 模式暂不支持撤销Ctrl+Z",redoNotSupported:"MOC 模式暂不支持前进Ctrl+Y",refreshMocData:"刷新 MOC 导图数据",cannotGetDocId:"无法获取当前文档 ID",refreshing:"正在刷新 MOC 导图数据...",refreshSuccess:"刷新完成",refreshFailedNoData:"刷新失败:未获取到有效数据",refreshFailed:"刷新失败",deleteNodeConfirmSingle:"删除节点将同时删除对应的思源文档,是否继续?",deleteNodeConfirmMultiple:"删除 {count} 个节点将同时删除对应的思源文档,是否继续?",deleteConfirmTitle:"警告",confirmButton:"确定",cancelButton:"取消",deleteSuccess:"已删除 {count} 个文档",deletePartialFailed:"删除失败: {failed}/{total} 个文档删除失败",deleteFailed:"删除节点失败",noNodesToDelete:"没有要删除的节点",noDocIdToDelete:"节点没有关联的文档 ID",createDocFailed:"创建文档失败",createNodeFailed:"创建节点失败",renameDocFailed:"重命名文档失败",titleCannotBeEmpty:"标题不能为空",moveDocFailed:"移动文档失败",moveNodeFailed:"移动节点失败",moveSuccess:"已移动 {count} 个文档",noNodesToMove:"没有待移动的节点",noTargetNode:"没有目标节点",targetNodeNoDocId:"目标节点没有关联的文档 ID",nodeNoDocId:"待移动节点没有关联的文档 ID"}},l={kmind:{jumpToEditSourceDoc:"跳轉編輯源文檔",kmindInitLoadingText:"如果超過5秒還沒有加載完成說明KMindApp加載失敗了請重新開關一下該頁面即可",dataProtectionInterceptTip:"已經為您攔截可能的數據丟失,請手動開關一下本張導圖即可恢復正常的保存流程",dragCreateRootHint:"鬆手即可創建新根節點"},kmindFloatToolbar:{editNode:"編輯節點",deleteNode:"刪除節點",addNote:"添加備註",addLink:"添加鏈接",addTag:"添加標籤",addImage:"添加圖片",addIcon:"添加圖標",addAssociativeLine:"添加關聯線",addSummary:"添加概要",addFormula:"添加公式",addOuterFrame:"添加外框",undo:"撤銷",redo:"重做",formatPainter:"格式刷",dragToAddNode:"按住拖動添加節點"},baseStyle:{title:"基本樣式",background:"背景",color:"顏色",image:"圖片",imageRepeat:"圖片重複",imagePosition:"圖片位置",imageSize:"圖片大小",line:"連線",width:"寬度",style:"樣式",lineRadius:"圓角半徑",lineOfOutline:"概要連線",showArrow:"顯示箭頭",nodePadding:"節點內距",nodeMargin:"節點外距",horizontal:"水平",vertical:"垂直",maximumWidth:"最大寬度",maximumHeight:"最大高度",icon:"圖示",size:"大小",level2Node:"第二層節點",belowLevel2Node:"第三層及以下節點",nodeBorderType:"節點邊框樣式",nodeUseLineStyle:"僅使用底邊框樣式",otherConfig:"其他設定",associativeLine:"關聯線",associativeLineWidth:"寬度",associativeLineColor:"顏色",associativeLineActiveWidth:"啟用時寬度",associativeLineActiveColor:"啟用時顏色",rootStyle:"根節點",associativeLineText:"關聯線文字",fontFamily:"字型",fontSize:"字型大小",rootLineStartPos:"根節點連線起始位置",center:"中心",edge:"邊緣",rainbowLines:"彩虹線條",notUseRainbowLines:"不使用彩虹線條",outerFramePadding:"外框內距",tagPositionRight:"文本右側",tagPositionBottom:"文本下面"},setting:{title:"設置",openPerformance:"啟用效能模式",enableFreeDrag:"啟用節點自由拖曳 (Beta)",isEnableNodeRichText:"啟用節點豐富文字編輯",mousewheelAction:"滑鼠滾輪行為",zoomView:"縮放檢視",moveViewUpDown:"上下移動檢視",mousewheelZoomActionReverse:"滑鼠滾輪縮放",mousewheelZoomActionReverse1:"向前縮小,向後放大",mousewheelZoomActionReverse2:"向前放大,向後縮小",createNewNodeBehavior:"建立新節點行為",default:"啟用新節點並進入編輯",notActive:"不啟用新節點",activeOnly:"僅啟用新節點,不進入編輯",openRealtimeRenderOnNodeTextEdit:"開啟文本編輯實時渲染效果",isShowScrollbar:"顯示捲軸",isUseHandDrawnLikeStyle:"使用手繪風格",isUseMomentum:"是否開啓拖動畫布的動量效果",watermark:"浮水印",showWatermark:"顯示浮水印",onlyExport:"僅在匯出時顯示",watermarkDefaultText:"浮水印文字",watermarkText:"浮水印文字",watermarkTextColor:"文字顏色",watermarkLineSpacing:"行距",watermarkTextSpacing:"文字間距",watermarkAngle:"旋轉角度",watermarkTextOpacity:"文字透明度",watermarkTextFontSize:"字型大小",belowNode:"顯示在節點下方",confirm:"確定",cancel:"取消",changeRichTextTip:"該操作會清空所有曆史修改記錄,並且修改思維導圖數據,是否繼續?",changeRichTextTip2:"是否切換爲富文本模式?",changeRichTextTip3:"是否切換爲非富文本模式?",enableDragImport:"是否允許直接拖拽文件到頁面進行導入",imgTextMargin:"節點圖片和文本間隔",textContentMargin:"節點各種內容間隔",enableAutoEnterTextEditWhenKeydown:"鍵盤輸入時自動進入文本編輯",enableInheritAncestorLineStyle:"節點連線樣式繼承祖先節點的樣式",alwaysShowExpandBtn:"是否壹直顯示展開收起按鈕"},color:{moreColor:"更多顏色"},contextmenu:{insertSiblingNode:"插入同層節點",insertChildNode:"插入子節點",insertParentNode:"插入父節點",insertSummary:"插入概要",addSiyuanPage:"節點子文檔",moveUpNode:"上移節點",moveDownNode:"下移節點",deleteNode:"刪除節點",deleteCurrentNode:"僅刪除目前節點",copyNode:"複製節點",copyNodeHyperlink:"複製節點超連結",copyNodeHyperlinkDesc:"取得定位連結",cutNode:"剪下節點",pasteNode:"貼上節點",backCenter:"回到根節點",expandAll:"展開全部",unExpandAll:"收合全部",expandTo:"展開至",arrangeLayout:"一鍵整理版面",level1:"第一層主題",level2:"第二層主題",level3:"第三層主題",level4:"第四層主題",level5:"第五層主題",level6:"第六層主題",zenMode:"禪模式",fitCanvas:"適應畫布",removeImage:"移除圖片",removeHyperlink:"移除超連結",removeSiyuanHyperlink:"移除思源子文檔關聯",removeSiyuanPDFHyperlink:"移除思源PDF關聯",removeNote:"移除備註",removeCustomStyles:"一鍵移除自訂樣式",removeAllNodeCustomStyles:"一鍵移除所有節點自訂樣式",copyKmindNodeHyperlink:"複製節點超連結",exportNodeToPng:"匯出此節點為圖片",kmindCopyNodeToPng:"複製此節點為圖片",copyNodeMirrorBlock:"複製節點鏡像塊",kmindCopySuccessAnywhere:"複製成功,請在思源中的任意位置直接粘貼即可",bindProtyleBlock:"綁定思源區塊 ID",clearProtyleBlock:"取消思源區塊綁定",copyToClipboard:"複製到剪貼簿",copyToSmm:"SMM",copyToJson:"JSON",copyToMarkdown:"Markdown",copyToTxt:"Txt",copyToPng:"圖片",copySuccess:"複製成功",copyFail:"複製失敗",number:"將其子節點編號",expandNodeChild:"展開所有下級節點",unExpandNodeChild:"收起所有下級節點",addToDo:"添加待辦",removeToDo:"刪除待辦"},count:{words:"字數",nodes:"節點數"},dialog:{cancel:"取消",confirm:"確定"},export:{title:"匯出",filename:"檔案名稱",include:"包含主題、結構等設定資料",dedicatedFile:"專用檔案",jsonFile:"JSON 檔案",imageFile:"圖片檔案",svgFile:"SVG 檔案",pdfFile:"PDF 檔案",markdownFile:"Markdown 檔案",isTransparent:"背景透明",transformingDomToImages:"正在轉換節點:",notifyTitle:"訊息",notifyMessage:"如果沒有觸發下載,請檢查是否被瀏覽器封鎖",paddingX:"水平內距",paddingY:"垂直內距",useMultiPageExport:"多頁匯出",defaultFileName:"心智圖",addFooterText:"在底部新增文字",addFooterTextPlaceholder:"例如:來自 simple-mind-map",desc:"說明",options:"選項",protyleExportWarning:"請注意:如果節點中載入了思源區塊,其內容暫時無法完整匯出為圖片 / PDF / SVG請以思源本體預覽為準。"},fullscreen:{fullscreenShow:"全螢幕檢視",fullscreenEdit:"全螢幕編輯"},demonstrate:{demonstrate:"進入展示模式"},import:{title:"匯入",selectFile:"選擇檔案",support:"支援",file:"檔案",pleaseSelect:"請選擇",maxFileNum:"最多只能選擇一個檔案",notSelectTip:"請選擇要匯入的檔案",fileContentError:"檔案內容有誤",importSuccess:"匯入成功",fileParsingFailed:"檔案解析失敗",xmindCanvasSelectDialogTitle:"選擇要匯入的畫布",markdownTextTitle:"貼上 Markdown 文字(選填)",markdownTextPlaceholder:"在此貼上 Markdown 文字,支援直接匯入為導圖",chooseSourceTitle:"選擇匯入資料來源",chooseSourceMessage:"偵測到同時存在已選取的檔案與輸入的 Markdown 文字,請選擇要匯入的資料來源。",useFile:"使用檔案內容匯入",useText:"使用文字內容匯入",notSelectFileOrTextTip:"請選擇要匯入的檔案或輸入 Markdown 文字",pastedMarkdownRootText:"貼上的 Markdown 文件"},kmindHistory:{title:"歷史記錄",createHistoryVersion:"創建一個歷史版本",refreshHistoryList:"刷新",autoSave:"自動保存",preview:"預覽",delete:"刪除",apply:"應用",pin:"標記"},navigatorToolbar:{openMiniMap:"開啟小地圖",closeMiniMap:"關閉小地圖",readonly:"切換為唯讀模式",edit:"切換為編輯模式",backToRoot:"回到根節點",toggleZenMode:"切換為禪模式",changeSourceCodeEdit:"切換為原始碼編輯模式"},nodeHyperlink:{title:"超連結",link:"連結",name:"名稱"},protyleNode:{bindBlockIdTitle:"綁定思源區塊 ID",inputBlockIdPlaceholder:"請輸入思源區塊 ID例如 20231111123456-xxxxxxx",emptyBlockIdError:"區塊 ID 不可為空",invalidBlockIdError:"區塊 ID 格式不正確,請輸入類似 20251203102139-a4512w0 的思源區塊 ID",blockNotExistError:"區塊不存在或索引尚未完成,請確認該 ID 在當前工作空間中有效",docIdNotAllowedError:"暫不支援綁定文件 ID請綁定文件內部的具體區塊 ID",bindSuccess:"已綁定 Protyle 區塊",bindFail:"綁定 Protyle 失敗",clearSuccess:"已取消 Protyle 綁定",clearFail:"取消 Protyle 綁定失敗",notAvailable:"當前模式暫不支援在節點內渲染 Protyle",clickToEdit:"點擊開始編輯 Protyle",openInNewTab:"在新分頁中開啟",openOnRight:"在右側開啟",openOnBottom:"在下方開啟",unbind:"取消 Protyle 綁定"},nodeIcon:{title:"圖示"},nodeImage:{title:"圖片",imgTitle:"圖片標題",copyImage:"複製圖片到剪貼簿",copyImageLink:"複製圖片連結"},nodeNote:{title:"備註"},nodeTag:{title:"標籤",addTip:"請按 Enter 鍵新增"},outline:{title:"大綱",nodeDefaultText:"分支節點",print:"打印",fullscreen:"全屏"},outlineDoc:{title:"大綱筆記"},scale:{zoomIn:"放大",zoomOut:"縮小"},shortcutKey:{title:"快速鍵",categoryNode:"節點操作",categoryCanvas:"畫布操作",categoryTool:"工具",categoryOutline:"大綱",categoryFile:"檔案/搜尋",categoryReserved:"保留鍵",docTreeOnlyBadge:"僅文檔樹導圖",disabled:"已停用",reservedSelectAll:"全選",reservedCopy:"複製",reservedPaste:"貼上",reservedCut:"剪下",reservedUndo:"復原",reservedRedo:"重做"},shortcutCommands:{EDIT_NODE:"編輯節點",QUICK_EDIT_NODE:"快速編輯節點(全選)",INSERT_CHILD_NODE:"插入下級節點",INSERT_NODE:"插入同級節點",INSERT_PARENT_NODE:"插入父節點",UP_NODE:"上移節點",DOWN_NODE:"下移節點",ADD_GENERALIZATION:"插入概要",TOGGLE_EXPAND:"展開/收起節點",REMOVE_NODE:"刪除節點",REMOVE_CURRENT_NODE:"僅刪除當前節點",ADD_SIYUAN_PAGE:"節點子文檔",BIND_PROTYLE_BLOCK_ID:"綁定思源塊ID",TOGGLE_TODO:"添加/刪除待辦",COPY_NODE_HYPERLINK:"複製節點超連結",KMIND_COPY_CUR_NODE_TO_PNG:"複製該節點為圖片",KMIND_COPY_NODE_MIRROR_BLOCK:"複製節點鏡像塊",RESET_LAYOUT:"一鍵整理佈局",RETURN_CENTER:"回到根節點",VIEW_ENLARGE:"放大",VIEW_NARROW:"縮小",VIEW_FIT:"適應畫布",SEARCH:"搜尋與取代",SAVE:"儲存",TOGGLE_OUTLINE_SIDEBAR:"開啟/關閉大綱側邊欄",TOGGLE_OUTLINE_EDIT:"進入/退出大綱全螢幕編輯",TOGGLE_ZEN_MODE:"切換禪模式",TOGGLE_READONLY_MODE:"切換唯讀/可編輯模式",TOGGLE_MINI_MAP:"開關小地圖",SHOW_NOTE_EDITOR:"備註",SHOW_NODE_TAG:"標籤",SHOW_NODE_LINK:"超連結",SHOW_NODE_IMAGE:"圖片",SHOW_NODE_ICON:"圖示",CREATE_ASSOCIATIVE_LINE:"添加關聯線",OPEN_FORMULA_SIDEBAR:"公式",TOGGLE_PAINTER:"格式刷"},strusture:{title:"結構"},style:{title:"節點樣式",normal:"常態",active:"選取狀態",text:"文字",fontFamily:"字型",fontSize:"字型大小",color:"顏色",addFontWeight:"粗體",italic:"斜體",textDecoration:"文字裝飾",none:"無",underline:"底線",lineThrough:"刪除線",overline:"上劃線",border:"邊框",style:"樣式",width:"寬度",borderRadius:"圓角",background:"背景",shape:"形狀",line:"線條",nodePadding:"節點內距",horizontal:"水平",vertical:"垂直",gradientStyle:"漸層",startColor:"起始",endColor:"結束",arrowDir:"箭頭位置",arrowDirStart:"頭部",arrowDirEnd:"尾部",direction:"方向",pleaseSelectNode:"請選擇一個節點",selectNodeTip:"請選擇壹個節點",openLineFlow:"開啓流動效果",lineFlowDuration:"一個流動周期的時間",forward:"正向",reverse:"反向",img:"圖片",placement:"布局",top:"上",bottom:"下",left:"左",right:"右",tag:"標簽"},theme:{title:"主題",classics:"經典",dark:"深色",simple:"簡約",currentScope:"當前作用範圍",scopeGlobal:"全域預設",root:"根",coverTip:"您目前已自訂過基本樣式,是否要覆蓋?",tip:"提示",cover:"覆蓋",reserve:"保留"},toolbar:{undo:"復原",redo:"重做",insertSiblingNode:"同層節點",insertChildNode:"子節點",deleteNode:"刪除節點",image:"圖片",icon:"圖示",link:"超連結",note:"備註",tag:"標籤",summary:"摘要",displayOutline:"顯示大綱",baseStyle:"基本樣式",theme:"主題",strusture:"結構",newFile:"新增檔案",openFile:"開啟檔案",saveAs:"另存新檔",import:"匯入",export:"匯出",history:"歷史記錄",shortcutKey:"快速鍵",associativeLine:"關聯線",painter:"格式刷",formula:"公式",attachment:"附件",outerFrame:"外框",more:"更多",selectFileTip:"請選擇檔案",notSupportTip:"您的瀏覽器不支援此功能,或者目前頁面非 HTTPS 協定",tip:"提示",editingLocalFileTipFront:"目前正在編輯您電腦上的【",editingLocalFileTipEnd:"】檔案",fileContentError:"檔案內容有誤",fileOpenFailed:"檔案開啟失敗",defaultFileName:"心智圖",creatingTip:"正在建立檔案",directory:"目錄",newFileTip:"新增檔案前,請先匯出目前編輯的檔案,以免內容遺失",openFileTip:"開啟檔案前,請先匯出目前編輯的檔案,以免內容遺失"},edit:{newFeatureNoticeTitle:"新功能提醒",newFeatureNoticeMessage:"本次更新支援了節點豐富文字編輯,但存在一些缺陷,最主要的影響是匯出為圖片的時間與節點數量成正比,所以如果比較依賴匯出功能,可以透過【基本樣式】-【其他設定】-【是否啟用節點豐富文字編輯】設定關閉豐富文字編輯模式。",root:"根節點",newRoot:"新根節點",multiRootDialogTitle:"開啟多根模式",multiRootDialogContent:"當前導圖為單根結構,是否開啟多根模式?開啟後會自動備份當前版本。",multiRootSuccess:"已開啟多根模式,並自動保存當前版本",splitByWrap:"是否根據換行自動分割節點?",tip:"提示",yes:"是",no:"否",exportError:"匯出失敗",dragTip:"在此釋放以匯入檔案",modeReadonly:"唯讀模式",modeEditable:"可編輯模式",dropHintDocLink:"鬆開:更新該節點的思源連結",dropHintDocRoot:"鬆開:建立文檔根節點",dropHintDocNeedMulti:"鬆開:建立新根(需開啟多根)",dropHintGutterRoot:"鬆開:建立思源區塊根節點",dropHintGutterChild:"鬆開:作為子節點建立思源區塊",dropHintGutterNeedMulti:"鬆開:建立思源區塊根節點(需開啟多根)",dropSuccessDocLink:"已更新節點思源連結",dropSuccessDocRoot:"已建立文檔根節點",dropSuccessDocRootMulti:"已建立 {count} 個文檔根節點,可撤銷",dropSuccessDocChild:"已新增為子節點",dropSuccessDocChildMulti:"已新增 {count} 個子節點",dropSuccessGutterRoot:"已建立思源區塊根節點",dropSuccessGutterRootMulti:"已建立 {count} 個思源區塊根節點,可撤銷",dropSuccessGutterChild:"已新增思源區塊子節點",dropSuccessGutterChildMulti:"已新增 {count} 個思源區塊子節點",dropNoTargetNode:"未找到可插入的目標節點",dropError:"處理拖拽失敗",autoOpenNodeRichTextTip:"檢測到導入了富文本內容,已自動開啓富文本模式"},mouseAction:{tip1:"目前:左鍵拖曳畫布,右鍵框選節點",tip2:"目前:左鍵框選節點,右鍵拖曳畫布"},search:{searchPlaceholder:"請輸入搜尋內容",replacePlaceholder:"請輸入取代內容",replace:"取代",replaceAll:"全部取代",cancel:"取消",noResult:"查無結果"},nodeIconSidebar:{title:"圖示/貼圖",icon:"圖示",sticker:"貼圖"},formulaSidebar:{title:"公式",placeholder:"請輸入 LaTeX 語法",confirm:"完成",common:"常用公式",tip:"僅在豐富文字模式下支援插入公式"},richTextToolbar:{bold:"粗體",italic:"斜體",underline:"底線",strike:"刪除線",fontFamily:"字型",fontSize:"字型大小",color:"字型顏色",backgroundColor:"背景顏色",removeFormat:"清除樣式",textAlign:"對齊方式"},other:{loading:"載入中,請稍候..."},sourceCodeEdit:{sourceCodeTip:"不建議在豐富文字模式下修改樣式,因為需要同步修改資料和 HTML 結構。",format:"格式化",copy:"複製",confirm:"完成",close:"關閉",formatErrorTip:"JSON 格式錯誤,請檢查後重試",copyTip:"已複製到剪貼簿",formatTip:"格式化完成"},attachment:{deleteAttachment:"刪除附件",tip:"附件功能僅在用戶端可用"},annotation:{mark:"標記",show:"顯示標記",type:"類型",color:"顏色",lineWidth:"線寬",padding:"內距",animate:"動畫"},nodeOuterFrame:{outerFrameSetting:"外框設定",deleteOuterFrame:"刪除外框",boxStyle:"邊框樣式",boxColor:"邊框顏色",fillColor:"填充顏色",strokeFlow:"虛線流動",strokeFlowDuration:"流動時長(s)",labelText:"標題",labelPosition:"標題位置",labelFontSize:"字號",labelOffsetX:"偏移X",labelOffsetY:"偏移Y",labelPadding:"內距",labelColor:"文字顏色",labelBackground:"背景顏色",textPosition:{topLeft:"左上",top:"上",topRight:"右上",left:"左",center:"中",right:"右",bottomLeft:"左下",bottom:"下",bottomRight:"右下"}},nodeTagStyle:{placeholder:"請輸入標籤內容",delete:"刪除此標籤"},openSiyuanFloat:{open:"打開文檔",openLeft:"打開左側",openRight:"在頁籤右側打開",openBottom:"在頁籤底部打開"},kmindDefaultText:{defaultInsertSecondLevelNodeText:"二級節點",defaultInsertBelowSecondLevelNodeText:"分支主題",defaultGeneralizationText:"概要",defaultAssociativeLineText:"關聯線"}},d={zh:a,en:r,zhtw:l,"zh-CN":a,zh_CN:a,zh_cn:a,"en-US":r,en_US:r,en_us:r,"zh-TW":l,zh_TW:l,zh_tw:l};n["default"].use(i["a"]);const s=new i["a"]({messages:d});t["a"]=s},"9c65":function(e,t,o){},b2d1:function(e,t,o){"use strict";var n,i;o.d(t,"a",(function(){return l})),o.d(t,"b",(function(){return u}));const r=["dev","pre","pro"],a=()=>{const e="pro";return e&&r.includes(e)?e:"pro"},l=a(),d={dev:{activationBase:"http://100.64.0.19:3000",nextBase:"http://localhost:3000"},pre:{activationBase:"https://api-pre.suka233.com",nextBase:"https://sharestaging.kmind.app"},pro:{activationBase:"https://api.suka233.com",nextBase:"https://share.kmind.app"}},s=e=>{const t=Object({VUE_APP_KMIND_ENV:"pro",NODE_ENV:"production",VUE_APP_SIYUAN_WIDGET:"true",BASE_URL:""})[e];if(!t)return;const o=t.trim();return o?o.endsWith("/")?o.slice(0,-1):o:void 0},c={activationBase:null!==(n=s("VUE_APP_KMIND_ACTIVATION_BASE"))&&void 0!==n?n:d[l].activationBase,nextBase:null!==(i=s("VUE_APP_KMIND_NEXT_BASE"))&&void 0!==i?i:d[l].nextBase},u=(c.activationBase,c.nextBase)},c0d6:function(e,t,o){"use strict";var n=o("2b0e"),i=o("2f62"),r=o("5848"),a=o("2ef0");function l(){return new i["a"].Store({state:{mindMapData:null,mindMapDataJson:"{}",isHandleLocalFile:!1,config:{rainbowLinesConfig:{open:!1,colorsList:[]}},localConfig:{isZenMode:!1,openNodeRichText:!0,useLeftKeySelectionRightKeyDrag:!1,isShowScrollbar:!1,isUseHandDrawnLikeStyle:!1,isUseMomentum:!0,isDark:!1},injectConfig:{type:"",name:""},kmind:{saveType:"",filePath:"",version:"",localConfig:{isZenMode:!1,isFullScreen:!1,miniMapVisible:!1,readonlyMode:!1},isZenMode:!1,isFullScreen:!1,miniMapVisible:!1,readonlyMode:!1,isDark:!1,lang:"zh",config:{rainbowLinesConfig:{open:!1,colorsList:[]}}},activeSidebar:"",isOutlineEdit:!1,isReadonly:!1,isSourceCodeEdit:!1,extraTextOnExport:"",supportHandDrawnLikeStyle:!1,supportMark:!1,supportNumbers:!1,supportFreemind:!1,supportExcel:!1,supportCheckbox:!1,supportLineFlow:!1,supportMomentum:!1,isDragOutlineTreeNode:!1},mutations:{mergeMindMapDataJson(e,t){const o=Object(a["merge"])(JSON.parse(e.mindMapDataJson),t);e.mindMapDataJson=JSON.stringify(o)},setMindMapDataJson(e,t){e.mindMapDataJson=t},setMindMapData(e,t){e.mindMapData=t},setIsHandleLocalFile(e,t){e.isHandleLocalFile=t},setConfig(e,t){e.config={...e.config,...t}},setKmindConfig(e,{kmindConfig:t,smmConfig:o,localConfig:n}){t&&Object.keys(t).length&&(e.localConfig={...e.localConfig,...t.localConfig},e.isReadonly=t.readonlyMode),o&&Object.keys(o).length&&(console.log("smmConfig.config",o),e.kmind.config=o),n&&Object.keys(n).length&&(e.localConfig={...e.localConfig,...n})},setLocalConfig(e,t){e.localConfig={...e.localConfig,...t}},setActiveSidebar(e,t){e.activeSidebar=t},setIsOutlineEdit(e,t){e.isOutlineEdit=t},setIsReadonly(e,t){e.isReadonly=t},setIsSourceCodeEdit(e,t){e.isSourceCodeEdit=t},setExtraTextOnExport(e,t){e.extraTextOnExport=t},setSupportHandDrawnLikeStyle(e,t){e.supportHandDrawnLikeStyle=t},setSupportMark(e,t){e.supportMark=t},setInjectConfig(e,t){e.injectConfig=t},setSupportNumbers(e,t){e.supportNumbers=t},setSupportFreemind(e,t){e.supportFreemind=t},setSupportExcel(e,t){e.supportExcel=t},setSupportCheckbox(e,t){e.supportCheckbox=t},setSupportLineFlow(e,t){e.supportLineFlow=t},setSupportMomentum(e,t){e.supportMomentum=t},setIsDragOutlineTreeNode(e,t){e.isDragOutlineTreeNode=t}},actions:{setInjectConfig(e,t){e.state.injectConfig=t},getUserMindMapData(e){try{let{data:t}={data:{data:{mindMapData:r["a"]}}};e.commit("setMindMapData",t.data)}catch(t){console.log(t)}}},getters:{mindMapFullDataWithConfig(e){const t={...JSON.parse(e.mindMapDataJson),config:{...e.config},localConfig:{...e.localConfig}};return t}}})}n["default"].use(i["a"]);var d=o("e907");const s=l();d["a"].setDefault(s);t["a"]=s},e907:function(e,t,o){"use strict";class n{constructor(){if(n.instance)return n.instance;this.stores=new Map,this.defaultStoreId="default",n.instance=this}register(e,t){return e&&t?this.stores.has(e)?(console.warn(`[StoreManager] ID 为 "${e}" 的 store 已存在。请使用 update() 方法来替换它。`),!1):(this.stores.set(e,t),console.log(`[StoreManager] Store "${e}" 注册成功`),!0):(console.error("[StoreManager] 无效的参数id 和 store 是必需的"),!1)}update(e,t){if(!e||!t)return console.error("[StoreManager] 无效的参数id 和 store 是必需的"),!1;const o=this.stores.has(e);return this.stores.set(e,t),console.log(`[StoreManager] Store "${e}" ${o?"更新":"创建"}成功`),!0}get(e){if(!e)return console.warn("[StoreManager] 未提供 store ID返回默认 store"),this.getDefault();const t=this.stores.get(e);return t||(console.warn(`[StoreManager] 未找到 Store "${e}",返回默认 store`),this.getDefault())}getDefault(){return this.stores.get(this.defaultStoreId)||null}setDefault(e){return e?(this.stores.set(this.defaultStoreId,e),console.log("[StoreManager] 默认 store 设置成功"),!0):(console.error("[StoreManager] 提供的 store 无效"),!1)}remove(e){if(!e)return console.error("[StoreManager] Store ID 是必需的"),!1;if(e===this.defaultStoreId)return console.warn("[StoreManager] 无法移除默认 store。请使用 clear() 方法移除所有 store。"),!1;const t=this.stores.delete(e);return t?console.log(`[StoreManager] Store "${e}" 移除成功`):console.warn(`[StoreManager] 未找到 Store "${e}"`),t}has(e){return this.stores.has(e)}getStoreIds(){return Array.from(this.stores.keys())}size(){return this.stores.size}clearNonDefault(){const e=this.getDefault();this.stores.clear(),e&&this.stores.set(this.defaultStoreId,e),console.log("[StoreManager] 所有非默认 store 已清除")}clear(){this.stores.clear(),console.log("[StoreManager] 所有 store 已清除")}getOrCreate(e,t){if(!e||"function"!==typeof t)return console.error("[StoreManager] 无效的参数id 和 createStoreFn 是必需的"),this.getDefault();if(this.stores.has(e))return this.stores.get(e);const o=t();return o?(this.stores.set(e,o),console.log(`[StoreManager] Store "${e}" 按需创建成功`),o):(console.error(`[StoreManager] 创建 Store "${e}" 失败`),this.getDefault())}}const i=new n;Object.freeze(i),t["a"]=i}});