[{"data":1,"prerenderedAt":2240},["ShallowReactive",2],{"navigation":3,"\u002Fgolang\u002Fwails_frameless":144,"\u002Fgolang\u002Fwails_frameless-surround":2235},[4,36,53,86,131],{"title":5,"path":6,"stem":7,"children":8,"icon":35},"Golang","\u002Fgolang","1.golang\u002F1.index",[9,11,15,19,23,27,31],{"title":10,"path":6,"stem":7},"golang-各种golang学习以及使用过程中记录",{"title":12,"path":13,"stem":14},"gopls-官方gopls内置mcp server的基本使用","\u002Fgolang\u002Fgopls_mcp_usages","1.golang\u002F2.gopls_mcp_usages",{"title":16,"path":17,"stem":18},"实践-(一)创建简单的http服务器","\u002Fgolang\u002Fgo_http_simple_server","1.golang\u002F3.go_http_simple_server",{"title":20,"path":21,"stem":22},"wails入门系列(一)环境安装与demo","\u002Fgolang\u002Fwails_start","1.golang\u002F4.wails_start",{"title":24,"path":25,"stem":26},"wails入门系列(二)无边框应用的菜单栏以及窗口拖拽","\u002Fgolang\u002Fwails_frameless","1.golang\u002F5.wails_frameless",{"title":28,"path":29,"stem":30},"go\u002Fredis-redis中大数字自动转换成指数形式的处理","\u002Fgolang\u002Fredis_big_num","1.golang\u002F6.redis_big_num",{"title":32,"path":33,"stem":34},"go\u002F方法记录-局部坐标与世界坐标间的相互转换(位置\u002F方向)","\u002Fgolang\u002Fworld_local_transform","1.golang\u002F7.world_local_transform",false,{"title":37,"icon":35,"path":38,"stem":39,"children":40,"page":35},"瞎折腾","\u002Ftinkering","2.tinkering",[41,45,49],{"title":42,"path":43,"stem":44},"mi50显卡ubuntu运行大模型开坑(一)显卡准备以及驱动安装","\u002Ftinkering\u002Fmi50_gpu_llm_1","2.tinkering\u002F1.mi50_gpu_llm_1",{"title":46,"path":47,"stem":48},"mi50显卡ubuntu运行大模型开坑(二)使用llama.cpp部署Qwen3系列","\u002Ftinkering\u002Fmi50_gpu_llm_2","2.tinkering\u002F2.mi50_gpu_llm_2",{"title":50,"path":51,"stem":52},"mi50显卡ubuntu运行大模型开坑(三)安装风扇并且控制转速","\u002Ftinkering\u002Fmi50_gpu_llm_3","2.tinkering\u002F3.mi50_gpu_llm_3",{"title":54,"icon":35,"path":55,"stem":56,"children":57,"page":35},"LLM","\u002Fllm","3.llm",[58,62,66,70,74,78,82],{"title":59,"path":60,"stem":61},"langchain入门-安装以及初次使用(deepseek api版本)","\u002Fllm\u002Flangchain1","3.llm\u002F01.langchain1",{"title":63,"path":64,"stem":65},"langchain入门-使用langchain调用本地部署的大模型(以llama.cpp以及ollama为例)","\u002Fllm\u002Flangchain2","3.llm\u002F02.langchain2",{"title":67,"path":68,"stem":69},"langchain入门-使用langchain编写一个简单的聊天机器人(DeepSeek API&命令行版本)","\u002Fllm\u002Flangchain3","3.llm\u002F03.langchain3",{"title":71,"path":72,"stem":73},"langchain入门-使用langchain构建一个拥有RAG能力的代码问答应用(DeepSeek API&本地bge-m3&命令行版本)","\u002Fllm\u002Flangchain4","3.llm\u002F04.langchain4",{"title":75,"path":76,"stem":77},"golang\u002Feino eino框架的基础使用 Message以及ChatModel入门","\u002Fllm\u002Feino1","3.llm\u002F05.eino1",{"title":79,"path":80,"stem":81},"golang\u002Feino eino框架的基础使用 在ChatModel中使用工具","\u002Fllm\u002Feino2","3.llm\u002F06.eino2",{"title":83,"path":84,"stem":85},"llm\u002Fagent agent-zero初步搭建与使用","\u002Fllm\u002Fagent_zero_start","3.llm\u002F07.agent_zero_start",{"title":87,"icon":35,"path":88,"stem":89,"children":90,"page":35},"Verilog","\u002Fverilog","4.verilog",[91,95,99,103,107,111,115,119,123,127],{"title":92,"path":93,"stem":94},"31条指令单周期cpu设计(Verilog)-(一)相关软件","\u002Fverilog\u002Fmips1","4.verilog\u002F01.mips1",{"title":96,"path":97,"stem":98},"31条指令单周期cpu设计(Verilog)-(二)总体设计","\u002Fverilog\u002Fmips2","4.verilog\u002F02.mips2",{"title":100,"path":101,"stem":102},"31条指令单周期cpu设计(Verilog)-(三)指令分析","\u002Fverilog\u002Fmips3","4.verilog\u002F03.mips3",{"title":104,"path":105,"stem":106},"31条指令单周期cpu设计(Verilog)-(四)数据输入输出关系表","\u002Fverilog\u002Fmips4","4.verilog\u002F04.mips4",{"title":108,"path":109,"stem":110},"31条指令单周期cpu设计(Verilog)-(五)整体数据通路图设计","\u002Fverilog\u002Fmips5","4.verilog\u002F05.mips5",{"title":112,"path":113,"stem":114},"31条指令单周期cpu设计(Verilog)-(六)指令操作时间表设计","\u002Fverilog\u002Fmips6","4.verilog\u002F06.mips6",{"title":116,"path":117,"stem":118},"31条指令单周期cpu设计(Verilog)-(七)整体代码结构","\u002Fverilog\u002Fmips7","4.verilog\u002F07.mips7",{"title":120,"path":121,"stem":122},"31条指令单周期cpu设计(Verilog)-(八)上代码→指令译码以及控制器","\u002Fverilog\u002Fmips8","4.verilog\u002F08.mips8",{"title":124,"path":125,"stem":126},"31条指令单周期cpu设计(Verilog)-(九)上代码→基础模块实现","\u002Fverilog\u002Fmips9","4.verilog\u002F09.mips9",{"title":128,"path":129,"stem":130},"31条指令单周期cpu设计(Verilog)-(十)上代码→顶层模块设计&总结","\u002Fverilog\u002Fmips10","4.verilog\u002F10.mips10",{"title":132,"icon":35,"path":133,"stem":134,"children":135,"page":35},"Rust","\u002Frust","5.rust",[136,140],{"title":137,"path":138,"stem":139},"egui(一)从编译运行template开始","\u002Frust\u002Fegui1","5.rust\u002F01.egui1",{"title":141,"path":142,"stem":143},"egui(二)看看template的main函数：日志输出以及eframe run_native","\u002Frust\u002Fegui2","5.rust\u002F02.egui2",{"id":145,"title":24,"body":146,"description":2226,"extension":2227,"links":2228,"meta":2229,"navigation":5,"path":25,"seo":2231,"stem":26,"__hash__":2234},"docs\u002F1.golang\u002F5.wails_frameless.md",{"type":147,"value":148,"toc":2220},"minimark",[149,153,172,175,351,354,1757,1760,2217],[150,151,152],"h2",{"id":152},"说在前面",[154,155,156],"blockquote",{},[157,158,159,163,166,169],"ul",{},[160,161,162],"li",{},"操作系统：win11",[160,164,165],{},"go版本：1.24.4",[160,167,168],{},"nodejs版本：v22.16.0",[160,170,171],{},"wails版本：v2.10.1",[150,173,174],{"id":174},"wails设置",[157,176,177,343],{},[160,178,179,180,184,185,188,189],{},"wails设置无边框是比较简单的，在配置里将",[181,182,183],"code",{},"Frameless","设置为",[181,186,187],{},"true","即可\n",[190,191,196],"pre",{"className":192,"code":193,"language":194,"meta":195,"style":195},"language-go shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","func main() {\n    \u002F\u002F Create an instance of the app structure\n    app := NewApp()\n\n    \u002F\u002F Create application with options\n    err := wails.Run(&options.App{\n        Title:  \"workbench-go\",\n        Width:  1024,\n        Height: 768,\n        AssetServer: &assetserver.Options{\n            Assets: assets,\n        },\n        Frameless:        true,\n        BackgroundColour: &options.RGBA{R: 27, G: 38, B: 54, A: 1},\n        OnStartup:        app.startup,\n        Bind: []interface{}{\n            app,\n        },\n    })\n\n    if err != nil {\n        println(\"Error:\", err.Error())\n    }\n}\n","go","",[181,197,198,206,212,218,225,231,237,243,249,255,261,267,273,279,285,291,297,303,308,314,319,325,331,337],{"__ignoreMap":195},[199,200,203],"span",{"class":201,"line":202},"line",1,[199,204,205],{},"func main() {\n",[199,207,209],{"class":201,"line":208},2,[199,210,211],{},"    \u002F\u002F Create an instance of the app structure\n",[199,213,215],{"class":201,"line":214},3,[199,216,217],{},"    app := NewApp()\n",[199,219,221],{"class":201,"line":220},4,[199,222,224],{"emptyLinePlaceholder":223},true,"\n",[199,226,228],{"class":201,"line":227},5,[199,229,230],{},"    \u002F\u002F Create application with options\n",[199,232,234],{"class":201,"line":233},6,[199,235,236],{},"    err := wails.Run(&options.App{\n",[199,238,240],{"class":201,"line":239},7,[199,241,242],{},"        Title:  \"workbench-go\",\n",[199,244,246],{"class":201,"line":245},8,[199,247,248],{},"        Width:  1024,\n",[199,250,252],{"class":201,"line":251},9,[199,253,254],{},"        Height: 768,\n",[199,256,258],{"class":201,"line":257},10,[199,259,260],{},"        AssetServer: &assetserver.Options{\n",[199,262,264],{"class":201,"line":263},11,[199,265,266],{},"            Assets: assets,\n",[199,268,270],{"class":201,"line":269},12,[199,271,272],{},"        },\n",[199,274,276],{"class":201,"line":275},13,[199,277,278],{},"        Frameless:        true,\n",[199,280,282],{"class":201,"line":281},14,[199,283,284],{},"        BackgroundColour: &options.RGBA{R: 27, G: 38, B: 54, A: 1},\n",[199,286,288],{"class":201,"line":287},15,[199,289,290],{},"        OnStartup:        app.startup,\n",[199,292,294],{"class":201,"line":293},16,[199,295,296],{},"        Bind: []interface{}{\n",[199,298,300],{"class":201,"line":299},17,[199,301,302],{},"            app,\n",[199,304,306],{"class":201,"line":305},18,[199,307,272],{},[199,309,311],{"class":201,"line":310},19,[199,312,313],{},"    })\n",[199,315,317],{"class":201,"line":316},20,[199,318,224],{"emptyLinePlaceholder":223},[199,320,322],{"class":201,"line":321},21,[199,323,324],{},"    if err != nil {\n",[199,326,328],{"class":201,"line":327},22,[199,329,330],{},"        println(\"Error:\", err.Error())\n",[199,332,334],{"class":201,"line":333},23,[199,335,336],{},"    }\n",[199,338,340],{"class":201,"line":339},24,[199,341,342],{},"}\n",[160,344,345,346],{},"运行结果如下，但是关闭按钮也没了，拖拽也没了\n",[347,348],"img",{"alt":349,"src":350},"在这里插入图片描述",".\u002Fgolang\u002F12.webp",[150,352,353],{"id":353},"自定义菜单栏",[157,355,356,595],{},[160,357,358,359,362,363],{},"wails提供的api中已经存在了对应的最大化\u002F最小化\u002F关闭应用等功能，可以在",[181,360,361],{},"frontend\\wailsjs\\runtime\\runtime.d.ts","中找到：\n",[190,364,368],{"className":365,"code":366,"language":367,"meta":195,"style":195},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F [WindowMaximise](https:\u002F\u002Fwails.io\u002Fdocs\u002Freference\u002Fruntime\u002Fwindow#windowmaximise)\n\u002F\u002F Maximises the window to fill the screen.\nexport function WindowMaximise(): void;\n\n\u002F\u002F [WindowToggleMaximise](https:\u002F\u002Fwails.io\u002Fdocs\u002Freference\u002Fruntime\u002Fwindow#windowtogglemaximise)\n\u002F\u002F Toggles between Maximised and UnMaximised.\nexport function WindowToggleMaximise(): void;\n\n\u002F\u002F [WindowUnmaximise](https:\u002F\u002Fwails.io\u002Fdocs\u002Freference\u002Fruntime\u002Fwindow#windowunmaximise)\n\u002F\u002F Restores the window to the dimensions and position prior to maximising.\nexport function WindowUnmaximise(): void;\n\n\u002F\u002F [WindowIsMaximised](https:\u002F\u002Fwails.io\u002Fdocs\u002Freference\u002Fruntime\u002Fwindow#windowismaximised)\n\u002F\u002F Returns the state of the window, i.e. whether the window is maximised or not.\nexport function WindowIsMaximised(): Promise\u003Cboolean>;\n\n\u002F\u002F [WindowMinimise](https:\u002F\u002Fwails.io\u002Fdocs\u002Freference\u002Fruntime\u002Fwindow#windowminimise)\n\u002F\u002F Minimises the window.\nexport function WindowMinimise(): void;\n\n\u002F\u002F [WindowUnminimise](https:\u002F\u002Fwails.io\u002Fdocs\u002Freference\u002Fruntime\u002Fwindow#windowunminimise)\n\u002F\u002F Restores the window to the dimensions and position prior to minimising.\nexport function WindowUnminimise(): void;\n\n\u002F\u002F [WindowIsMinimised](https:\u002F\u002Fwails.io\u002Fdocs\u002Freference\u002Fruntime\u002Fwindow#windowisminimised)\n\u002F\u002F Returns the state of the window, i.e. whether the window is minimised or not.\nexport function WindowIsMinimised(): Promise\u003Cboolean>;\n","ts",[181,369,370,376,381,406,410,415,420,435,439,444,449,464,468,473,478,501,505,510,515,530,534,539,544,559,563,569,575],{"__ignoreMap":195},[199,371,372],{"class":201,"line":202},[199,373,375],{"class":374},"sHwdD","\u002F\u002F [WindowMaximise](https:\u002F\u002Fwails.io\u002Fdocs\u002Freference\u002Fruntime\u002Fwindow#windowmaximise)\n",[199,377,378],{"class":201,"line":208},[199,379,380],{"class":374},"\u002F\u002F Maximises the window to fill the screen.\n",[199,382,383,387,391,395,399,403],{"class":201,"line":214},[199,384,386],{"class":385},"s7zQu","export",[199,388,390],{"class":389},"spNyl"," function",[199,392,394],{"class":393},"s2Zo4"," WindowMaximise",[199,396,398],{"class":397},"sMK4o","():",[199,400,402],{"class":401},"sBMFI"," void",[199,404,405],{"class":397},";\n",[199,407,408],{"class":201,"line":220},[199,409,224],{"emptyLinePlaceholder":223},[199,411,412],{"class":201,"line":227},[199,413,414],{"class":374},"\u002F\u002F [WindowToggleMaximise](https:\u002F\u002Fwails.io\u002Fdocs\u002Freference\u002Fruntime\u002Fwindow#windowtogglemaximise)\n",[199,416,417],{"class":201,"line":233},[199,418,419],{"class":374},"\u002F\u002F Toggles between Maximised and UnMaximised.\n",[199,421,422,424,426,429,431,433],{"class":201,"line":239},[199,423,386],{"class":385},[199,425,390],{"class":389},[199,427,428],{"class":393}," WindowToggleMaximise",[199,430,398],{"class":397},[199,432,402],{"class":401},[199,434,405],{"class":397},[199,436,437],{"class":201,"line":245},[199,438,224],{"emptyLinePlaceholder":223},[199,440,441],{"class":201,"line":251},[199,442,443],{"class":374},"\u002F\u002F [WindowUnmaximise](https:\u002F\u002Fwails.io\u002Fdocs\u002Freference\u002Fruntime\u002Fwindow#windowunmaximise)\n",[199,445,446],{"class":201,"line":257},[199,447,448],{"class":374},"\u002F\u002F Restores the window to the dimensions and position prior to maximising.\n",[199,450,451,453,455,458,460,462],{"class":201,"line":263},[199,452,386],{"class":385},[199,454,390],{"class":389},[199,456,457],{"class":393}," WindowUnmaximise",[199,459,398],{"class":397},[199,461,402],{"class":401},[199,463,405],{"class":397},[199,465,466],{"class":201,"line":269},[199,467,224],{"emptyLinePlaceholder":223},[199,469,470],{"class":201,"line":275},[199,471,472],{"class":374},"\u002F\u002F [WindowIsMaximised](https:\u002F\u002Fwails.io\u002Fdocs\u002Freference\u002Fruntime\u002Fwindow#windowismaximised)\n",[199,474,475],{"class":201,"line":281},[199,476,477],{"class":374},"\u002F\u002F Returns the state of the window, i.e. whether the window is maximised or not.\n",[199,479,480,482,484,487,489,492,495,498],{"class":201,"line":287},[199,481,386],{"class":385},[199,483,390],{"class":389},[199,485,486],{"class":393}," WindowIsMaximised",[199,488,398],{"class":397},[199,490,491],{"class":401}," Promise",[199,493,494],{"class":397},"\u003C",[199,496,497],{"class":401},"boolean",[199,499,500],{"class":397},">;\n",[199,502,503],{"class":201,"line":293},[199,504,224],{"emptyLinePlaceholder":223},[199,506,507],{"class":201,"line":299},[199,508,509],{"class":374},"\u002F\u002F [WindowMinimise](https:\u002F\u002Fwails.io\u002Fdocs\u002Freference\u002Fruntime\u002Fwindow#windowminimise)\n",[199,511,512],{"class":201,"line":305},[199,513,514],{"class":374},"\u002F\u002F Minimises the window.\n",[199,516,517,519,521,524,526,528],{"class":201,"line":310},[199,518,386],{"class":385},[199,520,390],{"class":389},[199,522,523],{"class":393}," WindowMinimise",[199,525,398],{"class":397},[199,527,402],{"class":401},[199,529,405],{"class":397},[199,531,532],{"class":201,"line":316},[199,533,224],{"emptyLinePlaceholder":223},[199,535,536],{"class":201,"line":321},[199,537,538],{"class":374},"\u002F\u002F [WindowUnminimise](https:\u002F\u002Fwails.io\u002Fdocs\u002Freference\u002Fruntime\u002Fwindow#windowunminimise)\n",[199,540,541],{"class":201,"line":327},[199,542,543],{"class":374},"\u002F\u002F Restores the window to the dimensions and position prior to minimising.\n",[199,545,546,548,550,553,555,557],{"class":201,"line":333},[199,547,386],{"class":385},[199,549,390],{"class":389},[199,551,552],{"class":393}," WindowUnminimise",[199,554,398],{"class":397},[199,556,402],{"class":401},[199,558,405],{"class":397},[199,560,561],{"class":201,"line":339},[199,562,224],{"emptyLinePlaceholder":223},[199,564,566],{"class":201,"line":565},25,[199,567,568],{"class":374},"\u002F\u002F [WindowIsMinimised](https:\u002F\u002Fwails.io\u002Fdocs\u002Freference\u002Fruntime\u002Fwindow#windowisminimised)\n",[199,570,572],{"class":201,"line":571},26,[199,573,574],{"class":374},"\u002F\u002F Returns the state of the window, i.e. whether the window is minimised or not.\n",[199,576,578,580,582,585,587,589,591,593],{"class":201,"line":577},27,[199,579,386],{"class":385},[199,581,390],{"class":389},[199,583,584],{"class":393}," WindowIsMinimised",[199,586,398],{"class":397},[199,588,491],{"class":401},[199,590,494],{"class":397},[199,592,497],{"class":401},[199,594,500],{"class":397},[160,596,597,598,1753,1754],{},"这样，我们只需要编写对应的前端代码即可\n",[190,599,603],{"className":600,"code":601,"language":602,"meta":195,"style":195},"language-html shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Ctemplate>\n  \u003Cdiv class=\"title-bar\">\n    \u003C!-- 左侧：应用图标和名称 -->\n    \u003Cdiv class=\"title-bar-left\">\n      \u003Cimg src=\"..\u002Fassets\u002Fimages\u002Flogo-universal.webp\" alt=\"App Icon\" class=\"app-icon\" \u002F>\n      \u003Cspan class=\"app-name\">Workbench\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n\n    \u003C!-- 右侧：窗口控制按钮 -->\n    \u003Cdiv class=\"title-bar-right\">\n      \u003Cbutton @click=\"minimizeWindow\" class=\"window-control minimize\" title=\"最小化\">\n        \u003CMinus :size=\"14\" \u002F>\n      \u003C\u002Fbutton>\n      \u003Cbutton @click=\"toggleMaximize\" class=\"window-control maximize\" :title=\"isMaximized ? '还原' : '最大化'\">\n        \u003CMaximize2 v-if=\"!isMaximized\" :size=\"14\" \u002F>\n        \u003CMinimize2 v-else :size=\"14\" \u002F>\n      \u003C\u002Fbutton>\n      \u003Cbutton @click=\"closeWindow\" class=\"window-control close\" title=\"关闭\">\n        \u003CX :size=\"14\" \u002F>\n      \u003C\u002Fbutton>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n\n\u003Cscript setup lang=\"ts\">\nimport { ref, onMounted } from 'vue'\nimport { Minus, Maximize2, Minimize2, X } from 'lucide-vue-next'\nimport { WindowMaximise, WindowMinimise, WindowUnmaximise, Quit, WindowIsMaximised } from '..\u002F..\u002Fwailsjs\u002Fruntime\u002Fruntime'\n\nconst isMaximized = ref(false)\n\nconst minimizeWindow = async () => {\n  try {\n    await WindowMinimise()\n  } catch (error) {\n    console.error('Error minimizing window:', error)\n  }\n}\n\nconst toggleMaximize = async () => {\n  try {\n    if (isMaximized.value) {\n      await WindowUnmaximise()\n      isMaximized.value = false\n    } else {\n      await WindowMaximise()\n      isMaximized.value = true\n    }\n  } catch (error) {\n    console.error('Error toggling maximize:', error)\n  }\n}\n\nconst closeWindow = async () => {\n  try {\n    await Quit()\n  } catch (error) {\n    console.error('Error closing window:', error)\n  }\n}\n\nconst checkMaximizeState = async () => {\n  try {\n    isMaximized.value = await WindowIsMaximised()\n  } catch (error) {\n    console.error('Error checking maximize state:', error)\n  }\n}\n\nonMounted(() => {\n  checkMaximizeState()\n  \u002F\u002F 监听窗口状态变化\n  window.addEventListener('resize', checkMaximizeState)\n})\n\u003C\u002Fscript>\n\u003C\u002Fstyle> \n","html",[181,604,605,616,641,646,666,711,742,751,755,760,779,823,845,854,896,927,949,957,998,1017,1025,1033,1042,1050,1054,1077,1109,1144,1181,1186,1209,1214,1236,1244,1255,1276,1304,1310,1315,1320,1338,1345,1365,1375,1391,1402,1411,1425,1430,1445,1469,1474,1479,1484,1502,1509,1518,1533,1557,1562,1567,1572,1590,1597,1616,1631,1655,1660,1665,1670,1685,1693,1699,1726,1734,1743],{"__ignoreMap":195},[199,606,607,609,613],{"class":201,"line":202},[199,608,494],{"class":397},[199,610,612],{"class":611},"swJcz","template",[199,614,615],{"class":397},">\n",[199,617,618,621,624,627,630,633,637,639],{"class":201,"line":208},[199,619,620],{"class":397},"  \u003C",[199,622,623],{"class":611},"div",[199,625,626],{"class":389}," class",[199,628,629],{"class":397},"=",[199,631,632],{"class":397},"\"",[199,634,636],{"class":635},"sfazB","title-bar",[199,638,632],{"class":397},[199,640,615],{"class":397},[199,642,643],{"class":201,"line":214},[199,644,645],{"class":374},"    \u003C!-- 左侧：应用图标和名称 -->\n",[199,647,648,651,653,655,657,659,662,664],{"class":201,"line":220},[199,649,650],{"class":397},"    \u003C",[199,652,623],{"class":611},[199,654,626],{"class":389},[199,656,629],{"class":397},[199,658,632],{"class":397},[199,660,661],{"class":635},"title-bar-left",[199,663,632],{"class":397},[199,665,615],{"class":397},[199,667,668,671,673,676,678,680,683,685,688,690,692,695,697,699,701,703,706,708],{"class":201,"line":227},[199,669,670],{"class":397},"      \u003C",[199,672,347],{"class":611},[199,674,675],{"class":389}," src",[199,677,629],{"class":397},[199,679,632],{"class":397},[199,681,682],{"class":635},"..\u002Fassets\u002Fimages\u002Flogo-universal.webp",[199,684,632],{"class":397},[199,686,687],{"class":389}," alt",[199,689,629],{"class":397},[199,691,632],{"class":397},[199,693,694],{"class":635},"App Icon",[199,696,632],{"class":397},[199,698,626],{"class":389},[199,700,629],{"class":397},[199,702,632],{"class":397},[199,704,705],{"class":635},"app-icon",[199,707,632],{"class":397},[199,709,710],{"class":397}," \u002F>\n",[199,712,713,715,717,719,721,723,726,728,731,735,738,740],{"class":201,"line":233},[199,714,670],{"class":397},[199,716,199],{"class":611},[199,718,626],{"class":389},[199,720,629],{"class":397},[199,722,632],{"class":397},[199,724,725],{"class":635},"app-name",[199,727,632],{"class":397},[199,729,730],{"class":397},">",[199,732,734],{"class":733},"sTEyZ","Workbench",[199,736,737],{"class":397},"\u003C\u002F",[199,739,199],{"class":611},[199,741,615],{"class":397},[199,743,744,747,749],{"class":201,"line":239},[199,745,746],{"class":397},"    \u003C\u002F",[199,748,623],{"class":611},[199,750,615],{"class":397},[199,752,753],{"class":201,"line":245},[199,754,224],{"emptyLinePlaceholder":223},[199,756,757],{"class":201,"line":251},[199,758,759],{"class":374},"    \u003C!-- 右侧：窗口控制按钮 -->\n",[199,761,762,764,766,768,770,772,775,777],{"class":201,"line":257},[199,763,650],{"class":397},[199,765,623],{"class":611},[199,767,626],{"class":389},[199,769,629],{"class":397},[199,771,632],{"class":397},[199,773,774],{"class":635},"title-bar-right",[199,776,632],{"class":397},[199,778,615],{"class":397},[199,780,781,783,786,789,791,793,796,798,800,802,804,807,809,812,814,816,819,821],{"class":201,"line":263},[199,782,670],{"class":397},[199,784,785],{"class":611},"button",[199,787,788],{"class":389}," @click",[199,790,629],{"class":397},[199,792,632],{"class":397},[199,794,795],{"class":635},"minimizeWindow",[199,797,632],{"class":397},[199,799,626],{"class":389},[199,801,629],{"class":397},[199,803,632],{"class":397},[199,805,806],{"class":635},"window-control minimize",[199,808,632],{"class":397},[199,810,811],{"class":389}," title",[199,813,629],{"class":397},[199,815,632],{"class":397},[199,817,818],{"class":635},"最小化",[199,820,632],{"class":397},[199,822,615],{"class":397},[199,824,825,828,831,834,836,838,841,843],{"class":201,"line":269},[199,826,827],{"class":397},"        \u003C",[199,829,830],{"class":611},"Minus",[199,832,833],{"class":389}," :size",[199,835,629],{"class":397},[199,837,632],{"class":397},[199,839,840],{"class":635},"14",[199,842,632],{"class":397},[199,844,710],{"class":397},[199,846,847,850,852],{"class":201,"line":275},[199,848,849],{"class":397},"      \u003C\u002F",[199,851,785],{"class":611},[199,853,615],{"class":397},[199,855,856,858,860,862,864,866,869,871,873,875,877,880,882,885,887,889,892,894],{"class":201,"line":281},[199,857,670],{"class":397},[199,859,785],{"class":611},[199,861,788],{"class":389},[199,863,629],{"class":397},[199,865,632],{"class":397},[199,867,868],{"class":635},"toggleMaximize",[199,870,632],{"class":397},[199,872,626],{"class":389},[199,874,629],{"class":397},[199,876,632],{"class":397},[199,878,879],{"class":635},"window-control maximize",[199,881,632],{"class":397},[199,883,884],{"class":389}," :title",[199,886,629],{"class":397},[199,888,632],{"class":397},[199,890,891],{"class":635},"isMaximized ? '还原' : '最大化'",[199,893,632],{"class":397},[199,895,615],{"class":397},[199,897,898,900,903,906,908,910,913,915,917,919,921,923,925],{"class":201,"line":287},[199,899,827],{"class":397},[199,901,902],{"class":611},"Maximize2",[199,904,905],{"class":389}," v-if",[199,907,629],{"class":397},[199,909,632],{"class":397},[199,911,912],{"class":635},"!isMaximized",[199,914,632],{"class":397},[199,916,833],{"class":389},[199,918,629],{"class":397},[199,920,632],{"class":397},[199,922,840],{"class":635},[199,924,632],{"class":397},[199,926,710],{"class":397},[199,928,929,931,934,937,939,941,943,945,947],{"class":201,"line":293},[199,930,827],{"class":397},[199,932,933],{"class":611},"Minimize2",[199,935,936],{"class":389}," v-else",[199,938,833],{"class":389},[199,940,629],{"class":397},[199,942,632],{"class":397},[199,944,840],{"class":635},[199,946,632],{"class":397},[199,948,710],{"class":397},[199,950,951,953,955],{"class":201,"line":299},[199,952,849],{"class":397},[199,954,785],{"class":611},[199,956,615],{"class":397},[199,958,959,961,963,965,967,969,972,974,976,978,980,983,985,987,989,991,994,996],{"class":201,"line":305},[199,960,670],{"class":397},[199,962,785],{"class":611},[199,964,788],{"class":389},[199,966,629],{"class":397},[199,968,632],{"class":397},[199,970,971],{"class":635},"closeWindow",[199,973,632],{"class":397},[199,975,626],{"class":389},[199,977,629],{"class":397},[199,979,632],{"class":397},[199,981,982],{"class":635},"window-control close",[199,984,632],{"class":397},[199,986,811],{"class":389},[199,988,629],{"class":397},[199,990,632],{"class":397},[199,992,993],{"class":635},"关闭",[199,995,632],{"class":397},[199,997,615],{"class":397},[199,999,1000,1002,1005,1007,1009,1011,1013,1015],{"class":201,"line":310},[199,1001,827],{"class":397},[199,1003,1004],{"class":611},"X",[199,1006,833],{"class":389},[199,1008,629],{"class":397},[199,1010,632],{"class":397},[199,1012,840],{"class":635},[199,1014,632],{"class":397},[199,1016,710],{"class":397},[199,1018,1019,1021,1023],{"class":201,"line":316},[199,1020,849],{"class":397},[199,1022,785],{"class":611},[199,1024,615],{"class":397},[199,1026,1027,1029,1031],{"class":201,"line":321},[199,1028,746],{"class":397},[199,1030,623],{"class":611},[199,1032,615],{"class":397},[199,1034,1035,1038,1040],{"class":201,"line":327},[199,1036,1037],{"class":397},"  \u003C\u002F",[199,1039,623],{"class":611},[199,1041,615],{"class":397},[199,1043,1044,1046,1048],{"class":201,"line":333},[199,1045,737],{"class":397},[199,1047,612],{"class":611},[199,1049,615],{"class":397},[199,1051,1052],{"class":201,"line":339},[199,1053,224],{"emptyLinePlaceholder":223},[199,1055,1056,1058,1061,1064,1067,1069,1071,1073,1075],{"class":201,"line":565},[199,1057,494],{"class":397},[199,1059,1060],{"class":611},"script",[199,1062,1063],{"class":389}," setup",[199,1065,1066],{"class":389}," lang",[199,1068,629],{"class":397},[199,1070,632],{"class":397},[199,1072,367],{"class":635},[199,1074,632],{"class":397},[199,1076,615],{"class":397},[199,1078,1079,1082,1085,1088,1091,1094,1097,1100,1103,1106],{"class":201,"line":571},[199,1080,1081],{"class":385},"import",[199,1083,1084],{"class":397}," {",[199,1086,1087],{"class":733}," ref",[199,1089,1090],{"class":397},",",[199,1092,1093],{"class":733}," onMounted",[199,1095,1096],{"class":397}," }",[199,1098,1099],{"class":385}," from",[199,1101,1102],{"class":397}," '",[199,1104,1105],{"class":635},"vue",[199,1107,1108],{"class":397},"'\n",[199,1110,1111,1113,1115,1118,1120,1123,1125,1128,1130,1133,1135,1137,1139,1142],{"class":201,"line":577},[199,1112,1081],{"class":385},[199,1114,1084],{"class":397},[199,1116,1117],{"class":733}," Minus",[199,1119,1090],{"class":397},[199,1121,1122],{"class":733}," Maximize2",[199,1124,1090],{"class":397},[199,1126,1127],{"class":733}," Minimize2",[199,1129,1090],{"class":397},[199,1131,1132],{"class":733}," X",[199,1134,1096],{"class":397},[199,1136,1099],{"class":385},[199,1138,1102],{"class":397},[199,1140,1141],{"class":635},"lucide-vue-next",[199,1143,1108],{"class":397},[199,1145,1147,1149,1151,1153,1155,1157,1159,1161,1163,1166,1168,1170,1172,1174,1176,1179],{"class":201,"line":1146},28,[199,1148,1081],{"class":385},[199,1150,1084],{"class":397},[199,1152,394],{"class":733},[199,1154,1090],{"class":397},[199,1156,523],{"class":733},[199,1158,1090],{"class":397},[199,1160,457],{"class":733},[199,1162,1090],{"class":397},[199,1164,1165],{"class":733}," Quit",[199,1167,1090],{"class":397},[199,1169,486],{"class":733},[199,1171,1096],{"class":397},[199,1173,1099],{"class":385},[199,1175,1102],{"class":397},[199,1177,1178],{"class":635},"..\u002F..\u002Fwailsjs\u002Fruntime\u002Fruntime",[199,1180,1108],{"class":397},[199,1182,1184],{"class":201,"line":1183},29,[199,1185,224],{"emptyLinePlaceholder":223},[199,1187,1189,1192,1195,1197,1199,1202,1206],{"class":201,"line":1188},30,[199,1190,1191],{"class":389},"const",[199,1193,1194],{"class":733}," isMaximized ",[199,1196,629],{"class":397},[199,1198,1087],{"class":393},[199,1200,1201],{"class":733},"(",[199,1203,1205],{"class":1204},"sfNiH","false",[199,1207,1208],{"class":733},")\n",[199,1210,1212],{"class":201,"line":1211},31,[199,1213,224],{"emptyLinePlaceholder":223},[199,1215,1217,1219,1222,1224,1227,1230,1233],{"class":201,"line":1216},32,[199,1218,1191],{"class":389},[199,1220,1221],{"class":733}," minimizeWindow ",[199,1223,629],{"class":397},[199,1225,1226],{"class":389}," async",[199,1228,1229],{"class":397}," ()",[199,1231,1232],{"class":389}," =>",[199,1234,1235],{"class":397}," {\n",[199,1237,1239,1242],{"class":201,"line":1238},33,[199,1240,1241],{"class":385},"  try",[199,1243,1235],{"class":397},[199,1245,1247,1250,1252],{"class":201,"line":1246},34,[199,1248,1249],{"class":385},"    await",[199,1251,523],{"class":393},[199,1253,1254],{"class":611},"()\n",[199,1256,1258,1261,1264,1267,1270,1273],{"class":201,"line":1257},35,[199,1259,1260],{"class":397},"  }",[199,1262,1263],{"class":385}," catch",[199,1265,1266],{"class":611}," (",[199,1268,1269],{"class":733},"error",[199,1271,1272],{"class":611},") ",[199,1274,1275],{"class":397},"{\n",[199,1277,1279,1282,1285,1287,1289,1292,1295,1297,1299,1302],{"class":201,"line":1278},36,[199,1280,1281],{"class":733},"    console",[199,1283,1284],{"class":397},".",[199,1286,1269],{"class":393},[199,1288,1201],{"class":611},[199,1290,1291],{"class":397},"'",[199,1293,1294],{"class":635},"Error minimizing window:",[199,1296,1291],{"class":397},[199,1298,1090],{"class":397},[199,1300,1301],{"class":733}," error",[199,1303,1208],{"class":611},[199,1305,1307],{"class":201,"line":1306},37,[199,1308,1309],{"class":397},"  }\n",[199,1311,1313],{"class":201,"line":1312},38,[199,1314,342],{"class":397},[199,1316,1318],{"class":201,"line":1317},39,[199,1319,224],{"emptyLinePlaceholder":223},[199,1321,1323,1325,1328,1330,1332,1334,1336],{"class":201,"line":1322},40,[199,1324,1191],{"class":389},[199,1326,1327],{"class":733}," toggleMaximize ",[199,1329,629],{"class":397},[199,1331,1226],{"class":389},[199,1333,1229],{"class":397},[199,1335,1232],{"class":389},[199,1337,1235],{"class":397},[199,1339,1341,1343],{"class":201,"line":1340},41,[199,1342,1241],{"class":385},[199,1344,1235],{"class":397},[199,1346,1348,1351,1353,1356,1358,1361,1363],{"class":201,"line":1347},42,[199,1349,1350],{"class":385},"    if",[199,1352,1266],{"class":611},[199,1354,1355],{"class":733},"isMaximized",[199,1357,1284],{"class":397},[199,1359,1360],{"class":733},"value",[199,1362,1272],{"class":611},[199,1364,1275],{"class":397},[199,1366,1368,1371,1373],{"class":201,"line":1367},43,[199,1369,1370],{"class":385},"      await",[199,1372,457],{"class":393},[199,1374,1254],{"class":611},[199,1376,1378,1381,1383,1385,1388],{"class":201,"line":1377},44,[199,1379,1380],{"class":733},"      isMaximized",[199,1382,1284],{"class":397},[199,1384,1360],{"class":733},[199,1386,1387],{"class":397}," =",[199,1389,1390],{"class":1204}," false\n",[199,1392,1394,1397,1400],{"class":201,"line":1393},45,[199,1395,1396],{"class":397},"    }",[199,1398,1399],{"class":385}," else",[199,1401,1235],{"class":397},[199,1403,1405,1407,1409],{"class":201,"line":1404},46,[199,1406,1370],{"class":385},[199,1408,394],{"class":393},[199,1410,1254],{"class":611},[199,1412,1414,1416,1418,1420,1422],{"class":201,"line":1413},47,[199,1415,1380],{"class":733},[199,1417,1284],{"class":397},[199,1419,1360],{"class":733},[199,1421,1387],{"class":397},[199,1423,1424],{"class":1204}," true\n",[199,1426,1428],{"class":201,"line":1427},48,[199,1429,336],{"class":397},[199,1431,1433,1435,1437,1439,1441,1443],{"class":201,"line":1432},49,[199,1434,1260],{"class":397},[199,1436,1263],{"class":385},[199,1438,1266],{"class":611},[199,1440,1269],{"class":733},[199,1442,1272],{"class":611},[199,1444,1275],{"class":397},[199,1446,1448,1450,1452,1454,1456,1458,1461,1463,1465,1467],{"class":201,"line":1447},50,[199,1449,1281],{"class":733},[199,1451,1284],{"class":397},[199,1453,1269],{"class":393},[199,1455,1201],{"class":611},[199,1457,1291],{"class":397},[199,1459,1460],{"class":635},"Error toggling maximize:",[199,1462,1291],{"class":397},[199,1464,1090],{"class":397},[199,1466,1301],{"class":733},[199,1468,1208],{"class":611},[199,1470,1472],{"class":201,"line":1471},51,[199,1473,1309],{"class":397},[199,1475,1477],{"class":201,"line":1476},52,[199,1478,342],{"class":397},[199,1480,1482],{"class":201,"line":1481},53,[199,1483,224],{"emptyLinePlaceholder":223},[199,1485,1487,1489,1492,1494,1496,1498,1500],{"class":201,"line":1486},54,[199,1488,1191],{"class":389},[199,1490,1491],{"class":733}," closeWindow ",[199,1493,629],{"class":397},[199,1495,1226],{"class":389},[199,1497,1229],{"class":397},[199,1499,1232],{"class":389},[199,1501,1235],{"class":397},[199,1503,1505,1507],{"class":201,"line":1504},55,[199,1506,1241],{"class":385},[199,1508,1235],{"class":397},[199,1510,1512,1514,1516],{"class":201,"line":1511},56,[199,1513,1249],{"class":385},[199,1515,1165],{"class":393},[199,1517,1254],{"class":611},[199,1519,1521,1523,1525,1527,1529,1531],{"class":201,"line":1520},57,[199,1522,1260],{"class":397},[199,1524,1263],{"class":385},[199,1526,1266],{"class":611},[199,1528,1269],{"class":733},[199,1530,1272],{"class":611},[199,1532,1275],{"class":397},[199,1534,1536,1538,1540,1542,1544,1546,1549,1551,1553,1555],{"class":201,"line":1535},58,[199,1537,1281],{"class":733},[199,1539,1284],{"class":397},[199,1541,1269],{"class":393},[199,1543,1201],{"class":611},[199,1545,1291],{"class":397},[199,1547,1548],{"class":635},"Error closing window:",[199,1550,1291],{"class":397},[199,1552,1090],{"class":397},[199,1554,1301],{"class":733},[199,1556,1208],{"class":611},[199,1558,1560],{"class":201,"line":1559},59,[199,1561,1309],{"class":397},[199,1563,1565],{"class":201,"line":1564},60,[199,1566,342],{"class":397},[199,1568,1570],{"class":201,"line":1569},61,[199,1571,224],{"emptyLinePlaceholder":223},[199,1573,1575,1577,1580,1582,1584,1586,1588],{"class":201,"line":1574},62,[199,1576,1191],{"class":389},[199,1578,1579],{"class":733}," checkMaximizeState ",[199,1581,629],{"class":397},[199,1583,1226],{"class":389},[199,1585,1229],{"class":397},[199,1587,1232],{"class":389},[199,1589,1235],{"class":397},[199,1591,1593,1595],{"class":201,"line":1592},63,[199,1594,1241],{"class":385},[199,1596,1235],{"class":397},[199,1598,1600,1603,1605,1607,1609,1612,1614],{"class":201,"line":1599},64,[199,1601,1602],{"class":733},"    isMaximized",[199,1604,1284],{"class":397},[199,1606,1360],{"class":733},[199,1608,1387],{"class":397},[199,1610,1611],{"class":385}," await",[199,1613,486],{"class":393},[199,1615,1254],{"class":611},[199,1617,1619,1621,1623,1625,1627,1629],{"class":201,"line":1618},65,[199,1620,1260],{"class":397},[199,1622,1263],{"class":385},[199,1624,1266],{"class":611},[199,1626,1269],{"class":733},[199,1628,1272],{"class":611},[199,1630,1275],{"class":397},[199,1632,1634,1636,1638,1640,1642,1644,1647,1649,1651,1653],{"class":201,"line":1633},66,[199,1635,1281],{"class":733},[199,1637,1284],{"class":397},[199,1639,1269],{"class":393},[199,1641,1201],{"class":611},[199,1643,1291],{"class":397},[199,1645,1646],{"class":635},"Error checking maximize state:",[199,1648,1291],{"class":397},[199,1650,1090],{"class":397},[199,1652,1301],{"class":733},[199,1654,1208],{"class":611},[199,1656,1658],{"class":201,"line":1657},67,[199,1659,1309],{"class":397},[199,1661,1663],{"class":201,"line":1662},68,[199,1664,342],{"class":397},[199,1666,1668],{"class":201,"line":1667},69,[199,1669,224],{"emptyLinePlaceholder":223},[199,1671,1673,1676,1678,1681,1683],{"class":201,"line":1672},70,[199,1674,1675],{"class":393},"onMounted",[199,1677,1201],{"class":733},[199,1679,1680],{"class":397},"()",[199,1682,1232],{"class":389},[199,1684,1235],{"class":397},[199,1686,1688,1691],{"class":201,"line":1687},71,[199,1689,1690],{"class":393},"  checkMaximizeState",[199,1692,1254],{"class":611},[199,1694,1696],{"class":201,"line":1695},72,[199,1697,1698],{"class":374},"  \u002F\u002F 监听窗口状态变化\n",[199,1700,1702,1705,1707,1710,1712,1714,1717,1719,1721,1724],{"class":201,"line":1701},73,[199,1703,1704],{"class":733},"  window",[199,1706,1284],{"class":397},[199,1708,1709],{"class":393},"addEventListener",[199,1711,1201],{"class":611},[199,1713,1291],{"class":397},[199,1715,1716],{"class":635},"resize",[199,1718,1291],{"class":397},[199,1720,1090],{"class":397},[199,1722,1723],{"class":733}," checkMaximizeState",[199,1725,1208],{"class":611},[199,1727,1729,1732],{"class":201,"line":1728},74,[199,1730,1731],{"class":397},"}",[199,1733,1208],{"class":733},[199,1735,1737,1739,1741],{"class":201,"line":1736},75,[199,1738,737],{"class":397},[199,1740,1060],{"class":611},[199,1742,615],{"class":397},[199,1744,1746,1748,1751],{"class":201,"line":1745},76,[199,1747,737],{"class":397},[199,1749,1750],{"class":611},"style",[199,1752,615],{"class":397},"\n运行结果如下：\n",[347,1755],{"alt":349,"src":1756},".\u002Fgolang\u002F13.webp",[150,1758,1759],{"id":1759},"窗口拖拽",[157,1761,1762],{},[160,1763,1764,1765,1776,1777],{},"添加完成之后，整个窗口是不能拖拽的，需要我们添加拖拽支持，wails提供了对应的方法，即设置css样式\n",[190,1766,1770],{"className":1767,"code":1768,"language":1769,"meta":195,"style":195},"language-css shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","--wails-draggable:drag\n","css",[181,1771,1772],{"__ignoreMap":195},[199,1773,1774],{"class":201,"line":202},[199,1775,1768],{"class":733},"\n这样将菜单栏对应的dom节点设置一下就行\n",[190,1778,1780],{"className":600,"code":1779,"language":602,"meta":195,"style":195},"\u003Ctemplate>\n  \u003Cdiv class=\"title-bar\" style=\"--wails-draggable: drag;\">\n    \u003C!-- 左侧：应用图标和名称 -->\n    \u003Cdiv class=\"title-bar-left\">\n      \u003Cimg src=\"..\u002Fassets\u002Fimages\u002Flogo-universal.webp\" alt=\"App Icon\" class=\"app-icon\" \u002F>\n      \u003Cspan class=\"app-name\">Workbench\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n\n    \u003C!-- 右侧：窗口控制按钮 -->\n    \u003Cdiv class=\"title-bar-right\">\n      \u003Cbutton @click=\"minimizeWindow\" class=\"window-control minimize\" title=\"最小化\" style=\"--wails-draggable: no-drag;\">\n        \u003CMinus :size=\"14\" \u002F>\n      \u003C\u002Fbutton>\n      \u003Cbutton @click=\"toggleMaximize\" class=\"window-control maximize\" :title=\"isMaximized ? '还原' : '最大化'\" style=\"--wails-draggable: no-drag;\">\n        \u003CMaximize2 v-if=\"!isMaximized\" :size=\"14\" \u002F>\n        \u003CMinimize2 v-else :size=\"14\" \u002F>\n      \u003C\u002Fbutton>\n      \u003Cbutton @click=\"closeWindow\" class=\"window-control close\" title=\"关闭\" style=\"--wails-draggable: no-drag;\">\n        \u003CX :size=\"14\" \u002F>\n      \u003C\u002Fbutton>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n",[181,1781,1782,1790,1820,1824,1842,1880,1906,1914,1918,1922,1940,1989,2007,2015,2063,2091,2111,2119,2167,2185,2193,2201,2209],{"__ignoreMap":195},[199,1783,1784,1786,1788],{"class":201,"line":202},[199,1785,494],{"class":397},[199,1787,612],{"class":611},[199,1789,615],{"class":397},[199,1791,1792,1794,1796,1798,1800,1802,1804,1806,1809,1811,1813,1816,1818],{"class":201,"line":208},[199,1793,620],{"class":397},[199,1795,623],{"class":611},[199,1797,626],{"class":389},[199,1799,629],{"class":397},[199,1801,632],{"class":397},[199,1803,636],{"class":635},[199,1805,632],{"class":397},[199,1807,1808],{"class":389}," style",[199,1810,629],{"class":397},[199,1812,632],{"class":397},[199,1814,1815],{"class":635},"--wails-draggable: drag;",[199,1817,632],{"class":397},[199,1819,615],{"class":397},[199,1821,1822],{"class":201,"line":214},[199,1823,645],{"class":374},[199,1825,1826,1828,1830,1832,1834,1836,1838,1840],{"class":201,"line":220},[199,1827,650],{"class":397},[199,1829,623],{"class":611},[199,1831,626],{"class":389},[199,1833,629],{"class":397},[199,1835,632],{"class":397},[199,1837,661],{"class":635},[199,1839,632],{"class":397},[199,1841,615],{"class":397},[199,1843,1844,1846,1848,1850,1852,1854,1856,1858,1860,1862,1864,1866,1868,1870,1872,1874,1876,1878],{"class":201,"line":227},[199,1845,670],{"class":397},[199,1847,347],{"class":611},[199,1849,675],{"class":389},[199,1851,629],{"class":397},[199,1853,632],{"class":397},[199,1855,682],{"class":635},[199,1857,632],{"class":397},[199,1859,687],{"class":389},[199,1861,629],{"class":397},[199,1863,632],{"class":397},[199,1865,694],{"class":635},[199,1867,632],{"class":397},[199,1869,626],{"class":389},[199,1871,629],{"class":397},[199,1873,632],{"class":397},[199,1875,705],{"class":635},[199,1877,632],{"class":397},[199,1879,710],{"class":397},[199,1881,1882,1884,1886,1888,1890,1892,1894,1896,1898,1900,1902,1904],{"class":201,"line":233},[199,1883,670],{"class":397},[199,1885,199],{"class":611},[199,1887,626],{"class":389},[199,1889,629],{"class":397},[199,1891,632],{"class":397},[199,1893,725],{"class":635},[199,1895,632],{"class":397},[199,1897,730],{"class":397},[199,1899,734],{"class":733},[199,1901,737],{"class":397},[199,1903,199],{"class":611},[199,1905,615],{"class":397},[199,1907,1908,1910,1912],{"class":201,"line":239},[199,1909,746],{"class":397},[199,1911,623],{"class":611},[199,1913,615],{"class":397},[199,1915,1916],{"class":201,"line":245},[199,1917,224],{"emptyLinePlaceholder":223},[199,1919,1920],{"class":201,"line":251},[199,1921,759],{"class":374},[199,1923,1924,1926,1928,1930,1932,1934,1936,1938],{"class":201,"line":257},[199,1925,650],{"class":397},[199,1927,623],{"class":611},[199,1929,626],{"class":389},[199,1931,629],{"class":397},[199,1933,632],{"class":397},[199,1935,774],{"class":635},[199,1937,632],{"class":397},[199,1939,615],{"class":397},[199,1941,1942,1944,1946,1948,1950,1952,1954,1956,1958,1960,1962,1964,1966,1968,1970,1972,1974,1976,1978,1980,1982,1985,1987],{"class":201,"line":263},[199,1943,670],{"class":397},[199,1945,785],{"class":611},[199,1947,788],{"class":389},[199,1949,629],{"class":397},[199,1951,632],{"class":397},[199,1953,795],{"class":635},[199,1955,632],{"class":397},[199,1957,626],{"class":389},[199,1959,629],{"class":397},[199,1961,632],{"class":397},[199,1963,806],{"class":635},[199,1965,632],{"class":397},[199,1967,811],{"class":389},[199,1969,629],{"class":397},[199,1971,632],{"class":397},[199,1973,818],{"class":635},[199,1975,632],{"class":397},[199,1977,1808],{"class":389},[199,1979,629],{"class":397},[199,1981,632],{"class":397},[199,1983,1984],{"class":635},"--wails-draggable: no-drag;",[199,1986,632],{"class":397},[199,1988,615],{"class":397},[199,1990,1991,1993,1995,1997,1999,2001,2003,2005],{"class":201,"line":269},[199,1992,827],{"class":397},[199,1994,830],{"class":611},[199,1996,833],{"class":389},[199,1998,629],{"class":397},[199,2000,632],{"class":397},[199,2002,840],{"class":635},[199,2004,632],{"class":397},[199,2006,710],{"class":397},[199,2008,2009,2011,2013],{"class":201,"line":275},[199,2010,849],{"class":397},[199,2012,785],{"class":611},[199,2014,615],{"class":397},[199,2016,2017,2019,2021,2023,2025,2027,2029,2031,2033,2035,2037,2039,2041,2043,2045,2047,2049,2051,2053,2055,2057,2059,2061],{"class":201,"line":281},[199,2018,670],{"class":397},[199,2020,785],{"class":611},[199,2022,788],{"class":389},[199,2024,629],{"class":397},[199,2026,632],{"class":397},[199,2028,868],{"class":635},[199,2030,632],{"class":397},[199,2032,626],{"class":389},[199,2034,629],{"class":397},[199,2036,632],{"class":397},[199,2038,879],{"class":635},[199,2040,632],{"class":397},[199,2042,884],{"class":389},[199,2044,629],{"class":397},[199,2046,632],{"class":397},[199,2048,891],{"class":635},[199,2050,632],{"class":397},[199,2052,1808],{"class":389},[199,2054,629],{"class":397},[199,2056,632],{"class":397},[199,2058,1984],{"class":635},[199,2060,632],{"class":397},[199,2062,615],{"class":397},[199,2064,2065,2067,2069,2071,2073,2075,2077,2079,2081,2083,2085,2087,2089],{"class":201,"line":287},[199,2066,827],{"class":397},[199,2068,902],{"class":611},[199,2070,905],{"class":389},[199,2072,629],{"class":397},[199,2074,632],{"class":397},[199,2076,912],{"class":635},[199,2078,632],{"class":397},[199,2080,833],{"class":389},[199,2082,629],{"class":397},[199,2084,632],{"class":397},[199,2086,840],{"class":635},[199,2088,632],{"class":397},[199,2090,710],{"class":397},[199,2092,2093,2095,2097,2099,2101,2103,2105,2107,2109],{"class":201,"line":293},[199,2094,827],{"class":397},[199,2096,933],{"class":611},[199,2098,936],{"class":389},[199,2100,833],{"class":389},[199,2102,629],{"class":397},[199,2104,632],{"class":397},[199,2106,840],{"class":635},[199,2108,632],{"class":397},[199,2110,710],{"class":397},[199,2112,2113,2115,2117],{"class":201,"line":299},[199,2114,849],{"class":397},[199,2116,785],{"class":611},[199,2118,615],{"class":397},[199,2120,2121,2123,2125,2127,2129,2131,2133,2135,2137,2139,2141,2143,2145,2147,2149,2151,2153,2155,2157,2159,2161,2163,2165],{"class":201,"line":305},[199,2122,670],{"class":397},[199,2124,785],{"class":611},[199,2126,788],{"class":389},[199,2128,629],{"class":397},[199,2130,632],{"class":397},[199,2132,971],{"class":635},[199,2134,632],{"class":397},[199,2136,626],{"class":389},[199,2138,629],{"class":397},[199,2140,632],{"class":397},[199,2142,982],{"class":635},[199,2144,632],{"class":397},[199,2146,811],{"class":389},[199,2148,629],{"class":397},[199,2150,632],{"class":397},[199,2152,993],{"class":635},[199,2154,632],{"class":397},[199,2156,1808],{"class":389},[199,2158,629],{"class":397},[199,2160,632],{"class":397},[199,2162,1984],{"class":635},[199,2164,632],{"class":397},[199,2166,615],{"class":397},[199,2168,2169,2171,2173,2175,2177,2179,2181,2183],{"class":201,"line":310},[199,2170,827],{"class":397},[199,2172,1004],{"class":611},[199,2174,833],{"class":389},[199,2176,629],{"class":397},[199,2178,632],{"class":397},[199,2180,840],{"class":635},[199,2182,632],{"class":397},[199,2184,710],{"class":397},[199,2186,2187,2189,2191],{"class":201,"line":316},[199,2188,849],{"class":397},[199,2190,785],{"class":611},[199,2192,615],{"class":397},[199,2194,2195,2197,2199],{"class":201,"line":321},[199,2196,746],{"class":397},[199,2198,623],{"class":611},[199,2200,615],{"class":397},[199,2202,2203,2205,2207],{"class":201,"line":327},[199,2204,1037],{"class":397},[199,2206,623],{"class":611},[199,2208,615],{"class":397},[199,2210,2211,2213,2215],{"class":201,"line":333},[199,2212,737],{"class":397},[199,2214,612],{"class":611},[199,2216,615],{"class":397},[1750,2218,2219],{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}",{"title":195,"searchDepth":202,"depth":208,"links":2221},[2222,2223,2224,2225],{"id":152,"depth":208,"text":152},{"id":174,"depth":208,"text":174},{"id":353,"depth":208,"text":353},{"id":1759,"depth":208,"text":1759},"Wails 无边框窗口开发教程，介绍 Frameless 配置、自定义标题栏实现、窗口控制按钮（最小化\u002F最大化\u002F关闭）以及使用 CSS --wails-draggable 实现窗口拖拽功能。","md",null,{"date":2230},"2025-07-28 01:46:54",{"title":2232,"description":2233},"【golang\u002Fwails】wails入门系列(二)无边框应用的菜单栏以及窗口拖拽","Wails 无边框窗口开发教程，介绍 Frameless 配置、自定义标题栏实现、窗口控制按钮（最小化\u002F最大化\u002F关闭）以及使用 CSS --wails-draggable 实现窗口拖拽功能，打造美观的桌面应用界面。","6OxZLNkD1ZcaCoMMcAeDevuXpxBN3WkfBMwMN13oliI",[2236,2238],{"title":20,"path":21,"stem":22,"description":2237,"children":-1},"Wails 桌面应用开发框架入门教程，介绍 Go、Node.js 环境配置、Wails 安装与诊断、使用 Vue+TypeScript 模板创建项目以及开发构建流程。",{"title":28,"path":29,"stem":30,"description":2239,"children":-1},"Golang 学习笔记与技术实践记录，包括 MCP Server 配置、HTTP 服务器搭建、Wails 桌面应用开发等内容，适合 Go 语言开发者参考学习。",1776616490416]