[{"data":1,"prerenderedAt":1720},["ShallowReactive",2],{"docs-nav-en":3,"docs-nav-zh":59,"docs-page-en-footer-configuration":95,"docs-page-zh-footer-configuration":981,"landing-footer-friend-links":1717},[4,10,16,22,27,32,37,42,48,53],{"path":5,"title":6,"label":7,"description":8,"order":9},"/docs/introduction","web-nuxt template overview","Introduction","What the Nuxt template already ships today, and where to customize it.","1",{"path":11,"title":12,"label":13,"description":14,"order":15},"/docs/quick-start","Quick start for web-nuxt","Quick start","Go from first visit to live demo, dashboard activation, and launch-ready trust surfaces.","2",{"path":17,"title":18,"label":19,"description":20,"order":21},"/docs/billing-and-credits","Billing and credits","Billing","How pricing, credits, subscriptions, and order history fit together in the Nuxt template.","3",{"path":23,"title":24,"label":25,"description":26,"order":21},"/docs/skills-and-vibe-coding","Skills and vibe coding for web-nuxt","Skills & vibe coding","Use repo skills to customize apps/web-nuxt with prompt-driven edits instead of starting from a blank spec.",{"path":28,"title":29,"label":29,"description":30,"order":31},"/docs/auth-and-guest-mode","Auth and guest mode","Understand login, guest access, account conversion, and where each path should lead users.","4",{"path":33,"title":34,"label":34,"description":35,"order":36},"/docs/ai-playground","AI playground","The canonical AI entry in web-nuxt and how it relates to credits, keys, and guest access.","5",{"path":38,"title":39,"label":39,"description":40,"order":41},"/docs/support-and-refund","Support and refund","Where users should go for help, how refunds are handled, and what to expose on the public site.","6",{"path":43,"title":44,"label":45,"description":46,"order":47},"/docs/analytics","Analytics providers in web-nuxt","Analytics","Optional analytics support for GA4, Plausible, and Microsoft Clarity.","7",{"path":49,"title":50,"label":50,"description":51,"order":52},"/docs/footer-configuration","Footer configuration","Configure footer brand copy, contact email, social links, navigation columns, legal text, and copyright from zship.app.json.","8",{"path":54,"title":55,"label":56,"description":57,"order":58},"/docs/docs-system","How the built-in docs work","Docs system","The Nuxt Content docs setup inside web-nuxt and how to extend it.","9",[60,64,68,71,75,78,81,84,88,91],{"path":5,"title":61,"label":62,"description":63,"order":9},"web-nuxt 模板概览","模板概览","说明 web-nuxt 当前已经具备什么，以及主要改动入口在哪里。",{"path":11,"title":65,"label":66,"description":67,"order":15},"web-nuxt 快速开始","快速开始","从首次访问到真实演示、仪表盘激活路径与对外发布前检查清单。",{"path":17,"title":69,"label":69,"description":70,"order":21},"计费与积分","说明定价、积分、订阅与订单历史在 Nuxt 模板中的关系。",{"path":23,"title":72,"label":73,"description":74,"order":21},"web-nuxt 的 Skills 与 vibe coding","Skills 与 vibe coding","通过 repo 里的 skills，用自然语言驱动方式修改和自定义 apps/web-nuxt。",{"path":28,"title":76,"label":76,"description":77,"order":31},"登录与访客模式","说明登录、访客访问、账户升级以及这些路径应该把用户带到哪里。",{"path":33,"title":79,"label":79,"description":80,"order":36},"AI Playground","说明 web-nuxt 中统一 AI 入口与积分、API Key、访客会话之间的关系。",{"path":38,"title":82,"label":82,"description":83,"order":41},"支持与退款","说明用户应该去哪里求助、退款如何处理，以及公开站点应暴露哪些信任入口。",{"path":43,"title":85,"label":86,"description":87,"order":47},"web-nuxt 的 Analytics 支持","数据分析","说明 web-nuxt 目前如何接入 GA4、Plausible 和 Clarity。",{"path":49,"title":89,"label":89,"description":90,"order":52},"Footer 配置","通过 zship.app.json 配置 Footer 的品牌文案、联系邮箱、社交链接、导航栏目、法律声明与版权信息。",{"path":54,"title":92,"label":93,"description":94,"order":58},"内置 Docs 系统说明","Docs 系统","说明 web-nuxt 当前基于 Nuxt Content 的站内文档能力，以及如何继续扩展。",{"id":96,"title":50,"body":97,"description":51,"extension":975,"label":50,"meta":976,"navigation":977,"order":52,"path":49,"seo":978,"stem":979,"__hash__":980},"docsEn/docs/footer-configuration.md",{"type":98,"value":99,"toc":968},"minimark",[100,117,128,133,617,621,708,712,721,769,775,858,872,876,921,925,928,964],[101,102,103,104,108,109,112,113,116],"p",{},"The ",[105,106,107],"code",{},"web-nuxt"," footer is manifest-driven. Edit ",[105,110,111],{},"apps/web-nuxt/zship.app.json"," and keep the footer content inside the top-level ",[105,114,115],{},"footer"," object.",[101,118,119,120,123,124,127],{},"Do not hardcode footer copy, links, or legal text in ",[105,121,122],{},"LandingFooter.vue",". The component should only render ",[105,125,126],{},"siteConfig.footer",".",[129,130,132],"h2",{"id":131},"footer-fields","Footer fields",[134,135,140],"pre",{"className":136,"code":137,"language":138,"meta":139,"style":139},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"footer\": {\n    \"brandDisplay\": \"logo-and-site-name\",\n    \"contactEmail\": \"support@example.com\",\n    \"description\": [\n      {\n        \"en\": \"Short product promise for the footer.\",\n        \"zh-CN\": \"底部展示的简短产品说明。\"\n      }\n    ],\n    \"socialLinks\": [\n      {\n        \"labelKey\": \"footer_github\",\n        \"to\": \"https://github.com/your-org/your-repo\",\n        \"external\": true,\n        \"icon\": \"i-simple-icons-github\"\n      }\n    ],\n    \"sections\": [\n      {\n        \"titleKey\": \"footer_section_product\",\n        \"items\": [\n          {\n            \"labelKey\": \"nav_pricing\",\n            \"to\": \"/pricing\"\n          }\n        ]\n      }\n    ],\n    \"disclaimer\": [\n      {\n        \"en\": \"Optional legal or trademark disclaimer.\",\n        \"zh-CN\": \"可选的法律或商标免责声明。\"\n      }\n    ],\n    \"copyright\": \"© {year} {siteName}\"\n  }\n}\n","json","",[105,141,142,151,169,195,216,231,237,260,280,286,292,306,311,332,353,368,387,392,397,411,416,437,451,457,479,497,503,509,514,519,533,538,558,576,581,586,605,611],{"__ignoreMap":139},[143,144,147],"span",{"class":145,"line":146},"line",1,[143,148,150],{"class":149},"sMK4o","{\n",[143,152,154,157,160,163,166],{"class":145,"line":153},2,[143,155,156],{"class":149},"  \"",[143,158,115],{"class":159},"spNyl",[143,161,162],{"class":149},"\"",[143,164,165],{"class":149},":",[143,167,168],{"class":149}," {\n",[143,170,172,175,179,181,183,186,190,192],{"class":145,"line":171},3,[143,173,174],{"class":149},"    \"",[143,176,178],{"class":177},"sBMFI","brandDisplay",[143,180,162],{"class":149},[143,182,165],{"class":149},[143,184,185],{"class":149}," \"",[143,187,189],{"class":188},"sfazB","logo-and-site-name",[143,191,162],{"class":149},[143,193,194],{"class":149},",\n",[143,196,198,200,203,205,207,209,212,214],{"class":145,"line":197},4,[143,199,174],{"class":149},[143,201,202],{"class":177},"contactEmail",[143,204,162],{"class":149},[143,206,165],{"class":149},[143,208,185],{"class":149},[143,210,211],{"class":188},"support@example.com",[143,213,162],{"class":149},[143,215,194],{"class":149},[143,217,219,221,224,226,228],{"class":145,"line":218},5,[143,220,174],{"class":149},[143,222,223],{"class":177},"description",[143,225,162],{"class":149},[143,227,165],{"class":149},[143,229,230],{"class":149}," [\n",[143,232,234],{"class":145,"line":233},6,[143,235,236],{"class":149},"      {\n",[143,238,240,243,247,249,251,253,256,258],{"class":145,"line":239},7,[143,241,242],{"class":149},"        \"",[143,244,246],{"class":245},"sbssI","en",[143,248,162],{"class":149},[143,250,165],{"class":149},[143,252,185],{"class":149},[143,254,255],{"class":188},"Short product promise for the footer.",[143,257,162],{"class":149},[143,259,194],{"class":149},[143,261,263,265,268,270,272,274,277],{"class":145,"line":262},8,[143,264,242],{"class":149},[143,266,267],{"class":245},"zh-CN",[143,269,162],{"class":149},[143,271,165],{"class":149},[143,273,185],{"class":149},[143,275,276],{"class":188},"底部展示的简短产品说明。",[143,278,279],{"class":149},"\"\n",[143,281,283],{"class":145,"line":282},9,[143,284,285],{"class":149},"      }\n",[143,287,289],{"class":145,"line":288},10,[143,290,291],{"class":149},"    ],\n",[143,293,295,297,300,302,304],{"class":145,"line":294},11,[143,296,174],{"class":149},[143,298,299],{"class":177},"socialLinks",[143,301,162],{"class":149},[143,303,165],{"class":149},[143,305,230],{"class":149},[143,307,309],{"class":145,"line":308},12,[143,310,236],{"class":149},[143,312,314,316,319,321,323,325,328,330],{"class":145,"line":313},13,[143,315,242],{"class":149},[143,317,318],{"class":245},"labelKey",[143,320,162],{"class":149},[143,322,165],{"class":149},[143,324,185],{"class":149},[143,326,327],{"class":188},"footer_github",[143,329,162],{"class":149},[143,331,194],{"class":149},[143,333,335,337,340,342,344,346,349,351],{"class":145,"line":334},14,[143,336,242],{"class":149},[143,338,339],{"class":245},"to",[143,341,162],{"class":149},[143,343,165],{"class":149},[143,345,185],{"class":149},[143,347,348],{"class":188},"https://github.com/your-org/your-repo",[143,350,162],{"class":149},[143,352,194],{"class":149},[143,354,356,358,361,363,365],{"class":145,"line":355},15,[143,357,242],{"class":149},[143,359,360],{"class":245},"external",[143,362,162],{"class":149},[143,364,165],{"class":149},[143,366,367],{"class":149}," true,\n",[143,369,371,373,376,378,380,382,385],{"class":145,"line":370},16,[143,372,242],{"class":149},[143,374,375],{"class":245},"icon",[143,377,162],{"class":149},[143,379,165],{"class":149},[143,381,185],{"class":149},[143,383,384],{"class":188},"i-simple-icons-github",[143,386,279],{"class":149},[143,388,390],{"class":145,"line":389},17,[143,391,285],{"class":149},[143,393,395],{"class":145,"line":394},18,[143,396,291],{"class":149},[143,398,400,402,405,407,409],{"class":145,"line":399},19,[143,401,174],{"class":149},[143,403,404],{"class":177},"sections",[143,406,162],{"class":149},[143,408,165],{"class":149},[143,410,230],{"class":149},[143,412,414],{"class":145,"line":413},20,[143,415,236],{"class":149},[143,417,419,421,424,426,428,430,433,435],{"class":145,"line":418},21,[143,420,242],{"class":149},[143,422,423],{"class":245},"titleKey",[143,425,162],{"class":149},[143,427,165],{"class":149},[143,429,185],{"class":149},[143,431,432],{"class":188},"footer_section_product",[143,434,162],{"class":149},[143,436,194],{"class":149},[143,438,440,442,445,447,449],{"class":145,"line":439},22,[143,441,242],{"class":149},[143,443,444],{"class":245},"items",[143,446,162],{"class":149},[143,448,165],{"class":149},[143,450,230],{"class":149},[143,452,454],{"class":145,"line":453},23,[143,455,456],{"class":149},"          {\n",[143,458,460,463,466,468,470,472,475,477],{"class":145,"line":459},24,[143,461,462],{"class":149},"            \"",[143,464,318],{"class":465},"swJcz",[143,467,162],{"class":149},[143,469,165],{"class":149},[143,471,185],{"class":149},[143,473,474],{"class":188},"nav_pricing",[143,476,162],{"class":149},[143,478,194],{"class":149},[143,480,482,484,486,488,490,492,495],{"class":145,"line":481},25,[143,483,462],{"class":149},[143,485,339],{"class":465},[143,487,162],{"class":149},[143,489,165],{"class":149},[143,491,185],{"class":149},[143,493,494],{"class":188},"/pricing",[143,496,279],{"class":149},[143,498,500],{"class":145,"line":499},26,[143,501,502],{"class":149},"          }\n",[143,504,506],{"class":145,"line":505},27,[143,507,508],{"class":149},"        ]\n",[143,510,512],{"class":145,"line":511},28,[143,513,285],{"class":149},[143,515,517],{"class":145,"line":516},29,[143,518,291],{"class":149},[143,520,522,524,527,529,531],{"class":145,"line":521},30,[143,523,174],{"class":149},[143,525,526],{"class":177},"disclaimer",[143,528,162],{"class":149},[143,530,165],{"class":149},[143,532,230],{"class":149},[143,534,536],{"class":145,"line":535},31,[143,537,236],{"class":149},[143,539,541,543,545,547,549,551,554,556],{"class":145,"line":540},32,[143,542,242],{"class":149},[143,544,246],{"class":245},[143,546,162],{"class":149},[143,548,165],{"class":149},[143,550,185],{"class":149},[143,552,553],{"class":188},"Optional legal or trademark disclaimer.",[143,555,162],{"class":149},[143,557,194],{"class":149},[143,559,561,563,565,567,569,571,574],{"class":145,"line":560},33,[143,562,242],{"class":149},[143,564,267],{"class":245},[143,566,162],{"class":149},[143,568,165],{"class":149},[143,570,185],{"class":149},[143,572,573],{"class":188},"可选的法律或商标免责声明。",[143,575,279],{"class":149},[143,577,579],{"class":145,"line":578},34,[143,580,285],{"class":149},[143,582,584],{"class":145,"line":583},35,[143,585,291],{"class":149},[143,587,589,591,594,596,598,600,603],{"class":145,"line":588},36,[143,590,174],{"class":149},[143,592,593],{"class":177},"copyright",[143,595,162],{"class":149},[143,597,165],{"class":149},[143,599,185],{"class":149},[143,601,602],{"class":188},"© {year} {siteName}",[143,604,279],{"class":149},[143,606,608],{"class":145,"line":607},37,[143,609,610],{"class":149},"  }\n",[143,612,614],{"class":145,"line":613},38,[143,615,616],{"class":149},"}\n",[129,618,620],{"id":619},"field-reference","Field reference",[622,623,624,640,647,652,669,687,692],"ul",{},[625,626,627,629,630,632,633,636,637,127],"li",{},[105,628,178],{},": controls brand rendering. Use ",[105,631,189],{},", ",[105,634,635],{},"logo-only",", or ",[105,638,639],{},"site-name-only",[625,641,642,644,645,127],{},[105,643,202],{},": footer-specific email. Set it to an empty string to hide the email row. If the key is omitted, the app falls back to the top-level ",[105,646,202],{},[625,648,649,651],{},[105,650,223],{},": one or more footer description lines. Use localized objects when the public site supports multiple locales.",[625,653,654,656,657,632,659,661,662,664,665,668],{},[105,655,299],{},": icon buttons shown under the contact email. Each item needs ",[105,658,339],{},[105,660,375],{},", and either ",[105,663,318],{}," or localized ",[105,666,667],{},"label",". Use an empty array to hide all social buttons.",[625,670,671,673,674,676,677,679,680,676,682,684,685,127],{},[105,672,404],{},": navigation columns. Each section uses ",[105,675,423],{}," or ",[105,678,667],{},", and each item uses ",[105,681,318],{},[105,683,667],{}," plus ",[105,686,339],{},[625,688,689,691],{},[105,690,526],{},": legal or trademark text shown in the bottom row. Use an empty array to hide it.",[625,693,694,696,697,632,700,703,704,707],{},[105,695,593],{},": bottom-left copyright text. It supports ",[105,698,699],{},"{year}",[105,701,702],{},"{siteName}",", and ",[105,705,706],{},"{brandName}"," tokens. Set it to an empty string to hide it.",[129,709,711],{"id":710},"labels-and-localization","Labels and localization",[101,713,714,715,717,718,165],{},"Use ",[105,716,318],{}," when a label already exists in ",[105,719,720],{},"apps/web-nuxt/app/i18n/ui.json",[134,722,724],{"className":136,"code":723,"language":138,"meta":139,"style":139},"{\n  \"labelKey\": \"footer_support\",\n  \"to\": \"/docs/support-and-refund\"\n}\n",[105,725,726,730,749,765],{"__ignoreMap":139},[143,727,728],{"class":145,"line":146},[143,729,150],{"class":149},[143,731,732,734,736,738,740,742,745,747],{"class":145,"line":153},[143,733,156],{"class":149},[143,735,318],{"class":159},[143,737,162],{"class":149},[143,739,165],{"class":149},[143,741,185],{"class":149},[143,743,744],{"class":188},"footer_support",[143,746,162],{"class":149},[143,748,194],{"class":149},[143,750,751,753,755,757,759,761,763],{"class":145,"line":171},[143,752,156],{"class":149},[143,754,339],{"class":159},[143,756,162],{"class":149},[143,758,165],{"class":149},[143,760,185],{"class":149},[143,762,38],{"class":188},[143,764,279],{"class":149},[143,766,767],{"class":145,"line":197},[143,768,616],{"class":149},[101,770,771,772,774],{},"Use localized ",[105,773,667],{}," when the link is app-specific:",[134,776,778],{"className":136,"code":777,"language":138,"meta":139,"style":139},"{\n  \"label\": {\n    \"en\": \"Changelog\",\n    \"zh-CN\": \"更新日志\"\n  },\n  \"to\": \"/blog/changelog\"\n}\n",[105,779,780,784,796,815,832,837,854],{"__ignoreMap":139},[143,781,782],{"class":145,"line":146},[143,783,150],{"class":149},[143,785,786,788,790,792,794],{"class":145,"line":153},[143,787,156],{"class":149},[143,789,667],{"class":159},[143,791,162],{"class":149},[143,793,165],{"class":149},[143,795,168],{"class":149},[143,797,798,800,802,804,806,808,811,813],{"class":145,"line":171},[143,799,174],{"class":149},[143,801,246],{"class":177},[143,803,162],{"class":149},[143,805,165],{"class":149},[143,807,185],{"class":149},[143,809,810],{"class":188},"Changelog",[143,812,162],{"class":149},[143,814,194],{"class":149},[143,816,817,819,821,823,825,827,830],{"class":145,"line":197},[143,818,174],{"class":149},[143,820,267],{"class":177},[143,822,162],{"class":149},[143,824,165],{"class":149},[143,826,185],{"class":149},[143,828,829],{"class":188},"更新日志",[143,831,279],{"class":149},[143,833,834],{"class":145,"line":218},[143,835,836],{"class":149},"  },\n",[143,838,839,841,843,845,847,849,852],{"class":145,"line":233},[143,840,156],{"class":149},[143,842,339],{"class":159},[143,844,162],{"class":149},[143,846,165],{"class":149},[143,848,185],{"class":149},[143,850,851],{"class":188},"/blog/changelog",[143,853,279],{"class":149},[143,855,856],{"class":145,"line":239},[143,857,616],{"class":149},[101,859,860,861,632,863,632,865,636,868,871],{},"Localized text objects can include ",[105,862,246],{},[105,864,267],{},[105,866,867],{},"zh-TW",[105,869,870],{},"default",". If the active locale is missing, the resolver falls back to the default locale or the first non-empty value.",[129,873,875],{"id":874},"link-rules","Link rules",[622,877,878,889,895,901,912],{},[625,879,880,881,884,885,676,887,127],{},"Internal routes should start with ",[105,882,883],{},"/",", for example ",[105,886,494],{},[105,888,11],{},[625,890,891,892,127],{},"Hash links can use ",[105,893,894],{},"/#section-id",[625,896,897,898,127],{},"External links should set ",[105,899,900],{},"\"external\": true",[625,902,903,904,907,908,911],{},"Internal non-page assets such as ",[105,905,906],{},"/llms.txt"," can set ",[105,909,910],{},"\"localize\": false"," to keep the exact URL.",[625,913,914,917,918,127],{},[105,915,916],{},"mailto:"," links are allowed, but footer email is usually clearer through ",[105,919,920],{},"footer.contactEmail",[129,922,924],{"id":923},"launch-checklist","Launch checklist",[101,926,927],{},"Before publishing the site:",[622,929,930,937,942,949,952,958],{},[625,931,932,933,936],{},"Confirm ",[105,934,935],{},"footer.description"," no longer references the template if the product has been renamed.",[625,938,932,939,941],{},[105,940,920],{}," reaches a real support mailbox.",[625,943,944,945,948],{},"Confirm every ",[105,946,947],{},"footer.sections[].items[].to"," route exists.",[625,950,951],{},"Confirm external links open the expected brand accounts.",[625,953,932,954,957],{},[105,955,956],{},"footer.disclaimer"," matches your legal and trademark policy.",[625,959,960,961,127],{},"Run ",[105,962,963],{},"pnpm --filter @zship/web-nuxt exec nuxt prepare",[965,966,967],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}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);}",{"title":139,"searchDepth":153,"depth":153,"links":969},[970,971,972,973,974],{"id":131,"depth":153,"text":132},{"id":619,"depth":153,"text":620},{"id":710,"depth":153,"text":711},{"id":874,"depth":153,"text":875},{"id":923,"depth":153,"text":924},"md",{},true,{"title":50,"description":51},"docs/footer-configuration","n1UFFA1QR9J6ae11EjLKqW0qgCNHpM-puIuehbPK4LQ",{"id":982,"title":89,"body":983,"description":90,"extension":975,"label":89,"meta":1714,"navigation":977,"order":52,"path":49,"seo":1715,"stem":979,"__hash__":1716},"docsZh/docs/footer-configuration.md",{"type":98,"value":984,"toc":1707},[985,996,1005,1009,1393,1396,1473,1476,1485,1531,1536,1614,1626,1629,1668,1671,1674,1705],[101,986,987,989,990,992,993,995],{},[105,988,107],{}," 的 Footer 是配置驱动的。请编辑 ",[105,991,111],{},"，并把 Footer 相关内容放在顶层 ",[105,994,115],{}," 对象里。",[101,997,998,999,1001,1002,1004],{},"不要把 Footer 文案、链接或法律说明硬编码进 ",[105,1000,122],{},"。组件只负责渲染 ",[105,1003,126],{},"。",[129,1006,1008],{"id":1007},"footer-字段","Footer 字段",[134,1010,1011],{"className":136,"code":137,"language":138,"meta":139,"style":139},[105,1012,1013,1017,1029,1047,1065,1077,1081,1099,1115,1119,1123,1135,1139,1157,1175,1187,1203,1207,1211,1223,1227,1245,1257,1261,1279,1295,1299,1303,1307,1311,1323,1327,1345,1361,1365,1369,1385,1389],{"__ignoreMap":139},[143,1014,1015],{"class":145,"line":146},[143,1016,150],{"class":149},[143,1018,1019,1021,1023,1025,1027],{"class":145,"line":153},[143,1020,156],{"class":149},[143,1022,115],{"class":159},[143,1024,162],{"class":149},[143,1026,165],{"class":149},[143,1028,168],{"class":149},[143,1030,1031,1033,1035,1037,1039,1041,1043,1045],{"class":145,"line":171},[143,1032,174],{"class":149},[143,1034,178],{"class":177},[143,1036,162],{"class":149},[143,1038,165],{"class":149},[143,1040,185],{"class":149},[143,1042,189],{"class":188},[143,1044,162],{"class":149},[143,1046,194],{"class":149},[143,1048,1049,1051,1053,1055,1057,1059,1061,1063],{"class":145,"line":197},[143,1050,174],{"class":149},[143,1052,202],{"class":177},[143,1054,162],{"class":149},[143,1056,165],{"class":149},[143,1058,185],{"class":149},[143,1060,211],{"class":188},[143,1062,162],{"class":149},[143,1064,194],{"class":149},[143,1066,1067,1069,1071,1073,1075],{"class":145,"line":218},[143,1068,174],{"class":149},[143,1070,223],{"class":177},[143,1072,162],{"class":149},[143,1074,165],{"class":149},[143,1076,230],{"class":149},[143,1078,1079],{"class":145,"line":233},[143,1080,236],{"class":149},[143,1082,1083,1085,1087,1089,1091,1093,1095,1097],{"class":145,"line":239},[143,1084,242],{"class":149},[143,1086,246],{"class":245},[143,1088,162],{"class":149},[143,1090,165],{"class":149},[143,1092,185],{"class":149},[143,1094,255],{"class":188},[143,1096,162],{"class":149},[143,1098,194],{"class":149},[143,1100,1101,1103,1105,1107,1109,1111,1113],{"class":145,"line":262},[143,1102,242],{"class":149},[143,1104,267],{"class":245},[143,1106,162],{"class":149},[143,1108,165],{"class":149},[143,1110,185],{"class":149},[143,1112,276],{"class":188},[143,1114,279],{"class":149},[143,1116,1117],{"class":145,"line":282},[143,1118,285],{"class":149},[143,1120,1121],{"class":145,"line":288},[143,1122,291],{"class":149},[143,1124,1125,1127,1129,1131,1133],{"class":145,"line":294},[143,1126,174],{"class":149},[143,1128,299],{"class":177},[143,1130,162],{"class":149},[143,1132,165],{"class":149},[143,1134,230],{"class":149},[143,1136,1137],{"class":145,"line":308},[143,1138,236],{"class":149},[143,1140,1141,1143,1145,1147,1149,1151,1153,1155],{"class":145,"line":313},[143,1142,242],{"class":149},[143,1144,318],{"class":245},[143,1146,162],{"class":149},[143,1148,165],{"class":149},[143,1150,185],{"class":149},[143,1152,327],{"class":188},[143,1154,162],{"class":149},[143,1156,194],{"class":149},[143,1158,1159,1161,1163,1165,1167,1169,1171,1173],{"class":145,"line":334},[143,1160,242],{"class":149},[143,1162,339],{"class":245},[143,1164,162],{"class":149},[143,1166,165],{"class":149},[143,1168,185],{"class":149},[143,1170,348],{"class":188},[143,1172,162],{"class":149},[143,1174,194],{"class":149},[143,1176,1177,1179,1181,1183,1185],{"class":145,"line":355},[143,1178,242],{"class":149},[143,1180,360],{"class":245},[143,1182,162],{"class":149},[143,1184,165],{"class":149},[143,1186,367],{"class":149},[143,1188,1189,1191,1193,1195,1197,1199,1201],{"class":145,"line":370},[143,1190,242],{"class":149},[143,1192,375],{"class":245},[143,1194,162],{"class":149},[143,1196,165],{"class":149},[143,1198,185],{"class":149},[143,1200,384],{"class":188},[143,1202,279],{"class":149},[143,1204,1205],{"class":145,"line":389},[143,1206,285],{"class":149},[143,1208,1209],{"class":145,"line":394},[143,1210,291],{"class":149},[143,1212,1213,1215,1217,1219,1221],{"class":145,"line":399},[143,1214,174],{"class":149},[143,1216,404],{"class":177},[143,1218,162],{"class":149},[143,1220,165],{"class":149},[143,1222,230],{"class":149},[143,1224,1225],{"class":145,"line":413},[143,1226,236],{"class":149},[143,1228,1229,1231,1233,1235,1237,1239,1241,1243],{"class":145,"line":418},[143,1230,242],{"class":149},[143,1232,423],{"class":245},[143,1234,162],{"class":149},[143,1236,165],{"class":149},[143,1238,185],{"class":149},[143,1240,432],{"class":188},[143,1242,162],{"class":149},[143,1244,194],{"class":149},[143,1246,1247,1249,1251,1253,1255],{"class":145,"line":439},[143,1248,242],{"class":149},[143,1250,444],{"class":245},[143,1252,162],{"class":149},[143,1254,165],{"class":149},[143,1256,230],{"class":149},[143,1258,1259],{"class":145,"line":453},[143,1260,456],{"class":149},[143,1262,1263,1265,1267,1269,1271,1273,1275,1277],{"class":145,"line":459},[143,1264,462],{"class":149},[143,1266,318],{"class":465},[143,1268,162],{"class":149},[143,1270,165],{"class":149},[143,1272,185],{"class":149},[143,1274,474],{"class":188},[143,1276,162],{"class":149},[143,1278,194],{"class":149},[143,1280,1281,1283,1285,1287,1289,1291,1293],{"class":145,"line":481},[143,1282,462],{"class":149},[143,1284,339],{"class":465},[143,1286,162],{"class":149},[143,1288,165],{"class":149},[143,1290,185],{"class":149},[143,1292,494],{"class":188},[143,1294,279],{"class":149},[143,1296,1297],{"class":145,"line":499},[143,1298,502],{"class":149},[143,1300,1301],{"class":145,"line":505},[143,1302,508],{"class":149},[143,1304,1305],{"class":145,"line":511},[143,1306,285],{"class":149},[143,1308,1309],{"class":145,"line":516},[143,1310,291],{"class":149},[143,1312,1313,1315,1317,1319,1321],{"class":145,"line":521},[143,1314,174],{"class":149},[143,1316,526],{"class":177},[143,1318,162],{"class":149},[143,1320,165],{"class":149},[143,1322,230],{"class":149},[143,1324,1325],{"class":145,"line":535},[143,1326,236],{"class":149},[143,1328,1329,1331,1333,1335,1337,1339,1341,1343],{"class":145,"line":540},[143,1330,242],{"class":149},[143,1332,246],{"class":245},[143,1334,162],{"class":149},[143,1336,165],{"class":149},[143,1338,185],{"class":149},[143,1340,553],{"class":188},[143,1342,162],{"class":149},[143,1344,194],{"class":149},[143,1346,1347,1349,1351,1353,1355,1357,1359],{"class":145,"line":560},[143,1348,242],{"class":149},[143,1350,267],{"class":245},[143,1352,162],{"class":149},[143,1354,165],{"class":149},[143,1356,185],{"class":149},[143,1358,573],{"class":188},[143,1360,279],{"class":149},[143,1362,1363],{"class":145,"line":578},[143,1364,285],{"class":149},[143,1366,1367],{"class":145,"line":583},[143,1368,291],{"class":149},[143,1370,1371,1373,1375,1377,1379,1381,1383],{"class":145,"line":588},[143,1372,174],{"class":149},[143,1374,593],{"class":177},[143,1376,162],{"class":149},[143,1378,165],{"class":149},[143,1380,185],{"class":149},[143,1382,602],{"class":188},[143,1384,279],{"class":149},[143,1386,1387],{"class":145,"line":607},[143,1388,610],{"class":149},[143,1390,1391],{"class":145,"line":613},[143,1392,616],{"class":149},[129,1394,1395],{"id":1395},"字段说明",[622,1397,1398,1410,1417,1422,1438,1456,1461],{},[625,1399,1400,1402,1403,1405,1406,1405,1408,1004],{},[105,1401,178],{},"：控制品牌展示方式，可选 ",[105,1404,189],{},"、",[105,1407,635],{},[105,1409,639],{},[625,1411,1412,1414,1415,1004],{},[105,1413,202],{},"：Footer 专用联系邮箱。设为空字符串可以隐藏邮箱行；如果省略该字段，会回退到顶层 ",[105,1416,202],{},[625,1418,1419,1421],{},[105,1420,223],{},"：Footer 左侧的描述文案，可以配置多行。多语言站点建议使用 localized object。",[625,1423,1424,1426,1427,1405,1429,1431,1432,1434,1435,1437],{},[105,1425,299],{},"：邮箱下方的社交图标按钮。每一项需要 ",[105,1428,339],{},[105,1430,375],{},"，以及 ",[105,1433,318],{}," 或多语言 ",[105,1436,667],{},"。设为空数组可以隐藏所有社交按钮。",[625,1439,1440,1442,1443,1445,1446,1448,1449,1445,1451,1453,1454,1004],{},[105,1441,404],{},"：右侧导航列。每个栏目使用 ",[105,1444,423],{}," 或 ",[105,1447,667],{},"，每个链接使用 ",[105,1450,318],{},[105,1452,667],{}," 加 ",[105,1455,339],{},[625,1457,1458,1460],{},[105,1459,526],{},"：底部法律或商标声明。设为空数组可以隐藏。",[625,1462,1463,1465,1466,1405,1468,1405,1470,1472],{},[105,1464,593],{},"：底部左侧版权文案，支持 ",[105,1467,699],{},[105,1469,702],{},[105,1471,706],{},"。设为空字符串可以隐藏。",[129,1474,1475],{"id":1475},"标签与多语言",[101,1477,1478,1479,1481,1482,1484],{},"已有翻译建议复用 ",[105,1480,720],{}," 里的 ",[105,1483,318],{},"：",[134,1486,1487],{"className":136,"code":723,"language":138,"meta":139,"style":139},[105,1488,1489,1493,1511,1527],{"__ignoreMap":139},[143,1490,1491],{"class":145,"line":146},[143,1492,150],{"class":149},[143,1494,1495,1497,1499,1501,1503,1505,1507,1509],{"class":145,"line":153},[143,1496,156],{"class":149},[143,1498,318],{"class":159},[143,1500,162],{"class":149},[143,1502,165],{"class":149},[143,1504,185],{"class":149},[143,1506,744],{"class":188},[143,1508,162],{"class":149},[143,1510,194],{"class":149},[143,1512,1513,1515,1517,1519,1521,1523,1525],{"class":145,"line":171},[143,1514,156],{"class":149},[143,1516,339],{"class":159},[143,1518,162],{"class":149},[143,1520,165],{"class":149},[143,1522,185],{"class":149},[143,1524,38],{"class":188},[143,1526,279],{"class":149},[143,1528,1529],{"class":145,"line":197},[143,1530,616],{"class":149},[101,1532,1533,1534,1484],{},"产品专属链接可以直接写多语言 ",[105,1535,667],{},[134,1537,1538],{"className":136,"code":777,"language":138,"meta":139,"style":139},[105,1539,1540,1544,1556,1574,1590,1594,1610],{"__ignoreMap":139},[143,1541,1542],{"class":145,"line":146},[143,1543,150],{"class":149},[143,1545,1546,1548,1550,1552,1554],{"class":145,"line":153},[143,1547,156],{"class":149},[143,1549,667],{"class":159},[143,1551,162],{"class":149},[143,1553,165],{"class":149},[143,1555,168],{"class":149},[143,1557,1558,1560,1562,1564,1566,1568,1570,1572],{"class":145,"line":171},[143,1559,174],{"class":149},[143,1561,246],{"class":177},[143,1563,162],{"class":149},[143,1565,165],{"class":149},[143,1567,185],{"class":149},[143,1569,810],{"class":188},[143,1571,162],{"class":149},[143,1573,194],{"class":149},[143,1575,1576,1578,1580,1582,1584,1586,1588],{"class":145,"line":197},[143,1577,174],{"class":149},[143,1579,267],{"class":177},[143,1581,162],{"class":149},[143,1583,165],{"class":149},[143,1585,185],{"class":149},[143,1587,829],{"class":188},[143,1589,279],{"class":149},[143,1591,1592],{"class":145,"line":218},[143,1593,836],{"class":149},[143,1595,1596,1598,1600,1602,1604,1606,1608],{"class":145,"line":233},[143,1597,156],{"class":149},[143,1599,339],{"class":159},[143,1601,162],{"class":149},[143,1603,165],{"class":149},[143,1605,185],{"class":149},[143,1607,851],{"class":188},[143,1609,279],{"class":149},[143,1611,1612],{"class":145,"line":239},[143,1613,616],{"class":149},[101,1615,1616,1617,1405,1619,1405,1621,1445,1623,1625],{},"多语言对象可以包含 ",[105,1618,246],{},[105,1620,267],{},[105,1622,867],{},[105,1624,870],{},"。如果当前语言缺失，系统会回退到默认语言或第一个非空值。",[129,1627,1628],{"id":1628},"链接规则",[622,1630,1631,1641,1646,1651,1659],{},[625,1632,1633,1634,1636,1637,1445,1639,1004],{},"站内路由以 ",[105,1635,883],{}," 开头，例如 ",[105,1638,494],{},[105,1640,11],{},[625,1642,1643,1644,1004],{},"页面锚点可以写成 ",[105,1645,894],{},[625,1647,1648,1649,1004],{},"外部链接需要设置 ",[105,1650,900],{},[625,1652,1653,1655,1656,1658],{},[105,1654,906],{}," 这类站内非页面资源可以设置 ",[105,1657,910],{},"，保留原始 URL。",[625,1660,1661,1662,1664,1665,1667],{},"可以使用 ",[105,1663,916],{}," 链接，但 Footer 邮箱通常建议用 ",[105,1666,920],{}," 管理。",[129,1669,1670],{"id":1670},"上线检查清单",[101,1672,1673],{},"正式发布前请确认：",[622,1675,1676,1681,1686,1692,1695,1700],{},[625,1677,1678,1680],{},[105,1679,935],{}," 不再保留模板占位文案。",[625,1682,1683,1685],{},[105,1684,920],{}," 指向真实支持邮箱。",[625,1687,1688,1689,1691],{},"所有 ",[105,1690,947],{}," 都是存在的路由。",[625,1693,1694],{},"外部链接指向正确的品牌账号。",[625,1696,1697,1699],{},[105,1698,956],{}," 符合你的法律与商标使用策略。",[625,1701,1702,1703,1004],{},"执行 ",[105,1704,963],{},[965,1706,967],{},{"title":139,"searchDepth":153,"depth":153,"links":1708},[1709,1710,1711,1712,1713],{"id":1007,"depth":153,"text":1008},{"id":1395,"depth":153,"text":1395},{"id":1475,"depth":153,"text":1475},{"id":1628,"depth":153,"text":1628},{"id":1670,"depth":153,"text":1670},{},{"title":89,"description":90},"qqKqyivwAbEC_-V1m_wi0zrmu19YurNZIuGpxXS2AKw",{"code":1718,"data":1719},200,[],1777195974407]