{"id":33760,"date":"2024-11-25T14:26:50","date_gmt":"2024-11-25T06:26:50","guid":{"rendered":"https:\/\/fwq.ai\/blog\/33760\/"},"modified":"2024-11-25T14:26:50","modified_gmt":"2024-11-25T06:26:50","slug":"%e8%af%a6%e8%a7%a3-%e5%be%ae%e4%bf%a1%e5%b0%8f%e7%a8%8b%e5%ba%8f%e6%8e%88%e6%9d%83%e7%99%bb%e5%bd%95%e8%8e%b7%e5%8f%96%e7%94%a8%e6%88%b7%e4%bf%a1%e6%81%af","status":"publish","type":"post","link":"https:\/\/fwq.ai\/blog\/33760\/","title":{"rendered":"\u8be6\u89e3 \u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u6388\u6743\u767b\u5f55\u83b7\u53d6\u7528\u6237\u4fe1\u606f"},"content":{"rendered":"<p><strong>\u680f\u76ee\u8bb0\u5f55\u672c\u535a\u5ba2\u4ec5\u4f5c\u4e3a\u8bb0\u5f55\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u767b\u5f55\u6d41\u7a0b<\/strong><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/img.php.cn\/upload\/article\/000\/000\/052\/5fe462a56d016508.jpg\" class=\"aligncenter\" title=\"\u8be6\u89e3 \u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u6388\u6743\u767b\u5f55\u83b7\u53d6\u7528\u6237\u4fe1\u606f\u63d2\u56fe\" alt=\"\u8be6\u89e3 \u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u6388\u6743\u767b\u5f55\u83b7\u53d6\u7528\u6237\u4fe1\u606f\u63d2\u56fe\" \/><\/p>\n<p>\u63a8\u8350\uff08\u514d\u8d39\uff09\uff1a<\/p>\n<p>\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u5f00\u653e\u6587\u6863: developers.weixin.qq.com\/miniprogr&#8230;<\/p>\n<blockquote><p>\n  \u672c\u535a\u5ba2\u4ec5\u4f5c\u4e3a\u8bb0\u5f55\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u767b\u5f55\u6d41\u7a0b, \u5177\u4f53\u4ee3\u7801\u8bf7\u53c2\u8003\u5fae\u4fe1\u6587\u6863.\n<\/p><\/blockquote>\n<ol>\n<li>\n<p>\u5c0f\u7a0b\u5e8f\u7aef\u5148\u8c03\u7528wx.login() \u63a5\u53e3\u83b7\u53d6\u767b\u5f55\u51ed\u8bc1code , \u5728success\u56de\u8c03\u65b9\u6cd5\u4e2d\u518d\u8c03\u7528wx.getUserInfo() \u63a5\u53e3\u83b7\u53d6\u7528\u6237\u57fa\u672c\u4fe1\u606f(\u63a5\u53e3\u6210\u529f\u8fd4\u56de encryptedData \u7528\u6237\u654f\u611f\u4fe1\u606f\u52a0\u5bc6\u6570\u636e ; iv \u52a0\u5bc6\u7b97\u6cd5\u7684\u521d\u59cb\u5411\u91cf)<\/p>\n<pre>wx.login({\n success: function (e) {\n     var code = e.code;\/\/\u767b\u5f55\u51ed\u8bc1\n     if (code) {\n         \/\/2\u3001\u8c03\u7528\u83b7\u53d6\u7528\u6237\u4fe1\u606f\u63a5\u53e3\n         wx.getUserInfo({\n             success: function (res) {\n                 console.log({encryptedData: res.encryptedData, iv: res.iv, code: code});\n                 \/\/ \u5c06code, encryptedData ,iv \u53d1\u9001\u7ed9\u670d\u52a1\u7aef ,\u6839\u636e\u670d\u52a1\u7aef\u8fd4\u56de\u7684\u6570\u636e\u5224\u65ad\u767b\u5f55\u6210\u529f\u6216\u8005\u5931\u8d25\n             },\n             fail: function () {\n                 console.log('\u83b7\u53d6\u7528\u6237\u4fe1\u606f\u5931\u8d25')\n             }\n         })\n\n     } else {\n         console.log('\u83b7\u53d6\u7528\u6237\u767b\u5f55\u6001\u5931\u8d25\uff01' + e.errMsg)\n     }\n },\n fail: function () {\n     callback(false)\n }})<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>wx.login\u6587\u6863\u5730\u5740: &nbsp;developers.weixin.qq.com\/miniprogr&#8230;<br \/> wx.getUserInfo\u6587\u6863\u5730\u5740: developers.weixin.qq.com\/miniprogr&#8230;<\/p>\n<\/li>\n<li>\n<p>\u670d\u52a1\u7aef: \u83b7\u53d6\u5c0f\u7a0b\u5e8f\u7aef\u7684\u53c2\u6570code \u8c03\u7528\u5fae\u4fe1 auth.code2Session\u63a5\u53e3. \u6210\u529f\u8fd4\u56deopenid, session_key \u7b49, \u7136\u540e\u67e5\u770b\u5fae\u4fe1\u5b98\u65b9\u7ed9\u51fa\u7684\u9a8c\u8bc1\u89e3\u5bc6\u6587\u6863<\/p>\n<pre>public function miniProgramLogin($code){\n     $url = \"https:\/\/api.weixin.qq.com\/sns\/jscode2session?appid=APPID&amp;secret=SECRET&amp;js_code=$code&amp;grant_type=authorization_code\";\n     return json_decode(curl_request($url), true);}\/\/\u52a9\u624b\u51fd\u6570  curl_requestfunction curl_request($url, $data=null, $method='get', $header = array(\"content-type: application\/json\"), $https=true, $timeout = 5){\n     $method = strtoupper($method);\n     $ch = curl_init();\/\/\u521d\u59cb\u5316\n     curl_setopt($ch, CURLOPT_URL, $url);\/\/\u8bbf\u95ee\u7684URL\n     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\/\/\u53ea\u83b7\u53d6\u9875\u9762\u5185\u5bb9\uff0c\u4f46\u4e0d\u8f93\u51fa\n     if($https){\n         curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);\/\/https\u8bf7\u6c42 \u4e0d\u9a8c\u8bc1\u8bc1\u4e66\n         curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);\/\/https\u8bf7\u6c42 \u4e0d\u9a8c\u8bc1HOST\n     }\n     if ($method != \"GET\") {\n         if($method == 'POST'){\n             curl_setopt($ch, CURLOPT_POST, true);\/\/\u8bf7\u6c42\u65b9\u5f0f\u4e3apost\u8bf7\u6c42\n         }\n         if ($method == 'PUT' || strtoupper($method) == 'DELETE') {\n             curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method); \/\/\u8bbe\u7f6e\u8bf7\u6c42\u65b9\u5f0f\n         }\n         curl_setopt($ch, CURLOPT_POSTFIELDS, $data);\/\/\u8bf7\u6c42\u6570\u636e\n     }\n     curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);\n     curl_setopt($ch, CURLOPT_HTTPHEADER, $header); \/\/\u6a21\u62df\u7684header\u5934\n     \/\/curl_setopt($ch, CURLOPT_HEADER, false);\/\/\u8bbe\u7f6e\u4e0d\u9700\u8981\u5934\u4fe1\u606f\n     $result = curl_exec($ch);\/\/\u6267\u884c\u8bf7\u6c42\n     curl_close($ch);\/\/\u5173\u95edcurl\uff0c\u91ca\u653e\u8d44\u6e90\n     return $result;}<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>auth.code2Session\u63a5\u53e3\u6587\u6863 : developers.weixin.qq.com\/miniprogr&#8230;<br \/>\u6570\u636e\u89e3\u5bc6\u6587\u6863 (\u6709\u4e0d\u540c\u8bed\u8a00\u7684\u793a\u4f8b\u4ee3\u7801): developers.weixin.qq.com\/miniprogr&#8230;<\/p>\n<\/li>\n<\/ol>\n<p>\u89e3\u5bc6\u540e\u7684\u6570\u636e:<br \/><img decoding=\"async\" src=\"https:\/\/img.php.cn\/upload\/article\/000\/000\/052\/667ea9074583a01e393b158632b2eb96-0.png\" class=\"aligncenter\" title=\"\u8be6\u89e3 \u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u6388\u6743\u767b\u5f55\u83b7\u53d6\u7528\u6237\u4fe1\u606f\u63d2\u56fe1\" alt=\"\u8be6\u89e3 \u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u6388\u6743\u767b\u5f55\u83b7\u53d6\u7528\u6237\u4fe1\u606f\u63d2\u56fe1\" \/><\/p>\n<p>\u83b7\u53d6\u89e3\u5bc6\u7684\u6570\u636e\u540e\u4fdd\u5b58\/\u66f4\u65b0\u7528\u6237\u8868.<\/p>\n<p>\u4ee5\u4e0a\u5c31\u662f\u8be6\u89e3 \u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u6388\u6743\u767b\u5f55\u83b7\u53d6\u7528\u6237\u4fe1\u606f\u7684\u8be6\u7ec6\u5185\u5bb9\uff0c\u66f4\u591a\u8bf7\u5173\u6ce8\u7c73\u4e91\u5176\u5b83\u76f8\u5173\u6587\u7ae0\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u680f\u76ee\u8bb0\u5f55\u672c\u535a\u5ba2\u4ec5\u4f5c\u4e3a\u8bb0\u5f55\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u767b\u5f55\u6d41\u7a0b \u63a8\u8350\uff08\u514d\u8d39\uff09\uff1a \u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u5f00\u653e\u6587\u6863: developers.weixin.qq.com\/miniprogr&#8230; \u672c\u535a\u5ba2\u4ec5\u4f5c\u4e3a\u8bb0\u5f55\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u767b\u5f55\u6d41\u7a0b, \u5177\u4f53\u4ee3\u7801\u8bf7\u53c2\u8003\u5fae\u4fe1\u6587\u6863. \u5c0f\u7a0b\u5e8f\u7aef\u5148\u8c03\u7528wx.login() \u63a5\u53e3\u83b7\u53d6\u767b\u5f55\u51ed\u8bc1code , \u5728success\u56de\u8c03\u65b9\u6cd5\u4e2d\u518d\u8c03\u7528wx.getUserInfo() \u63a5\u53e3\u83b7\u53d6\u7528\u6237\u57fa\u672c\u4fe1\u606f(\u63a5\u53e3\u6210\u529f\u8fd4\u56de encryptedData \u7528\u6237\u654f\u611f\u4fe1\u606f\u52a0\u5bc6\u6570\u636e ; iv \u52a0\u5bc6\u7b97\u6cd5\u7684\u521d\u59cb\u5411\u91cf) wx.login({ success: function (e) { var code = e.code;\/\/\u767b\u5f55\u51ed\u8bc1 if (code) { \/\/2\u3001\u8c03\u7528\u83b7\u53d6\u7528\u6237\u4fe1\u606f\u63a5\u53e3 wx.getUserInfo({ success: function (res) { console.log({encryptedData: res.encryptedData, iv: res.iv, code: code}); \/\/ \u5c06code, encryptedData ,iv \u53d1\u9001\u7ed9\u670d\u52a1\u7aef ,\u6839\u636e\u670d\u52a1\u7aef\u8fd4\u56de\u7684\u6570\u636e\u5224\u65ad\u767b\u5f55\u6210\u529f\u6216\u8005\u5931\u8d25 }, fail: function () { console.log(&#8216;\u83b7\u53d6\u7528\u6237\u4fe1\u606f\u5931\u8d25&#8217;) } }) } [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19],"tags":[],"class_list":["post-33760","post","type-post","status-publish","format-standard","hentry","category-19"],"_links":{"self":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/33760","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/comments?post=33760"}],"version-history":[{"count":0,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/33760\/revisions"}],"wp:attachment":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/media?parent=33760"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/categories?post=33760"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/tags?post=33760"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}