[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"site-settings":3,"tag-projects-xiao-lv-gong-ju":48,"footer-friends":60,"tag-posts-xiao-lv-gong-ju":73,"sidebar-tags":120,"sidebar-donations":258,"ad-sidebar_top":265,"ad-sidebar_mid":267,"ad-sidebar_bottom":269},{"alipayQr":4,"beianNumber":5,"commentsRequireApproval":6,"contactEmail":7,"copyrightNotice":5,"donationEnabled":6,"emailCodeExpireMinutes":8,"enableRegistration":6,"followBilibiliUrl":9,"followGithubUrl":10,"followQqGroup":11,"followQqQr":12,"followWechatQr":13,"footerHtml":5,"gaTrackingId":5,"heroEnabled":6,"heroSearchPlaceholder":5,"heroSubtitle":14,"heroTitle":15,"homeCategoryTabsCount":16,"homePageSize":17,"homeProjectsCount":18,"homeSpecialsCount":19,"homeToolsCount":18,"icpNumber":20,"inviteDefaultQuota":21,"inviteRequired":22,"logoUrl":23,"mailPasswordChangedBody":24,"mailPasswordChangedSubject":25,"mailRegisterCodeBody":26,"mailRegisterCodeSubject":27,"mailResetCodeBody":28,"mailResetCodeSubject":29,"mailWelcomeBody":30,"mailWelcomeSubject":31,"miniappAppid":32,"miniappEnabled":6,"profileAvatar":33,"profileBio":34,"profileName":35,"profileWechatQr":36,"promoteEnabled":6,"promoteNotice":5,"promoteWechat":5,"requireEmailVerify":6,"sectionArticleEnabled":6,"sectionArticleTitle":37,"sectionProjectsEnabled":6,"sectionProjectsTitle":38,"sectionSpecialEnabled":6,"sectionSpecialTitle":39,"sectionToolsEnabled":6,"sectionToolsTitle":40,"seoAuthor":41,"seoBaiduTongjiId":5,"seoBaiduVerify":5,"seoCanonicalEnabled":6,"seoDescription":42,"seoGoogleVerify":5,"seoKeywords":5,"seoOgImage":23,"seoRobots":5,"seoSitemapEnabled":6,"seoTitle":43,"seoTitleTemplate":44,"showHeroStats":6,"showSidebarDonations":6,"showSidebarFeedback":6,"showSidebarFollowUs":6,"showSidebarProfile":6,"showSidebarTagCloud":6,"siteDescription":42,"siteFavicon":45,"siteName":41,"siteUrl":46,"wechatQr":47},"\u002Fstatic\u002Fuploads\u002Fimages\u002F2026\u002F09\u002F29\u002F1790628031878385634.png","","true","enghin110@qq.com","10","https:\u002F\u002Fspace.bilibili.com\u002F470616503","https:\u002F\u002Fgithub.com\u002Fitwuge","606262780","\u002Fstatic\u002Fuploads\u002Fimages\u002F2026\u002F09\u002F29\u002F1790627647190853446.png","\u002Fstatic\u002Fuploads\u002Fimages\u002F2026\u002F09\u002F29\u002F1790627638856258082.jpg","精选 AI 教程、开源项目与实用工具，助你从入门到精通","探索人工智能的无限可能","6","7","4","3","赣ICP备2023014108号-2","5","false","\u002Fimages\u002Flogo\u002Flogo.png","\u003C!DOCTYPE html>\n\u003Chtml lang=\"zh-CN\">\n\u003Chead>\u003Cmeta charset=\"UTF-8\">\u003Cmeta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\">\u003C\u002Fhead>\n\u003Cbody style=\"margin:0;padding:24px 0;background:#f1f5f9;font-family:'Microsoft YaHei','PingFang SC',Helvetica,Arial,sans-serif;\">\n  \u003Ctable role=\"presentation\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"background:#f1f5f9;\">\n    \u003Ctr>\n      \u003Ctd align=\"center\" style=\"padding:0 16px;\">\n        \u003Ctable role=\"presentation\" width=\"600\" cellpadding=\"0\" cellspacing=\"0\" style=\"max-width:600px;width:100%;\">\n          \u003C!-- 品牌头部 -->\n          \u003Ctr>\n            \u003Ctd style=\"background:#3b82f6;border-radius:12px 12px 0 0;padding:20px 28px;\">\n              \u003Cspan style=\"font-size:18px;font-weight:bold;color:#ffffff;\">\u003Ca href=\"{site_url}\" style=\"color:#ffffff;text-decoration:none;\">{site_name}\u003C\u002Fa>\u003C\u002Fspan>\n              \u003Cspan style=\"float:right;font-size:12px;color:#dbeafe;line-height:26px;\">{site_description}\u003C\u002Fspan>\n            \u003C\u002Ftd>\n          \u003C\u002Ftr>\n          \u003C!-- 正文卡片 -->\n          \u003Ctr>\n            \u003Ctd style=\"background:#ffffff;padding:32px 28px;border-radius:0 0 12px 12px;box-shadow:0 2px 8px rgba(15,23,42,0.06);\">\n              \n  \u003Ch2 style=\"margin:0 0 16px;font-size:20px;color:#1e293b;\">🔒 账户密码修改成功\u003C\u002Fh2>\n  \u003Cp style=\"margin:0 0 16px;font-size:14px;line-height:1.8;color:#475569;\">\n    你好，\u003Cstrong style=\"color:#1e293b;\">{username}\u003C\u002Fstrong>，你的账户密码已于刚刚修改成功。\n  \u003C\u002Fp>\n  \u003Ctable role=\"presentation\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"background:#f8fafc;border-radius:10px;margin:8px 0 4px;\">\n    \u003Ctr>\u003Ctd style=\"padding:14px 18px;font-size:13px;line-height:2;color:#475569;\">\n      账户用户名：\u003Cstrong style=\"color:#1e293b;\">{username}\u003C\u002Fstrong>\u003Cbr>\n      账户邮箱：\u003Cstrong style=\"color:#1e293b;\">{email}\u003C\u002Fstrong>\u003Cbr>\n      修改时间：\u003Cstrong style=\"color:#1e293b;\">{change_time}\u003C\u002Fstrong>\n    \u003C\u002Ftd>\u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003Cp style=\"margin:16px 0 0;font-size:13px;line-height:1.8;color:#64748b;\">\n    如果这是你本人的操作，请忽略本邮件；\u003Cstrong style=\"color:#dc2626;\">如果不是你本人操作，说明账户密码可能已泄露\u003C\u002Fstrong>，\n    请立即使用「忘记密码」功能重置密码，并通过页脚联系邮箱告知站长。\n  \u003C\u002Fp>\n  \n  \u003Cp style=\"text-align:center;margin:28px 0 8px;\">\n    \u003Ca href=\"{site_url}\" style=\"display:inline-block;padding:12px 36px;background:#3b82f6;color:#ffffff;font-size:15px;font-weight:bold;text-decoration:none;border-radius:8px;\">进入{site_name}\u003C\u002Fa>\n  \u003C\u002Fp>\n            \u003C\u002Ftd>\n          \u003C\u002Ftr>\n          \u003C!-- 页脚 -->\n          \u003Ctr>\n            \u003Ctd align=\"center\" style=\"padding:20px 16px 0;\">\n              \n              \u003Cp style=\"margin:6px 0 0;font-size:12px;color:#94a3b8;\">联系邮箱：\u003Ca href=\"mailto:{contact_email}\" style=\"color:#64748b;text-decoration:none;\">{contact_email}\u003C\u002Fa>\u003C\u002Fp>\n              \u003Cp style=\"margin:6px 0 0;font-size:12px;color:#94a3b8;\">此邮件由系统自动发送，请勿直接回复 · © {year} {site_name}\u003C\u002Fp>\n            \u003C\u002Ftd>\n          \u003C\u002Ftr>\n        \u003C\u002Ftable>\n      \u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftable>\n\u003C\u002Fbody>\n\u003C\u002Fhtml>","【{site_name}】你的账户密码已修改","\u003C!DOCTYPE html>\n\u003Chtml lang=\"zh-CN\">\n\u003Chead>\u003Cmeta charset=\"UTF-8\">\u003Cmeta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\">\u003C\u002Fhead>\n\u003Cbody style=\"margin:0;padding:24px 0;background:#f1f5f9;font-family:'Microsoft YaHei','PingFang SC',Helvetica,Arial,sans-serif;\">\n  \u003Ctable role=\"presentation\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"background:#f1f5f9;\">\n    \u003Ctr>\n      \u003Ctd align=\"center\" style=\"padding:0 16px;\">\n        \u003Ctable role=\"presentation\" width=\"600\" cellpadding=\"0\" cellspacing=\"0\" style=\"max-width:600px;width:100%;\">\n          \u003C!-- 品牌头部 -->\n          \u003Ctr>\n            \u003Ctd style=\"background:#3b82f6;border-radius:12px 12px 0 0;padding:20px 28px;\">\n              \u003Cspan style=\"font-size:18px;font-weight:bold;color:#ffffff;\">\u003Ca href=\"{site_url}\" style=\"color:#ffffff;text-decoration:none;\">{site_name}\u003C\u002Fa>\u003C\u002Fspan>\n              \u003Cspan style=\"float:right;font-size:12px;color:#dbeafe;line-height:26px;\">{site_description}\u003C\u002Fspan>\n            \u003C\u002Ftd>\n          \u003C\u002Ftr>\n          \u003C!-- 正文卡片 -->\n          \u003Ctr>\n            \u003Ctd style=\"background:#ffffff;padding:32px 28px;border-radius:0 0 12px 12px;box-shadow:0 2px 8px rgba(15,23,42,0.06);\">\n              \n  \u003Ch2 style=\"margin:0 0 16px;font-size:20px;color:#1e293b;\">注册邮箱验证码\u003C\u002Fh2>\n  \u003Cp style=\"margin:0 0 16px;font-size:14px;line-height:1.8;color:#475569;\">欢迎注册 \u003Cstrong>{site_name}\u003C\u002Fstrong>！感谢你的加入，请使用下方验证码完成邮箱验证：\u003C\u002Fp>\n  \u003Ctable role=\"presentation\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"margin:8px 0 4px;\">\n    \u003Ctr>\n      \u003Ctd align=\"center\" style=\"background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;padding:22px 0;\">\n        \u003Cspan style=\"font-size:32px;font-weight:bold;letter-spacing:10px;color:#3b82f6;font-family:Consolas,Menlo,monospace;\">{code}\u003C\u002Fspan>\n      \u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003Cp style=\"margin:12px 0 0;font-size:13px;color:#64748b;\">\n    验证码 \u003Cstrong style=\"color:#dc2626;\">{expire} 分钟\u003C\u002Fstrong> 内有效，为保障账户安全，请勿向他人泄露。\n  \u003C\u002Fp>\n  \u003Chr style=\"border:none;border-top:1px solid #e2e8f0;margin:24px 0;\">\n  \n  \u003Cp style=\"margin:0 0 12px;font-size:14px;line-height:1.8;color:#475569;\">\n    这里是 \u003Cstrong style=\"color:#1e293b;\">{site_name}\u003C\u002Fstrong>，{site_description}\n  \u003C\u002Fp>\n  \u003Ctable role=\"presentation\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"margin:8px 0 4px;\">\n    \u003Ctr>\n      \u003Ctd width=\"33%\" valign=\"top\" style=\"padding:6px;\">\n        \u003Cdiv style=\"background:#eff6ff;border-radius:8px;padding:14px 10px;text-align:center;\">\n          \u003Cdiv style=\"font-size:15px;\">📚\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:13px;font-weight:bold;color:#1e40af;margin-top:4px;\">精选教程\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:12px;color:#64748b;margin-top:2px;\">从入门到实战\u003C\u002Fdiv>\n        \u003C\u002Fdiv>\n      \u003C\u002Ftd>\n      \u003Ctd width=\"33%\" valign=\"top\" style=\"padding:6px;\">\n        \u003Cdiv style=\"background:#ecfdf5;border-radius:8px;padding:14px 10px;text-align:center;\">\n          \u003Cdiv style=\"font-size:15px;\">🚀\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:13px;font-weight:bold;color:#065f46;margin-top:4px;\">开源项目\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:12px;color:#64748b;margin-top:2px;\">精选可部署方案\u003C\u002Fdiv>\n        \u003C\u002Fdiv>\n      \u003C\u002Ftd>\n      \u003Ctd width=\"34%\" valign=\"top\" style=\"padding:6px;\">\n        \u003Cdiv style=\"background:#fff7ed;border-radius:8px;padding:14px 10px;text-align:center;\">\n          \u003Cdiv style=\"font-size:15px;\">🧰\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:13px;font-weight:bold;color:#9a3412;margin-top:4px;\">在线工具\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:12px;color:#64748b;margin-top:2px;\">即开即用提效\u003C\u002Fdiv>\n        \u003C\u002Fdiv>\n      \u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003Cp style=\"margin:20px 0 0;font-size:12px;line-height:1.8;color:#94a3b8;\">\n    如果这不是你本人的操作，请忽略本邮件，你的账户安全不会受到影响。\n  \u003C\u002Fp>\n            \u003C\u002Ftd>\n          \u003C\u002Ftr>\n          \u003C!-- 页脚 -->\n          \u003Ctr>\n            \u003Ctd align=\"center\" style=\"padding:20px 16px 0;\">\n              \n              \u003Cp style=\"margin:6px 0 0;font-size:12px;color:#94a3b8;\">联系邮箱：\u003Ca href=\"mailto:{contact_email}\" style=\"color:#64748b;text-decoration:none;\">{contact_email}\u003C\u002Fa>\u003C\u002Fp>\n              \u003Cp style=\"margin:6px 0 0;font-size:12px;color:#94a3b8;\">此邮件由系统自动发送，请勿直接回复 · © {year} {site_name}\u003C\u002Fp>\n            \u003C\u002Ftd>\n          \u003C\u002Ftr>\n        \u003C\u002Ftable>\n      \u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftable>\n\u003C\u002Fbody>\n\u003C\u002Fhtml>","【{site_name}】注册验证码","\u003C!DOCTYPE html>\n\u003Chtml lang=\"zh-CN\">\n\u003Chead>\u003Cmeta charset=\"UTF-8\">\u003Cmeta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\">\u003C\u002Fhead>\n\u003Cbody style=\"margin:0;padding:24px 0;background:#f1f5f9;font-family:'Microsoft YaHei','PingFang SC',Helvetica,Arial,sans-serif;\">\n  \u003Ctable role=\"presentation\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"background:#f1f5f9;\">\n    \u003Ctr>\n      \u003Ctd align=\"center\" style=\"padding:0 16px;\">\n        \u003Ctable role=\"presentation\" width=\"600\" cellpadding=\"0\" cellspacing=\"0\" style=\"max-width:600px;width:100%;\">\n          \u003C!-- 品牌头部 -->\n          \u003Ctr>\n            \u003Ctd style=\"background:#3b82f6;border-radius:12px 12px 0 0;padding:20px 28px;\">\n              \u003Cspan style=\"font-size:18px;font-weight:bold;color:#ffffff;\">\u003Ca href=\"{site_url}\" style=\"color:#ffffff;text-decoration:none;\">{site_name}\u003C\u002Fa>\u003C\u002Fspan>\n              \u003Cspan style=\"float:right;font-size:12px;color:#dbeafe;line-height:26px;\">{site_description}\u003C\u002Fspan>\n            \u003C\u002Ftd>\n          \u003C\u002Ftr>\n          \u003C!-- 正文卡片 -->\n          \u003Ctr>\n            \u003Ctd style=\"background:#ffffff;padding:32px 28px;border-radius:0 0 12px 12px;box-shadow:0 2px 8px rgba(15,23,42,0.06);\">\n              \n  \u003Ch2 style=\"margin:0 0 16px;font-size:20px;color:#1e293b;\">找回密码验证码\u003C\u002Fh2>\n  \u003Cp style=\"margin:0 0 16px;font-size:14px;line-height:1.8;color:#475569;\">你正在找回账户密码，请使用下方验证码完成重置操作：\u003C\u002Fp>\n  \u003Ctable role=\"presentation\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"margin:8px 0 4px;\">\n    \u003Ctr>\n      \u003Ctd align=\"center\" style=\"background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;padding:22px 0;\">\n        \u003Cspan style=\"font-size:32px;font-weight:bold;letter-spacing:10px;color:#3b82f6;font-family:Consolas,Menlo,monospace;\">{code}\u003C\u002Fspan>\n      \u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003Cp style=\"margin:12px 0 0;font-size:13px;color:#64748b;\">\n    验证码 \u003Cstrong style=\"color:#dc2626;\">{expire} 分钟\u003C\u002Fstrong> 内有效，为保障账户安全，请勿向他人泄露。\n  \u003C\u002Fp>\n  \u003Chr style=\"border:none;border-top:1px solid #e2e8f0;margin:24px 0;\">\n  \n  \u003Cp style=\"margin:0 0 12px;font-size:14px;line-height:1.8;color:#475569;\">\n    这里是 \u003Cstrong style=\"color:#1e293b;\">{site_name}\u003C\u002Fstrong>，{site_description}\n  \u003C\u002Fp>\n  \u003Ctable role=\"presentation\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"margin:8px 0 4px;\">\n    \u003Ctr>\n      \u003Ctd width=\"33%\" valign=\"top\" style=\"padding:6px;\">\n        \u003Cdiv style=\"background:#eff6ff;border-radius:8px;padding:14px 10px;text-align:center;\">\n          \u003Cdiv style=\"font-size:15px;\">📚\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:13px;font-weight:bold;color:#1e40af;margin-top:4px;\">精选教程\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:12px;color:#64748b;margin-top:2px;\">从入门到实战\u003C\u002Fdiv>\n        \u003C\u002Fdiv>\n      \u003C\u002Ftd>\n      \u003Ctd width=\"33%\" valign=\"top\" style=\"padding:6px;\">\n        \u003Cdiv style=\"background:#ecfdf5;border-radius:8px;padding:14px 10px;text-align:center;\">\n          \u003Cdiv style=\"font-size:15px;\">🚀\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:13px;font-weight:bold;color:#065f46;margin-top:4px;\">开源项目\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:12px;color:#64748b;margin-top:2px;\">精选可部署方案\u003C\u002Fdiv>\n        \u003C\u002Fdiv>\n      \u003C\u002Ftd>\n      \u003Ctd width=\"34%\" valign=\"top\" style=\"padding:6px;\">\n        \u003Cdiv style=\"background:#fff7ed;border-radius:8px;padding:14px 10px;text-align:center;\">\n          \u003Cdiv style=\"font-size:15px;\">🧰\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:13px;font-weight:bold;color:#9a3412;margin-top:4px;\">在线工具\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:12px;color:#64748b;margin-top:2px;\">即开即用提效\u003C\u002Fdiv>\n        \u003C\u002Fdiv>\n      \u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003Cp style=\"margin:20px 0 0;font-size:12px;line-height:1.8;color:#94a3b8;\">\n    如果这不是你本人的操作，请忽略本邮件，你的账户安全不会受到影响。\n  \u003C\u002Fp>\n            \u003C\u002Ftd>\n          \u003C\u002Ftr>\n          \u003C!-- 页脚 -->\n          \u003Ctr>\n            \u003Ctd align=\"center\" style=\"padding:20px 16px 0;\">\n              \n              \u003Cp style=\"margin:6px 0 0;font-size:12px;color:#94a3b8;\">联系邮箱：\u003Ca href=\"mailto:{contact_email}\" style=\"color:#64748b;text-decoration:none;\">{contact_email}\u003C\u002Fa>\u003C\u002Fp>\n              \u003Cp style=\"margin:6px 0 0;font-size:12px;color:#94a3b8;\">此邮件由系统自动发送，请勿直接回复 · © {year} {site_name}\u003C\u002Fp>\n            \u003C\u002Ftd>\n          \u003C\u002Ftr>\n        \u003C\u002Ftable>\n      \u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftable>\n\u003C\u002Fbody>\n\u003C\u002Fhtml>","【{site_name}】找回密码验证码","\u003C!DOCTYPE html>\n\u003Chtml lang=\"zh-CN\">\n\u003Chead>\u003Cmeta charset=\"UTF-8\">\u003Cmeta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\">\u003C\u002Fhead>\n\u003Cbody style=\"margin:0;padding:24px 0;background:#f1f5f9;font-family:'Microsoft YaHei','PingFang SC',Helvetica,Arial,sans-serif;\">\n  \u003Ctable role=\"presentation\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"background:#f1f5f9;\">\n    \u003Ctr>\n      \u003Ctd align=\"center\" style=\"padding:0 16px;\">\n        \u003Ctable role=\"presentation\" width=\"600\" cellpadding=\"0\" cellspacing=\"0\" style=\"max-width:600px;width:100%;\">\n          \u003C!-- 品牌头部 -->\n          \u003Ctr>\n            \u003Ctd style=\"background:#3b82f6;border-radius:12px 12px 0 0;padding:20px 28px;\">\n              \u003Cspan style=\"font-size:18px;font-weight:bold;color:#ffffff;\">\u003Ca href=\"{site_url}\" style=\"color:#ffffff;text-decoration:none;\">{site_name}\u003C\u002Fa>\u003C\u002Fspan>\n              \u003Cspan style=\"float:right;font-size:12px;color:#dbeafe;line-height:26px;\">{site_description}\u003C\u002Fspan>\n            \u003C\u002Ftd>\n          \u003C\u002Ftr>\n          \u003C!-- 正文卡片 -->\n          \u003Ctr>\n            \u003Ctd style=\"background:#ffffff;padding:32px 28px;border-radius:0 0 12px 12px;box-shadow:0 2px 8px rgba(15,23,42,0.06);\">\n              \n  \u003Ch2 style=\"margin:0 0 4px;font-size:20px;color:#1e293b;\">🎉 欢迎加入 {site_name}！\u003Cspan style=\"display:inline-block;margin-left:8px;padding:2px 8px;background:#dcfce7;color:#15803d;font-size:12px;border-radius:10px;vertical-align:middle;\">邮箱已验证\u003C\u002Fspan>\u003C\u002Fh2>\n  \u003Cp style=\"margin:0 0 16px;font-size:14px;line-height:1.8;color:#475569;\">\n    你好，\u003Cstrong style=\"color:#1e293b;\">{username}\u003C\u002Fstrong>，你的账户已注册成功。\n  \u003C\u002Fp>\n  \u003Ctable role=\"presentation\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"background:#f8fafc;border-radius:10px;margin:8px 0 4px;\">\n    \u003Ctr>\u003Ctd style=\"padding:14px 18px;font-size:13px;line-height:2;color:#475569;\">\n      账户用户名：\u003Cstrong style=\"color:#1e293b;\">{username}\u003C\u002Fstrong>\u003Cbr>\n      注册邮箱：\u003Cstrong style=\"color:#1e293b;\">{email}\u003C\u002Fstrong>\u003Cbr>\n      注册奖励：\u003Cstrong style=\"color:#dc2626;\">+{register_points} 积分\u003C\u002Fstrong>已发放\n    \u003C\u002Ftd>\u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003Chr style=\"border:none;border-top:1px solid #e2e8f0;margin:24px 0;\">\n  \n  \u003Cp style=\"margin:0 0 12px;font-size:14px;line-height:1.8;color:#475569;\">\n    这里是 \u003Cstrong style=\"color:#1e293b;\">{site_name}\u003C\u002Fstrong>，{site_description}\n  \u003C\u002Fp>\n  \u003Ctable role=\"presentation\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"margin:8px 0 4px;\">\n    \u003Ctr>\n      \u003Ctd width=\"33%\" valign=\"top\" style=\"padding:6px;\">\n        \u003Cdiv style=\"background:#eff6ff;border-radius:8px;padding:14px 10px;text-align:center;\">\n          \u003Cdiv style=\"font-size:15px;\">📚\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:13px;font-weight:bold;color:#1e40af;margin-top:4px;\">精选教程\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:12px;color:#64748b;margin-top:2px;\">从入门到实战\u003C\u002Fdiv>\n        \u003C\u002Fdiv>\n      \u003C\u002Ftd>\n      \u003Ctd width=\"33%\" valign=\"top\" style=\"padding:6px;\">\n        \u003Cdiv style=\"background:#ecfdf5;border-radius:8px;padding:14px 10px;text-align:center;\">\n          \u003Cdiv style=\"font-size:15px;\">🚀\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:13px;font-weight:bold;color:#065f46;margin-top:4px;\">开源项目\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:12px;color:#64748b;margin-top:2px;\">精选可部署方案\u003C\u002Fdiv>\n        \u003C\u002Fdiv>\n      \u003C\u002Ftd>\n      \u003Ctd width=\"34%\" valign=\"top\" style=\"padding:6px;\">\n        \u003Cdiv style=\"background:#fff7ed;border-radius:8px;padding:14px 10px;text-align:center;\">\n          \u003Cdiv style=\"font-size:15px;\">🧰\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:13px;font-weight:bold;color:#9a3412;margin-top:4px;\">在线工具\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:12px;color:#64748b;margin-top:2px;\">即开即用提效\u003C\u002Fdiv>\n        \u003C\u002Fdiv>\n      \u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003Cp style=\"margin:16px 0 0;font-size:14px;line-height:1.8;color:#475569;\">登录后你可以：\u003C\u002Fp>\n  \u003Cul style=\"margin:8px 0 0;padding-left:22px;font-size:14px;line-height:2;color:#475569;\">\n    \u003Cli>浏览、收藏优质内容与实用工具\u003C\u002Fli>\n    \u003Cli>投稿教程与项目，审核通过后获得积分奖励\u003C\u002Fli>\n    \u003Cli>参与评论、打分，与其他用户交流\u003C\u002Fli>\n    \u003Cli>通过签到、投稿、互动持续累积积分与等级\u003C\u002Fli>\n  \u003C\u002Ful>\n  \n  \u003Cp style=\"text-align:center;margin:28px 0 8px;\">\n    \u003Ca href=\"{site_url}\" style=\"display:inline-block;padding:12px 36px;background:#3b82f6;color:#ffffff;font-size:15px;font-weight:bold;text-decoration:none;border-radius:8px;\">进入{site_name}\u003C\u002Fa>\n  \u003C\u002Fp>\n            \u003C\u002Ftd>\n          \u003C\u002Ftr>\n          \u003C!-- 页脚 -->\n          \u003Ctr>\n            \u003Ctd align=\"center\" style=\"padding:20px 16px 0;\">\n              \n              \u003Cp style=\"margin:6px 0 0;font-size:12px;color:#94a3b8;\">联系邮箱：\u003Ca href=\"mailto:{contact_email}\" style=\"color:#64748b;text-decoration:none;\">{contact_email}\u003C\u002Fa>\u003C\u002Fp>\n              \u003Cp style=\"margin:6px 0 0;font-size:12px;color:#94a3b8;\">此邮件由系统自动发送，请勿直接回复 · © {year} {site_name}\u003C\u002Fp>\n            \u003C\u002Ftd>\n          \u003C\u002Ftr>\n        \u003C\u002Ftable>\n      \u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftable>\n\u003C\u002Fbody>\n\u003C\u002Fhtml>","【{site_name}】欢迎加入{site_name}，账户注册成功","7111479@qq.com","\u002Fstatic\u002Fuploads\u002Fimages\u002F2026\u002F09\u002F29\u002F1790627623420492239.jpg","全栈开发者，专注 AI 应用与效率工具","武哥","\u002Fstatic\u002Fuploads\u002Fimages\u002F2026\u002F09\u002F29\u002F1790629453503799753.png","热门爆款","精选项目","精选专题","精选工具","AI导航工具站","精选优质 AI 教程、AI 工具与开源项目，助力开发者快速上手人工智能","AI导航工具站 - AI 教程 · AI 项目 · AI 工具","%s - AI导航工具站","\u002Fimages\u002Flogo\u002Ffavicon.ico","https:\u002F\u002Fwuge.fun","\u002Fstatic\u002Fuploads\u002Fimages\u002F2026\u002F09\u002F29\u002F1790628026196296604.png",{"items":49,"pagination":50,"tag":54},[],{"page":51,"pageSize":52,"total":53,"totalPages":51},1,12,0,{"id":55,"name":56,"slug":57,"color":58,"postCount":53,"createdAt":59},91,"效率工具","xiao-lv-gong-ju","#e2e8f0","2026-09-29T06:46:13.770996381+08:00",[61,68],{"id":62,"name":63,"url":64,"logo":65,"description":63,"sortOrder":53,"status":51,"createdAt":66,"updatedAt":67},2,"哔哩哔哩","https:\u002F\u002Fwww.bilibili.com\u002F","\\images\\social\\bilibili.png","0001-01-01T00:00:00Z","2026-09-29T04:44:41.867019475+08:00",{"id":51,"name":69,"url":70,"logo":71,"description":69,"sortOrder":53,"status":51,"createdAt":72,"updatedAt":72},"GitHub","https:\u002F\u002Fgithub.com","\\images\\social\\github.png","2026-09-29T04:32:39.65740234+08:00",{"items":74,"pagination":119},[75],{"id":76,"title":77,"slug":78,"summary":79,"content":80,"coverImage":81,"categoryId":51,"authorId":51,"viewCount":53,"likeCount":53,"commentCount":53,"isTop":53,"isRecommend":53,"status":51,"rejectReason":5,"publishedAt":82,"createdAt":83,"updatedAt":84,"category":85,"author":90,"tags":97},3,"用 ChatGPT 辅助编程：代码生成、调试与重构全攻略","ai-coding","程序员用 AI 的正确姿势：从写代码、改 Bug、写测试到代码重构，附 6 个开箱即用的提示词模板和 3 个避坑指南。","## AI 编程的真实水平\n\n先说结论：**AI 已经能承担程序员 60% 的「体力活」，但替代不了「脑力活」**。\n\n它擅长的：\n\n- 写常规业务代码（CRUD、接口调用、数据转换）\n- 解释报错信息、定位 Bug 方向\n- 生成单元测试、写注释和文档\n- 语言\u002F框架的语法咨询（\"Python 怎么读 JSON 文件\"）\n- 代码翻译（把 Python 脚本改成 Go）\n\n它不擅长的：\n\n- 系统架构设计（该拆几个服务、用什么中间件）\n- 复杂业务逻辑的边界情况\n- 需要理解整个项目上下文的改动\n- 最新框架的 API（训练数据截止日期之后的）\n\n正确的使用姿势是：**你负责设计和判断，AI 负责打字和查资料**。\n\n## 场景一：从零生成代码\n\n**关键：描述清楚输入、处理、输出三要素。**\n\n```text\n用 Python 写一个函数：\n\n输入：一个 Excel 文件路径，文件包含「姓名」「部门」「工资」三列\n处理：按部门分组，计算每个部门的平均工资和人数\n输出：打印一个按平均工资降序排列的表格\n\n要求：\n- 使用 pandas\n- 文件不存在时抛出友好的中文错误\n- 附上调用示例\n```\n\nAI 会返回可直接运行的代码。注意提示词里的每个要素都不能少——少了「文件不存在时怎么办」，它就默认文件永远存在，运行时才会暴雷。\n\n**进阶技巧：先让它出方案，再让它写代码。**\n\n```text\n我要做一个「爬取某网站新闻标题并保存到数据库」的脚本。\n先不要写代码，列出实现方案：需要哪些库、分几个函数、\n可能遇到什么坑。我确认后再写代码。\n```\n\n这一步能避免 AI 一上来就给你 200 行跑偏的代码。\n\n## 场景二：调试报错（最高频用法）\n\n遇到报错，**把三样东西一起发给 AI**：报错信息、相关代码、你做过什么。\n\n```text\n这段代码报错了：\n\n【代码】\nimport pandas as pd\ndf = pd.read_csv(\"data.csv\")\nprint(df.groupby(\"city\")[\"sales\"].mean())\n\n【报错】\nKeyError: 'city'\n\n【背景】\ndata.csv 是我从系统导出的销售数据，第一行是表头。\n```\n\nAI 大概率会告诉你：CSV 里的列名可能是「City」（大小写问题）或者列名带了空格，让你先 `print(df.columns.tolist())` 确认。\n\n**反例**：只发一句「KeyError 怎么解决」——AI 只能给你泛泛而谈的所有可能原因，你还得自己挨个试。\n\n## 场景三：代码重构\n\n把能跑但写得丑的代码扔给 AI，指定重构方向：\n\n```text\n下面这段代码能运行，但很难维护，请重构：\n\n【代码】\ndef process(data):\n    result = []\n    for item in data:\n        if item[\"type\"] == \"A\":\n            result.append(item[\"value\"] * 1.1)\n        elif item[\"type\"] == \"B\":\n            result.append(item[\"value\"] * 0.9)\n        elif item[\"type\"] == \"C\":\n            if item[\"value\"] > 100:\n                result.append(item[\"value\"] * 0.8)\n            else:\n                result.append(item[\"value\"] * 0.95)\n    return result\n\n重构要求：\n1. 消除嵌套 if-else，用策略模式或字典映射\n2. 每个调整系数定义为常量并注释业务含义\n3. 保持函数签名不变，调用方不用改代码\n```\n\n**要点**：一定要说「保持函数签名不变」这类约束，否则 AI 可能顺手改了接口，调用方全部报错。\n\n## 场景四：写单元测试\n\nAI 写测试的质量比写业务代码还高，因为测试代码模式非常固定：\n\n```text\n为下面的函数写 pytest 单元测试：\n\ndef divide(a: float, b: float) -> float:\n    if b == 0:\n        raise ValueError(\"除数不能为0\")\n    return a \u002F b\n\n要求覆盖：\n- 正常除法（含浮点数精度处理）\n- 除数为 0 抛异常\n- 负数相除\n- 边界值：0 除以任何数\n```\n\n## 场景五：读别人的代码\n\n接手老项目时，AI 是最好的「翻译官」：\n\n```text\n请解释这段正则表达式，逐部分说明含义：\n^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d]{8,20}$\n```\n\n```text\n这是项目里的一段 SQL，请用中文解释它在做什么，\n并指出有没有性能问题：\n【贴 SQL】\n```\n\n## 场景六：代码审查\n\n提交代码前让 AI 当一次 reviewer：\n\n```text\n请以资深后端工程师的视角审查这段代码，按严重程度列出问题：\n1. 安全漏洞（SQL注入、XSS等）\n2. 性能问题（N+1查询、不必要的大数据拷贝）\n3. 可维护性问题\n4. 代码风格问题（仅提示）\n\n【贴代码】\n```\n\n按严重程度排序能避免被「变量命名不够优雅」这类意见淹没重点。\n\n## 三个避坑指南\n\n**1. 永远运行一遍再提交**\n\nAI 写的代码可能有：不存在的库函数、编造的 API 参数、逻辑上差一位的边界。它写得越自信，越要警惕。**编译\u002F运行\u002F测试，三步缺一不可**。\n\n**2. 别发公司机密代码**\n\n粘贴代码前做脱敏：删掉真实的密钥、密码、内网地址、数据库连接串。涉及核心业务逻辑的代码，先确认公司是否允许使用外部 AI 工具。可以选择本地化部署的开源模型（DeepSeek、Qwen）处理敏感代码。\n\n**3. 大改动要分批喂**\n\n一次扔 500 行代码让它「优化一下」，输出质量会很差。正确做法是按函数\u002F类拆分，一次处理一个模块，改完确认没问题再处理下一个。\n\n## 工具选择建议\n\n| 工具 | 形态 | 特点 |\n|------|------|------|\n| ChatGPT\u002FDeepSeek 网页版 | 对话 | 适合问答、调试、代码审查 |\n| Cursor | AI 编辑器 | 深度集成代码库上下文，适合大项目 |\n| GitHub Copilot | IDE 插件 | 实时代码补全，写 boilerplate 极快 |\n| Trae | AI 编辑器 | 国产免费，中文体验好 |\n\n**推荐组合**：日常补全用 IDE 插件，复杂问题用网页版对话，大项目重构用 AI 编辑器。\n\n## 写在最后\n\nAI 编程的本质是**把「搜索引擎 + Stack Overflow + 文档」整合成了一个对话框**。以前花 20 分钟查资料的事，现在 2 分钟解决。省下来的时间，投入到真正需要人类思考的地方：理解业务、设计架构、和 AI 说不清楚的那 40%。\n","\u002Fstatic\u002Fuploads\u002Fimages\u002F2026\u002F09\u002F29\u002F1790635573777996286.png","2026-09-29T06:46:42.43583397+08:00","2026-09-29T06:46:13.778131721+08:00","2026-09-29T06:46:42.435887959+08:00",{"id":51,"name":86,"slug":87,"description":5,"icon":88,"sortOrder":51,"postCount":53,"parentId":53,"createdAt":89,"updatedAt":89},"AI 教程","ai-tutorials","i-ri-book-open-line","2026-09-29T04:25:29.669355545+08:00",{"id":51,"username":91,"email":32,"phone":5,"nickname":92,"avatarUrl":93,"bio":5,"role":51,"status":51,"points":53,"lastLoginAt":94,"loginCount":76,"createdAt":95,"updatedAt":96},"wuge","站长","\u002Fstatic\u002Fuploads\u002Favatars\u002F2026\u002F09\u002F29\u002F1790630804049538805.jpg","2026-09-29T05:22:12.192245111+08:00","2026-09-29T04:25:29.170055083+08:00","2026-09-29T05:26:46.960829427+08:00",[98,103,108,113,118],{"id":99,"name":100,"slug":101,"color":58,"postCount":53,"createdAt":102},82,"ChatGPT","chatgpt","2026-09-29T06:46:13.65246271+08:00",{"id":104,"name":105,"slug":106,"color":58,"postCount":53,"createdAt":107},88,"AI编程","ai-bian-cheng","2026-09-29T06:46:13.748934007+08:00",{"id":109,"name":110,"slug":111,"color":58,"postCount":53,"createdAt":112},89,"DeepSeek","deepseek","2026-09-29T06:46:13.756746391+08:00",{"id":114,"name":115,"slug":116,"color":58,"postCount":53,"createdAt":117},90,"代码生成","dai-ma-sheng-cheng","2026-09-29T06:46:13.763651183+08:00",{"id":55,"name":56,"slug":57,"color":58,"postCount":53,"createdAt":59},{"page":51,"pageSize":52,"total":51,"totalPages":51},[121,126,131,136,141,146,151,156,161,162,167,172,177,182,187,192,197,198,203,208,209,214,219,224,229,234,238,243,248,253],{"id":122,"name":123,"slug":124,"color":58,"postCount":53,"createdAt":125},150,"AI","ai","2026-09-29T06:55:38.743861502+08:00",{"id":127,"name":128,"slug":129,"color":58,"postCount":53,"createdAt":130},53,"AI 绘画","ai-hui-hua","2026-09-29T04:25:30.70107663+08:00",{"id":132,"name":133,"slug":134,"color":58,"postCount":53,"createdAt":135},94,"AIGC","aigc","2026-09-29T06:46:13.817043541+08:00",{"id":137,"name":138,"slug":139,"color":58,"postCount":53,"createdAt":140},81,"AI入门","ai-ru-men","2026-09-29T06:46:13.646321088+08:00",{"id":142,"name":143,"slug":144,"color":58,"postCount":53,"createdAt":145},113,"AI写作","ai-xie-zuo","2026-09-29T06:46:14.098797917+08:00",{"id":147,"name":148,"slug":149,"color":58,"postCount":53,"createdAt":150},95,"AI工具","ai-gong-ju","2026-09-29T06:46:13.849105815+08:00",{"id":152,"name":153,"slug":154,"color":58,"postCount":53,"createdAt":155},87,"AI技巧","ai-ji-qiao","2026-09-29T06:46:13.717351439+08:00",{"id":157,"name":158,"slug":159,"color":58,"postCount":53,"createdAt":160},92,"AI绘画","ai-hui-hua-2","2026-09-29T06:46:13.800506851+08:00",{"id":104,"name":105,"slug":106,"color":58,"postCount":53,"createdAt":107},{"id":163,"name":164,"slug":165,"color":58,"postCount":53,"createdAt":166},104,"API","api","2026-09-29T06:46:13.964167454+08:00",{"id":168,"name":169,"slug":170,"color":58,"postCount":53,"createdAt":171},24,"Agent","agent","2026-09-29T04:25:30.481917452+08:00",{"id":173,"name":174,"slug":175,"color":58,"postCount":53,"createdAt":176},15,"Apache-2.0","apache-2-0","2026-09-29T04:25:30.413130076+08:00",{"id":178,"name":179,"slug":180,"color":58,"postCount":53,"createdAt":181},124,"BeautifulSoup","beautifulsoup","2026-09-29T06:55:38.372320794+08:00",{"id":183,"name":184,"slug":185,"color":58,"postCount":53,"createdAt":186},71,"C++","c","2026-09-29T04:25:30.832723566+08:00",{"id":188,"name":189,"slug":190,"color":58,"postCount":53,"createdAt":191},9,"C\u002FC++","c-c","2026-09-29T04:25:30.367438818+08:00",{"id":193,"name":194,"slug":195,"color":58,"postCount":53,"createdAt":196},8,"CPU 推理","cpu-tui-li","2026-09-29T04:25:30.360161464+08:00",{"id":99,"name":100,"slug":101,"color":58,"postCount":53,"createdAt":102},{"id":199,"name":200,"slug":201,"color":58,"postCount":53,"createdAt":202},43,"ChatGPT 界面","chatgpt-jie-mian","2026-09-29T04:25:30.631791206+08:00",{"id":204,"name":205,"slug":206,"color":58,"postCount":53,"createdAt":207},109,"Coze","coze","2026-09-29T06:46:14.04772698+08:00",{"id":109,"name":110,"slug":111,"color":58,"postCount":53,"createdAt":112},{"id":210,"name":211,"slug":212,"color":58,"postCount":53,"createdAt":213},103,"Embedding","embedding","2026-09-29T06:46:13.931530378+08:00",{"id":215,"name":216,"slug":217,"color":58,"postCount":53,"createdAt":218},139,"Excel","excel","2026-09-29T06:55:38.596869557+08:00",{"id":220,"name":221,"slug":222,"color":58,"postCount":53,"createdAt":223},132,"FastAPI","fastapi","2026-09-29T06:55:38.496902061+08:00",{"id":225,"name":226,"slug":227,"color":58,"postCount":53,"createdAt":228},107,"Fine-tuning","fine-tuning","2026-09-29T06:46:14.010861283+08:00",{"id":230,"name":231,"slug":232,"color":58,"postCount":53,"createdAt":233},97,"Gamma","gamma","2026-09-29T06:46:13.863615311+08:00",{"id":76,"name":235,"slug":236,"color":58,"postCount":53,"createdAt":237},"Go","go","2026-09-29T04:25:30.324360969+08:00",{"id":239,"name":240,"slug":241,"color":58,"postCount":53,"createdAt":242},98,"Kimi","kimi","2026-09-29T06:46:13.871065157+08:00",{"id":244,"name":245,"slug":246,"color":58,"postCount":53,"createdAt":247},7,"LLM","llm","2026-09-29T04:25:30.353458642+08:00",{"id":249,"name":250,"slug":251,"color":58,"postCount":53,"createdAt":252},31,"LLMOps","llmops","2026-09-29T04:25:30.534990482+08:00",{"id":254,"name":255,"slug":256,"color":58,"postCount":53,"createdAt":257},101,"LangChain","langchain","2026-09-29T06:46:13.916898801+08:00",[259],{"id":51,"userId":260,"donorName":35,"amount":261,"message":262,"paymentMethod":263,"isAnonymous":53,"status":51,"createdAt":264},null,128,"加油","wechat","2026-09-29T04:45:44+08:00",{"materials":266},[],{"materials":268},[],{"materials":270},[]]