{"id":24462,"date":"2024-11-21T14:44:33","date_gmt":"2024-11-21T06:44:33","guid":{"rendered":"https:\/\/fwq.ai\/blog\/24462\/"},"modified":"2024-11-21T14:44:33","modified_gmt":"2024-11-21T06:44:33","slug":"thinkphp6%e7%9f%ad%e4%bf%a1%e9%aa%8c%e8%af%81%e7%a0%81%e9%9b%86%e6%88%90%ef%bc%9a%e5%ae%9e%e7%8e%b0%e6%89%8b%e6%9c%ba%e9%aa%8c%e8%af%81%e5%8a%9f%e8%83%bd","status":"publish","type":"post","link":"https:\/\/fwq.ai\/blog\/24462\/","title":{"rendered":"ThinkPHP6\u77ed\u4fe1\u9a8c\u8bc1\u7801\u96c6\u6210\uff1a\u5b9e\u73b0\u624b\u673a\u9a8c\u8bc1\u529f\u80fd"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/img.php.cn\/upload\/article\/000\/887\/227\/169295375085760.jpg\" class=\"aligncenter\" title=\"ThinkPHP6\u77ed\u4fe1\u9a8c\u8bc1\u7801\u96c6\u6210\uff1a\u5b9e\u73b0\u624b\u673a\u9a8c\u8bc1\u529f\u80fd\u63d2\u56fe\" alt=\"ThinkPHP6\u77ed\u4fe1\u9a8c\u8bc1\u7801\u96c6\u6210\uff1a\u5b9e\u73b0\u624b\u673a\u9a8c\u8bc1\u529f\u80fd\u63d2\u56fe\" \/><\/p>\n<p>ThinkPHP6\u77ed\u4fe1\u9a8c\u8bc1\u7801\u96c6\u6210\uff1a\u5b9e\u73b0\u529f\u80fd<\/p>\n<p>\u524d\u8a00\uff1a<br \/>\u5728\u73b0\u4ee3\u793e\u4f1a\u4e2d\uff0c\u624b\u673a\u5df2\u7ecf\u6210\u4e3a\u4eba\u4eec\u751f\u6d3b\u4e2d\u5fc5\u4e0d\u53ef\u5c11\u7684\u5de5\u5177\u4e4b\u4e00\u3002\u800c\u5728\u7f51\u7ad9\u6216APP\u5f00\u53d1\u4e2d\uff0c\u7528\u6237\u624b\u673a\u53f7\u7801\u7684\u9a8c\u8bc1\u4e5f\u662f\u4e00\u4e2a\u5e38\u89c1\u7684\u529f\u80fd\u9700\u6c42\u3002\u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u5728ThinkPHP6\u6846\u67b6\u4e2d\u96c6\u6210\u77ed\u4fe1\u9a8c\u8bc1\u7801\u529f\u80fd\uff0c\u5b9e\u73b0\u624b\u673a\u9a8c\u8bc1\u529f\u80fd\u3002<\/p>\n<p>\u4e00\u3001\u51c6\u5907\u5de5\u4f5c<\/p>\n<ol>\n<li>\u786e\u4fdd\u4f60\u5df2\u7ecf\u5b89\u88c5\u597d\u4e86ThinkPHP6\u6846\u67b6\uff0c\u6216\u8005\u53ef\u4ee5\u901a\u8fc7composer\u5b89\u88c5<\/li>\n<li>\u6ce8\u518c\u4e00\u4e2a\u77ed\u4fe1\u670d\u52a1\u63d0\u4f9b\u5546\u7684\u8d26\u53f7\uff0c\u5982\u963f\u91cc\u4e91\u3001\u817e\u8baf\u4e91\u3001\u4e91\u7247\u7b49\uff0c\u5e76\u8d2d\u4e70\u76f8\u5173\u7684\u77ed\u4fe1\u670d\u52a1\u5957\u9910<\/li>\n<\/ol>\n<p>\u4e8c\u3001\u96c6\u6210\u77ed\u4fe1\u9a8c\u8bc1\u7801\u529f\u80fd<\/p>\n<p><span>\u7acb\u5373\u5b66\u4e60<\/span>\u201c\u201d\uff1b<\/p>\n<ol>\n<li>\u5b89\u88c5\u77ed\u4fe1\u53d1\u9001\u6269\u5c55\u5305<br \/>\u5728ThinkPHP6\u9879\u76ee\u7684\u6839\u76ee\u5f55\u4e0b\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u5b89\u88c5\u77ed\u4fe1\u53d1\u9001\u6269\u5c55\u5305\uff1a<br \/>composer require overtrue\/easy-sms -vvv<\/li>\n<li>\u914d\u7f6e\u77ed\u4fe1\u670d\u52a1<br \/>\u5728\u9879\u76ee\u6839\u76ee\u5f55\u4e0b\u7684config\u76ee\u5f55\u4e2d\uff0c\u65b0\u5efa\u4e00\u4e2asms.php\u6587\u4ef6\uff0c\u5e76\u6dfb\u52a0\u4ee5\u4e0b\u914d\u7f6e\uff1a<\/li>\n<\/ol>\n<pre>return [\n    'default' =&amp;gt; [\n        'gateways' =&amp;gt; [\n            'aliyun',  \/\/ \u963f\u91cc\u4e91\u77ed\u4fe1\u670d\u52a1\n        ],\n    ],\n    'gateways' =&amp;gt; [\n        'aliyun' =&amp;gt; [\n            'access_key_id' =&amp;gt; 'your-access_key_id',  \/\/ \u4f60\u7684\u963f\u91cc\u4e91access_key_id\n            'access_key_secret' =&amp;gt; 'your-access_key_secret',  \/\/ \u4f60\u7684\u963f\u91cc\u4e91access_key_secret\n            'sign_name' =&amp;gt; 'your-sign_name',  \/\/ \u4f60\u7684\u77ed\u4fe1\u7b7e\u540d\u540d\u79f0\n        ],\n    ],\n];<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<ol>\n<li>\u521b\u5efa\u9a8c\u8bc1\u7801\u53d1\u9001\u7c7b<br \/>\u5728app\u76ee\u5f55\u4e0b\u7684common\u76ee\u5f55\u4e2d\uff0c\u65b0\u5efa\u4e00\u4e2aSms\u7c7b\uff0c\u7528\u4e8e\u53d1\u9001\u9a8c\u8bc1\u7801\uff1a<\/li>\n<\/ol>\n<pre>acadeCache;\nuse thinkacadeConfig;\n\nclass Sms\n{\n    \/\/ \u53d1\u9001\u9a8c\u8bc1\u7801\n    public static function sendCode($phoneNumber)\n    {\n        \/\/ \u751f\u6210\u968f\u673a\u9a8c\u8bc1\u7801\n        $code = mt_rand(100000, 999999);\n        \n        \/\/ \u53d1\u9001\u77ed\u4fe1\n        $result = EasySmsFacadesEasySms::send($phoneNumber, [\n            'template' =&amp;gt; 'your-template-id',  \/\/ \u4f60\u5728\u77ed\u4fe1\u670d\u52a1\u63d0\u4f9b\u5546\u5904\u521b\u5efa\u7684\u77ed\u4fe1\u6a21\u677fID\n            'data' =&amp;gt; [\n                'code' =&amp;gt; $code,\n            ],\n        ]);\n        \n        \/\/ \u9a8c\u8bc1\u7801\u5b58\u5165\u7f13\u5b58\uff0c\u6709\u6548\u65f6\u95f4\u4e3a5\u5206\u949f\n        Cache::set('sms_code:' . $phoneNumber, $code, 300);\n        \n        return $result;\n    }\n}<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<ol>\n<li>\u8c03\u7528\u9a8c\u8bc1\u7801\u53d1\u9001\u7c7b<br \/>\u5728\u4f60\u9700\u8981\u53d1\u9001\u9a8c\u8bc1\u7801\u7684\u5730\u65b9\uff0c\u8c03\u7528Sms\u7c7b\u7684sendCode\u65b9\u6cd5\u5373\u53ef\u53d1\u9001\u9a8c\u8bc1\u7801\uff1a<\/li>\n<\/ol>\n<pre>&lt;?php namespace appindexcontroller;\n\nuse appcommonSms;\n\nclass User\n{\n    public function sendSmsCode()\n    {\n        $phoneNumber = '\u624b\u673a\u53f7\u7801';\n        Sms::sendCode($phoneNumber);\n    }\n}<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<ol>\n<li>\u9a8c\u8bc1\u9a8c\u8bc1\u7801<br \/>\u5728\u4f60\u9700\u8981\u9a8c\u8bc1\u7528\u6237\u8f93\u5165\u7684\u9a8c\u8bc1\u7801\u7684\u5730\u65b9\uff0c\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u65b9\u5f0f\u8fdb\u884c\u9a8c\u8bc1\uff1a<\/li>\n<\/ol>\n<pre>acadeCache;\n\nclass User\n{\n    public function checkCode()\n    {\n        $phoneNumber = '\u624b\u673a\u53f7\u7801';\n        $code = '\u7528\u6237\u8f93\u5165\u7684\u9a8c\u8bc1\u7801';\n        \n        \/\/ \u4ece\u7f13\u5b58\u4e2d\u83b7\u53d6\u6b63\u786e\u7684\u9a8c\u8bc1\u7801\n        $correctCode = Cache::get('sms_code:' . $phoneNumber);\n        \n        \/\/ \u9a8c\u8bc1\u7528\u6237\u8f93\u5165\u7684\u9a8c\u8bc1\u7801\u662f\u5426\u6b63\u786e\n        if ($code == $correctCode) {\n            \/\/ \u9a8c\u8bc1\u901a\u8fc7\n            \/\/ \u8fdb\u884c\u76f8\u5173\u64cd\u4f5c\n        } else {\n            \/\/ \u9a8c\u8bc1\u5931\u8d25\n            \/\/ \u63d0\u793a\u7528\u6237\u9a8c\u8bc1\u7801\u9519\u8bef\n        }\n    }\n}<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>\u4e09\u3001\u603b\u7ed3<br \/>\u901a\u8fc7\u4ee5\u4e0a\u6b65\u9aa4\uff0c\u6211\u4eec\u6210\u529f\u5730\u5728ThinkPHP6\u6846\u67b6\u4e2d\u96c6\u6210\u4e86\u77ed\u4fe1\u9a8c\u8bc1\u7801\u529f\u80fd\uff0c\u5e76\u5b9e\u73b0\u4e86\u624b\u673a\u9a8c\u8bc1\u529f\u80fd\u3002\u5f53\u7528\u6237\u9700\u8981\u8fdb\u884c\u624b\u673a\u9a8c\u8bc1\u65f6\uff0c\u53ef\u4ee5\u901a\u8fc7\u53d1\u9001\u9a8c\u8bc1\u7801\u7684\u65b9\u5f0f\uff0c\u8ba9\u7528\u6237\u8f93\u5165\u6b63\u786e\u7684\u9a8c\u8bc1\u7801\u8fdb\u884c\u9a8c\u8bc1\u3002\u8fd9\u6837\u53ef\u4ee5\u589e\u52a0\u7528\u6237\u767b\u5f55\u3001\u6ce8\u518c\u4ee5\u53ca\u91cd\u8981\u4fe1\u606f\u4fee\u6539\u7b49\u64cd\u4f5c\u7684\u5b89\u5168\u6027\u3002<\/p>\n<p>\u6700\u540e\uff0c\u9700\u8981\u6ce8\u610f\u7684\u662f\u8d2d\u4e70\u77ed\u4fe1\u670d\u52a1\u5957\u9910\u65f6\uff0c\u6839\u636e\u4f60\u7684\u5b9e\u9645\u9700\u6c42\u8fdb\u884c\u9009\u62e9\uff0c\u907f\u514d\u6d6a\u8d39\u8d44\u6e90\u548c\u6210\u672c\u3002\u53e6\u5916\uff0c\u4e3a\u4e86\u9632\u6b62\u6076\u610f\u77ed\u4fe1\u53d1\u9001\uff0c\u4e00\u822c\u4f1a\u6709\u4e00\u5b9a\u7684\u9650\u5236\uff0c\u5982\u6bcf\u5206\u949f\u53ea\u80fd\u53d1\u9001\u4e00\u5b9a\u6570\u91cf\u7684\u77ed\u4fe1\uff0c\u6bcf\u5929\u53ea\u80fd\u53d1\u9001\u4e00\u5b9a\u6570\u91cf\u7684\u77ed\u4fe1\u7b49\u3002\u5728\u5b9e\u9645\u4f7f\u7528\u4e2d\uff0c\u8981\u6839\u636e\u77ed\u4fe1\u670d\u52a1\u63d0\u4f9b\u5546\u7684\u89c4\u5b9a\u548c\u914d\u7f6e\uff0c\u6ce8\u610f\u4f7f\u7528\u77ed\u4fe1\u9a8c\u8bc1\u7801\u529f\u80fd\u3002<\/p>\n<p>\u4ee5\u4e0a\u5c31\u662fThinkPHP6\u77ed\u4fe1\u9a8c\u8bc1\u7801\u96c6\u6210\uff1a\u5b9e\u73b0\u529f\u80fd\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>ThinkPHP6\u77ed\u4fe1\u9a8c\u8bc1\u7801\u96c6\u6210\uff1a\u5b9e\u73b0\u529f\u80fd \u524d\u8a00\uff1a\u5728\u73b0\u4ee3\u793e\u4f1a\u4e2d\uff0c\u624b\u673a\u5df2\u7ecf\u6210\u4e3a\u4eba\u4eec\u751f\u6d3b\u4e2d\u5fc5\u4e0d\u53ef\u5c11\u7684\u5de5\u5177\u4e4b\u4e00\u3002\u800c\u5728\u7f51\u7ad9\u6216APP\u5f00\u53d1\u4e2d\uff0c\u7528\u6237\u624b\u673a\u53f7\u7801\u7684\u9a8c\u8bc1\u4e5f\u662f\u4e00\u4e2a\u5e38\u89c1\u7684\u529f\u80fd\u9700\u6c42\u3002\u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u5728ThinkPHP6\u6846\u67b6\u4e2d\u96c6\u6210\u77ed\u4fe1\u9a8c\u8bc1\u7801\u529f\u80fd\uff0c\u5b9e\u73b0\u624b\u673a\u9a8c\u8bc1\u529f\u80fd\u3002 \u4e00\u3001\u51c6\u5907\u5de5\u4f5c \u786e\u4fdd\u4f60\u5df2\u7ecf\u5b89\u88c5\u597d\u4e86ThinkPHP6\u6846\u67b6\uff0c\u6216\u8005\u53ef\u4ee5\u901a\u8fc7composer\u5b89\u88c5 \u6ce8\u518c\u4e00\u4e2a\u77ed\u4fe1\u670d\u52a1\u63d0\u4f9b\u5546\u7684\u8d26\u53f7\uff0c\u5982\u963f\u91cc\u4e91\u3001\u817e\u8baf\u4e91\u3001\u4e91\u7247\u7b49\uff0c\u5e76\u8d2d\u4e70\u76f8\u5173\u7684\u77ed\u4fe1\u670d\u52a1\u5957\u9910 \u4e8c\u3001\u96c6\u6210\u77ed\u4fe1\u9a8c\u8bc1\u7801\u529f\u80fd \u7acb\u5373\u5b66\u4e60\u201c\u201d\uff1b \u5b89\u88c5\u77ed\u4fe1\u53d1\u9001\u6269\u5c55\u5305\u5728ThinkPHP6\u9879\u76ee\u7684\u6839\u76ee\u5f55\u4e0b\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u5b89\u88c5\u77ed\u4fe1\u53d1\u9001\u6269\u5c55\u5305\uff1acomposer require overtrue\/easy-sms -vvv \u914d\u7f6e\u77ed\u4fe1\u670d\u52a1\u5728\u9879\u76ee\u6839\u76ee\u5f55\u4e0b\u7684config\u76ee\u5f55\u4e2d\uff0c\u65b0\u5efa\u4e00\u4e2asms.php\u6587\u4ef6\uff0c\u5e76\u6dfb\u52a0\u4ee5\u4e0b\u914d\u7f6e\uff1a return [ &#8216;default&#8217; =&amp;gt; [ &#8216;gateways&#8217; =&amp;gt; [ &#8216;aliyun&#8217;, \/\/ \u963f\u91cc\u4e91\u77ed\u4fe1\u670d\u52a1 ], ], &#8216;gateways&#8217; =&amp;gt; [ &#8216;aliyun&#8217; =&amp;gt; [ &#8216;access_key_id&#8217; =&amp;gt; &#8216;your-access_key_id&#8217;, \/\/ \u4f60\u7684\u963f\u91cc\u4e91access_key_id &#8216;access_key_secret&#8217; =&amp;gt; &#8216;your-access_key_secret&#8217;, \/\/ \u4f60\u7684\u963f\u91cc\u4e91access_key_secret &#8216;sign_name&#8217; =&amp;gt; &#8216;your-sign_name&#8217;, \/\/ \u4f60\u7684\u77ed\u4fe1\u7b7e\u540d\u540d\u79f0 ], ], ]; \u767b\u5f55\u540e\u590d\u5236 \u521b\u5efa\u9a8c\u8bc1\u7801\u53d1\u9001\u7c7b\u5728app\u76ee\u5f55\u4e0b\u7684common\u76ee\u5f55\u4e2d\uff0c\u65b0\u5efa\u4e00\u4e2aSms\u7c7b\uff0c\u7528\u4e8e\u53d1\u9001\u9a8c\u8bc1\u7801\uff1a acadeCache; use thinkacadeConfig; class [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16],"tags":[],"class_list":["post-24462","post","type-post","status-publish","format-standard","hentry","category-16"],"_links":{"self":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/24462","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=24462"}],"version-history":[{"count":0,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/24462\/revisions"}],"wp:attachment":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/media?parent=24462"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/categories?post=24462"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/tags?post=24462"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}