[{"data":1,"prerenderedAt":512},["ShallowReactive",2],{"navigation":3,"/blog/wepay-register":90,"/blog/wepay-register-surround":507},[4],{"title":5,"path":6,"stem":7,"children":8,"page":89},"Blog","/blog","blog",[9,13,17,21,25,29,33,37,41,45,49,53,57,61,65,69,73,77,81,85],{"title":10,"path":11,"stem":12},"布隆过滤器-如何在海量数据中判断某个数据是否存在？","/blog/bloon-filter","blog/bloon-filter",{"title":14,"path":15,"stem":16},"《绽放》读书笔记","/blog/boom-reading-note","blog/boom-reading-note",{"title":18,"path":19,"stem":20},"centos服务器被入侵","/blog/centos-hacked","blog/centos-hacked",{"title":22,"path":23,"stem":24},"Chronoframe安装","/blog/chronoframe","blog/chronoframe",{"title":26,"path":27,"stem":28},"Code-server搭建web IDE","/blog/code-server","blog/code-server",{"title":30,"path":31,"stem":32},"Git分支及开发规范","/blog/git-branch-specification","blog/git-branch-specification",{"title":34,"path":35,"stem":36},"hexo引用本地图片无法显示","/blog/hexo-not-show-image","blog/hexo-not-show-image",{"title":38,"path":39,"stem":40},"JavaScript原型&原型链","/blog/javascript-prototype","blog/javascript-prototype",{"title":42,"path":43,"stem":44},"微信小程序上线前注册与备案流程","/blog/miniprogram_register","blog/miniprogram_register",{"title":46,"path":47,"stem":48},"用React写了一个超酷的简历模板","/blog/react-resume","blog/react-resume",{"title":50,"path":51,"stem":52},"Redis缓存穿透","/blog/redis-cache-penetration","blog/redis-cache-penetration",{"title":54,"path":55,"stem":56},"Redis实现分布式锁","/blog/redis-distributed-locking","blog/redis-distributed-locking",{"title":58,"path":59,"stem":60},"服务器添加key实现免密码登录","/blog/ssh-key","blog/ssh-key",{"title":62,"path":63,"stem":64},"《学习觉醒》读书笔记","/blog/study-awakening-reading-note","blog/study-awakening-reading-note",{"title":66,"path":67,"stem":68},"Vue3 按键修饰符的使用场景讲解","/blog/vue3-key","blog/vue3-key",{"title":70,"path":71,"stem":72},"微信支付商户号注册教程","/blog/wepay-register","blog/wepay-register",{"title":74,"path":75,"stem":76},"为什么年近三十才开始学英语","/blog/why-stduy-english","blog/why-stduy-english",{"title":78,"path":79,"stem":80},"现代打工人如何获得幸福？","/blog/workers-get-happiness","blog/workers-get-happiness",{"title":82,"path":83,"stem":84},"2025年终总结","/blog/year-summary-2025","blog/year-summary-2025",{"title":86,"path":87,"stem":88},"Zookeeper基础篇","/blog/zookeeper","blog/zookeeper",false,{"id":91,"title":70,"author":92,"body":93,"categories":495,"date":497,"description":498,"extension":499,"image":92,"meta":500,"minRead":92,"navigation":501,"path":71,"seo":502,"stem":72,"tags":503,"__hash__":506},"blog/blog/wepay-register.md",null,{"type":94,"value":95,"toc":480},"minimark",[96,100,104,121,125,138,142,160,163,183,187,190,196,208,212,217,221,238,241,244,262,267,270,273,424,427,451,454,476],[97,98,99],"h2",{"id":99},"前置条件",[101,102,103],"p",{},"在申请微信支付之前，必须先完成以下两步：",[105,106,107,115],"ol",{},[108,109,110,114],"li",{},[111,112,113],"strong",{},"小程序注册"," — 在微信公众平台完成小程序账号注册",[108,116,117,120],{},[111,118,119],{},"小程序认证"," — 完成微信认证",[97,122,124],{"id":123},"一申请微信支付","一、申请微信支付",[101,126,127,130,131],{},[111,128,129],{},"官网："," ",[132,133,137],"a",{"href":134,"rel":135},"https://pay.weixin.qq.com/",[136],"nofollow","微信支付商户平台",[139,140,141],"h3",{"id":141},"需要准备的材料",[143,144,145,148,151,154,157],"ul",{},[108,146,147],{},"营业执照（已完成小程序认证的可用同一份）",[108,149,150],{},"对公银行账户信息",[108,152,153],{},"法人/经营者身份证信息",[108,155,156],{},"一个用于接收通知的手机号",[108,158,159],{},"一个用于收款管理的微信号",[139,161,162],{"id":162},"申请步骤",[105,164,165,168,171,174,177,180],{},[108,166,167],{},"进入微信支付商户平台，点击「接入微信支付」",[108,169,170],{},"选择「企业」类型，填写基本资料",[108,172,173],{},"填写企业经营类目、销售商品信息",[108,175,176],{},"绑定对公账户",[108,178,179],{},"绑定小程序（输入小程序的 AppID）",[108,181,182],{},"设置收款管理员（微信号），用于接收收款通知和操作确认",[97,184,186],{"id":185},"二获取小程序-appid","二、获取小程序 APPID",[101,188,189],{},"登录微信公众平台后，进入：",[191,192,193],"blockquote",{},[101,194,195],{},"开发 → 开发管理 → 基本设置",[101,197,198,199,202,203,207],{},"即可查看到小程序的 ",[111,200,201],{},"AppID","（以 ",[204,205,206],"code",{},"wx"," 开头的字符串）。",[97,209,211],{"id":210},"三配置-apiv3-密钥","三、配置 APIv3 密钥",[101,213,214],{},[111,215,216],{},"！！！这一步操作复杂，不懂可联系开发人员！！！",[139,218,220],{"id":219},"申请-apiv3","申请 APIv3",[105,222,223,229,232,235],{},[108,224,225,226],{},"登录 ",[132,227,137],{"href":134,"rel":228},[136],[108,230,231],{},"进入「账户中心」→「API 安全」",[108,233,234],{},"申请开通 APIv3",[108,236,237],{},"设置 APIv3 密钥（一个 32 位的字符串，需自己设置并牢记）",[139,239,240],{"id":240},"生成证书文件",[101,242,243],{},"开启 APIv3 后，需要下载两个证书文件：",[143,245,246,254],{},[108,247,248,253],{},[111,249,250],{},[204,251,252],{},"apiclient_cert.pem"," — 商户证书（公钥）",[108,255,256,261],{},[111,257,258],{},[204,259,260],{},"apiclient_key.pem"," — 商户私钥（密钥）",[191,263,264],{},[101,265,266],{},"这两个文件在商户平台可以直接下载，也可以通过 API 工具生成。",[139,268,269],{"id":269},"最终参数配置",[101,271,272],{},"配置完成后，你会得到以下参数：",[274,275,280],"pre",{"className":276,"code":277,"language":278,"meta":279,"style":279},"language-javascript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  appid: \"wx你的小程序AppID\",\n  mchid: \"你的商户号\",\n  publicKey: fs.readFileSync(\"./utils/apiclient_cert.pem\"), // 公钥文件\n  privateKey: fs.readFileSync(\"./utils/apiclient_key.pem\"), // 密钥文件\n  key: \"你设置的APIv3密钥\",\n}\n","javascript","",[204,281,282,291,314,331,371,401,418],{"__ignoreMap":279},[283,284,287],"span",{"class":285,"line":286},"line",1,[283,288,290],{"class":289},"sMK4o","{\n",[283,292,294,298,301,304,308,311],{"class":285,"line":293},2,[283,295,297],{"class":296},"sBMFI","  appid",[283,299,300],{"class":289},":",[283,302,303],{"class":289}," \"",[283,305,307],{"class":306},"sfazB","wx你的小程序AppID",[283,309,310],{"class":289},"\"",[283,312,313],{"class":289},",\n",[283,315,317,320,322,324,327,329],{"class":285,"line":316},3,[283,318,319],{"class":296},"  mchid",[283,321,300],{"class":289},[283,323,303],{"class":289},[283,325,326],{"class":306},"你的商户号",[283,328,310],{"class":289},[283,330,313],{"class":289},[283,332,334,337,339,343,346,350,354,356,359,361,364,367],{"class":285,"line":333},4,[283,335,336],{"class":296},"  publicKey",[283,338,300],{"class":289},[283,340,342],{"class":341},"sTEyZ"," fs",[283,344,345],{"class":289},".",[283,347,349],{"class":348},"s2Zo4","readFileSync",[283,351,353],{"class":352},"swJcz","(",[283,355,310],{"class":289},[283,357,358],{"class":306},"./utils/apiclient_cert.pem",[283,360,310],{"class":289},[283,362,363],{"class":352},")",[283,365,366],{"class":289},",",[283,368,370],{"class":369},"sHwdD"," // 公钥文件\n",[283,372,374,377,379,381,383,385,387,389,392,394,396,398],{"class":285,"line":373},5,[283,375,376],{"class":296},"  privateKey",[283,378,300],{"class":289},[283,380,342],{"class":341},[283,382,345],{"class":289},[283,384,349],{"class":348},[283,386,353],{"class":352},[283,388,310],{"class":289},[283,390,391],{"class":306},"./utils/apiclient_key.pem",[283,393,310],{"class":289},[283,395,363],{"class":352},[283,397,366],{"class":289},[283,399,400],{"class":369}," // 密钥文件\n",[283,402,404,407,409,411,414,416],{"class":285,"line":403},6,[283,405,406],{"class":296},"  key",[283,408,300],{"class":289},[283,410,303],{"class":289},[283,412,413],{"class":306},"你设置的APIv3密钥",[283,415,310],{"class":289},[283,417,313],{"class":289},[283,419,421],{"class":285,"line":420},7,[283,422,423],{"class":289},"}\n",[139,425,426],{"id":426},"安全提醒",[428,429,430,433],"warning",{},[101,431,432],{},"公钥和密钥文件涉及到你的支付资金安全，请务必注意：",[143,434,435,442,445,448],{},[108,436,437,438,441],{},"不要将 ",[204,439,440],{},".pem"," 文件上传到公开仓库（如 GitHub）",[108,443,444],{},"建议在服务器上使用绝对路径引用，不要放在前端静态目录",[108,446,447],{},"建议自己申请和生成，不要完全依赖第三方操作",[108,449,450],{},"APIv3 密钥请使用强密码，并定期更换",[97,452,453],{"id":453},"参考链接",[143,455,456,462,469],{},[108,457,458,459],{},"微信支付商户平台：",[132,460,134],{"href":134,"rel":461},[136],[108,463,464,465],{},"小程序 APPID 获取：",[132,466,467],{"href":467,"rel":468},"https://mp.weixin.qq.com/",[136],[108,470,471,472],{},"APIv3 接入文档：",[132,473,474],{"href":474,"rel":475},"https://pay.weixin.qq.com/wiki/doc/apiv3/",[136],[477,478,479],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":279,"searchDepth":293,"depth":293,"links":481},[482,483,487,488,494],{"id":99,"depth":293,"text":99},{"id":123,"depth":293,"text":124,"children":484},[485,486],{"id":141,"depth":316,"text":141},{"id":162,"depth":316,"text":162},{"id":185,"depth":293,"text":186},{"id":210,"depth":293,"text":211,"children":489},[490,491,492,493],{"id":219,"depth":316,"text":220},{"id":240,"depth":316,"text":240},{"id":269,"depth":316,"text":269},{"id":426,"depth":316,"text":426},{"id":453,"depth":293,"text":453},[496],"微信小程序","2026-06-14T16:00:00.000Z","微信支付开通全流程：从申请商户号、绑定小程序、配置 APIv3 密钥到获取证书文件。","md",{},true,{"title":70,"description":498},[504,505],"小程序","微信支付","hBdPzxJSVKX3BHvy-fwgpmGpFWppVlrbUTHTY6bnI4Q",[508,510],{"title":66,"path":67,"stem":68,"description":509,"children":-1},"在vue中，对于键盘事件，我们可以使用@keyup或者@keydown等事件去处理...",{"title":74,"path":75,"stem":76,"description":511,"children":-1},"其实一开始我也并不知道为什么学，它就自然而然发生了，这很奇怪对吧。后面我仔细想了想，这几年所经历的事、见过的人、读过的书促成了这件事。这是所有一切给予的最好的安排。",1782047878311]