[{"data":1,"prerenderedAt":537},["ShallowReactive",2],{"post-enterprise-website-guide":3,"posts-all-enterprise-website-guide":152},{"id":4,"title":5,"body":6,"category":137,"cover":138,"date":139,"description":140,"extension":141,"meta":142,"navigation":143,"path":144,"seo":145,"stem":146,"tags":147,"__hash__":151},"posts\u002Fblog\u002Fenterprise-website-guide.md","从 0 到 1 搭建企业官网：技术选型与避坑指南",{"type":7,"value":8,"toc":129},"minimark",[9,14,18,31,38,42,98,103,107,122,126],[10,11,13],"h2",{"id":12},"一先想清楚这个官网要解决什么问题","一、先想清楚：这个官网要解决什么问题",[15,16,17],"p",{},"很多企业主做官网时只会说\"做个好看的页面\"，但作为开发者，第一步永远是问清楚目的：",[19,20,21,25,28],"ul",{},[22,23,24],"li",{},"是品牌展示，还是获客转化？",[22,26,27],{},"需要后台管理内容吗？",[22,29,30],{},"目标用户是搜索引擎流量，还是直接访问？",[15,32,33,37],{},[34,35,36],"strong",{},"避坑","：不要一上来就选重型框架。一个纯展示站用静态生成就够了，没必要引入数据库和后台。",[10,39,41],{"id":40},"二技术选型建议","二、技术选型建议",[43,44,45,61],"table",{},[46,47,48],"thead",{},[49,50,51,55,58],"tr",{},[52,53,54],"th",{},"场景",[52,56,57],{},"推荐",[52,59,60],{},"理由",[62,63,64,76,87],"tbody",{},[49,65,66,70,73],{},[67,68,69],"td",{},"纯展示站",[67,71,72],{},"Nuxt\u002FVuePress 静态生成",[67,74,75],{},"快、SEO 好、无运维成本",[49,77,78,81,84],{},[67,79,80],{},"需要内容更新",[67,82,83],{},"Nuxt + 内容管理",[67,85,86],{},"Markdown 驱动，改文不改码",[49,88,89,92,95],{},[67,90,91],{},"需要后台",[67,93,94],{},"Next\u002FNuxt + Headless CMS",[67,96,97],{},"内容与代码解耦",[15,99,100,102],{},[34,101,36],{},"：国内访问务必注意字体与 CDN 的可用性，Google Fonts 经常加载失败，建议自托管。",[10,104,106],{"id":105},"三部署与-seo-的关键点","三、部署与 SEO 的关键点",[108,109,110,113,116,119],"ol",{},[22,111,112],{},"国内服务器必须 ICP 备案，提前 1-3 周准备",[22,114,115],{},"强制 HTTPS，配置 301 跳转",[22,117,118],{},"生成 sitemap 并提交百度站长平台",[22,120,121],{},"每个页面单独写 title 与 description，不要全站共用",[10,123,125],{"id":124},"四总结","四、总结",[15,127,128],{},"企业官网的核心是\"清晰 + 快\"。技术选型围绕内容更新频率来决定，能静态就不要动态。这篇文章里的方案已经过 10+ 个项目验证，希望对你有帮助。",{"title":130,"searchDepth":131,"depth":131,"links":132},"",2,[133,134,135,136],{"id":12,"depth":131,"text":13},{"id":40,"depth":131,"text":41},{"id":105,"depth":131,"text":106},{"id":124,"depth":131,"text":125},"前端","https:\u002F\u002Fcoresg-normal.trae.ai\u002Fapi\u002Fide\u002Fv1\u002Ftext_to_image?prompt=web%20development%20technology%20stack%20illustration%2C%20code%20snippets%20and%20gear%20wheels%2C%20navy%20blue%20color%20palette%2C%20flat%20design&image_size=landscape_16_9","2025-11","企业官网看似简单，但技术选型、SEO、部署环节处处是坑。分享一套经过 10+ 个项目验证的选型方案。","md",{},true,"\u002Fblog\u002Fenterprise-website-guide",{"title":5,"description":140},"blog\u002Fenterprise-website-guide",[148,149,150],"Vue","Nuxt","SEO","N_yyD626PKk5RUWpGOaWNrYl2PtOrITTiGaypHDuW5Y",[153,241,370],{"id":4,"title":5,"body":154,"category":137,"cover":138,"date":139,"description":140,"extension":141,"meta":238,"navigation":143,"path":144,"seo":239,"stem":146,"tags":240,"__hash__":151},{"type":7,"value":155,"toc":232},[156,158,160,168,172,174,212,216,218,228,230],[10,157,13],{"id":12},[15,159,17],{},[19,161,162,164,166],{},[22,163,24],{},[22,165,27],{},[22,167,30],{},[15,169,170,37],{},[34,171,36],{},[10,173,41],{"id":40},[43,175,176,186],{},[46,177,178],{},[49,179,180,182,184],{},[52,181,54],{},[52,183,57],{},[52,185,60],{},[62,187,188,196,204],{},[49,189,190,192,194],{},[67,191,69],{},[67,193,72],{},[67,195,75],{},[49,197,198,200,202],{},[67,199,80],{},[67,201,83],{},[67,203,86],{},[49,205,206,208,210],{},[67,207,91],{},[67,209,94],{},[67,211,97],{},[15,213,214,102],{},[34,215,36],{},[10,217,106],{"id":105},[108,219,220,222,224,226],{},[22,221,112],{},[22,223,115],{},[22,225,118],{},[22,227,121],{},[10,229,125],{"id":124},[15,231,128],{},{"title":130,"searchDepth":131,"depth":131,"links":233},[234,235,236,237],{"id":12,"depth":131,"text":13},{"id":40,"depth":131,"text":41},{"id":105,"depth":131,"text":106},{"id":124,"depth":131,"text":125},{},{"title":5,"description":140},[148,149,150],{"id":242,"title":243,"body":244,"category":358,"cover":359,"date":360,"description":361,"extension":141,"meta":362,"navigation":143,"path":363,"seo":364,"stem":365,"tags":366,"__hash__":369},"posts\u002Fblog\u002Fminiapp-cost-guide.md","小程序开发成本到底多少？一份真实的报价拆解",{"type":7,"value":245,"toc":352},[246,249,252,272,275,325,328,342,345],[10,247,248],{"id":248},"为什么小程序报价差距这么大",[15,250,251],{},"同样一句\"做个商城小程序\"，有人报 5 千，有人报 5 万。差距来自三个变量：",[108,253,254,260,266],{},[22,255,256,259],{},[34,257,258],{},"功能复杂度","：展示型 vs 交易型，差了不止一个量级",[22,261,262,265],{},[34,263,264],{},"后台管理","：要不要管理端，决定工作量翻倍",[22,267,268,271],{},[34,269,270],{},"对接成本","：支付、物流、第三方系统，每个接口都要钱和时间",[10,273,274],{"id":274},"一份真实的报价区间参考",[43,276,277,290],{},[46,278,279],{},[49,280,281,284,287],{},[52,282,283],{},"类型",[52,285,286],{},"周期",[52,288,289],{},"参考报价",[62,291,292,303,314],{},[49,293,294,297,300],{},[67,295,296],{},"展示型小程序",[67,298,299],{},"2-4 周",[67,301,302],{},"0.5 - 1.5 万",[49,304,305,308,311],{},[67,306,307],{},"商城 + 支付",[67,309,310],{},"4-8 周",[67,312,313],{},"2 - 5 万",[49,315,316,319,322],{},[67,317,318],{},"交易 + 复杂业务",[67,320,321],{},"8-16 周",[67,323,324],{},"5 万起",[10,326,327],{"id":327},"给需求方的建议",[19,329,330,336,339],{},[22,331,332,333],{},"不要只比价格，要对比",[34,334,335],{},"案例 + 服务流程 + 售后",[22,337,338],{},"需求文档写得越细，报价越准确，双方越省心",[22,340,341],{},"确认是否包含：UI 设计、苹果安卓两端、服务器、上线审核、售后维护",[10,343,344],{"id":344},"给接单同行的建议",[15,346,347,348,351],{},"报价前一定要把",[34,349,350],{},"需求边界","写清楚，哪些包含、哪些不包含，避免后期扯皮。合理的报价 = 功能 + 人力 + 风险 + 合理利润。",{"title":130,"searchDepth":131,"depth":131,"links":353},[354,355,356,357],{"id":248,"depth":131,"text":248},{"id":274,"depth":131,"text":274},{"id":327,"depth":131,"text":327},{"id":344,"depth":131,"text":344},"接单经验","https:\u002F\u002Fcoresg-normal.trae.ai\u002Fapi\u002Fide\u002Fv1\u002Ftext_to_image?prompt=mini%20program%20development%20cost%20analysis%2C%20price%20tags%20and%20timeline%20chart%2C%20modern%20flat%20illustration%2C%20blue%20and%20navy&image_size=landscape_16_9","2025-09","很多人问\"做个小程序多少钱\"，答案从几千到几十万都有。这篇文章用真实案例拆解影响报价的核心因素。",{},"\u002Fblog\u002Fminiapp-cost-guide",{"title":243,"description":361},"blog\u002Fminiapp-cost-guide",[367,368],"小程序","报价","NWs4paQ5PsebZBJJDwmRSvLRTS1r41bf46sPgS2ljY0",{"id":371,"title":372,"body":373,"category":524,"cover":525,"date":526,"description":527,"extension":141,"meta":528,"navigation":143,"path":529,"seo":530,"stem":531,"tags":532,"__hash__":536},"posts\u002Fblog\u002Fpitfalls-10.md","中小软件项目的 10 个技术踩坑记录",{"type":7,"value":374,"toc":511},[375,379,394,398,409,413,421,425,433,437,445,449,457,461,469,473,481,485,493,497,505,508],[10,376,378],{"id":377},"_1-并发扣库存先锁后查","1. 并发扣库存：先锁后查",[15,380,381,384,385,388,389,393],{},[34,382,383],{},"坑","：先查询库存再判断，超卖事故。\n",[34,386,387],{},"解法","：",[390,391,392],"code",{},"UPDATE ... SET stock = stock - 1 WHERE stock > 0","，用原子操作 + 影响行数判断。",[10,395,397],{"id":396},"_2-慢查询索引失效的常见原因","2. 慢查询：索引失效的常见原因",[15,399,400,388,402,405,406,408],{},[34,401,383],{},[390,403,404],{},"LIKE '%keyword%'"," 前缀模糊导致全表扫描。\n",[34,407,387],{},"：业务上改为前缀匹配，或引入 ES；必要时用覆盖索引。",[10,410,412],{"id":411},"_3-时区问题永远存-utc","3. 时区问题：永远存 UTC",[15,414,415,417,418,420],{},[34,416,383],{},"：直接存东八区字符串，跨平台解析乱套。\n",[34,419,387],{},"：数据库统一 UTC，展示层再转本地时区。",[10,422,424],{"id":423},"_4-上传文件务必做类型校验","4. 上传文件：务必做类型校验",[15,426,427,429,430,432],{},[34,428,383],{},"：只看扩展名放行，被上传了 web shell。\n",[34,431,387],{},"：校验 MIME + 魔数 + 重命名存储 + 独立静态域。",[10,434,436],{"id":435},"_5-配置管理敏感信息不进代码仓库","5. 配置管理：敏感信息不进代码仓库",[15,438,439,441,442,444],{},[34,440,383],{},"：数据库密码写死在代码里，仓库泄露全完。\n",[34,443,387],{},"：环境变量 + 密钥管理服务，.env 不进 git。",[10,446,448],{"id":447},"_6-定时任务防重复执行","6. 定时任务：防重复执行",[15,450,451,453,454,456],{},[34,452,383],{},"：多实例部署后定时任务重复跑，产生重复数据。\n",[34,455,387],{},"：分布式锁（Redis SETNX + 过期时间）。",[10,458,460],{"id":459},"_7-第三方接口必须做超时与重试","7. 第三方接口：必须做超时与重试",[15,462,463,465,466,468],{},[34,464,383],{},"：调用支付接口不设超时，接口挂了页面一直转圈。\n",[34,467,387],{},"：统一 HTTP 客户端，设置连接\u002F读取超时 + 幂等重试。",[10,470,472],{"id":471},"_8-日志关键节点必须留痕","8. 日志：关键节点必须留痕",[15,474,475,477,478,480],{},[34,476,383],{},"：线上出问题查不到上下文，只能靠猜。\n",[34,479,387],{},"：请求 ID 贯穿全链路，关键操作打印结构化日志。",[10,482,484],{"id":483},"_9-数据库连接池用完必还","9. 数据库连接池：用完必还",[15,486,487,489,490,492],{},[34,488,383],{},"：连接未释放，连接池耗尽服务假死。\n",[34,491,387],{},"：使用 ORM\u002F连接池管理，禁止手写裸连接不关闭。",[10,494,496],{"id":495},"_10-备份先演练恢复","10. 备份：先演练恢复",[15,498,499,501,502,504],{},[34,500,383],{},"：有备份但从没演练过，真出事时恢复失败。\n",[34,503,387],{},"：定期做恢复演练，备份文件异地存储。",[10,506,507],{"id":507},"写在最后",[15,509,510],{},"这 10 条几乎都是\"看起来很简单，出事很严重\"的典型。小项目更要注重基本功，把这些变成肌肉记忆。",{"title":130,"searchDepth":131,"depth":131,"links":512},[513,514,515,516,517,518,519,520,521,522,523],{"id":377,"depth":131,"text":378},{"id":396,"depth":131,"text":397},{"id":411,"depth":131,"text":412},{"id":423,"depth":131,"text":424},{"id":435,"depth":131,"text":436},{"id":447,"depth":131,"text":448},{"id":459,"depth":131,"text":460},{"id":471,"depth":131,"text":472},{"id":483,"depth":131,"text":484},{"id":495,"depth":131,"text":496},{"id":507,"depth":131,"text":507},"踩坑记录","https:\u002F\u002Fcoresg-normal.trae.ai\u002Fapi\u002Fide\u002Fv1\u002Ftext_to_image?prompt=developer%20debugging%20bug%20fix%20concept%2C%20magnifying%20glass%20over%20code%2C%20warning%20signs%20and%20checkmarks%2C%20flat%20illustration%20navy%20blue&image_size=landscape_16_9","2025-07","汇总近三年中小项目中反复踩到的技术坑：从并发扣库存到慢查询优化，每一条都对应真实生产事故。",{},"\u002Fblog\u002Fpitfalls-10",{"title":372,"description":527},"blog\u002Fpitfalls-10",[533,534,535],"后端","数据库","运维","jlZmmrp4tG6U2To7vrceflGkT-5CBv79K44aBtd2EM4",1786005259838]