[{"data":1,"prerenderedAt":2294},["ShallowReactive",2],{"posts:index":3,"previews:count":1169,"$f1xofz65fspjeo":2266},[4,21,34,49,63,79,93,108,121,131,145,158,171,183,194,205,216,227,238,249,260,272,284,295,306,319,331,343,355,366,378,391,403,417,429,441,454,467,478,488,503,515,527,538,548,561,573,584,596,607,616,627,640,652,664,675,688,699,710,722,735,749,763,775,789,802,810,820,830,838,850,861,874,885,897,909,920,932,945,958,970,980,991,1001,1012,1022,1033,1045,1057,1071,1082,1094,1105,1117,1129,1140,1151,1162,1172,1183,1194,1202,1212,1222,1233,1242,1252,1263,1274,1285,1294,1308,1321,1333,1342,1353,1365,1374,1385,1393,1401,1413,1426,1442,1456,1465,1476,1489,1501,1513,1525,1538,1553,1565,1581,1593,1607,1621,1633,1647,1663,1674,1686,1698,1710,1722,1735,1748,1760,1775,1789,1804,1818,1831,1840,1852,1865,1876,1888,1903,1917,1932,1944,1956,1969,1981,1992,2007,2020,2032,2046,2059,2067,2081,2094,2108,2120,2131,2143,2158,2168,2187,2201,2214,2227,2241,2253],{"categories":5,"date":7,"description":8,"image":9,"path":10,"readingTime":11,"recommend":16,"tags":17,"title":20,"type":16,"updated":7},[6],"代码","2022-12-05 16:25:27","使用阿里云服务器搭建 hexo 博客","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002FGitHubActions-deploy.webp","\u002Fposts\u002F2022\u002Fgithubactions-deploy",{"text":12,"minutes":13,"time":14,"words":15},"3 min read",2.555,153300,511,null,[18,19],"hexo","GitHubActions","使用GitHubActions部署",{"categories":22,"date":23,"description":24,"image":25,"path":26,"readingTime":27,"recommend":16,"tags":31,"title":33,"type":16,"updated":23},[6],"2022-12-04 13:27:32","ubuntu 系统中 Nginx 的简易安装和配置","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F679f16a24d380-78.webp","\u002Fposts\u002F2022\u002Fnginx-install-and-setup",{"text":12,"minutes":28,"time":29,"words":30},2.13,127800,426,[32],"Nginx","Nginx安装配置",{"categories":35,"date":36,"description":37,"image":38,"path":39,"readingTime":40,"recommend":16,"tags":44,"title":48,"type":16,"updated":36},[6],"2022-12-04 16:12:29","流文件常见类型概览及前端 Blob 文件下载简易封装","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fblob-and-mime.jpg","\u002Fposts\u002F2022\u002Fblob-and-mime",{"text":12,"minutes":41,"time":42,"words":43},2.61,156600,522,[45,46,47],"JavaScript","Blob","MIME","MIME 类型和 Blob",{"categories":50,"date":52,"description":53,"image":16,"path":54,"readingTime":55,"recommend":16,"tags":60,"title":62,"type":16,"updated":52},[51],"经验分享","2022-12-08 22:15:26","各主流平台视频封面图大小一览","\u002Fposts\u002F2022\u002Fchannel-cover",{"text":56,"minutes":57,"time":58,"words":59},"1 min read",0.435,26100,87,[61],"自媒体","视频网站封面图制作",{"categories":64,"date":65,"description":66,"image":67,"path":68,"readingTime":69,"recommend":16,"tags":74,"title":78,"type":16,"updated":65},[6],"2022-12-04 16:02:46","初始化一个 gin 的项目，领略一下 go 语言的风采","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fgin-setup.jpg","\u002Fposts\u002F2022\u002Fgin-setup",{"text":70,"minutes":71,"time":72,"words":73},"4 min read",3.5,210000,700,[75,76,77],"gin","go","服务端","gin初始化项目",{"categories":80,"date":81,"description":82,"image":83,"path":84,"readingTime":85,"recommend":16,"tags":90,"title":92,"type":16,"updated":81},[6],"2022-12-04 16:01:16","查看项目中的每个人代码提交量，看看谁在摸鱼吧","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fgit-log.jpg","\u002Fposts\u002F2022\u002Fgit-log",{"text":86,"minutes":87,"time":88,"words":89},"2 min read",1.26,75600,252,[91],"git","git统计代码提交数量",{"categories":94,"date":95,"description":96,"image":97,"path":98,"readingTime":99,"recommend":16,"tags":103,"title":107,"type":16,"updated":95},[6],"2022-12-04 15:40:12","使用 gulp 来写一个压缩 js 的小工具","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fgulp-uflify-js.jpg","\u002Fposts\u002F2022\u002Fgulp-uflify-js",{"text":56,"minutes":100,"time":101,"words":102},0.995,59700,199,[104,105,106],"js","gulp","前端工程化","gulp压缩js文件",{"categories":109,"date":110,"description":111,"image":112,"path":113,"readingTime":114,"recommend":16,"tags":119,"title":120,"type":16,"updated":110},[6],"2022-12-07 14:01:02","js 数组的基础知识","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fjs-array.jpg","\u002Fposts\u002F2022\u002Fjs-array",{"text":115,"minutes":116,"time":117,"words":118},"15 min read",15,900000,3000,[104],"js数组",{"categories":122,"date":123,"description":124,"image":16,"path":125,"readingTime":126,"recommend":16,"tags":127,"title":130,"type":16,"updated":123},[6],"2022-12-04 15:54:08","常用的 js 计算 精度解决方案","\u002Fposts\u002F2022\u002Fmathjs",{"text":56,"minutes":57,"time":58,"words":59},[128,104,129],"node","工具","math.js 的使用",{"categories":132,"date":133,"description":16,"image":134,"path":135,"readingTime":136,"recommend":16,"tags":140,"title":144,"type":16,"updated":133},[6],"2022-12-04 15:17:52","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fminiprogram-app-build.jpg","\u002Fposts\u002F2022\u002Fminiprogram-app-build",{"text":12,"minutes":137,"time":138,"words":139},2.4,144000,480,[141,142,143],"app","uni-app","项目打包","uni-app app打包上线要注意的部分",{"categories":146,"date":147,"description":16,"image":148,"path":149,"readingTime":150,"recommend":16,"tags":154,"title":157,"type":16,"updated":147},[6],"2022-12-04 15:29:02","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fminiprogram-fetch-data-function.jpg","\u002Fposts\u002F2022\u002Fminiprogram-fetch-data-function",{"text":56,"minutes":151,"time":152,"words":153},0.635,38100,127,[155,156],"小程序","uniapp","小程序简易请求数据封装",{"categories":159,"date":160,"description":16,"image":161,"path":162,"readingTime":163,"recommend":16,"tags":167,"title":170,"type":16,"updated":160},[6],"2022-12-04 15:29:48","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fminiprogram-scancode-get-invoice-title.jpg","\u002Fposts\u002F2022\u002Fminiprogram-scancode-get-invoice-title",{"text":86,"minutes":164,"time":165,"words":166},1.295,77700,259,[156,168,169,155],"server","公众号","扫码获取微信抬头",{"categories":172,"date":173,"description":16,"image":174,"path":175,"readingTime":176,"recommend":16,"tags":180,"title":182,"type":16,"updated":173},[6],"2022-12-04 15:32:48","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fminiprogram-scancode-jump-page.jpg","\u002Fposts\u002F2022\u002Fminiprogram-scancode-jump-page",{"text":56,"minutes":177,"time":178,"words":179},0.02,1200,4,[181],"微信接口","扫码跳转至指定界面",{"categories":184,"date":185,"description":16,"image":186,"path":187,"readingTime":188,"recommend":16,"tags":192,"title":193,"type":16,"updated":185},[6],"2022-12-04 15:35:50","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fminiprogram-short-link.jpg","\u002Fposts\u002F2022\u002Fminiprogram-short-link",{"text":56,"minutes":189,"time":190,"words":191},0.67,40200,134,[181],"微信短链 URL Link",{"categories":195,"date":196,"description":16,"image":197,"path":198,"readingTime":199,"recommend":16,"tags":203,"title":204,"type":16,"updated":196},[6],"2022-12-04 15:33:29","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fminiprogram-showToast-true-phone-bug.jpg","\u002Fposts\u002F2022\u002Fminiprogram-showtoast-true-phone-bug",{"text":86,"minutes":200,"time":201,"words":202},1.445,86700,289,[155,156],"showToast 在真机会闪退的问题及解决方案",{"categories":206,"date":207,"description":16,"image":208,"path":209,"readingTime":210,"recommend":16,"tags":214,"title":215,"type":16,"updated":207},[6],"2022-12-04 15:35:30","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fminiprogram-subPackages.jpg","\u002Fposts\u002F2022\u002Fminiprogram-subpackages",{"text":86,"minutes":211,"time":212,"words":213},1.13,67800,226,[155,156],"小程序分包及uniapp分包",{"categories":217,"date":218,"description":16,"image":219,"path":220,"readingTime":221,"recommend":16,"tags":225,"title":226,"type":16,"updated":218},[6],"2022-12-04 15:30:56","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F67a21f50a0be6-78.webp","\u002Fposts\u002F2022\u002Fminiprogram-tools",{"text":56,"minutes":222,"time":223,"words":224},0.195,11700,39,[155,129],"小程序常用工具\u002F文档",{"categories":228,"date":229,"description":16,"image":230,"path":231,"readingTime":232,"recommend":16,"tags":236,"title":237,"type":16,"updated":229},[6],"2022-12-04 15:28:06","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F679f424923bb0-78.webp","\u002Fposts\u002F2022\u002Fminiprogram-uniapp-servicechat",{"text":56,"minutes":233,"time":234,"words":235},0.3,18000,60,[155,156],"uniapp 接入微信客服",{"categories":239,"date":240,"description":16,"image":241,"path":242,"readingTime":243,"recommend":16,"tags":247,"title":248,"type":16,"updated":240},[6],"2022-12-04 15:26:54","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F679f3e5e08f62-78.webp","\u002Fposts\u002F2022\u002Fminiprogram-uniapp-conditional-compilation",{"text":86,"minutes":244,"time":245,"words":246},1.12,67200,224,[156,155],"uniapp 条件编译",{"categories":250,"date":251,"description":16,"image":252,"path":253,"readingTime":254,"recommend":16,"tags":258,"title":259,"type":16,"updated":251},[6],"2022-12-04 15:25:34","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F679f17dc026e1-78.webp","\u002Fposts\u002F2022\u002Fminiprogram-uniapp-issus",{"text":12,"minutes":255,"time":256,"words":257},2.435,146100,487,[156,155],"uniapp常见问题(一)",{"categories":261,"date":262,"description":16,"image":263,"path":264,"readingTime":265,"recommend":16,"tags":269,"title":271,"type":16,"updated":262},[6],"2022-12-04 15:34:35","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F67a21fdca93bf-78.webp","\u002Fposts\u002F2022\u002Fminiprogram-uniapp-use-pinia",{"text":12,"minutes":266,"time":267,"words":268},2.51,150600,502,[156,155,270],"pinia","uniapp中使用pinia",{"categories":273,"date":274,"description":16,"image":275,"path":276,"readingTime":277,"recommend":16,"tags":281,"title":283,"type":16,"updated":274},[6],"2022-12-04 15:32:02","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F67a21f8a4e438-78.webp","\u002Fposts\u002F2022\u002Fminiprogram-wepay",{"text":86,"minutes":278,"time":279,"words":280},1.575,94500,315,[156,155,282],"支付","小程序接入微信支付",{"categories":285,"date":286,"description":287,"image":16,"path":288,"readingTime":289,"recommend":16,"tags":293,"title":294,"type":16,"updated":286},[6],"2022-12-31 13:59:25","在开发中我们常会用到一些模拟数据来确定程序是否有问题，这次我们一起来看一下怎么使用模拟数据来进行测试","\u002Fposts\u002F2022\u002Fmock-data",{"text":86,"minutes":290,"time":291,"words":292},1.99,119400,398,[],"mock数据",{"categories":296,"date":297,"description":298,"image":16,"path":299,"readingTime":300,"recommend":16,"tags":304,"title":305,"type":16,"updated":297},[6],"2022-12-04 15:53:21","linux 和 mac 下如何切换不同的 node 版本呢？","\u002Fposts\u002F2022\u002Fn-changenode-version",{"text":56,"minutes":301,"time":302,"words":303},0.625,37500,125,[128],"n切换node版本",{"categories":307,"date":308,"description":309,"image":310,"path":311,"readingTime":312,"recommend":16,"tags":316,"title":318,"type":16,"updated":308},[6],"2022-12-04 16:14:54","实现几个常用的 nest 拦截器","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F67a2262d9a02e-78.webp","\u002Fposts\u002F2022\u002Fnest-exceptionfilter",{"text":86,"minutes":313,"time":314,"words":315},1.205,72300,241,[128,317,77],"nest","nest 拦截器",{"categories":320,"date":321,"description":322,"image":323,"path":324,"readingTime":325,"recommend":16,"tags":329,"title":330,"type":16,"updated":321},[6],"2022-12-04 16:15:46","实现一些简单的 nest 服务提供者，以此了解服务提供者的作用方式。并且自定义一个 DbModule 接入 typegoose","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F67a2262def4a5-78.webp","\u002Fposts\u002F2022\u002Fnest-providers",{"text":12,"minutes":326,"time":327,"words":328},2.185,131100,437,[317,77],"nest 服务提供者",{"categories":332,"date":333,"description":334,"image":335,"path":336,"readingTime":337,"recommend":16,"tags":341,"title":342,"type":16,"updated":333},[6],"2022-12-12 15:23:45","常用模块安装和使用","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F67a2262cef57d-78.webp","\u002Fposts\u002F2022\u002Fnestjs-setup",{"text":12,"minutes":338,"time":339,"words":340},2.82,169200,564,[317,128,77],"nestjs入门",{"categories":344,"date":345,"description":346,"image":347,"path":348,"readingTime":349,"recommend":16,"tags":353,"title":354,"type":16,"updated":345},[6],"2022-12-03 12:00:00","想让网站访问快一些吗？可以试试这个","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F679f16a1c6737-78.webp","\u002Fposts\u002F2022\u002Fnginx-gzip",{"text":12,"minutes":350,"time":351,"words":352},2.525,151500,505,[],"Nginx gzip配置",{"categories":356,"date":357,"description":358,"image":16,"path":359,"readingTime":360,"recommend":16,"tags":364,"title":365,"type":16,"updated":357},[6],"2022-12-19 14:45:33","log4js 是一款 nodejs 日志管理工具","\u002Fposts\u002F2022\u002Fnode-log4js",{"text":86,"minutes":361,"time":362,"words":363},1.2,72000,240,[128,77],"log4js node日志管理",{"categories":367,"date":368,"description":369,"image":16,"path":370,"readingTime":371,"recommend":16,"tags":375,"title":377,"type":16,"updated":368},[6],"2022-12-04 15:52:28","如何快速切换 npm 镜像呢？可以试试这个","\u002Fposts\u002F2022\u002Fnrm",{"text":56,"minutes":372,"time":373,"words":374},0.8,48000,160,[376],"nrm","nrm切换npm镜像",{"categories":379,"date":380,"description":381,"image":16,"path":382,"readingTime":383,"recommend":16,"tags":387,"title":390,"type":16,"updated":380},[6],"2022-12-04 15:44:28","oss 的简单应用","\u002Fposts\u002F2022\u002Foss-builds-a-personal-image-bed",{"text":70,"minutes":384,"time":385,"words":386},3.855,231300,771,[388,389],"阿里云","oss","oss搭建个人图床",{"categories":392,"date":393,"description":394,"image":395,"path":396,"readingTime":397,"recommend":16,"tags":401,"title":402,"type":16,"updated":393},[6],"2022-12-04 15:42:19","pinia 简易入门指南","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F679ad7bee555d-78.webp","\u002Fposts\u002F2022\u002Fpinia-setup",{"text":12,"minutes":398,"time":399,"words":400},2.39,143400,478,[270],"pinia 快速使用",{"categories":404,"date":405,"description":406,"image":407,"path":408,"readingTime":409,"recommend":16,"tags":413,"title":416,"type":16,"updated":405},[6],"2022-12-04 15:59:32","sass 常用语法一览","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F67a227ce21b4b-78.webp","\u002Fposts\u002F2022\u002Fsass",{"text":86,"minutes":410,"time":411,"words":412},1.815,108900,363,[414,415],"css","sass","sass 常用语法",{"categories":418,"date":419,"description":420,"image":421,"path":422,"readingTime":423,"recommend":16,"tags":427,"title":428,"type":16,"updated":419},[6],"2022-12-04 16:00:20","用 sass 实现一个简易的原子样式库。通过此了解 sass 基础语法的实际使用。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F67a228116d770-78.webp","\u002Fposts\u002F2022\u002Fsass-mini-atomic-pattern-library",{"text":12,"minutes":424,"time":425,"words":426},2.195,131700,439,[],"sass实现一个简易的原子样式库",{"categories":430,"date":431,"description":432,"image":16,"path":433,"readingTime":434,"recommend":16,"tags":438,"title":440,"type":16,"updated":431},[6],"2022-12-15 15:01:33","申请免费的 https 证书并部署至 nginx 服务","\u002Fposts\u002F2022\u002Fsite-add-https",{"text":70,"minutes":435,"time":436,"words":437},3.635,218100,727,[439,32],"服务器","申请https证书并部署至nginx服务器",{"categories":442,"date":443,"description":444,"image":445,"path":446,"readingTime":447,"recommend":16,"tags":451,"title":453,"type":16,"updated":443},[6],"2022-12-02 11:48:08","建站过程记","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fsite-setup-story.webp","\u002Fposts\u002F2022\u002Fsite-setup-story",{"text":12,"minutes":448,"time":449,"words":450},2.535,152100,507,[18,452],"vitepress","建站记事",{"categories":455,"date":456,"description":457,"image":458,"path":459,"readingTime":460,"recommend":16,"tags":464,"title":466,"type":16,"updated":456},[6],"2022-12-04 15:41:11","vite 简易使用指南","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F67a229960f0e4-78.webp","\u002Fposts\u002F2022\u002Fvite-basic-use",{"text":86,"minutes":461,"time":462,"words":463},1.395,83700,279,[465,106],"vite","vite使用",{"categories":468,"date":469,"description":470,"image":471,"path":472,"readingTime":473,"recommend":16,"tags":477,"title":470,"type":16,"updated":469},[6],"2022-12-04 15:58:34","vite开发时问题及解决方案","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F679ad7bf940da-78.webp","\u002Fposts\u002F2022\u002Fvite-development-problems-and-solutions",{"text":56,"minutes":474,"time":475,"words":476},0.415,24900,83,[],{"categories":479,"date":480,"description":481,"image":471,"path":482,"readingTime":483,"recommend":16,"tags":487,"title":481,"type":16,"updated":480},[6],"2024-02-14 16:35:14","vite插件","\u002Fposts\u002F2022\u002Fvite-plugins",{"text":56,"minutes":484,"time":485,"words":486},0.03,1800,6,[],{"categories":489,"date":490,"description":16,"image":491,"path":492,"readingTime":493,"recommend":16,"tags":498,"title":501,"type":502,"updated":490},[51],"2023-02-11 12:31:14","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F679ad20e86a99-78.webp","\u002Fposts\u002F2022\u002Fvscode-use",{"text":494,"minutes":495,"time":496,"words":497},"5 min read",4.295,257700,859,[499,500],"照片","游览","vscode 基础使用指南","story",{"categories":504,"date":505,"description":506,"image":507,"path":508,"readingTime":509,"recommend":16,"tags":513,"title":514,"type":16,"updated":505},[6],"2022-12-04 15:43:03","跟着尤大实现一下 vue3 的响应式系统","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F679ad72e4f05d-78.webp","\u002Fposts\u002F2022\u002Fvue3-mini-core",{"text":494,"minutes":510,"time":511,"words":512},4.52,271200,904,[],"Vue3 响应式系统",{"categories":516,"date":518,"description":519,"image":16,"path":520,"readingTime":521,"recommend":16,"tags":525,"title":526,"type":502,"updated":518},[517],"生活","2023-12-17 21:05:11","未来的你过得如何？是否找到了令你开心的事业，有了一份爱情？或者你还是像现在这样不知道未来的方向，还是像现在这样无头苍蝇似的来回乱窜？","\u002Fposts\u002F2023\u002Fa-messy-24",{"text":86,"minutes":522,"time":523,"words":524},1.215,72900,243,[],"给未来的一封信——24周岁生日前",{"categories":528,"date":529,"description":530,"image":16,"path":531,"readingTime":532,"recommend":16,"tags":536,"title":537,"type":16,"updated":529},[6],"2023-01-11 21:35:23","Arc 浏览器是真滴好用，如果你没有激活码，可以点击下方链接领取激活码。","\u002Fposts\u002F2023\u002Farc-gift-code",{"text":56,"minutes":533,"time":534,"words":535},0.215,12900,43,[],"Arc浏览器激活码领取",{"categories":539,"date":490,"description":16,"image":540,"path":541,"readingTime":542,"recommend":16,"tags":546,"title":547,"type":502,"updated":490},[517],"https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F679ad84f7f161-78.webp","\u002Fposts\u002F2023\u002Fdatong-museum-tour-souvenir",{"text":86,"minutes":543,"time":544,"words":545},1.05,63000,210,[499,500],"大同博物馆游览留念",{"categories":549,"date":550,"description":551,"image":552,"path":553,"readingTime":554,"recommend":16,"tags":559,"title":560,"type":502,"updated":550},[51],"2023-02-08 22:46:24","要考驾驶证了，但是我好像什么都不懂。用这篇文章记录一下学习驾照的经历。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F679ad8d4276f2-78.webp","\u002Fposts\u002F2023\u002Fdriving-test-record",{"text":555,"minutes":556,"time":557,"words":558},"19 min read",18.53,1111800,3706,[],"驾照考试记录",{"categories":562,"date":563,"description":564,"image":565,"path":566,"readingTime":567,"recommend":16,"tags":571,"title":572,"type":16,"updated":563},[6],"2023-01-22 21:58:46","美化一下 GitHub 主页。或者在其他项目中添加一些 GitHub 仓库的信息。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F679ad69786459-78.webp","\u002Fposts\u002F2023\u002Fgithub-status-get-github-project-info",{"text":56,"minutes":568,"time":569,"words":570},0.445,26700,89,[],"GitHub status 获取GitHub项目信息",{"categories":574,"date":575,"description":576,"image":16,"path":577,"readingTime":578,"recommend":16,"tags":582,"title":583,"type":502,"updated":575},[517],"2023-03-31 11:56:02","医院，真的是长见识的地方。","\u002Fposts\u002F2023\u002Fhospital-records",{"text":56,"minutes":579,"time":580,"words":581},0.18,10800,36,[],"医院见闻录",{"categories":585,"date":586,"description":587,"image":16,"path":588,"readingTime":589,"recommend":16,"tags":593,"title":595,"type":16,"updated":586},[517],"2023-06-18 13:09:51","真的只有打工这一条路吗？显然不是的，但是勇气从来是我缺乏的气质。","\u002Fposts\u002F2023\u002Fsome-thoughts-on-the-rest-of-your-life",{"text":86,"minutes":590,"time":591,"words":592},1.655,99300,331,[594],"思考","对接下来生活的一些思考",{"categories":597,"date":598,"description":599,"image":16,"path":600,"readingTime":601,"recommend":16,"tags":605,"title":606,"type":502,"updated":598},[517],"2023-01-20 21:53:58","壬寅年癸丑月乙卯 虎年除夕","\u002Fposts\u002F2023\u002Fthe-spring-festival-of-the-year-of-the-tiger",{"text":86,"minutes":602,"time":603,"words":604},1.725,103500,345,[],"壬寅年癸丑月乙卯 新春",{"categories":608,"date":609,"description":610,"image":16,"path":611,"readingTime":612,"recommend":16,"tags":613,"title":615,"type":16,"updated":609},[6],"2023-01-16 14:53:13","最近在提交 vue-devui 组件库 pr 时，被要求添加 gpg 签名。之前对这部分没有任何了解，正好了解一下，顺便写一下关于配置 gpg 需要注意的东西和配置的完整步骤。","\u002Fposts\u002F2023\u002Fadd-gpg",{"text":12,"minutes":448,"time":449,"words":450},[614],"gpg签名","添加gpg签名",{"categories":617,"date":618,"description":619,"image":16,"path":620,"readingTime":621,"recommend":16,"tags":625,"title":626,"type":16,"updated":618},[6],"2023-03-28 20:47:28","使用开源项目进行代码拉取时，我们不想要之前的提交记录该怎么办呢？","\u002Fposts\u002F2023\u002Fdegit",{"text":56,"minutes":622,"time":623,"words":624},0.575,34500,115,[],"degit -- 拉取项目（不包含提交记录）",{"categories":628,"date":629,"description":630,"image":631,"path":632,"readingTime":633,"recommend":16,"tags":637,"title":639,"type":16,"updated":629},[6],"2023-04-06 20:49:38","本新手使用 flutter 时遇到的一些问题合集","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F67a222582c61a-78.webp","\u002Fposts\u002F2023\u002Fflutter-issus",{"text":56,"minutes":634,"time":635,"words":636},0.115,6900,23,[638],"flutter","Flutter 抓虫记",{"categories":641,"date":642,"description":643,"image":644,"path":645,"readingTime":646,"recommend":16,"tags":650,"title":651,"type":16,"updated":642},[6],"2023-03-29 18:35:11","这两天买了一个零刻的小主机用来练习 linux 系统的使用，顺便搭建一个 gitlab 仓库，用来学习 gitlab 的自动集成。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F67a22358f15d2-78.webp","\u002Fposts\u002F2023\u002Fgitlab",{"text":56,"minutes":647,"time":648,"words":649},0.355,21300,71,[],"gitlab搭建",{"categories":653,"date":654,"description":655,"image":16,"path":656,"readingTime":657,"recommend":16,"tags":661,"title":663,"type":16,"updated":654},[6],"2023-10-13 19:47:11","本文说明了如何获取 Fetch HTTP 响应的状态码","\u002Fposts\u002F2023\u002Fjavascript-get-response-status-code-fetch",{"text":70,"minutes":658,"time":659,"words":660},3.095,185700,619,[662,45],"Fetch","🔗 在JavaScript中获取Fetch HTTP响应的状态码(翻译)",{"categories":665,"date":666,"description":16,"image":667,"path":668,"readingTime":669,"recommend":16,"tags":673,"title":674,"type":16,"updated":666},[6],"2023-03-01 11:13:48","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F679ad63768138-78.webp","\u002Fposts\u002F2023\u002Fjs-map",{"text":56,"minutes":670,"time":671,"words":672},0.595,35700,119,[104],"js拾遗--map",{"categories":676,"date":677,"description":16,"image":678,"path":679,"readingTime":680,"recommend":16,"tags":684,"title":687,"type":16,"updated":677},[6],"2023-03-29 22:04:40","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F67a222f65ebbb-78.webp","\u002Fposts\u002F2023\u002Flinux-tools-htop",{"text":56,"minutes":681,"time":682,"words":683},0.105,6300,21,[685,686],"htop","linux","linux工具 - htop",{"categories":689,"date":690,"description":691,"image":16,"path":692,"readingTime":693,"recommend":16,"tags":697,"title":698,"type":16,"updated":690},[6],"2023-01-11 21:45:49","使用 homebrew 安装 go 开发环境","\u002Fposts\u002F2023\u002Fmac-go-install",{"text":56,"minutes":694,"time":695,"words":696},0.13,7800,26,[],"mac平台 go开发环境搭建",{"categories":700,"date":701,"description":16,"image":702,"path":703,"readingTime":704,"recommend":16,"tags":708,"title":709,"type":16,"updated":701},[6],"2023-04-17 12:58:58","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F679ad9640f373-78.webp","\u002Fposts\u002F2023\u002Fmacos-setup",{"text":56,"minutes":705,"time":706,"words":707},0.165,9900,33,[],"macos使用",{"categories":711,"date":712,"description":713,"image":16,"path":714,"readingTime":715,"recommend":16,"tags":719,"title":721,"type":502,"updated":712},[517],"2023-05-27 20:46:29","来到新公司大概有半个月了，我过得怎么样的？","\u002Fposts\u002F2023\u002Fnew-work-half-month-talk",{"text":56,"minutes":716,"time":717,"words":718},1,60000,200,[720],"生活剪影","新工作半月谈",{"categories":723,"date":724,"description":16,"image":725,"path":726,"readingTime":727,"recommend":16,"tags":731,"title":733,"type":16,"updated":734},[6],"2023-12-05 18:02:30","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F67a1b5c565c52-78.webp","\u002Fposts\u002F2023\u002Fnuxt3-pm2-deploy-nuxt3",{"text":12,"minutes":728,"time":729,"words":730},2.52,151200,504,[732],"Nuxt","pm2部署Nuxt3","2025-07-28 11:45:30",{"categories":736,"date":737,"description":738,"image":16,"path":739,"readingTime":740,"recommend":16,"tags":745,"title":748,"type":16,"updated":737},[6],"2023-06-14 23:20:46","这是一份可以直接用于 ant design select 的世界各地手机区号的 options，已经做了去重工作","\u002Fposts\u002F2023\u002Fphone-prefix",{"text":741,"minutes":742,"time":743,"words":744},"11 min read",10.885,653100,2177,[746,747],"ant-design","react","世界各地手机区号",{"categories":750,"date":751,"description":752,"image":753,"path":754,"readingTime":755,"recommend":16,"tags":759,"title":762,"type":16,"updated":751},[6],"2023-01-02 23:08:07","prisma 是 nodejs 中著名的 orm 框架，这篇文章我们一起来了解一下 prisma 怎么结合 node 进行数据操作","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F67a224a43e3ff-78.webp","\u002Fposts\u002F2023\u002Fprisma-setup",{"text":12,"minutes":756,"time":757,"words":758},2.6,156000,520,[128,760,761],"prisma","orm","prisma 快速上手",{"categories":764,"date":765,"description":766,"image":16,"path":767,"readingTime":768,"recommend":16,"tags":772,"title":774,"type":16,"updated":765},[6],"2023-02-09 18:11:51","近日在写 React 轮播图组件时遇到自动轮播的问题，在多方请教后，使用 useCallback 解决","\u002Fposts\u002F2023\u002Freact-usecallback-use",{"text":12,"minutes":769,"time":770,"words":771},2.305,138300,461,[773],"React","React useCallback使用",{"categories":776,"date":777,"description":778,"image":779,"path":780,"readingTime":781,"recommend":16,"tags":785,"title":788,"type":16,"updated":777},[6],"2023-01-03 20:13:52","rest client 是 vscode 中类似 Postman 的 api 接口请求利器。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F67a223f36ca29-78.webp","\u002Fposts\u002F2023\u002Frest-client-plugin-use",{"text":56,"minutes":782,"time":783,"words":784},0.655,39300,131,[786,787],"vscode","插件","rest client插件使用",{"categories":790,"date":791,"description":792,"image":793,"path":794,"readingTime":795,"recommend":16,"tags":799,"title":801,"type":502,"updated":791},[517],"2023-10-21 19:31:18","如果你有能力回到过去，你会如何重来一次？","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F679adcf394e8c-78.webp","\u002Fposts\u002F2023\u002Freview-relife",{"text":12,"minutes":796,"time":797,"words":798},2.24,134400,448,[800],"观影体验","再观 ReLIFE 有感",{"categories":803,"date":804,"description":16,"image":805,"path":806,"readingTime":807,"recommend":16,"tags":808,"title":809,"type":16,"updated":804},[6],"2023-03-31 19:44:20","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F679ade0aa4cbe-78.webp","\u002Fposts\u002F2023\u002Fscreen-use",{"text":56,"minutes":647,"time":648,"words":649},[],"screen使用",{"categories":811,"date":812,"description":16,"image":16,"path":813,"readingTime":814,"recommend":16,"tags":818,"title":819,"type":502,"updated":812},[517],"2023-04-30 11:09:25","\u002Fposts\u002F2023\u002Fset-out",{"text":56,"minutes":815,"time":816,"words":817},0.59,35400,118,[],"出发",{"categories":821,"date":822,"description":16,"image":16,"path":823,"readingTime":824,"recommend":16,"tags":828,"title":829,"type":16,"updated":822},[6],"2023-01-31 13:07:10","\u002Fposts\u002F2023\u002Fstellar-theme-code-copy",{"text":86,"minutes":825,"time":826,"words":827},1.325,79500,265,[18],"stellar主题添加代码块复制功能",{"categories":831,"date":832,"description":833,"image":16,"path":834,"readingTime":835,"recommend":16,"tags":836,"title":837,"type":16,"updated":832},[517],"2023-08-26 14:55:57","初次尝试远程工作，感觉还不错。","\u002Fposts\u002F2023\u002Ftry-remote-work",{"text":12,"minutes":350,"time":351,"words":352},[],"远程工作尝试",{"categories":839,"date":840,"description":841,"image":16,"path":842,"readingTime":843,"recommend":16,"tags":848,"title":849,"type":16,"updated":840},[6],"2023-01-31 00:48:42","如何使用 stellar 主题做一个自己的独立站点呢？","\u002Fposts\u002F2023\u002Fuse-hexo-stellar-create-a-site",{"text":844,"minutes":845,"time":846,"words":847},"7 min read",6.195,371700,1239,[18],"使用Hexo Stellar 主题搭建一个独立博客站点",{"categories":851,"date":852,"description":853,"image":805,"path":854,"readingTime":855,"recommend":16,"tags":859,"title":860,"type":16,"updated":852},[6],"2023-03-31 18:42:55","最近买了一个迷你主机，想着用来搭建一个 minecraft 服务器用来和朋友们一起联机，搭建好了才发现好像没什么玩 minecraft 的朋友了。","\u002Fposts\u002F2023\u002Fuse-frp",{"text":86,"minutes":856,"time":857,"words":858},1.55,93000,310,[],"使用frp将本地mc服务器映射到公网",{"categories":862,"date":863,"description":864,"image":16,"path":865,"readingTime":866,"recommend":16,"tags":870,"title":873,"type":502,"updated":863},[51],"2023-05-13 22:30:21","我与前端的那些缘分","\u002Fposts\u002F2023\u002Fvideo-my-front-end-story",{"text":70,"minutes":867,"time":868,"words":869},3.3,198000,660,[871,872],"视频脚本","前端学习","我与前端那些事",{"categories":875,"date":876,"description":877,"image":16,"path":878,"readingTime":879,"recommend":16,"tags":883,"title":884,"type":16,"updated":876},[6],"2023-01-11 21:32:22","这里推介一篇文章给 VitePress 添加 algolia 搜索。","\u002Fposts\u002F2023\u002Fvitepress-add-algolia",{"text":56,"minutes":880,"time":881,"words":882},0.15,9000,30,[452],"给vitepress添加algolia搜索",{"categories":886,"date":887,"description":888,"image":507,"path":889,"readingTime":890,"recommend":16,"tags":894,"title":896,"type":16,"updated":887},[6],"2023-01-03 22:25:15","实现 vue 动态路由的测试，登录 user 和 admin 可以访问不同的菜单","\u002Fposts\u002F2023\u002Fvue-project-permission-control",{"text":12,"minutes":891,"time":892,"words":893},2.575,154500,515,[895],"Vue","Vue项目权限控制",{"categories":898,"date":899,"description":900,"image":901,"path":902,"readingTime":903,"recommend":16,"tags":907,"title":908,"type":16,"updated":899},[6],"2023-02-05 12:27:31","使用插件自动引入 svg 图标","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fvue3-auto-import-icon.jpg","\u002Fposts\u002F2023\u002Fvue3-auto-import-icon",{"text":86,"minutes":904,"time":905,"words":906},1.125,67500,225,[466],"vue3自动引入图标",{"categories":910,"date":911,"description":912,"image":16,"path":913,"readingTime":914,"recommend":16,"tags":918,"title":919,"type":16,"updated":911},[6],"2024-10-23 21:18:21","","\u002Fposts\u002F2024\u002Fhttp-status-codes",{"text":12,"minutes":915,"time":916,"words":917},2.505,150300,501,[],"Http Status Codes 释义",{"categories":921,"date":922,"description":923,"image":924,"path":925,"readingTime":926,"recommend":16,"tags":930,"title":931,"type":502,"updated":922},[517],"2024-07-14 13:14:55","好久没有写博客了，最近经历了很多事","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F679adc28a5ca3-78.webp","\u002Fposts\u002F2024\u002Frecent-fact-sheet",{"text":12,"minutes":927,"time":928,"words":929},2.94,176400,588,[],"近况说明",{"categories":933,"date":934,"description":935,"image":936,"path":937,"readingTime":938,"recommend":16,"tags":942,"title":944,"type":502,"updated":934},[517],"2024-12-18 10:43:19","心经全文","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F679f11f24dc96-78.webp","\u002Fposts\u002F2024\u002Fthe-heart-channel",{"text":86,"minutes":939,"time":940,"words":941},1.31,78600,262,[943],"修行","心经",{"categories":946,"date":947,"description":16,"image":948,"path":949,"readingTime":950,"recommend":16,"tags":954,"title":955,"type":16,"updated":957},[6],"2024-02-17 16:35:14","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F67a1d8834efda-78.webp","\u002Fposts\u002F2024\u002Falgorithm-traversal",{"text":494,"minutes":951,"time":952,"words":953},4.995,299700,999,[955,956],"二叉树","算法","2025-02-04 15:19:14",{"categories":959,"date":960,"description":961,"image":962,"path":963,"readingTime":964,"recommend":16,"tags":968,"title":969,"type":16,"updated":960},[6],"2024-04-16 20:02:27","封装一个 ECharts 容器组件，在使用时可以直接传递一个 options 对象，在组件内部自动初始化基础配置和监听图表大小变化、图表数据变化后自动重新渲染。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F679adcf246a2d-78.webp","\u002Fposts\u002F2024\u002Fchart-echarts-in-vue2-component",{"text":12,"minutes":965,"time":966,"words":967},2.75,165000,550,[],"ECharts 在 vue2 中的实践",{"categories":971,"date":972,"description":16,"image":565,"path":973,"readingTime":974,"recommend":16,"tags":978,"title":979,"type":16,"updated":972},[51],"2024-06-08 22:22:49","\u002Fposts\u002F2024\u002Fcode-review-short-code",{"text":86,"minutes":975,"time":976,"words":977},1.545,92700,309,[],"code review 黑话摘录",{"categories":981,"date":982,"description":983,"image":16,"path":984,"readingTime":985,"recommend":16,"tags":989,"title":990,"type":16,"updated":982},[6],"2024-11-26 23:57:12","关于组件设计的一点思考。","\u002Fposts\u002F2024\u002Fcomponents-ref-or-props",{"text":12,"minutes":986,"time":987,"words":988},2.355,141300,471,[594],"Vue 组件设计 -- 父子组件调用时使用props还是ref？",{"categories":992,"date":993,"description":16,"image":16,"path":994,"readingTime":995,"recommend":16,"tags":999,"title":1000,"type":16,"updated":993},[6],"2024-08-16 23:50:01","\u002Fposts\u002F2024\u002Fevent-bus",{"text":56,"minutes":996,"time":997,"words":998},0.39,23400,78,[],"发布订阅模式",{"categories":1002,"date":1003,"description":1004,"image":924,"path":1005,"readingTime":1006,"recommend":16,"tags":1010,"title":1011,"type":502,"updated":1003},[517],"2024-03-31 14:24:56","为什么加入十年之约？以及我写博客的动机。","\u002Fposts\u002F2024\u002Fforeverblog",{"text":70,"minutes":1007,"time":1008,"words":1009},3.65,219000,730,[],"十年之约",{"categories":1013,"date":1014,"description":16,"image":16,"path":1015,"readingTime":1016,"recommend":16,"tags":1020,"title":1021,"type":16,"updated":1014},[6],"2024-03-14 20:08:00","\u002Fposts\u002F2024\u002Fhistoire-setup",{"text":56,"minutes":1017,"time":1018,"words":1019},0.63,37800,126,[],"浅尝histoire",{"categories":1023,"date":1024,"description":16,"image":667,"path":1025,"readingTime":1026,"recommend":16,"tags":1031,"title":1032,"type":16,"updated":1024},[6],"2024-03-16 23:56:14","\u002Fposts\u002F2024\u002Fjs-eventloop",{"text":1027,"minutes":1028,"time":1029,"words":1030},"10 min read",9.94,596400,1988,[],"事件循环 \u002F EventLoop",{"categories":1034,"date":1035,"description":1036,"image":667,"path":1037,"readingTime":1038,"recommend":16,"tags":1043,"title":1044,"type":16,"updated":1035},[6],"2024-03-16 23:53:00","什么是渲染？","\u002Fposts\u002F2024\u002Fjs-browser-render",{"text":1039,"minutes":1040,"time":1041,"words":1042},"8 min read",7.325,439500,1465,[],"浏览器渲染原理",{"categories":1046,"date":1047,"description":16,"image":1048,"path":1049,"readingTime":1050,"recommend":16,"tags":1054,"title":1056,"type":16,"updated":1047},[6],"2024-05-18 11:00:25","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F679adc95e822c-78.webp","\u002Fposts\u002F2024\u002Fleetcode-two-sum",{"text":86,"minutes":1051,"time":1052,"words":1053},1.595,95700,319,[45,956,1055],"leetcode","leetcode 两数之和",{"categories":1058,"date":1059,"description":1060,"image":1061,"path":1062,"readingTime":1063,"recommend":16,"tags":1067,"title":1070,"type":16,"updated":1059},[6],"2024-08-01 22:28:48","使用 express + mongoose 快速开发API接口","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F679adc96a43ad-78.webp","\u002Fposts\u002F2024\u002Fmongodb-setup",{"text":70,"minutes":1064,"time":1065,"words":1066},3.1,186000,620,[1068,1069],"mongodb","学习笔记","mongodb快速使用",{"categories":1072,"date":1073,"description":16,"image":1074,"path":1075,"readingTime":1076,"recommend":16,"tags":1080,"title":1081,"type":16,"updated":1073},[6],"2024-01-21 16:35:14","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F67a18b1813aba-78.webp","\u002Fposts\u002F2024\u002Fnest-ioc-di",{"text":56,"minutes":1077,"time":1078,"words":1079},0.32,19200,64,[],"控制反转和依赖注入",{"categories":1083,"date":1084,"description":1085,"image":1086,"path":1087,"readingTime":1088,"recommend":16,"tags":1092,"title":1093,"type":16,"updated":1084},[6],"2024-02-04 21:47:35","RBAC —— 基于角色的访问控制","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F67a18a1221727-78.webp","\u002Fposts\u002F2024\u002Fnest-rbac-permission-control",{"text":86,"minutes":1089,"time":1090,"words":1091},1.78,106800,356,[],"RBAC权限控制简述",{"categories":1095,"date":1096,"description":16,"image":1097,"path":1098,"readingTime":1099,"recommend":16,"tags":1103,"title":1104,"type":16,"updated":1096},[6],"2024-01-20 22:56:21","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F67a18aa6d38a0-78.webp","\u002Fposts\u002F2024\u002Fnest-restful-api-design",{"text":12,"minutes":1100,"time":1101,"words":1102},2.54,152400,508,[],"RESTful 风格设计",{"categories":1106,"date":1107,"description":1108,"image":16,"path":1109,"readingTime":1110,"recommend":16,"tags":1114,"title":1116,"type":16,"updated":1107},[6],"2024-10-07 15:15:22","仿照koa实现一个简易的洋葱模型","\u002Fposts\u002F2024\u002Fnode-simple-onion-model-implementation",{"text":12,"minutes":1111,"time":1112,"words":1113},2.025,121500,405,[45,128,1115],"koa","node-简易洋葱模型实现",{"categories":1118,"date":1119,"description":1120,"image":1121,"path":1122,"readingTime":1123,"recommend":16,"tags":1127,"title":1128,"type":16,"updated":1119},[6],"2024-06-05 22:26:42","请求数据的最佳实践","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F67a1b535e67fc-78.webp","\u002Fposts\u002F2024\u002Fnuxt3-fetch-data",{"text":12,"minutes":1124,"time":1125,"words":1126},2.98,178800,596,[732],"Nuxt3 请求数据",{"categories":1130,"date":1131,"description":16,"image":1132,"path":1133,"readingTime":1134,"recommend":16,"tags":1138,"title":1139,"type":16,"updated":1131},[6],"2024-06-20 21:29:45","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F679ad7be69f3c-78.webp","\u002Fposts\u002F2024\u002Fnuxt3-get-assets-dir-image-function",{"text":56,"minutes":1135,"time":1136,"words":1137},0.375,22500,75,[732],"Nuxt3 获取静态图片公用方法",{"categories":1141,"date":1142,"description":1143,"image":1132,"path":1144,"readingTime":1145,"recommend":16,"tags":1149,"title":1150,"type":16,"updated":1142},[6],"2024-09-09 15:33:19","Nuxt 报错解决","\u002Fposts\u002F2024\u002Fnuxt3-server-error",{"text":56,"minutes":1146,"time":1147,"words":1148},0.82,49200,164,[],"Nuxt报错解决",{"categories":1152,"date":1153,"description":1154,"image":1132,"path":1155,"readingTime":1156,"recommend":16,"tags":1160,"title":1161,"type":16,"updated":1153},[6],"2024-06-10 22:15:04","我们该使用那个呢 🧐？","\u002Fposts\u002F2024\u002Fnuxt3-useasyncdata-vs-usefetch",{"text":494,"minutes":1157,"time":1158,"words":1159},4.215,252900,843,[],"Nuxt3 useAsyncData vs useFetch",{"categories":1163,"date":1164,"description":16,"image":1165,"path":1166,"readingTime":1167,"recommend":16,"tags":1170,"title":1171,"type":16,"updated":1164},[6],"2024-12-08 10:08:01","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Frsbuild-start-cover.jpg","\u002Fposts\u002F2024\u002Frsbuild-create-demo",{"text":1168,"minutes":1169,"time":1169,"words":1169},"0 min read",0,[],"Rsbuild创建项目",{"categories":1173,"date":1174,"description":16,"image":1175,"path":1176,"readingTime":1177,"recommend":16,"tags":1181,"title":1182,"type":16,"updated":1174},[6],"2024-01-14 14:41:05","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F679adb9eed32c-78.webp","\u002Fposts\u002F2024\u002Fstellar-theme-add-medium-zoom",{"text":86,"minutes":1178,"time":1179,"words":1180},1.16,69600,232,[],"为您的stellar添加medium-zoom",{"categories":1184,"date":1185,"description":16,"image":1186,"path":1187,"readingTime":1188,"recommend":16,"tags":1192,"title":1193,"type":16,"updated":1185},[6],"2024-04-13 11:54:18","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F679adb7ba4b77-78.webp","\u002Fposts\u002F2024\u002Ftips",{"text":56,"minutes":1189,"time":1190,"words":1191},0.4,24000,80,[],"最近学习到的小知识",{"categories":1195,"date":1196,"description":16,"image":1197,"path":1198,"readingTime":1199,"recommend":16,"tags":1200,"title":1201,"type":16,"updated":1196},[6],"2024-03-17 00:14:35","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F679adb4c34f00-78.webp","\u002Fposts\u002F2024\u002Fts-as",{"text":12,"minutes":1100,"time":1101,"words":1102},[],"TypeScript 断言",{"categories":1203,"date":1204,"description":16,"image":1197,"path":1205,"readingTime":1206,"recommend":16,"tags":1210,"title":1211,"type":16,"updated":1204},[6],"2024-03-16 23:59:14","\u002Fposts\u002F2024\u002Fts-basic-type",{"text":494,"minutes":1207,"time":1208,"words":1209},4.595,275700,919,[],"TypeScript 基本数据类型",{"categories":1213,"date":1214,"description":16,"image":1197,"path":1215,"readingTime":1216,"recommend":16,"tags":1220,"title":1221,"type":16,"updated":1214},[6],"2024-03-17 00:23:37","\u002Fposts\u002F2024\u002Fts-class",{"text":844,"minutes":1217,"time":1218,"words":1219},6.03,361800,1206,[],"TypeScript 类",{"categories":1223,"date":1224,"description":16,"image":1225,"path":1226,"readingTime":1227,"recommend":16,"tags":1231,"title":1232,"type":16,"updated":1224},[6],"2024-03-17 00:27:44","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F67a188c8ab863-78.webp","\u002Fposts\u002F2024\u002Fts-decorators",{"text":1039,"minutes":1228,"time":1229,"words":1230},7.475,448500,1495,[],"TypeScript 装饰器",{"categories":1234,"date":1235,"description":16,"image":1236,"path":1237,"readingTime":1238,"recommend":16,"tags":1239,"title":1241,"type":16,"updated":1235},[6],"2022-12-05 16:32:15","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F67a2250922489-78.webp","\u002Fposts\u002F2024\u002Fts-enum",{"text":56,"minutes":1135,"time":1136,"words":1137},[1240],"ts","TypeScript 枚举",{"categories":1243,"date":1244,"description":16,"image":1197,"path":1245,"readingTime":1246,"recommend":16,"tags":1250,"title":1251,"type":16,"updated":1244},[6],"2024-03-17 00:18:11","\u002Fposts\u002F2024\u002Fts-generics",{"text":86,"minutes":1247,"time":1248,"words":1249},1.68,100800,336,[],"TypeScript 泛型",{"categories":1253,"date":1254,"description":16,"image":1255,"path":1256,"readingTime":1257,"recommend":16,"tags":1261,"title":1262,"type":16,"updated":1254},[6],"2024-03-17 00:27:25","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F67a221939a175-78.webp","\u002Fposts\u002F2024\u002Fts-interface-and-type",{"text":12,"minutes":1258,"time":1259,"words":1260},2.96,177600,592,[],"TypeScript interface和type",{"categories":1264,"date":1265,"description":16,"image":1266,"path":1267,"readingTime":1268,"recommend":16,"tags":1272,"title":1273,"type":16,"updated":1265},[6],"2024-03-17 00:28:24","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F67a1886db2b71-78.webp","\u002Fposts\u002F2024\u002Fts-namespace",{"text":56,"minutes":1269,"time":1270,"words":1271},0.505,30300,101,[],"TypeScript 命名空间",{"categories":1275,"date":1276,"description":16,"image":1277,"path":1278,"readingTime":1279,"recommend":16,"tags":1283,"title":1284,"type":16,"updated":1276},[6],"2024-03-17 00:26:43","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F67a221c1b0971-78.webp","\u002Fposts\u002F2024\u002Fts-tuple",{"text":56,"minutes":1280,"time":1281,"words":1282},0.57,34200,114,[],"TypeScript 元组",{"categories":1286,"date":1287,"description":1288,"image":16,"path":1289,"readingTime":1290,"recommend":16,"tags":1291,"title":1293,"type":16,"updated":1287},[6],"2024-01-06 17:02:26","这次我们在 vitepress 中添加图片预览功能！","\u002Fposts\u002F2024\u002Fvitepress-add-image-preview",{"text":56,"minutes":670,"time":671,"words":672},[1292,452],"转载","给你的vitepress添加图片预览功能",{"categories":1295,"date":1297,"description":1298,"image":1299,"path":1300,"readingTime":1301,"recommend":16,"tags":1305,"title":1307,"type":16,"updated":1297},[1296],"译","2024-12-15 12:44:24","在本文中，我想列出这些最佳实践，以便您可以开始在 Vue 项目中使用它们:)","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F679f1397bdb26-78.webp","\u002Fposts\u002F2024\u002Fvue-cleaner-vue-code",{"text":494,"minutes":1302,"time":1303,"words":1304},4.385,263100,877,[895,1306],"翻译","【翻译】编写更简洁的Vue.js代码的10个技巧",{"categories":1309,"date":1310,"description":1311,"image":1312,"path":1313,"readingTime":1314,"recommend":16,"tags":1319,"title":1320,"type":16,"updated":1310},[1296],"2024-12-15 13:38:52","在本文中，我将总结我们创建的想法，并将它们与我在几篇文章中读到的良好实践和设计模式相结合。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F679f12e4c539c-78.webp","\u002Fposts\u002F2024\u002Fvue-good-practices-and-design-patterns-for-vue-composables",{"text":1315,"minutes":1316,"time":1317,"words":1318},"9 min read",8.065,483900,1613,[],"【翻译】Vue 可组合项的良好实践和设计模式",{"categories":1322,"date":1323,"description":1324,"image":1325,"path":1326,"readingTime":1327,"recommend":16,"tags":1331,"title":1332,"type":16,"updated":1323},[1296],"2024-12-17 15:39:05","在本文中，我想向您展示如何在 Vue 应用程序中利用这个强大的浏览器原生功能 🚀","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fvue-using-URL-to-store-state-in-vue.jpg","\u002Fposts\u002F2024\u002Fvue-using-url-to-store-state-in-vue",{"text":12,"minutes":1328,"time":1329,"words":1330},2.11,126600,422,[],"【翻译】在 Vue 中使用 URL 存储状态",{"categories":1334,"date":1335,"description":1336,"image":1337,"path":1338,"readingTime":1339,"recommend":16,"tags":1340,"title":1341,"type":16,"updated":1335},[6],"2024-03-07 20:23:27","自定义指令可以方便的复用一些需要操作 DOM 的逻辑","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fvue3-batch-registers-custom-directive.jpg","\u002Fposts\u002F2024\u002Fvue3-batch-registers-custom-directive",{"text":56,"minutes":100,"time":101,"words":102},[],"Vue3 批量注册自定义指令",{"categories":1343,"date":1344,"description":1345,"image":507,"path":1346,"readingTime":1347,"recommend":16,"tags":1351,"title":1352,"type":16,"updated":1344},[6],"2024-03-09 23:23:27","自定义一个权限指令来动态显示、隐藏， 详细代码可查看https:\u002F\u002Fgithub.com\u002FWhbbit1999\u002Fsable。这里只列出了主要的代码","\u002Fposts\u002F2024\u002Fvue3-permission-directive",{"text":86,"minutes":1348,"time":1349,"words":1350},1.405,84300,281,[],"Vue3 权限指令",{"categories":1354,"date":1355,"description":1356,"image":16,"path":1357,"readingTime":1358,"recommend":16,"tags":1362,"title":1363,"type":502,"updated":1364},[517],"2025-07-18 17:21:11","今天是山阴县传统庙会的日子，也是小舅舅结婚的日子。","\u002Fposts\u002F2025\u002F0718-life",{"text":56,"minutes":1359,"time":1360,"words":1361},0.34,20400,68,[],"乙巳年六月廿四","2025-09-12 15:21:11",{"categories":1366,"date":1367,"description":1368,"image":1369,"path":1370,"readingTime":1371,"recommend":16,"tags":1372,"title":1373,"type":16,"updated":1367},[517],"2025-01-28 23:23:01","现在过年不像小时候那样充满了热闹的气氛，而是一些冷清的感觉。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F6798facd3bada-78.webp","\u002Fposts\u002F2025\u002F2025-nongli-new-year",{"text":86,"minutes":87,"time":88,"words":89},[],"乙巳年除夕记",{"categories":1375,"date":1376,"description":1377,"image":16,"path":1378,"readingTime":1379,"recommend":16,"tags":1383,"title":1384,"type":502,"updated":1376},[517],"2025-12-31 15:35:20","2025再有几个小时就结束了。用一段模拟对话，看看今年做了什么吧！","\u002Fposts\u002F2025\u002F2025-year-end-summary",{"text":494,"minutes":1380,"time":1381,"words":1382},4.98,298800,996,[],"2025年终总结",{"categories":1386,"date":1387,"description":1388,"image":16,"path":1389,"readingTime":1390,"recommend":16,"tags":1391,"title":1392,"type":502,"updated":1387},[517],"2025-12-25 10:24:40","农历生日在明天，紧挨着圣诞节。今日心血来潮，想写些文字，回看这一年。","\u002Fposts\u002F2025\u002F27-year-old",{"text":86,"minutes":290,"time":291,"words":292},[],"廿七碎笔",{"categories":1394,"date":1395,"description":1396,"image":16,"path":1397,"readingTime":1398,"recommend":16,"tags":1399,"title":1400,"type":16,"updated":1395},[6],"2025-01-07 11:42:03","使用Vue3和Strapi实现一个简易的文件共享系统，可以方便的在局域网内使用账号密码分享文件。","\u002Fposts\u002F2025\u002Fa-simple-file-share-system",{"text":12,"minutes":796,"time":797,"words":798},[],"一个简易的文件共享系统的实现",{"categories":1402,"date":1403,"description":1404,"image":1405,"path":1406,"readingTime":1407,"recommend":716,"tags":1411,"title":1412,"type":16,"updated":1403},[1296],"2025-01-14 13:46:17","几天前，我想构建一个 Vue 组件，它能够显示嵌套节点树，但我们不知道确切的嵌套数量 - 因此它需要能够递归工作。我很惊讶网络上没有太多关于它的资源，所以我决定写一篇关于它的文章。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002FBuilding-Recursive-components-in-Vue.jpg","\u002Fposts\u002F2025\u002Fbuilding-recursive-components-in-vue",{"text":70,"minutes":1408,"time":1409,"words":1410},3.23,193800,646,[895],"【翻译】在 Vue 中构建递归组件",{"categories":1414,"date":1415,"description":1416,"image":1417,"path":1418,"readingTime":1419,"recommend":16,"tags":1423,"title":1425,"type":16,"updated":1415},[1296],"2025-02-05 15:29:37","在我的 Vue 项目中，我最近需要检查一个插槽是否为空。这个用例是一个可以接受一些内容的插槽的组件，但它也可以在没有它的情况下工作。为此，我查阅了 Vue 文档并自己进行了一些实验，看看是否能让它工作，结果令我非常惊喜，这又是 Vue 框架内置的另一个非常有用的功能。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002FChecking%20if%20a%20slot%20is%20empty%20in%20Vue.jpg","\u002Fposts\u002F2025\u002Fchecking-if-a-slot-is-empty-in-vue",{"text":12,"minutes":1420,"time":1421,"words":1422},2.42,145200,484,[895,1424],"slot","【翻译】Vue 检查 slot 是否为空",{"categories":1427,"date":1428,"description":1429,"image":1430,"path":1431,"readingTime":1432,"recommend":716,"tags":1436,"title":1440,"type":16,"updated":1441},[1296],"2025-01-10 14:31:21","更好的测试之路始于一些非常简单的事情。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002FFrontend%20Testing%20Guide%20-%2010%20Essential%20Rules%20for%20Naming%20Tests.jpg","\u002Fposts\u002F2025\u002Ffrontend-testing-guide-10-essential-rules-for-naming-tests",{"text":1039,"minutes":1433,"time":1434,"words":1435},7.545,452700,1509,[1437,1438,1439],"测试","前端","指南","【翻译】前端测试指南：命名测试的 10 条基本规则","2026-02-07 23:23:50",{"categories":1443,"date":1444,"description":1445,"image":1446,"path":1447,"readingTime":1448,"recommend":16,"tags":1453,"title":1455,"type":16,"updated":1444},[1296],"2025-02-05 15:53:41","Vue 旨在高效处理大多数典型用例，无需大量手动调整。但有时，您会遇到需要更多微调的情况。在本文中，我们将探讨优化 Vue 应用程序性能时需要注意的关键事项。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002FHow%20To%20Optimize%20Performance%20In%20Vue%20Apps.jpg","\u002Fposts\u002F2025\u002Fhow-to-optimize-performance-in-vue-apps",{"text":1449,"minutes":1450,"time":1451,"words":1452},"16 min read",15.41,924600,3082,[895,1454,1306],"性能优化","【翻译】如何优化 Vue 应用性能",{"categories":1457,"date":1458,"description":16,"image":1459,"path":1460,"readingTime":1461,"recommend":716,"tags":1462,"title":1464,"type":16,"updated":1441},[1296],"2025-01-06 11:24:05","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002FHow-to-Use-the-Variant-Props-Pattern-in-Vue.jpg","\u002Fposts\u002F2025\u002Fhow-to-use-the-variant-props-pattern-in-vue",{"text":494,"minutes":1380,"time":1381,"words":1382},[1463,895],"Props","【翻译】 如何在 Vue 中使用Props变体",{"categories":1466,"date":1467,"description":1468,"image":16,"path":1469,"readingTime":1470,"recommend":16,"tags":1474,"title":1475,"type":16,"updated":1467},[6],"2025-04-30 16:15:29","Intl 对象是 ECMAScript 国际化 API 的一个命名空间，它提供了精确的字符串对比、数字格式化，和日期时间格式化。Can I Use 中查询到它已经有 94.47% 适配，所以我们可以在项目中使用它。","\u002Fposts\u002F2025\u002Fintl-numberformat",{"text":12,"minutes":1471,"time":1472,"words":1473},2.335,140100,467,[],"使用Intl.NumberFormat对数字进行格式化",{"categories":1477,"date":1479,"description":1480,"image":1481,"path":1482,"readingTime":1483,"recommend":16,"tags":1487,"title":1488,"type":502,"updated":1479},[1478],"成长","2025-12-06 22:28:27","亲爱的陌生人，我的第一次分享合集完结了，带着一些不完美，一些坚持，和一些想对你说的话。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002FYS_cover.jpg","\u002Fposts\u002F2025\u002Fys-project-conclusion",{"text":70,"minutes":1484,"time":1485,"words":1486},3.2,192000,640,[],"乙巳项目结语",{"categories":1490,"date":1491,"description":1492,"image":1493,"path":1494,"readingTime":1495,"recommend":16,"tags":1499,"title":1500,"type":502,"updated":1491},[6],"2025-04-20 16:38:09","有关 shadcn-vue-admin 模板的说明。shadcn-vue-admin是一个管理仪表板，采用 Shadcn-vue、Vue3 和 Vite 精心打造。构建时充分考虑了响应能力和可访问性。这是一个起始（模板）项目，后续会增加更多组件。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002FShadcn-Vue-Admin-Dashboard.png","\u002Fposts\u002F2025\u002Fabout-shadcn-vue-admin",{"text":70,"minutes":1496,"time":1497,"words":1498},3.375,202500,675,[],"shadcn-vue-admin 说明",{"categories":1502,"date":1503,"description":1504,"image":1505,"path":1506,"readingTime":1507,"recommend":16,"tags":1511,"title":1512,"type":16,"updated":1441},[1296],"2025-02-14 15:43:50","清晰的写作需要清晰的思考。对于编码也是有效的。启动个人项目时，将所有组件扔入一个文件夹中可能会起作用。但是随着项目的增长，尤其是在较大的团队中，这种方法会导致问题：","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F67aef51e90a66-78.webp","\u002Fposts\u002F2025\u002Fatomic-design-vue-or-nuxt",{"text":1039,"minutes":1508,"time":1509,"words":1510},7.47,448200,1494,[895,732],"【翻译】Vue 和 Nuxt 中的 Atomic Design",{"categories":1514,"date":1515,"description":1516,"image":1517,"path":1518,"readingTime":1519,"recommend":16,"tags":1523,"title":1524,"type":16,"updated":1515},[6],"2025-04-24 17:47:42","Better Auth 是一个与框架无关的 TypeScript 身份验证和授权框架。它提供了一套全面的开箱即用功能，并包含一个插件生态系统，简化了高级功能的添加。本文我们将使用 hono 集成它，并在 vue 中使用它。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fbetter-auth-with-hono.png","\u002Fposts\u002F2025\u002Fbetter-auth",{"text":1039,"minutes":1520,"time":1521,"words":1522},7.415,444900,1483,[],"hono 集成 Better Auth",{"categories":1526,"date":1527,"description":1528,"image":1529,"path":1530,"readingTime":1531,"recommend":16,"tags":1535,"title":1537,"type":16,"updated":1441},[1296],"2025-02-14 11:32:59","创建一个 Pinia 插件，使用 BroadcastChannel API 实现跨浏览器选项卡的状态同步。该插件允许您标记特定存储以进行跨 Tab 同步，并通过基于时间戳的冲突解决自动处理状态更新。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F67aed7b7cb893-78.webp","\u002Fposts\u002F2025\u002Fbuilding-a-pinia-plugin-for-cross-tab-state-syncing",{"text":844,"minutes":1532,"time":1533,"words":1534},6.395,383700,1279,[1536,895],"Pinia","【翻译】构建 Pinia 插件进行跨标签页状态同步",{"categories":1539,"date":1540,"description":1541,"image":1542,"path":1543,"readingTime":1544,"recommend":16,"tags":1548,"title":1552,"type":16,"updated":1540},[6],"2025-06-15 15:47:28","你是否还在为配置 Nginx 而烦恼？是否还在为 SSL 证书的续期而头疼？Caddy 是一个现代化的 Web 服务器，它可以自动处理 HTTPS 和反向代理等任务，让你专注于开发而不是服务器配置。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fuse-caddy.png","\u002Fposts\u002F2025\u002Fcaddy",{"text":70,"minutes":1545,"time":1546,"words":1547},3.59,215400,718,[32,1549,439,1550,1551],"Caddy","反向代理","HTTPS","使用 caddy 替换 nginx",{"categories":1554,"date":1555,"description":1556,"image":1557,"path":1558,"readingTime":1559,"recommend":16,"tags":1563,"title":1564,"type":16,"updated":1555},[6],"2025-07-10 17:10:24","本文讲述一部分使用 Vue 的小技巧，帮助你写出更干净的组件。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fclean-vue-component.png","\u002Fposts\u002F2025\u002Fclean-vue-component",{"text":12,"minutes":1560,"time":1561,"words":1562},2.87,172200,574,[],"如何写出干净的组件",{"categories":1566,"date":1567,"description":1568,"image":1569,"path":1570,"readingTime":1571,"recommend":16,"tags":1575,"title":1580,"type":16,"updated":1567},[6],"2025-09-13 16:43:24","没有大佬帮助的话，用 AI review 代码也不错","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002FCodeRabbitAIUse01.jpg","\u002Fposts\u002F2025\u002Fcoderabbitai-use",{"text":12,"minutes":1572,"time":1573,"words":1574},2.5,150000,500,[1576,1577,1578,1579],"AI","Code Review","代码审查","工具使用","五分钟内免费集成 CodeRabbit 到你的项目中",{"categories":1582,"date":1583,"description":1584,"image":1585,"path":1586,"readingTime":1587,"recommend":16,"tags":1591,"title":1592,"type":16,"updated":1583},[51],"2025-04-27 10:56:14","快来使用 chatgpt 免费的功能来制作属于你自己的小贴纸吧","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fcreate-own-sticker-use-chatgpt.jpg","\u002Fposts\u002F2025\u002Fcreate-own-sticker-use-chatgpt",{"text":56,"minutes":1588,"time":1589,"words":1590},0.1,6000,20,[],"使用 chatgpt 制作自己的小贴纸",{"categories":1594,"date":1595,"description":1596,"image":1597,"path":1598,"readingTime":1599,"recommend":16,"tags":1603,"title":1606,"type":16,"updated":1595},[1296],"2025-05-06 13:30:25","Nuxt 的领域驱动设计 (DDD) 使开发者能够根据业务需求调整软件架构，从而更有效地构建应用程序。本文将深入探讨 Nuxt Layers ，以及它如何增强 Nuxt 中的 DDD 方法，通过将复杂的应用程序组织到层中，从而提高可扩展性和可维护性，使其更易于管理。最终，您将掌握在自己的 Nuxt 项目中应用 DDD 原则的知识。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F6819a42874dee-78.webp","\u002Fposts\u002F2025\u002Fdomain-driven-design-with-nuxt-layers",{"text":844,"minutes":1600,"time":1601,"words":1602},6.285,377100,1257,[1306,732,1604,1605],"Nuxt Layers","DDD","【翻译】使用 Nuxt Layers 进行领域驱动设计",{"categories":1608,"date":1609,"description":1610,"image":16,"path":1611,"readingTime":1612,"recommend":16,"tags":1616,"title":1620,"type":16,"updated":1609},[6],"2025-09-11 12:31:08","还蛮好用的！","\u002Fposts\u002F2025\u002Fdrizzle-in-monorepo",{"text":1039,"minutes":1613,"time":1614,"words":1615},7.785,467100,1557,[1617,1618,1619],"monorepo","drizzle","tanstack","利用 monorepo 在项目中共享 drizzle schema 定义和类型",{"categories":1622,"date":1623,"description":1624,"image":1625,"path":1626,"readingTime":1627,"recommend":16,"tags":1631,"title":1632,"type":16,"updated":1623},[6],"2025-02-12 10:35:29","虽然 Drizzle ORM 还没有到 1.0，但是凭借其出色的性能，已经得到了不少的关注了。在它官网的基准测试里，比现在很火的 Prisma 快了好多。我们一起来看一下这个库如何使用吧！","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F67ac3e8a1817b-78.webp","\u002Fposts\u002F2025\u002Fdrizzle.orm-use",{"text":70,"minutes":1628,"time":1629,"words":1630},3.71,222600,742,[],"Drizzle ORM 使用",{"categories":1634,"date":1635,"description":1636,"image":1637,"path":1638,"readingTime":1639,"recommend":16,"tags":1644,"title":1645,"type":502,"updated":1646},[1478],"2025-03-17 20:16:05","北京很好，也没那么差。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fescape-from-beijing.jpg","\u002Fposts\u002F2025\u002Fescape-from-beijing",{"text":1640,"minutes":1641,"time":1642,"words":1643},"13 min read",12.195,731700,2439,[],"逃离北京","2025-11-07 12:28:05",{"categories":1648,"date":1649,"description":1650,"image":16,"path":1651,"readingTime":1652,"recommend":16,"tags":1657,"title":1662,"type":16,"updated":1649},[6],"2025-12-29 10:36:19","BullMQ 是一个快速且强大的 Redis™ 后台作业处理库。","\u002Fposts\u002F2025\u002Ffitst-experience-with-bullmq",{"text":1653,"minutes":1654,"time":1655,"words":1656},"6 min read",5.275,316500,1055,[1658,1659,1660,1661],"bullmq","queue","nodejs","redis","BullMQ 初体验",{"categories":1664,"date":1665,"description":1666,"image":16,"path":1667,"readingTime":1668,"recommend":16,"tags":1672,"title":1673,"type":16,"updated":1665},[6],"2025-01-15 14:16:16","使用 Docker 构建 Nuxt 项目","\u002Fposts\u002F2025\u002Ffrom-local-to-production-deploy-nuxt-with-docker",{"text":70,"minutes":1669,"time":1670,"words":1671},3.175,190500,635,[732],"从本地到生产：使用 Docker 部署 Nuxt",{"categories":1675,"date":1676,"description":1677,"image":1678,"path":1679,"readingTime":1680,"recommend":716,"tags":1684,"title":1685,"type":16,"updated":1676},[6],"2025-01-16 07:31:53","简单的给你的项目配置和使用 Git 提交规范","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F679f0d37ddcd1-78.webp","\u002Fposts\u002F2025\u002Fgit-angular-push-rules",{"text":1315,"minutes":1681,"time":1682,"words":1683},8.11,486600,1622,[91],"Git 提交规范及其在项目里的使用",{"categories":1687,"date":1688,"description":1689,"image":1690,"path":1691,"readingTime":1692,"recommend":716,"tags":1696,"title":1697,"type":16,"updated":1688},[1296],"2025-01-28 17:56:14","计算属性是 Vue 中的一个强大功能，允许您根据响应式状态动态推导和转换数据。当正确使用时，它们可以使您的代码更简洁、更高效、更易于维护。然而，不当的使用可能会导致意外的错误和性能问题。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fgood-practices-for-vue-computed-properties.jpg","\u002Fposts\u002F2025\u002Fgood-practices-for-vue-computed-properties",{"text":494,"minutes":1693,"time":1694,"words":1695},4.14,248400,828,[],"【翻译】Vue 计算属性的良好实践",{"categories":1699,"date":1700,"description":1701,"image":16,"path":1702,"readingTime":1703,"recommend":16,"tags":1707,"title":1709,"type":16,"updated":1441},[1296],"2025-03-02 10:10:47","在本指南中，您将学习如何使用 Vitest 为 Vue 组件设置视觉回归测试。","\u002Fposts\u002F2025\u002Fhow-to-do-visual-regression-testing-in-vue-with-vitest",{"text":844,"minutes":1704,"time":1705,"words":1706},6.765,405900,1353,[1306,895,1708],"Vitest","【翻译】如何使用 Vitest 在 Vue 中进行视觉回归测试？",{"categories":1711,"date":1712,"description":1713,"image":16,"path":1714,"readingTime":1715,"recommend":16,"tags":1719,"title":1721,"type":16,"updated":1712},[6],"2025-01-22 13:49:51","在暗黑模式下显示亮色图标，亮色模式下显示暗色图标！！","\u002Fposts\u002F2025\u002Fhow-to-dynamically-change-favicon-for-dark-and-light-mode",{"text":56,"minutes":1716,"time":1717,"words":1718},0.19,11400,38,[1720],"暗黑模式","如何让网站图标跟随系统主题变化？",{"categories":1723,"date":1724,"description":1725,"image":1726,"path":1727,"readingTime":1728,"recommend":716,"tags":1733,"title":1734,"type":16,"updated":1724},[1296],"2025-05-06 09:40:22","构建 Vue.js 应用程序的最佳方法是什么，以便它可以随着规模的增长而扩展并保持可维护性和可扩展性？这是我在很多场合听到过的一个问题，我认为这个问题的答案在于可预测性原则。当谈到创建一个可扩展的项目时，您希望它的一切都尽可能可预测。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F68198095a615b-78.webp","\u002Fposts\u002F2025\u002Fhow-to-structure-a-large-scale-vue-application",{"text":1729,"minutes":1730,"time":1731,"words":1732},"24 min read",23.555,1413300,4711,[1306,895,732],"【翻译】如何构建大型 Vue 应用程序",{"categories":1736,"date":1737,"description":1738,"image":1739,"path":1740,"readingTime":1741,"recommend":16,"tags":1746,"title":1747,"type":16,"updated":1441},[1296],"2025-02-14 14:18:31","这篇文章涵盖了适合不同项目规模的各种 Vue 项目结构","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F67aef11ea579d-78.webp","\u002Fposts\u002F2025\u002Fhow-to-structure-vue-projects",{"text":1742,"minutes":1743,"time":1744,"words":1745},"14 min read",13.475,808500,2695,[895],"【翻译】如何选择 Vue 项目架构",{"categories":1749,"date":1750,"description":1751,"image":16,"path":1752,"readingTime":1753,"recommend":16,"tags":1757,"title":1759,"type":16,"updated":1441},[1296],"2025-03-02 09:45:11","本指南将向你展示如何使用真实的路由集成来测试 Vue Router 组件，并使用 mock 进行隔离组件测试。您将学习验证路由-链路交互、编程导航和导航守卫处理。","\u002Fposts\u002F2025\u002Fhow-to-test-vue-router-components-with-testing-library-and-vitest",{"text":844,"minutes":1754,"time":1755,"words":1756},6.5,390000,1300,[1708,1758,895],"Vue Router","【翻译】如何使用测试库和 Vitest 测试 Vue Router 组件",{"categories":1761,"date":1762,"description":1763,"image":1764,"path":1765,"readingTime":1766,"recommend":16,"tags":1770,"title":1774,"type":16,"updated":1762},[6],"2025-06-12 16:23:42","现在你可以使用 Vue Router 的类型化路由来增强你的 Vue 应用的类型安全性和可维护性。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fvue-router-typed-router-cover.png","\u002Fposts\u002F2025\u002Fhow-use-typed-vue-router",{"text":12,"minutes":1767,"time":1768,"words":1769},2.19,131400,438,[1771,895,1758,1772,1773],"TypeScript","unplugin-vue-router","Vite","如何使用 Vue Router 的类型化路由",{"categories":1776,"date":1777,"description":1778,"image":1779,"path":1780,"readingTime":1781,"recommend":716,"tags":1785,"title":1788,"type":502,"updated":1777},[51],"2025-02-24 15:43:24","一些前端需要的技能学习网站","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F67bc78456a606-78.webp","\u002Fposts\u002F2025\u002Flearn-site",{"text":56,"minutes":1782,"time":1783,"words":1784},0.22,13200,44,[1786,1787],"学习","站点搜集","编程学习网站",{"categories":1790,"date":1791,"description":1792,"image":1793,"path":1794,"readingTime":1795,"recommend":16,"tags":1799,"title":1803,"type":16,"updated":1791},[6],"2025-08-10 22:53:48","在登录时，我们需要提供一个验证码来防止攻击，这篇文章就来说明一下如何实现验证码模块。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fnest-captcha.jpg","\u002Fposts\u002F2025\u002Fnest-captcha",{"text":70,"minutes":1796,"time":1797,"words":1798},3.41,204600,682,[317,1800,1801,1802,1661],"captcha","验证码","cache","在 Nestjs 中使用验证码",{"categories":1805,"date":1806,"description":1807,"image":1808,"path":1809,"readingTime":1810,"recommend":16,"tags":1814,"title":1817,"type":16,"updated":1806},[6],"2025-08-11 00:07:11","nestjs 官方的 nest-config 模块已经很好用了，但是我们有更好用的方法！","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fnest-config.jpg","\u002Fposts\u002F2025\u002Fnest-config",{"text":12,"minutes":1811,"time":1812,"words":1813},2.615,156900,523,[317,1815,1816],"nest-config","人体工学","nest-config 模块的人体工学适配",{"categories":1819,"date":1820,"description":1821,"image":1822,"path":1823,"readingTime":1824,"recommend":16,"tags":1828,"title":1829,"type":16,"updated":1830},[6],"2025-08-06 23:01:32","drizzle 是一个很好的 ORM 框架，但是它如何结合强大的 Nestjs 来使用呢？官方文档中并没有说明，我们这里做一点简单的“教程”，希望能对你有所帮助！","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fuse-drizzle-in-nestjs.jpg","\u002Fposts\u002F2025\u002Fnestjs-drizzle",{"text":494,"minutes":1825,"time":1826,"words":1827},4.795,287700,959,[317,1618],"在 Nestjs 中使用 Drizzle ORM","2025-08-10 23:40:32",{"categories":1832,"date":1833,"description":1834,"image":1835,"path":1836,"readingTime":1837,"recommend":16,"tags":1838,"title":1839,"type":16,"updated":1833},[6],"2025-08-02 11:44:47","在 nodejs 开发 API 时，使用 swagger 生成文档很方便，但是默认的样式看起来不是特别漂亮。而 scalar 为我们提供了很好的界面。今天我们就一起把它集成到 nestjs 中。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fuse-scalar-in-nestjs.jpg","\u002Fposts\u002F2025\u002Fnestjs-scalar",{"text":12,"minutes":1811,"time":1812,"words":1813},[317],"在 nestjs 中使用 scalar",{"categories":1841,"date":1842,"description":1843,"image":1844,"path":1845,"readingTime":1846,"recommend":16,"tags":1850,"title":1851,"type":16,"updated":1842},[6],"2025-12-02 11:22:26","用于用于检测用户的浏览器、作系统、CPU 和设备类型\u002F型号。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fpackage-recommend-ua-parser-js.jpg","\u002Fposts\u002F2025\u002Fpackage-recommend-ua-parser-js",{"text":56,"minutes":1847,"time":1848,"words":1849},0.47,28200,94,[],"实用包推荐：ua-parser-js",{"categories":1853,"date":1854,"description":1855,"image":1856,"path":1857,"readingTime":1858,"recommend":16,"tags":1862,"title":1863,"type":502,"updated":1864},[517],"2025-02-19 12:37:18","25 年回北京记","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002F67bd7375253de-78.webp","\u002Fposts\u002F2025\u002Frecent-summary",{"text":1039,"minutes":1859,"time":1860,"words":1861},7.335,440100,1467,[],"近日小结【随机犯病篇】","2025-02-25 12:37:18",{"categories":1866,"date":1867,"description":1868,"image":1869,"path":1870,"readingTime":1871,"recommend":716,"tags":1872,"title":1875,"type":16,"updated":1867},[6],"2025-01-15 14:52:04","使你的环境变量拥有类型,这个是从 Syntax 播客的 CJ 那里学过来的","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fsecurely-share-environment-variables.png","\u002Fposts\u002F2025\u002Fsecurely-share-environment-variables",{"text":12,"minutes":769,"time":770,"words":771},[1873,1874],"zod","env","使用 zod 对.env 文件约束",{"categories":1877,"date":1878,"description":1879,"image":1880,"path":1881,"readingTime":1882,"recommend":16,"tags":1886,"title":1887,"type":502,"updated":1878},[1478],"2025-06-07 12:18:16","shadcn-vue 已经 100 个星了！！！🥳 从2024年12月12日开始在 Github 上发布此仓库已经半年时间了！我想，这 100 个星对于我自己来说是一个大的突破。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fshadcn-vue-admin-100-star.png","\u002Fposts\u002F2025\u002Fshadcn-vue-admin-100-star",{"text":56,"minutes":1883,"time":1884,"words":1885},0.48,28800,96,[],"shadcn-vue-admin 100星留念",{"categories":1889,"date":1890,"description":1891,"image":16,"path":1892,"readingTime":1893,"recommend":16,"tags":1897,"title":1902,"type":16,"updated":1890},[6],"2025-12-31 15:05:56","可以直接复制使用的 Nestjs 自定义装饰器","\u002Fposts\u002F2025\u002Fsnippets-nestjs-custom-decorators",{"text":12,"minutes":1894,"time":1895,"words":1896},2.635,158100,527,[1898,1899,1900,1901],"Nest","Decorator","装饰器","代码片段","一些 Nestjs 的自定义装饰器",{"categories":1904,"date":1905,"description":1906,"image":16,"path":1907,"readingTime":1908,"recommend":16,"tags":1912,"title":1916,"type":16,"updated":1905},[6],"2025-12-30 17:14:59","可以直接复制使用的自定义校验规则","\u002Fposts\u002F2025\u002Fsnippets-nestjs-drizzle-custom-validation",{"text":1653,"minutes":1909,"time":1910,"words":1911},5.51,330600,1102,[1913,1914,1915],"Nestjs","Drizzle","class-validator","Nestjs + Drizzle 项目中一些常用的自定义校验",{"categories":1918,"date":1919,"description":1920,"image":1921,"path":1922,"readingTime":1923,"recommend":16,"tags":1927,"title":1931,"type":16,"updated":1919},[6],"2025-06-07 19:28:44","tailwindcss v4版本使用了 OKLCH 色彩空间，旧版的浏览器兼容性不是很好，如何解决这个问题呢？","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Ftailwindcss-v4-OKLCH-postcss.png","\u002Fposts\u002F2025\u002Ftailwindcss-v4-compatibility-processing",{"text":56,"minutes":1924,"time":1925,"words":1926},0.685,41100,137,[1928,1929,1930,465],"tailwindcss","兼容性","postcss","tailwindcss-v4 兼容性处理",{"categories":1933,"date":1934,"description":1935,"image":1936,"path":1937,"readingTime":1938,"recommend":716,"tags":1942,"title":1943,"type":16,"updated":1934},[1296],"2025-01-14 10:12:32","在本文中，我将深入探讨如何使用 Vitest 来测试 Vue 组件。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Ftesting%20vue%20components%20with%20vitest.jpg","\u002Fposts\u002F2025\u002Ftesting-vue-components-with-vitest",{"text":1653,"minutes":1939,"time":1940,"words":1941},5.11,306600,1022,[895],"【翻译】使用 Vitest 测试 Vue 组件",{"categories":1945,"date":1946,"description":1947,"image":1948,"path":1949,"readingTime":1950,"recommend":16,"tags":1954,"title":1955,"type":502,"updated":1946},[517],"2025-08-11 00:52:34","说起广武，下意识想到的是一双深邃的眸子，再往外就是虚焦的一张脸蛋......","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fyueliangmen.jpg","\u002Fposts\u002F2025\u002Ftravel-guangwu-changcheng",{"text":12,"minutes":1951,"time":1952,"words":1953},2.62,157200,524,[],"广武明长城半日游",{"categories":1957,"date":1958,"description":1959,"image":1960,"path":1961,"readingTime":1962,"recommend":16,"tags":1966,"title":1968,"type":16,"updated":1958},[1296],"2025-11-05 18:00:24","来自 TypeScript 官方的 Wiki 文章，介绍了多种提升 TypeScript 性能的实践方法。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Ftranslate-typescript-performance.jpg","\u002Fposts\u002F2025\u002Ftypescript-performance",{"text":1039,"minutes":1963,"time":1964,"words":1965},8,480000,1600,[1771,1967],"performance","【翻译】编写易于编译的TypeScript代码",{"categories":1970,"date":1971,"description":1972,"image":16,"path":1973,"readingTime":1974,"recommend":16,"tags":1978,"title":1979,"type":502,"updated":1980},[517],"2025-12-12 13:58:37","嘿嘿，看看我用的一些设备吧！","\u002Fposts\u002F2025\u002Fuses",{"text":86,"minutes":1975,"time":1976,"words":1977},1.995,119700,399,[],"目前所用到的设备","2025-12-25 10:18:37",{"categories":1982,"date":1983,"description":1984,"image":16,"path":1985,"readingTime":1986,"recommend":16,"tags":1990,"title":1991,"type":16,"updated":1983},[1296],"2025-01-14 11:02:22","在这篇文章中，我想向您展示如何在一个 Vue 组件中使用两个脚本块，以便您在遇到类似问题时可以解决它。","\u002Fposts\u002F2025\u002Fusing-two-script-blocks-in-vue-single-file-components",{"text":70,"minutes":1987,"time":1988,"words":1989},3.21,192600,642,[895],"【翻译】在Vue单文件组件中使用两个script块",{"categories":1993,"date":1994,"description":1995,"image":1996,"path":1997,"readingTime":1998,"recommend":16,"tags":2002,"title":2006,"type":16,"updated":1994},[6],"2025-07-19 17:59:31","Vue 3.6.0-alpha.1在近几日发布了，它引入了说了很久的 Vapor Mode，今天我们一起看下为什么需要 Vapor Mode 以及目前使用它需要知道的事情。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fvue-vapor-mode.png","\u002Fposts\u002F2025\u002Fvue-alpha-vapor-mode",{"text":1039,"minutes":1999,"time":2000,"words":2001},7.235,434100,1447,[2003,895,2004,2005],"新东西","Vapor Mode","Svelte","Vue Vapor mode 来了",{"categories":2008,"date":2009,"description":2010,"image":2011,"path":2012,"readingTime":2013,"recommend":716,"tags":2017,"title":2019,"type":16,"updated":1441},[1296],"2025-01-06 12:00:00","无论您是刚刚接触 Vue 3 还是一位致力于标准化团队编码风格的经验丰富的开发人员，本指南都可以作为综合资源。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fvue3-composables-guide.jpg","\u002Fposts\u002F2025\u002Fvue3-composables-guide",{"text":1027,"minutes":2014,"time":2015,"words":2016},9.08,544800,1816,[895,2018],"组合式API","【翻译】Vue3 组合式API 完全指南",{"categories":2021,"date":2022,"description":2023,"image":2024,"path":2025,"readingTime":2026,"recommend":16,"tags":2030,"title":2031,"type":16,"updated":1441},[1296],"2025-01-10 14:14:59","使用多个组件实例的唯一 ID 创建动态 Pinia 存储","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fvue3-dynamic-pinia-store.jpg","\u002Fposts\u002F2025\u002Fvue3-dynamic-pinia-store",{"text":56,"minutes":2027,"time":2028,"words":2029},0.99,59400,198,[895,1536],"【翻译】Vue 3 中的动态 Pinia Store",{"categories":2033,"date":2034,"description":2035,"image":2036,"path":2037,"readingTime":2038,"recommend":16,"tags":2042,"title":2045,"type":502,"updated":2034},[6],"2025-09-02 11:09:24","Prisma 很棒，但是 drizzle 更吸引我。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fwhy-di-i-choose-drizzle-orm-in-nodejs.png","\u002Fposts\u002F2025\u002Fwhy-di-i-choose-drizzle-orm-in-nodejs",{"text":494,"minutes":2039,"time":2040,"words":2041},4.145,248700,829,[2043,2044,1771,1618],"ORM","Nodejs","为什么我在 Nodejs 中选择 drizzle",{"categories":2047,"date":2048,"description":2049,"image":2050,"path":2051,"readingTime":2052,"recommend":16,"tags":2056,"title":2057,"type":502,"updated":2058},[6],"2025-01-06 16:38:36","本文讨论一下我为什么要把博客从Hexo迁移到Nuxt","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fwhy-migrate-to-nuxt.jpg","\u002Fposts\u002F2025\u002Fwhy-migrate-to-nuxt",{"text":70,"minutes":2053,"time":2054,"words":2055},3.465,207900,693,[732],"本站为什么要从 Hexo 迁移到 Nuxt","2025-06-18 10:00:00",{"categories":2060,"date":2061,"description":2062,"image":16,"path":2063,"readingTime":2064,"recommend":16,"tags":2065,"title":2066,"type":16,"updated":2061},[6],"2025-06-18 11:19:28","本站为什么呀迁移到 Nuxt Content v3","\u002Fposts\u002F2025\u002Fwhy-migrate-to-nuxt-content-v3",{"text":12,"minutes":1420,"time":1421,"words":1422},[],"为什么升级至 Nuxt Content v3?",{"categories":2068,"date":2069,"description":2070,"image":2071,"path":2072,"readingTime":2073,"recommend":16,"tags":2077,"title":2080,"type":16,"updated":2069},[6],"2025-10-07 09:56:05","shadcn-vue在最近将input-group和button-group组件加进来了，和目前主流的一些组件库相比，缺失的组件已经很少了。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fmaybe-you-should-use-shadcn-vue-cover.jpg","\u002Fposts\u002F2025\u002Fyou-should-use-shadcn-vue",{"text":86,"minutes":2074,"time":2075,"words":2076},1.81,108600,362,[895,2078,1928,2079],"shadcn","ui-component","或许你应该看看 shadcn-vue",{"categories":2082,"date":2083,"description":2084,"image":2085,"path":2086,"readingTime":2087,"recommend":16,"tags":2091,"title":2093,"type":16,"updated":2083},[6],"2025-03-15 18:10:39","本文简单讨论一下 Zod 在项目中的实际使用","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fzod-use.jpg","\u002Fposts\u002F2025\u002Fzod-use",{"text":1653,"minutes":2088,"time":2089,"words":2090},5.71,342600,1142,[2092],"Zod","Zod 基础用法",{"categories":2095,"date":2096,"description":2097,"image":16,"path":2098,"readingTime":2099,"recommend":16,"tags":2103,"title":2107,"type":16,"updated":2096},[6],"2026-01-03 17:02:06","BFF 是一种常见的架构模式，用于为不同类型的前端客户端提供定制化的后端服务。","\u002Fposts\u002F2026\u002Fbff-in-brief",{"text":1653,"minutes":2100,"time":2101,"words":2102},5.445,326700,1089,[2104,2105,2106],"BFF","架构模式","扩展阅读","BFF简述",{"categories":2109,"date":2110,"description":2111,"image":2112,"path":2113,"readingTime":2114,"recommend":16,"tags":2118,"title":2119,"type":502,"updated":2110},[517],"2026-05-23 16:35:56","使用这两款耳机已经有一段时间了，来看看它们的一些特点。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fair-pods-4-vs-air-pods-pro-3-cover.webp","\u002Fposts\u002F2026\u002Fair-pods-4-vs-air-pods-pro-3",{"text":12,"minutes":2115,"time":2116,"words":2117},2.47,148200,494,[],"AirPods 4 VS AirPods pro 3",{"categories":2121,"date":2122,"description":2123,"image":2124,"path":2125,"readingTime":2126,"recommend":16,"tags":2127,"title":2130,"type":16,"updated":2122},[51],"2026-08-16 23:42:13","我的网站已经从 Vercel 迁移到 Cloudflare 中，这中间遇到了一些问题。整理成文，希望在你有迁移的需要并且遇到一些问题的时候能给你一些帮助。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fdeploy-nuxt-static-site-to-cloudflare-pages.webp","\u002Fposts\u002F2026\u002Fdeploy-nuxt-static-site-to-cloudflare-pages",{"text":12,"minutes":2115,"time":2116,"words":2117},[895,732,2128,2129],"Cloudflare","SSG","Nuxt 静态网站部署到 Cloudflare Pages",{"categories":2132,"date":2133,"description":2134,"image":16,"path":2135,"readingTime":2136,"recommend":16,"tags":2140,"title":2142,"type":16,"updated":2133},[51],"2026-07-04 18:30:54","一份为 shadcn-vue 贡献组件代码的完整指南，从寻找 issue 到提交 PR，手把手带你迈出第一步。","\u002Fposts\u002F2026\u002Fhow-to-contribute-to-shadcn-vue",{"text":494,"minutes":2137,"time":2138,"words":2139},4.99,299400,998,[895,2078,2141],"shadcn-vue","手把手教你如何为 shadcn-vue 贡献代码",{"categories":2144,"date":2145,"description":2146,"image":16,"path":2147,"readingTime":2148,"recommend":16,"tags":2153,"title":2157,"type":16,"updated":2145},[6],"2026-01-04 11:15:21","快速查询常见的 HTTP 状态码及含义","\u002Fposts\u002F2026\u002Fhttp-status-codes-and-phrases-cheat-sheet",{"text":2149,"minutes":2150,"time":2151,"words":2152},"60 min read",59.28,3556800,11856,[2154,2155,2156],"HTTP","status","code","HTTP 状态码和短语",{"categories":2159,"date":2160,"description":2161,"image":2162,"path":2163,"readingTime":2164,"recommend":16,"tags":2165,"title":2167,"type":16,"updated":2160},[6],"2026-09-11 16:22:37","为你的网站提供手绘箭头和手写标签。纯 CSS，无需 JavaScript，无需构建步骤——一个独立文件。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fneat-annotations-colors.png","\u002Fposts\u002F2026\u002Fintroduction-to-the-neat-annotations-library",{"text":86,"minutes":313,"time":314,"words":315},[2166],"CSS","neat-annotations 介绍",{"categories":2169,"date":2170,"description":2171,"image":2172,"path":2173,"readingTime":2174,"recommend":16,"tags":2178,"title":2186,"type":502,"updated":2170},[51],"2026-09-12 23:53:13","用 AI 做 IP Logo，先学会做减法 ✂️","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fip-as-logo-skill-cover.webp","\u002Fposts\u002F2026\u002Fip-as-logo-skill",{"text":86,"minutes":2175,"time":2176,"words":2177},1.555,93300,311,[2179,2180,2181,2182,2183,2184,2185],"AI设计","Logo设计","IP形象设计","吉祥物设计","AgentSkills","独立开发","设计工具","AI 做的 Logo 总像插画？试试这个 Skill",{"categories":2188,"date":2189,"description":2190,"image":16,"path":2191,"readingTime":2192,"recommend":16,"tags":2196,"title":2200,"type":16,"updated":2189},[6],"2026-02-10 08:49:04","最近我将自己的 Nest 项目中的 ESLint 和 Prettier 替换为 oxlint 和 oxfmt，至今运行良好。","\u002Fposts\u002F2026\u002Fmigrate-eslint-and-prettier-to-oxlint-and-oxfmt",{"text":70,"minutes":2193,"time":2194,"words":2195},3.78,226800,756,[2197,2198,2199,1898],"ESLint","oxlint","oxfmt","使用 oxlint + oxfmt 替换 ESLint + Prettier",{"categories":2202,"date":2203,"description":2204,"image":2205,"path":2206,"readingTime":2207,"recommend":16,"tags":2211,"title":2212,"type":16,"updated":2213},[51],"2026-08-02 10:50:03","将自己的 Vue 组件发布为 shadcn-vue Registry，并像官方组件一样通过 CLI 安装。","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fpublish-your-own-shadcn-extension-with-cli.webp","\u002Fposts\u002F2026\u002Fpublish-your-own-shadcn-extension-with-cli",{"text":1653,"minutes":2208,"time":2209,"words":2210},5.365,321900,1073,[895,2078,2141],"发布自己的 shadcn-vue 扩展组件，并支持 CLI 安装","2026-08-07 11:48:03",{"categories":2215,"date":2216,"description":2217,"image":2218,"path":2219,"readingTime":2220,"recommend":16,"tags":2221,"title":2225,"type":16,"updated":2226},[51],"2026-08-21 15:30:01","在我这些日子中用到的一些好用的 skill 推荐","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Frecommended-skills-for-personal-use_cover.webp","\u002Fposts\u002F2026\u002Frecommended-skills-for-personal-use",{"text":12,"minutes":915,"time":916,"words":917},[2222,2223,2224],"skill","Ai","Agent","自用 skill 推荐","2026-09-17 18:54:01",{"categories":2228,"date":2229,"description":2230,"image":16,"path":2231,"readingTime":2232,"recommend":16,"tags":2236,"title":2240,"type":502,"updated":2229},[51],"2026-02-14 17:38:14","RIME 输入引擎 + 雾凇拼音用起来是真不错！","\u002Fposts\u002F2026\u002Frime-setting",{"text":494,"minutes":2233,"time":2234,"words":2235},4.28,256800,856,[2237,2238,2239],"输入法","开源","隐私保护","一个不错的本地输入解决方案",{"categories":2242,"date":2243,"description":2244,"image":2245,"path":2246,"readingTime":2247,"recommend":16,"tags":2251,"title":2252,"type":16,"updated":2243},[6],"2026-07-02 22:17:50","Set 新添加了一些好用的 API，我们一起来看看吧！","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fthe-latest-js-set-api-you-can-use-in-2026.webp","\u002Fposts\u002F2026\u002Fthe-latest-js-set-api-you-can-use-in-2026",{"text":70,"minutes":2248,"time":2249,"words":2250},3.995,239700,799,[45],"在 2026 年你可以使用的新的 JavaScript Set API",{"categories":2254,"date":2255,"description":2256,"image":2257,"path":2258,"readingTime":2259,"recommend":16,"tags":2263,"title":2265,"type":16,"updated":2255},[6],"2026-01-06 14:54:01","本文将比较 Zod 和 Valibot 之间的区别，帮助你在选择校验库时做一点参考","https:\u002F\u002Fbitmc.uno\u002Fpicgo\u002Fzod-vs-valibot.png","\u002Fposts\u002F2026\u002Fzod-vs-valibot",{"text":1653,"minutes":2260,"time":2261,"words":2262},5.495,329700,1099,[2092,2264],"Valibot","Zod 和 Valibot 的异同",{"total":2267,"annual":2270,"categories":2285,"tags":2293},{"posts":2268,"words":2269},187,128857,{"2022":2271,"2023":2274,"2024":2277,"2025":2279,"2026":2282},{"posts":2272,"words":2273},40,16226,{"posts":2275,"words":2276},35,15775,{"posts":2272,"words":2278},21117,{"posts":2280,"words":2281},59,55172,{"posts":2283,"words":2284},13,20567,[2286,2288,2289,2290,2291],{"name":6,"posts":2287},130,{"name":51,"posts":2283},{"name":517,"posts":1590},{"name":1296,"posts":683},{"name":1478,"posts":2292},3,[18,19,32,45,46,47,61,75,76,77,91,104,105,106,128,129,141,142,143,155,156,168,169,181,270,282,317,376,388,389,414,415,439,452,465,499,500,594,614,638,662,685,686,720,732,746,747,760,761,773,786,787,800,871,872,895,466,943,955,956,1055,1068,1069,1115,1240,1292,1306,1424,1437,1438,1439,1454,1463,1536,1549,1550,1551,1576,1577,1578,1579,1604,1605,1617,1618,1619,1658,1659,1660,1661,1708,1720,1758,1771,1772,1773,1786,1787,1800,1801,1802,1815,1816,1873,1874,1898,1899,1900,1901,1913,1914,1915,1928,1929,1930,1967,2003,2004,2005,2018,2043,2044,2078,2079,2092,2104,2105,2106,2128,2129,2141,2154,2155,2156,2166,2179,2180,2181,2182,2183,2184,2185,2197,2198,2199,2222,2223,2224,2237,2238,2239,2264],1789642583073]