[{"data":1,"prerenderedAt":929},["ShallowReactive",2],{"$fen922M9aBBBGS7gEr37q12a4sAhxXmwCENBD1e0zskM":3,"\u002Fdocs\u002Fmanual\u002Fshell\u002Flayout":278,"\u002Fdocs\u002Fmanual\u002Fshell\u002Flayout-surround":924},[4,22,99,167,189,267],{"title":5,"titleTemplate":6,"icon":7,"redirect":8,"path":9,"stem":10,"children":11,"page":21},"起步指南",null,"i-lucide:rocket","\u002Fdocs\u002Fguide\u002Fintroduction","\u002Fdocs\u002Fguide","docs\u002F1.guide",[12,16],{"title":13,"path":8,"stem":14,"titleTemplate":6,"icon":15},"介绍","docs\u002F1.guide\u002F01.introduction","i-lucide:bot",{"title":17,"path":18,"stem":19,"titleTemplate":6,"icon":20},"安装","\u002Fdocs\u002Fguide\u002Finstallation","docs\u002F1.guide\u002F02.installation","i-lucide:download",false,{"title":23,"path":24,"stem":25,"children":26,"titleTemplate":6,"icon":29},"使用手册","\u002Fdocs\u002Fmanual","docs\u002F2.manual\u002F00.index",[27,30,35,40,57,78],{"title":23,"path":24,"stem":25,"titleTemplate":28,"icon":29},"%s | Oiyo","i-lucide:book-open-check",{"title":31,"path":32,"stem":33,"titleTemplate":6,"icon":34},"工程接入","\u002Fdocs\u002Fmanual\u002Fengineering","docs\u002F2.manual\u002F01.engineering","i-lucide:plug",{"title":36,"path":37,"stem":38,"titleTemplate":6,"icon":39},"配置系统","\u002Fdocs\u002Fmanual\u002Fconfiguration","docs\u002F2.manual\u002F02.configuration","i-lucide:sliders-horizontal",{"title":41,"titleTemplate":6,"defaultOpen":42,"icon":43,"path":44,"stem":45,"children":46,"page":21},"扫描导入",true,"i-lucide:scan-line","\u002Fdocs\u002Fmanual\u002Fscan","docs\u002F2.manual\u002F03.scan",[47,52],{"title":48,"path":49,"stem":50,"titleTemplate":6,"icon":51},"API 导入","\u002Fdocs\u002Fmanual\u002Fscan\u002Fapi","docs\u002F2.manual\u002F03.scan\u002F01.api","i-lucide:import",{"title":53,"path":54,"stem":55,"titleTemplate":6,"icon":56},"组件注册","\u002Fdocs\u002Fmanual\u002Fscan\u002Fcomponents","docs\u002F2.manual\u002F03.scan\u002F02.components","i-lucide:blocks",{"title":58,"titleTemplate":6,"defaultOpen":42,"icon":59,"path":60,"stem":61,"children":62,"page":21},"路由系统","i-lucide:map","\u002Fdocs\u002Fmanual\u002Fpage","docs\u002F2.manual\u002F04.page",[63,68,73],{"title":64,"path":65,"stem":66,"titleTemplate":6,"icon":67},"页面注册","\u002Fdocs\u002Fmanual\u002Fpage\u002Fregister","docs\u002F2.manual\u002F04.page\u002F01.register","i-lucide:file-box",{"title":69,"path":70,"stem":71,"titleTemplate":6,"icon":72},"页面元信息","\u002Fdocs\u002Fmanual\u002Fpage\u002Fmeta","docs\u002F2.manual\u002F04.page\u002F02.meta","i-lucide:file-cog",{"title":74,"path":75,"stem":76,"titleTemplate":6,"icon":77},"全局页面配置","\u002Fdocs\u002Fmanual\u002Fpage\u002Fconfig","docs\u002F2.manual\u002F04.page\u002F03.config","i-lucide:palette",{"title":79,"titleTemplate":6,"defaultOpen":42,"icon":80,"path":81,"stem":82,"children":83,"page":21},"视图结构","i-lucide:panels-top-left","\u002Fdocs\u002Fmanual\u002Fshell","docs\u002F2.manual\u002F05.shell",[84,89,94],{"title":85,"path":86,"stem":87,"titleTemplate":6,"icon":88},"应用骨架","\u002Fdocs\u002Fmanual\u002Fshell\u002Fapp-shell","docs\u002F2.manual\u002F05.shell\u002F01.app-shell","i-lucide:app-window",{"title":90,"path":91,"stem":92,"titleTemplate":6,"icon":93},"根上下文","\u002Fdocs\u002Fmanual\u002Fshell\u002Froot-context","docs\u002F2.manual\u002F05.shell\u002F02.root-context","i-lucide:network",{"title":95,"path":96,"stem":97,"titleTemplate":6,"icon":98},"布局系统","\u002Fdocs\u002Fmanual\u002Fshell\u002Flayout","docs\u002F2.manual\u002F05.shell\u002F03.layout","i-lucide:layout-template",{"title":100,"path":101,"stem":102,"children":103,"titleTemplate":6,"icon":166},"项目结构","\u002Fdocs\u002Fstructure","docs\u002F3.structure\u002F0.index",[104,106,111,152,156,161],{"title":100,"path":101,"stem":102,"titleTemplate":28,"icon":105},"i-lucide-layers",{"title":107,"path":108,"stem":109,"titleTemplate":6,"icon":110},".oiyo","\u002Fdocs\u002Fstructure\u002Foiyo","docs\u002F3.structure\u002F1.oiyo","i-catppuccin:folder-temp",{"title":112,"titleTemplate":6,"defaultOpen":42,"icon":113,"path":114,"stem":115,"children":116,"page":21},"src","i-catppuccin:folder-src","\u002Fdocs\u002Fstructure\u002Fsrc","docs\u002F3.structure\u002F1.src",[117,122,127,132,137,142,147],{"title":118,"path":119,"stem":120,"titleTemplate":6,"icon":121},"components","\u002Fdocs\u002Fstructure\u002Fsrc\u002Fcomponents","docs\u002F3.structure\u002F1.src\u002F1.components","i-catppuccin:folder-components",{"title":123,"path":124,"stem":125,"titleTemplate":6,"icon":126},"composables","\u002Fdocs\u002Fstructure\u002Fsrc\u002Fcomposables","docs\u002F3.structure\u002F1.src\u002F1.composables","i-catppuccin:folder-composables",{"title":128,"path":129,"stem":130,"titleTemplate":6,"icon":131},"layouts","\u002Fdocs\u002Fstructure\u002Fsrc\u002Flayouts","docs\u002F3.structure\u002F1.src\u002F1.layouts","i-catppuccin:folder-layouts",{"title":133,"path":134,"stem":135,"titleTemplate":6,"icon":136},"packages","\u002Fdocs\u002Fstructure\u002Fsrc\u002Fpackages","docs\u002F3.structure\u002F1.src\u002F1.packages","i-catppuccin:folder-packages",{"title":138,"path":139,"stem":140,"titleTemplate":6,"icon":141},"pages","\u002Fdocs\u002Fstructure\u002Fsrc\u002Fpages","docs\u002F3.structure\u002F1.src\u002F1.pages","i-catppuccin:folder-views",{"title":143,"path":144,"stem":145,"titleTemplate":6,"icon":146},"App.vue","\u002Fdocs\u002Fstructure\u002Fsrc\u002Fapp","docs\u002F3.structure\u002F1.src\u002F2.app","i-catppuccin:vue",{"title":148,"path":149,"stem":150,"titleTemplate":6,"icon":151},"pages.config.ts","\u002Fdocs\u002Fstructure\u002Fsrc\u002Fpages-config","docs\u002F3.structure\u002F1.src\u002F3.pages-config","i-catppuccin:typescript",{"title":153,"path":154,"stem":155,"titleTemplate":6,"icon":151},"oiyo.config.ts","\u002Fdocs\u002Fstructure\u002Foiyo-config","docs\u002F3.structure\u002F3.oiyo-config",{"title":157,"path":158,"stem":159,"titleTemplate":6,"icon":160},"package.json","\u002Fdocs\u002Fstructure\u002Fpackage","docs\u002F3.structure\u002F3.package","i-catppuccin:package-json",{"title":162,"path":163,"stem":164,"titleTemplate":6,"icon":165},"tsconfig.json","\u002Fdocs\u002Fstructure\u002Ftsconfig","docs\u002F3.structure\u002F3.tsconfig","i-catppuccin:typescript-config","i-lucide:layers",{"title":168,"titleTemplate":6,"icon":169,"redirect":170,"path":171,"stem":172,"children":173,"page":21},"核心概念","i-lucide:leaf","\u002Fdocs\u002Fconcept\u002Fapp","\u002Fdocs\u002Fconcept","docs\u002F4.concept",[174,178,182,185],{"title":175,"path":170,"stem":176,"titleTemplate":6,"icon":177},"根部视图","docs\u002F4.concept\u002F01.app","i-lucide:route",{"title":179,"path":180,"stem":181,"titleTemplate":6,"icon":59},"自动路由","\u002Fdocs\u002Fconcept\u002Froute","docs\u002F4.concept\u002F02.route",{"title":95,"path":183,"stem":184,"titleTemplate":6,"icon":98},"\u002Fdocs\u002Fconcept\u002Flayout","docs\u002F4.concept\u002F03.layout",{"title":186,"path":187,"stem":188,"titleTemplate":6,"icon":43},"自动导入","\u002Fdocs\u002Fconcept\u002Fauto-imports","docs\u002F4.concept\u002F04.auto-imports",{"title":190,"path":191,"stem":192,"children":193,"titleTemplate":6,"icon":266},"API","\u002Fdocs\u002Fapi","docs\u002F5.api\u002F00.index",[194,196,210,220,234,248],{"title":195,"path":191,"stem":192,"titleTemplate":28},"API 参考",{"title":197,"titleTemplate":6,"defaultOpen":42,"icon":198,"path":199,"stem":200,"children":201,"page":21},"配置","i-lucide:settings","\u002Fdocs\u002Fapi\u002Fconfig","docs\u002F5.api\u002F01.config",[202,206],{"title":203,"path":204,"stem":205,"titleTemplate":6},"defineOiyoConfig","\u002Fdocs\u002Fapi\u002Fconfig\u002Fdefine-oiyo-config","docs\u002F5.api\u002F01.config\u002F01.define-oiyo-config",{"title":207,"path":208,"stem":209,"titleTemplate":6},"definePagesConfig","\u002Fdocs\u002Fapi\u002Fconfig\u002Fdefine-pages-config","docs\u002F5.api\u002F01.config\u002F02.define-pages-config",{"title":211,"titleTemplate":6,"defaultOpen":42,"icon":212,"path":213,"stem":214,"children":215,"page":21},"运行时","i-lucide:shrub","\u002Fdocs\u002Fapi\u002Fruntime","docs\u002F5.api\u002F02.runtime",[216],{"title":217,"path":218,"stem":219,"titleTemplate":6},"Vue \u002F UniApp","\u002Fdocs\u002Fapi\u002Fruntime\u002Freference","docs\u002F5.api\u002F02.runtime\u002F01.reference",{"title":221,"titleTemplate":6,"defaultOpen":42,"icon":222,"path":223,"stem":224,"children":225,"page":21},"宏","i-lucide:wand","\u002Fdocs\u002Fapi\u002Fmacro","docs\u002F5.api\u002F04.macro",[226,230],{"title":227,"path":228,"stem":229,"titleTemplate":6},"defineRootContext","\u002Fdocs\u002Fapi\u002Fmacro\u002Fdefine-root-context","docs\u002F5.api\u002F04.macro\u002F01.define-root-context",{"title":231,"path":232,"stem":233,"titleTemplate":6},"definePageMeta","\u002Fdocs\u002Fapi\u002Fmacro\u002Fdefine-page-meta","docs\u002F5.api\u002F04.macro\u002F02.define-page-meta",{"title":235,"titleTemplate":6,"defaultOpen":42,"icon":236,"path":237,"stem":238,"children":239,"page":21},"组件","i-lucide:component","\u002Fdocs\u002Fapi\u002Fcomponents","docs\u002F5.api\u002F05.components",[240,244],{"title":241,"path":242,"stem":243,"titleTemplate":6},"\u003COiyoPage>","\u002Fdocs\u002Fapi\u002Fcomponents\u002Foiyo-page","docs\u002F5.api\u002F05.components\u002F01.oiyo-page",{"title":245,"path":246,"stem":247,"titleTemplate":6},"\u003COiyoLayout>","\u002Fdocs\u002Fapi\u002Fcomponents\u002Foiyo-layout","docs\u002F5.api\u002F05.components\u002F02.oiyo-layout",{"title":249,"titleTemplate":6,"defaultOpen":42,"icon":250,"path":251,"stem":252,"children":253,"page":21},"命令","i-lucide:command","\u002Fdocs\u002Fapi\u002Fcli","docs\u002F5.api\u002F06.cli",[254,258,262],{"title":255,"path":256,"stem":257,"titleTemplate":6},"oiyo prepare","\u002Fdocs\u002Fapi\u002Fcli\u002Foiyo-prepare","docs\u002F5.api\u002F06.cli\u002F00.oiyo-prepare",{"title":259,"path":260,"stem":261,"titleTemplate":6},"oiyo dev","\u002Fdocs\u002Fapi\u002Fcli\u002Foiyo-dev","docs\u002F5.api\u002F06.cli\u002F01.oiyo-dev",{"title":263,"path":264,"stem":265,"titleTemplate":6},"oiyo build","\u002Fdocs\u002Fapi\u002Fcli\u002Foiyo-build","docs\u002F5.api\u002F06.cli\u002F02.oiyo-build","i-lucide:braces",{"title":268,"titleTemplate":6,"icon":269,"redirect":270,"path":271,"stem":272,"children":273,"page":21},"沟通交流","i-lucide:message-circle-question","\u002Fdocs\u002Fcommunity\u002Fassist","\u002Fdocs\u002Fcommunity","docs\u002F9.community",[274],{"title":275,"path":270,"stem":276,"titleTemplate":6,"icon":277},"加群互助","docs\u002F9.community\u002F01.assist","i-lucide:scan-qr-code",{"id":279,"title":95,"body":280,"description":919,"extension":321,"meta":920,"navigation":921,"path":96,"seo":922,"stem":97,"titleTemplate":6,"__hash__":923},"docs\u002Fdocs\u002F2.manual\u002F05.shell\u002F03.layout.md",{"type":281,"value":282,"toc":907},"minimark",[283,291,295,305,308,315,352,366,373,380,457,463,511,514,521,525,537,588,591,598,654,657,664,713,722,725,728,746,822,834,837,840,851,854,865,868,871,903],[284,285,286,287,290],"p",{},"布局系统用于把页面内容和页面外壳分离。页面只负责业务内容，布局负责统一容器结构，",[288,289,143],"code",{}," 负责放置布局渲染入口。",[292,293,294],"h2",{"id":294},"能力定位",[296,297,298,302],"ul",{},[299,300,301],"li",{},"解决多个页面共享重复的页面结构。",[299,303,304],{},"解耦业务结构与容器结构。",[292,306,307],{"id":307},"定义布局",[284,309,310,311,314],{},"布局文件放在 ",[288,312,313],{},"src\u002Flayouts"," 中，布局名来自文件名。",[316,317,323],"pre",{"className":318,"code":319,"filename":320,"language":321,"meta":322,"style":322},"language-md shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","src\n└─ layouts\n   ├─ default.vue\n   └─ tabbar.vue\n","目录结构","md","",[288,324,325,334,340,346],{"__ignoreMap":322},[326,327,330],"span",{"class":328,"line":329},"line",1,[326,331,333],{"class":332},"sZSNi","src\n",[326,335,337],{"class":328,"line":336},2,[326,338,339],{"class":332},"└─ layouts\n",[326,341,343],{"class":328,"line":342},3,[326,344,345],{"class":332},"   ├─ default.vue\n",[326,347,349],{"class":328,"line":348},4,[326,350,351],{"class":332},"   └─ tabbar.vue\n",[284,353,354,357,358,361,362,365],{},[288,355,356],{},"default.vue"," 对应默认布局。",[288,359,360],{},"tabbar.vue"," 对应 ",[288,363,364],{},"layout: 'tabbar'","。",[367,368,370],"callout",{"color":369,"icon":169,"to":183},"neutral",[284,371,372],{},"深入了解不同路径下 \"布局名\" 的生成方式。",[284,374,375,376,379],{},"布局组件必须通过 ",[288,377,378],{},"\u003Cslot \u002F>"," 接收页面内容。",[316,381,386],{"className":382,"code":383,"filename":384,"language":385,"meta":322,"style":322},"language-vue shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","\u003Ctemplate>\n  \u003Cview class=\"layout-shell\">\n    \u003Cslot \u002F>\n  \u003C\u002Fview>\n\u003C\u002Ftemplate>\n","src\u002Flayouts\u002Fdefault.vue","vue",[288,387,388,401,427,438,447],{"__ignoreMap":322},[326,389,390,394,398],{"class":328,"line":329},[326,391,393],{"class":392},"sDfIl","\u003C",[326,395,397],{"class":396},"sRlkE","template",[326,399,400],{"class":392},">\n",[326,402,403,406,409,413,416,419,423,425],{"class":328,"line":336},[326,404,405],{"class":392},"  \u003C",[326,407,408],{"class":396},"view",[326,410,412],{"class":411},"smZ93"," class",[326,414,415],{"class":392},"=",[326,417,418],{"class":392},"\"",[326,420,422],{"class":421},"sGFVr","layout-shell",[326,424,418],{"class":392},[326,426,400],{"class":392},[326,428,429,432,435],{"class":328,"line":342},[326,430,431],{"class":392},"    \u003C",[326,433,434],{"class":396},"slot",[326,436,437],{"class":392}," \u002F>\n",[326,439,440,443,445],{"class":328,"line":348},[326,441,442],{"class":392},"  \u003C\u002F",[326,444,408],{"class":396},[326,446,400],{"class":392},[326,448,450,453,455],{"class":328,"line":449},5,[326,451,452],{"class":392},"\u003C\u002F",[326,454,397],{"class":396},[326,456,400],{"class":392},[284,458,459,460,462],{},"在 ",[288,461,143],{}," 应用骨架中启用布局。",[316,464,467],{"className":382,"code":465,"filename":466,"language":385,"meta":322,"style":322},"\u003Ctemplate>\n  \u003COiyoLayout>\n    \u003COiyoPage \u002F>\n  \u003C\u002FOiyoLayout>\n\u003C\u002Ftemplate>\n","src\u002FApp.vue",[288,468,469,477,486,495,503],{"__ignoreMap":322},[326,470,471,473,475],{"class":328,"line":329},[326,472,393],{"class":392},[326,474,397],{"class":396},[326,476,400],{"class":392},[326,478,479,481,484],{"class":328,"line":336},[326,480,405],{"class":392},[326,482,483],{"class":396},"OiyoLayout",[326,485,400],{"class":392},[326,487,488,490,493],{"class":328,"line":342},[326,489,431],{"class":392},[326,491,492],{"class":396},"OiyoPage",[326,494,437],{"class":392},[326,496,497,499,501],{"class":328,"line":348},[326,498,442],{"class":392},[326,500,483],{"class":396},[326,502,400],{"class":392},[326,504,505,507,509],{"class":328,"line":449},[326,506,452],{"class":392},[326,508,397],{"class":396},[326,510,400],{"class":392},[292,512,513],{"id":513},"选择布局",[284,515,516,517,520],{},"页面通过 ",[288,518,519],{},"definePageMeta()"," 选择布局。",[522,523,524],"h3",{"id":524},"默认",[284,526,527,528,530,531,533,534,536],{},"只有在 ",[288,529,143],{}," 中使用 ",[288,532,483],{},"，并且存在 ",[288,535,384],{}," 时，默认布局才会启用。",[316,538,541],{"className":382,"code":539,"filename":540,"language":385,"meta":322,"style":322},"\u003Cscript setup>\ndefinePageMeta({\n  \u002F\u002F 自动应用 layout: 'default'\n})\n\u003C\u002Fscript>\n","src\u002Fpages\u002Fhome\u002Findex.vue",[288,542,543,555,566,572,580],{"__ignoreMap":322},[326,544,545,547,550,553],{"class":328,"line":329},[326,546,393],{"class":392},[326,548,549],{"class":396},"script",[326,551,552],{"class":411}," setup",[326,554,400],{"class":392},[326,556,557,560,563],{"class":328,"line":336},[326,558,231],{"class":559},"s3cPz",[326,561,562],{"class":332},"(",[326,564,565],{"class":392},"{\n",[326,567,568],{"class":328,"line":342},[326,569,571],{"class":570},"sWuyu","  \u002F\u002F 自动应用 layout: 'default'\n",[326,573,574,577],{"class":328,"line":348},[326,575,576],{"class":392},"}",[326,578,579],{"class":332},")\n",[326,581,582,584,586],{"class":328,"line":449},[326,583,452],{"class":392},[326,585,549],{"class":396},[326,587,400],{"class":392},[522,589,590],{"id":590},"具名",[284,592,593,594,597],{},"指定名为 ",[288,595,596],{},"tabbar"," 的布局。",[316,599,601],{"className":382,"code":600,"filename":540,"language":385,"meta":322,"style":322},"\u003Cscript setup>\ndefinePageMeta({\n  layout: 'tabbar',\n})\n\u003C\u002Fscript>\n",[288,602,603,613,621,640,646],{"__ignoreMap":322},[326,604,605,607,609,611],{"class":328,"line":329},[326,606,393],{"class":392},[326,608,549],{"class":396},[326,610,552],{"class":411},[326,612,400],{"class":392},[326,614,615,617,619],{"class":328,"line":336},[326,616,231],{"class":559},[326,618,562],{"class":332},[326,620,565],{"class":392},[326,622,623,626,629,632,634,637],{"class":328,"line":342},[326,624,625],{"class":396},"  layout",[326,627,628],{"class":392},":",[326,630,631],{"class":392}," '",[326,633,596],{"class":421},[326,635,636],{"class":392},"'",[326,638,639],{"class":392},",\n",[326,641,642,644],{"class":328,"line":348},[326,643,576],{"class":392},[326,645,579],{"class":332},[326,647,648,650,652],{"class":328,"line":449},[326,649,452],{"class":392},[326,651,549],{"class":396},[326,653,400],{"class":392},[522,655,656],{"id":656},"禁用",[284,658,659,660,663],{},"当页面不想使用任何布局时，可以通过 ",[288,661,662],{},"false"," 禁用布局。",[316,665,667],{"className":382,"code":666,"filename":540,"language":385,"meta":322,"style":322},"\u003Cscript setup>\ndefinePageMeta({\n  layout: false,\n})\n\u003C\u002Fscript>\n",[288,668,669,679,687,699,705],{"__ignoreMap":322},[326,670,671,673,675,677],{"class":328,"line":329},[326,672,393],{"class":392},[326,674,549],{"class":396},[326,676,552],{"class":411},[326,678,400],{"class":392},[326,680,681,683,685],{"class":328,"line":336},[326,682,231],{"class":559},[326,684,562],{"class":332},[326,686,565],{"class":392},[326,688,689,691,693,697],{"class":328,"line":342},[326,690,625],{"class":396},[326,692,628],{"class":392},[326,694,696],{"class":695},"sbKd-"," false",[326,698,639],{"class":392},[326,700,701,703],{"class":328,"line":348},[326,702,576],{"class":392},[326,704,579],{"class":332},[326,706,707,709,711],{"class":328,"line":449},[326,708,452],{"class":392},[326,710,549],{"class":396},[326,712,400],{"class":392},[714,715,716],"tip",{},[284,717,718,721],{},[288,719,720],{},"layout"," 属性的类型提示也是 Oiyo 类型系统中支持的一部分，你无需记忆当前有多少布局。",[292,723,724],{"id":724},"视图边界",[284,726,727],{},"推荐边界：",[296,729,730,735,740],{},[299,731,732,734],{},[288,733,143],{}," 放所有页面共享的应用外壳和根上下文。",[299,736,737,739],{},[288,738,313],{}," 放某类页面共享的容器结构。",[299,741,742,745],{},[288,743,744],{},"src\u002Fpages"," 放页面自己的业务内容。",[316,747,749],{"className":382,"code":748,"filename":466,"language":385,"meta":322,"style":322},"\u003Ctemplate>\n  \u003CNavBar \u002F>\n\n  \u003COiyoLayout>\n    \u003COiyoPage \u002F>\n  \u003C\u002FOiyoLayout>\n\n  \u003CTabBar \u002F>\n\u003C\u002Ftemplate>\n",[288,750,751,759,768,773,781,789,798,803,813],{"__ignoreMap":322},[326,752,753,755,757],{"class":328,"line":329},[326,754,393],{"class":392},[326,756,397],{"class":396},[326,758,400],{"class":392},[326,760,761,763,766],{"class":328,"line":336},[326,762,405],{"class":392},[326,764,765],{"class":396},"NavBar",[326,767,437],{"class":392},[326,769,770],{"class":328,"line":342},[326,771,772],{"emptyLinePlaceholder":42},"\n",[326,774,775,777,779],{"class":328,"line":348},[326,776,405],{"class":392},[326,778,483],{"class":396},[326,780,400],{"class":392},[326,782,783,785,787],{"class":328,"line":449},[326,784,431],{"class":392},[326,786,492],{"class":396},[326,788,437],{"class":392},[326,790,792,794,796],{"class":328,"line":791},6,[326,793,442],{"class":392},[326,795,483],{"class":396},[326,797,400],{"class":392},[326,799,801],{"class":328,"line":800},7,[326,802,772],{"emptyLinePlaceholder":42},[326,804,806,808,811],{"class":328,"line":805},8,[326,807,405],{"class":392},[326,809,810],{"class":396},"TabBar",[326,812,437],{"class":392},[326,814,816,818,820],{"class":328,"line":815},9,[326,817,452],{"class":392},[326,819,397],{"class":396},[326,821,400],{"class":392},[284,823,824,825,827,828,830,831,833],{},"这里 ",[288,826,765],{}," 和 ",[288,829,810],{}," 是应用外壳，",[288,832,483],{}," 内部才是页面和布局系统。",[292,835,836],{"id":836},"使用建议",[284,838,839],{},"适合放入布局：",[296,841,842,845,848],{},[299,843,844],{},"页面容器、间距。",[299,846,847],{},"某类页面共享的结构。",[299,849,850],{},"页面视觉分组。",[284,852,853],{},"不适合放入布局：",[296,855,856,859,862],{},[299,857,858],{},"所有页面都共享的应用顶部和底部。",[299,860,861],{},"应用级状态定义。",[299,863,864],{},"单个页面的业务逻辑。",[292,866,867],{"id":867},"验证可用",[284,869,870],{},"新增布局后检查：",[872,873,874,885,891,896],"ol",{},[299,875,876,878,879,881,882,365],{},[288,877,143],{}," 是否使用 ",[288,880,245],{}," 包裹 ",[288,883,884],{},"\u003COiyoPage \u002F>",[299,886,887,888,890],{},"布局文件是否位于 ",[288,889,313],{}," 中。",[299,892,893,894,365],{},"布局文件是否包含 ",[288,895,378],{},[299,897,898,899,902],{},"页面使用时是否通过 ",[288,900,901],{},"definePageMeta({ layout })"," 定义。",[904,905,906],"style",{},"html pre.shiki code .sZSNi, html code.shiki .sZSNi{--shiki-light:#90A4AE;--shiki-default:#90A4AE;--shiki-dark:#BABED8}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 .sDfIl, html code.shiki .sDfIl{--shiki-light:#39ADB5;--shiki-default:#39ADB5;--shiki-dark:#89DDFF}html pre.shiki code .sRlkE, html code.shiki .sRlkE{--shiki-light:#E53935;--shiki-default:#E53935;--shiki-dark:#F07178}html pre.shiki code .smZ93, html code.shiki .smZ93{--shiki-light:#9C3EDA;--shiki-default:#9C3EDA;--shiki-dark:#C792EA}html pre.shiki code .sGFVr, html code.shiki .sGFVr{--shiki-light:#91B859;--shiki-default:#91B859;--shiki-dark:#C3E88D}html pre.shiki code .s3cPz, html code.shiki .s3cPz{--shiki-light:#6182B8;--shiki-default:#6182B8;--shiki-dark:#82AAFF}html pre.shiki code .sWuyu, html code.shiki .sWuyu{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#90A4AE;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sbKd-, html code.shiki .sbKd-{--shiki-light:#FF5370;--shiki-default:#FF5370;--shiki-dark:#FF9CAC}",{"title":322,"searchDepth":336,"depth":336,"links":908},[909,910,911,916,917,918],{"id":294,"depth":336,"text":294},{"id":307,"depth":336,"text":307},{"id":513,"depth":336,"text":513,"children":912},[913,914,915],{"id":524,"depth":342,"text":524},{"id":590,"depth":342,"text":590},{"id":656,"depth":342,"text":656},{"id":724,"depth":336,"text":724},{"id":836,"depth":336,"text":836},{"id":867,"depth":336,"text":867},"实现页面内容分离与页面外壳",{},{"icon":98},{"title":95,"description":919},"5ArHlhVWCPfp2CdweP49svG8qAiLQoazUayzYZnnVAw",[925,927],{"title":90,"path":91,"stem":92,"description":926,"icon":93,"children":-1},"用 defineRootContext 和 useRootContext 共享和使用根状态",{"title":100,"path":101,"stem":102,"description":928,"icon":105,"children":-1},"了解 Oiyo 应用每一个关键文件的使用和目录的职责",1780823239951]