{"id":29260,"date":"2024-11-25T11:32:14","date_gmt":"2024-11-25T03:32:14","guid":{"rendered":"https:\/\/fwq.ai\/blog\/29260\/"},"modified":"2024-11-25T11:32:14","modified_gmt":"2024-11-25T03:32:14","slug":"%e5%be%ae%e4%bf%a1%e5%85%ac%e4%bc%97%e5%b9%b3%e5%8f%b0%e5%bc%80%e5%8f%91%e4%b9%8b%e8%87%aa%e5%ae%9a%e4%b9%89%e8%8f%9c%e5%8d%95%e7%9a%84%e5%88%9b%e5%bb%ba%e5%92%8c%e5%88%a0%e9%99%a4%e7%9a%84%e8%af%a6","status":"publish","type":"post","link":"https:\/\/fwq.ai\/blog\/29260\/","title":{"rendered":"\u5fae\u4fe1\u516c\u4f17\u5e73\u53f0\u5f00\u53d1\u4e4b\u81ea\u5b9a\u4e49\u83dc\u5355\u7684\u521b\u5efa\u548c\u5220\u9664\u7684\u8be6\u7ec6\u4ecb\u7ecd"},"content":{"rendered":"<p>\u5728\u521b\u5efa\u83dc\u5355\u65f6\uff0c\u90fd\u662f\u57fa\u4e8ejson\u4f20\u8f93\u6570\u636e\uff0c\u6240\u4ee5\u8981\u7528\u5230json\uff0c\u4e0b\u8f7d\u76f8\u5173\u5305&nbsp;\u70b9\u51fb\u4e0b\u8f7d:<\/p>\n<p>\u516c\u4f17\u5e73\u53f0\u5f00\u53d1\u6587\u6863\u4e0a\u6709\u8bf4\u660e\uff1a<\/p>\n<p>\u8bf7\u6ce8\u610f\uff1a<\/p>\n<p>1\u3001\u81ea\u5b9a\u4e49\u83dc\u5355\u6700\u591a\u5305\u62ec3\u4e2a\u4e00\u7ea7\u83dc\u5355\uff0c\u6bcf\u4e2a\u4e00\u7ea7\u83dc\u5355\u6700\u591a\u5305\u542b5\u4e2a\u4e8c\u7ea7\u83dc\u5355\u3002<br \/>2\u3001\u4e00\u7ea7\u83dc\u5355\u6700\u591a4\u4e2a\u6c49\u5b57\uff0c\u4e8c\u7ea7\u83dc\u5355\u6700\u591a7\u4e2a\u6c49\u5b57\uff0c\u591a\u51fa\u6765\u7684\u90e8\u5206\u5c06\u4f1a\u4ee5\u201c&#8230;\u201d\u4ee3\u66ff\u3002<br \/>3\u3001\u521b\u5efa\u81ea\u5b9a\u4e49\u83dc\u5355\u540e\uff0c\u7531\u4e8e\u5fae\u4fe1\u5ba2\u6237\u7aef\u7f13\u5b58\uff0c\u9700\u898124\u5c0f\u65f6\u5fae\u4fe1\u5ba2\u6237\u7aef\u624d\u4f1a\u5c55\u73b0\u51fa\u6765\u3002\u6d4b\u8bd5\u65f6\u53ef\u4ee5\u5c1d\u8bd5\u53d6\u6d88\u5173\u6ce8\u516c\u4f17\u8d26\u53f7\u540e\u518d\u6b21\u5173\u6ce8\uff0c\u5219\u53ef\u4ee5\u770b\u5230\u521b\u5efa\u540e\u7684\u6548\u679c\u3002<\/p>\n<p>\u81ea\u5b9a\u4e49\u83dc\u5355\u63a5\u53e3\u53ef\u5b9e\u73b0\u591a\u79cd\u7c7b\u578b\u6309\u94ae\uff0c\u5982\u4e0b\uff1a<\/p>\n<p>1\u3001click\uff1a\u70b9\u51fb\u63a8\u4e8b\u4ef6\u7528\u6237\u70b9\u51fbclick\u7c7b\u578b\u6309\u94ae\u540e\uff0c\u5fae\u4fe1\u670d\u52a1\u5668\u4f1a\u901a\u8fc7\u6d88\u606f\u63a5\u53e3\u63a8\u9001\u6d88\u606f\u7c7b\u578b\u4e3aevent <br \/>\u7684\u7ed3\u6784\u7ed9\u5f00\u53d1\u8005\uff08\u53c2\u8003\u6d88\u606f\u63a5\u53e3\u6307\u5357\uff09\uff0c\u5e76\u4e14\u5e26\u4e0a\u6309\u94ae\u4e2d\u5f00\u53d1\u8005\u586b\u5199\u7684key\u503c\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u901a\u8fc7\u81ea\u5b9a\u4e49<br \/>\u7684key\u503c\u4e0e\u7528\u6237\u8fdb\u884c\u4ea4\u4e92\uff1b<br \/>2\u3001view\uff1a\u8df3\u8f6cURL\u7528\u6237\u70b9\u51fbview\u7c7b\u578b\u6309\u94ae\u540e\uff0c\u5fae\u4fe1\u5ba2\u6237\u7aef\u5c06\u4f1a\u6253\u5f00\u5f00\u53d1\u8005\u5728<br \/>\u6309\u94ae\u4e2d\u586b\u5199\u7684\u7f51\u9875URL\uff0c\u53ef\u4e0e\u7f51\u9875\u6388\u6743\u83b7\u53d6\u7528\u6237\u57fa\u672c\u4fe1\u606f\u63a5\u53e3\u7ed3\u5408\uff0c\u83b7\u5f97\u7528\u6237\u57fa\u672c\u4fe1\u606f\u3002<br \/>3\u3001scancode_push\uff1a\u626b\u7801\u63a8\u4e8b\u4ef6\u7528\u6237\u70b9\u51fb\u6309\u94ae\u540e\uff0c\u5fae\u4fe1\u5ba2\u6237\u7aef\u5c06\u8c03\u8d77\u626b\u4e00\u626b\u5de5\u5177\uff0c\u5b8c\u6210\u626b\u7801\u64cd\u4f5c\u540e\u663e<br \/>\u793a\u626b\u63cf\u7ed3\u679c\uff08\u5982\u679c\u662fURL\uff0c\u5c06\u8fdb\u5165URL\uff09\uff0c\u4e14\u4f1a\u5c06\u626b\u7801\u7684\u7ed3\u679c\u4f20\u7ed9\u5f00\u53d1\u8005\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u4e0b\u53d1\u6d88\u606f\u3002<br \/>4\u3001scancode_waitmsg\uff1a\u626b\u7801\u63a8\u4e8b\u4ef6\u4e14\u5f39\u51fa\u201c\u6d88\u606f\u63a5\u6536\u4e2d\u201d\u63d0\u793a\u6846\u7528\u6237\u70b9\u51fb\u6309\u94ae\u540e\uff0c\u5fae\u4fe1\u5ba2\u6237\u7aef\u5c06\u8c03<br \/>\u8d77\u626b\u4e00\u626b\u5de5\u5177\uff0c\u5b8c\u6210\u626b\u7801\u64cd\u4f5c\u540e\uff0c\u5c06\u626b\u7801\u7684\u7ed3\u679c\u4f20\u7ed9\u5f00\u53d1\u8005\uff0c\u540c\u65f6\u6536\u8d77\u626b\u4e00\u626b\u5de5\u5177\uff0c\u7136\u540e\u5f39\u51fa\u201c\u6d88\u606f<br \/>\u63a5\u6536\u4e2d\u201d\u63d0\u793a\u6846\uff0c\u968f\u540e\u53ef\u80fd\u4f1a\u6536\u5230\u5f00\u53d1\u8005\u4e0b\u53d1\u7684\u6d88\u606f\u3002<br \/>5\u3001pic_sysphoto\uff1a\u5f39\u51fa\u7cfb\u7edf\u62cd\u7167\u53d1\u56fe\u7528\u6237\u70b9\u51fb\u6309\u94ae\u540e\uff0c\u5fae\u4fe1\u5ba2\u6237\u7aef\u5c06\u8c03\u8d77\u7cfb\u7edf\u76f8\u673a\uff0c\u5b8c\u6210\u62cd\u7167\u64cd\u4f5c\u540e\uff0c<br \/>\u4f1a\u5c06\u62cd\u6444\u7684\u76f8\u7247\u53d1\u9001\u7ed9\u5f00\u53d1\u8005\uff0c\u5e76\u63a8\u9001\u4e8b\u4ef6\u7ed9\u5f00\u53d1\u8005\uff0c\u540c\u65f6\u6536\u8d77\u7cfb\u7edf\u76f8\u673a\uff0c\u968f\u540e\u53ef\u80fd\u4f1a\u6536\u5230\u5f00\u53d1\u8005\u4e0b<br \/>\u53d1\u7684\u6d88\u606f\u3002<br \/>6\u3001pic_photo_or_album\uff1a\u5f39\u51fa\u62cd\u7167\u6216\u8005\u76f8\u518c\u53d1\u56fe\u7528\u6237\u70b9\u51fb\u6309\u94ae\u540e\uff0c\u5fae\u4fe1\u5ba2\u6237\u7aef\u5c06\u5f39\u51fa\u9009\u62e9<br \/>\u5668\u4f9b\u7528\u6237\u9009\u62e9\u201c\u62cd\u7167\u201d\u6216\u8005\u201c\u4ece\u624b\u673a\u76f8\u518c\u9009\u62e9\u201d\u3002\u7528\u6237\u9009\u62e9\u540e\u5373\u8d70\u5176\u4ed6\u4e24\u79cd\u6d41\u7a0b\u3002<br \/>7\u3001pic_weixin\uff1a\u5f39\u51fa\u5fae\u4fe1\u76f8\u518c\u53d1\u56fe\u5668\u7528\u6237\u70b9\u51fb\u6309\u94ae\u540e\uff0c\u5fae\u4fe1\u5ba2\u6237\u7aef\u5c06\u8c03\u8d77\u5fae\u4fe1\u76f8\u518c\uff0c\u5b8c\u6210\u9009\u62e9\u64cd\u4f5c<br \/>\u540e\uff0c\u5c06\u9009\u62e9\u7684\u76f8\u7247\u53d1\u9001\u7ed9\u5f00\u53d1\u8005\u7684\u670d\u52a1\u5668\uff0c\u5e76\u63a8\u9001\u4e8b\u4ef6\u7ed9\u5f00\u53d1\u8005\uff0c\u540c\u65f6\u6536\u8d77\u76f8\u518c\uff0c\u968f\u540e\u53ef\u80fd\u4f1a\u6536\u5230\u5f00<br \/>\u53d1\u8005\u4e0b\u53d1\u7684\u6d88\u606f\u3002<br \/>8\u3001location_select\uff1a\u5f39\u51fa\u5730\u7406\u4f4d\u7f6e\u9009\u62e9\u5668\u7528\u6237\u70b9\u51fb\u6309\u94ae\u540e\uff0c\u5fae\u4fe1\u5ba2\u6237\u7aef\u5c06\u8c03\u8d77\u5730<br \/>\u7406\u4f4d\u7f6e\u9009\u62e9\u5de5\u5177\uff0c\u5b8c\u6210\u9009\u62e9\u64cd\u4f5c\u540e\uff0c\u5c06\u9009\u62e9\u7684\u5730\u7406\u4f4d\u7f6e\u53d1\u9001\u7ed9\u5f00\u53d1\u8005\u7684\u670d\u52a1\u5668\uff0c\u540c\u65f6\u6536\u8d77\u4f4d\u7f6e\u9009\u62e9<br \/>\u5de5\u5177\uff0c\u968f\u540e\u53ef\u80fd\u4f1a\u6536\u5230\u5f00\u53d1\u8005\u4e0b\u53d1\u7684\u6d88\u606f\u3002<br \/>9\u3001media_id\uff1a\u4e0b\u53d1\u6d88\u606f\uff08\u9664\u6587\u672c\u6d88\u606f\uff09\u7528\u6237\u70b9\u51fb<br \/>media_id\u7c7b\u578b\u6309\u94ae\u540e\uff0c\u5fae\u4fe1\u670d\u52a1\u5668\u4f1a\u5c06\u5f00\u53d1\u8005\u586b\u5199\u7684\u6c38\u4e45\u7d20\u6750id\u5bf9\u5e94\u7684\u7d20\u6750\u4e0b\u53d1\u7ed9\u7528\u6237\uff0c\u6c38\u4e45\u7d20\u6750\u7c7b<br \/>\u578b\u53ef\u4ee5\u662f\u56fe\u7247\u3001\u97f3\u9891\u3001\u89c6\u9891\u3001\u56fe\u6587\u6d88\u606f\u3002\u8bf7\u6ce8\u610f\uff1a\u6c38\u4e45\u7d20\u6750id\u5fc5\u987b\u662f\u5728\u201c\u7d20\u6750\u7ba1\u7406\/\u65b0\u589e\u6c38\u4e45\u7d20\u6750\u201d<br \/>\u63a5\u53e3\u4e0a\u4f20\u540e\u83b7\u5f97\u7684\u5408\u6cd5id\u300210\u3001view_limited\uff1a\u8df3\u8f6c\u56fe\u6587\u6d88\u606fURL\u7528\u6237\u70b9\u51fbview_limited\u7c7b\u578b\u6309\u94ae\u540e\uff0c<br \/>\u5fae\u4fe1\u5ba2\u6237\u7aef\u5c06\u6253\u5f00\u5f00\u53d1\u8005\u5728\u6309\u94ae\u4e2d\u586b\u5199\u7684\u6c38\u4e45\u7d20\u6750id\u5bf9\u5e94\u7684\u56fe\u6587\u6d88\u606fURL\uff0c\u6c38\u4e45\u7d20\u6750\u7c7b\u578b\u53ea\u652f\u6301\u56fe\u6587<br \/>\u6d88\u606f\u3002\u8bf7\u6ce8\u610f\uff1a\u6c38\u4e45\u7d20\u6750id\u5fc5\u987b\u662f\u5728\u201c\u7d20\u6750\u7ba1\u7406\/\u65b0\u589e\u6c38\u4e45\u7d20\u6750\u201d\u63a5\u53e3\u4e0a\u4f20\u540e\u83b7\u5f97\u7684\u5408\u6cd5id\u3002<\/p>\n<p>\u8bf7\u6ce8\u610f\uff0c3\u52308\u7684\u6240\u6709\u4e8b\u4ef6\uff0c\u4ec5\u652f\u6301\u5fae\u4fe1iPhone5.4.1\u4ee5\u4e0a\u7248\u672c\uff0c\u548cAndroid5.4\u4ee5\u4e0a\u7248\u672c\u7684\u5fae\u4fe1\u7528\u6237\uff0c\u65e7\u7248\u672c\u5fae\u4fe1\u7528\u6237\u70b9\u51fb\u540e\u5c06 \u6ca1\u6709\u56de\u5e94\uff0c\u5f00\u53d1\u8005\u4e5f\u4e0d\u80fd\u6b63\u5e38\u63a5\u6536\u5230\u4e8b\u4ef6\u63a8\u9001\u30029\u548c10\uff0c\u662f\u4e13\u95e8\u7ed9\u7b2c\u4e09\u65b9\u5e73\u53f0\u65d7\u4e0b\u672a\u5fae\u4fe1\u8ba4\u8bc1\uff08\u5177\u4f53\u800c\u8a00\uff0c\u662f\u8d44\u8d28\u8ba4\u8bc1\u672a\u901a\u8fc7\uff09\u7684\u8ba2\u9605\u53f7\u51c6\u5907\u7684\u4e8b\u4ef6\u7c7b\u578b\uff0c\u5b83\u4eec\u662f \u6ca1\u6709\u4e8b\u4ef6\u63a8\u9001\u7684\uff0c\u80fd\u529b\u76f8\u5bf9\u53d7\u9650\uff0c\u5176\u4ed6\u7c7b\u578b\u7684\u516c\u4f17\u53f7\u4e0d\u5fc5\u4f7f\u7528\u3002<\/p>\n<p>\u4e00\u3001\u7531\u4e8e\u81ea\u5b9a\u4e49\u83dc\u5355\u5728\u91c7\u7528http\u8bf7\u6c42\u65b9\u5f0f\uff0c\u8981\u4f7f\u7528https\u534f\u8bae\u3002\u5199\u4e00\u4e2a\u65b9\u6cd5\u7c7b\uff0c\u5904\u7406https\u548cjson\u6570\u636e\u3002<\/p>\n<p>\u5728\u5305com.cc.wechat.util\u4e0b\u65b0\u5efa\u7c7b\uff1a<\/p>\n<p>&#8212;CommonUtil.java:<\/p>\n<pre>package&nbsp;com.cc.wechat.util;\r\n&nbsp;\r\nimport&nbsp;java.io.BufferedReader;\r\nimport&nbsp;java.io.InputStream;\r\nimport&nbsp;java.io.InputStreamReader;\r\nimport&nbsp;java.io.OutputStream;\r\nimport&nbsp;java.net.URL;\r\n&nbsp;\r\nimport&nbsp;javax.net.ssl.HttpsURLConnection;\r\nimport&nbsp;javax.net.ssl.SSLContext;\r\nimport&nbsp;javax.net.ssl.SSLSocketFactory;\r\nimport&nbsp;javax.net.ssl.TrustManager;\r\n&nbsp;\r\n\/**\r\n&nbsp;*&nbsp;\u516c\u4f17\u5e73\u53f0\u901a\u7528\u63a5\u53e3\u5de5\u5177\u7c7b\r\n&nbsp;*&nbsp;@author&nbsp;ICHN\r\n&nbsp;*&nbsp;2015-09-04\r\n&nbsp;*\/\r\npublic&nbsp;class&nbsp;CommonUtil&nbsp;{\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/**\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;\u53d1\u8d77https\u8bf7\u6c42\u5e76\u83b7\u53d6\u7ed3\u679c\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;requestUrl&nbsp;\u8bf7\u6c42\u5730\u5740\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;requestMethod&nbsp;\u8bf7\u6c42\u65b9\u5f0f\uff08GET\u3001POST\uff09\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;outputStr&nbsp;&nbsp;\u63d0\u4ea4\u7684\u6570\u636e\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;JSONObject(\u901a\u8fc7JSONObject.get(key)\u7684\u65b9\u5f0f\u83b7\u53d6json\u5bf9\u8c61\u7684\u5c5e\u6027\u503c)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*\/\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;static&nbsp;String&nbsp;httpsRequest(String&nbsp;requestUrl,&nbsp;String&nbsp;requestMethod,&nbsp;String&nbsp;outputStr)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StringBuffer&nbsp;sb&nbsp;=&nbsp;new&nbsp;StringBuffer();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;\u521b\u5efaSSLContext\u5bf9\u8c61\uff0c\u5e76\u4f7f\u7528\u6211\u4eec\u6307\u5b9a\u7684\u4fe1\u4efb\u7ba1\u7406\u5668\u521d\u59cb\u5316\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TrustManager[]&nbsp;tm&nbsp;=&nbsp;{new&nbsp;MyX509TrustManager()};\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SSLContext&nbsp;sslContext&nbsp;=&nbsp;SSLContext.getInstance(\"SSL\",&nbsp;\"SunJSSE\");\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sslContext.init(null,&nbsp;tm,&nbsp;new&nbsp;java.security.SecureRandom());\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;\u4ece\u4e0a\u8ff0SSLContext\u5bf9\u8c61\u4e2d\u5f97\u5230SSLSocketFactory\u5bf9\u8c61\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SSLSocketFactory&nbsp;ssf&nbsp;=&nbsp;sslContext.getSocketFactory();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;URL&nbsp;url&nbsp;=&nbsp;new&nbsp;URL(requestUrl);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HttpsURLConnection&nbsp;httpsUrlConnection&nbsp;=&nbsp;(HttpsURLConnection)url.openConnection();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;httpsUrlConnection.setSSLSocketFactory(ssf);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;httpsUrlConnection.setDoInput(true);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;httpsUrlConnection.setDoOutput(true);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;httpsUrlConnection.setUseCaches(false);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;\u8bbe\u7f6e\u8bf7\u6c42\u65b9\u5f0f(GET\/POST)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;httpsUrlConnection.setRequestMethod(requestMethod);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u5bf9\u8bf7\u6c42\u65b9\u5f0f\u8fdb\u884c\u5224\u65ad&nbsp;equalsIgnoreCase\u4e0d\u533a\u5206\u5927\u5c0f\u5199\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(\"GET\".equalsIgnoreCase(requestMethod))&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u5efa\u7acb\u8fde\u63a5\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;httpsUrlConnection.connect();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u5f53\u6709\u6570\u636e\u9700\u8981\u63d0\u4ea4\u65f6\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(null&nbsp;!=&nbsp;outputStr)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputStream&nbsp;os&nbsp;=&nbsp;httpsUrlConnection.getOutputStream();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;\u6ce8\u610f\u7f16\u7801\u683c\u5f0f\uff0c\u9632\u6b62\u4e2d\u6587\u4e71\u7801\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os.write(outputStr.getBytes(\"UTF-8\"));\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os.close();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u5c06\u8fd4\u56de\u7684\u8f93\u5165\u6d41\u8f6c\u6362\u6210\u5b57\u7b26\u4e32\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputStream&nbsp;is&nbsp;=&nbsp;httpsUrlConnection.getInputStream();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputStreamReader&nbsp;isr&nbsp;=&nbsp;new&nbsp;InputStreamReader(is,&nbsp;\"UTF-8\");\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BufferedReader&nbsp;br&nbsp;=&nbsp;new&nbsp;BufferedReader(isr);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;strLine&nbsp;=&nbsp;null;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while((strLine&nbsp;=&nbsp;br.readLine())&nbsp;!=&nbsp;null)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.append(strLine);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;br.close();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;isr.close();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u91ca\u653e\u8d44\u6e90\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is.close();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is&nbsp;=&nbsp;null;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;catch&nbsp;(Exception&nbsp;e)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;sb.toString();\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n}<\/pre>\n<p>  \u767b\u5f55\u540e\u590d\u5236   <\/p>\n<p>\u4e8c\u3001\u5b9a\u4e49\u5404\u79cd\u7c7b\u578b\u7684\u6309\u94ae\uff0c\u628a\u5171\u540c\u7684\u53d8\u91cf\u62bd\u51fa\u6765\u5199\u5728\u4e00\u4e2a\u7c7b\u4e2d\u3002<\/p>\n<p>\u5728\u5305com.cc.wechat.menu\u4e0b\u521b\u5efa\u76f8\u5173\u7684\u7c7b\uff1a<\/p>\n<p>1&nbsp; &#8212;Button.java:<\/p>\n<pre>package&nbsp;com.cc.wechat.menu;\r\n&nbsp;\r\n\/**\r\n&nbsp;*&nbsp;\u83dc\u5355\u6309\u94ae\r\n&nbsp;*&nbsp;@author&nbsp;ICHN\r\n&nbsp;*\/\r\npublic&nbsp;class&nbsp;Button&nbsp;{\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u83dc\u5355\u6807\u9898\uff0c\u4e0d\u8d85\u8fc716\u4e2a\u5b57\u8282\uff0c\u5b50\u83dc\u5355\u4e0d\u8d85\u8fc740\u4e2a\u5b57\u8282\r\n&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;String&nbsp;name;\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;String&nbsp;getName()&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;name;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;setName(String&nbsp;name)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.name&nbsp;=&nbsp;name;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n}<\/pre>\n<p>  \u767b\u5f55\u540e\u590d\u5236   <\/p>\n<p>2&nbsp; &#8212;ClickButton.java:<\/p>\n<pre>package&nbsp;com.cc.wechat.menu;\r\n&nbsp;\r\n\/**\r\n&nbsp;*&nbsp;click\u7c7b\u578b\u6309\u94ae\r\n&nbsp;*&nbsp;@author&nbsp;ICHN\r\n&nbsp;*\r\n&nbsp;*\/\r\npublic&nbsp;class&nbsp;ClickButton&nbsp;extends&nbsp;Button{\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u83dc\u5355\u7684\u54cd\u5e94\u52a8\u4f5c\u7c7b\u578b&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;String&nbsp;type;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u83dc\u5355KEY\u503c\uff0c\u7528\u4e8e\u6d88\u606f\u63a5\u53e3\u63a8\u9001\uff0c\u4e0d\u8d85\u8fc7128\u5b57\u8282&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;String&nbsp;key;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;String&nbsp;getType()&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;type;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;setType(String&nbsp;type)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.type&nbsp;=&nbsp;type;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;String&nbsp;getKey()&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;key;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;setKey(String&nbsp;key)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.key&nbsp;=&nbsp;key;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n}<\/pre>\n<p>  \u767b\u5f55\u540e\u590d\u5236   <\/p>\n<p>3&nbsp; &#8212;ComplexButton.java:<\/p>\n<pre>package&nbsp;com.cc.wechat.menu;\r\n&nbsp;\r\n\/**\r\n&nbsp;*&nbsp;\u4e8c\u7ea7\u83dc\u5355\u6570\u7ec4\r\n&nbsp;*&nbsp;\u4e2a\u6570\u5e94\u4e3a1~5\u4e2a\r\n&nbsp;*&nbsp;@author&nbsp;ICHN\r\n&nbsp;*\r\n&nbsp;*\/\r\npublic&nbsp;class&nbsp;ComplexButton&nbsp;extends&nbsp;Button&nbsp;{\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u4e8c\u7ea7\u83dc\u5355\u6570\u7ec4\r\n&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;Button[]&nbsp;sub_button;\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;Button[]&nbsp;getSub_button()&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;sub_button;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;setSub_button(Button[]&nbsp;sub_button)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.sub_button&nbsp;=&nbsp;sub_button;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n}<\/pre>\n<p>  \u767b\u5f55\u540e\u590d\u5236   <\/p>\n<p>4&nbsp; &#8212;Menu.java:<\/p>\n<pre>package&nbsp;com.cc.wechat.menu;\r\n&nbsp;\r\n\/**\r\n&nbsp;*&nbsp;\u83dc\u5355\r\n&nbsp;*&nbsp;@author&nbsp;ICHN\r\n&nbsp;*\r\n&nbsp;*\/\r\npublic&nbsp;class&nbsp;Menu&nbsp;{\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;Button[]&nbsp;button;\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;Button[]&nbsp;getButton()&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;button;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;setButton(Button[]&nbsp;button)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.button&nbsp;=&nbsp;button;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n}<\/pre>\n<p>  \u767b\u5f55\u540e\u590d\u5236   <\/p>\n<p>5&nbsp; &#8212;ViewButton.java:<\/p>\n<pre>package&nbsp;com.cc.wechat.menu;\r\n&nbsp;\r\n\/**\r\n&nbsp;*&nbsp;view\u7c7b\u578b\u6309\u94ae\r\n&nbsp;*&nbsp;@author&nbsp;ICHN\r\n&nbsp;*\r\n&nbsp;*\/\r\npublic&nbsp;class&nbsp;ViewButton&nbsp;extends&nbsp;Button&nbsp;{\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u83dc\u5355\u7684\u54cd\u5e94\u52a8\u4f5c\u7c7b\u578b&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;String&nbsp;type;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u7f51\u9875\u94fe\u63a5\uff0c\u7528\u6237\u70b9\u51fb\u83dc\u5355\u53ef\u6253\u5f00\u94fe\u63a5\uff0c\u4e0d\u8d85\u8fc7256\u5b57\u8282\r\n&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;String&nbsp;url;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;String&nbsp;getType()&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;type;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;setType(String&nbsp;type)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.type&nbsp;=&nbsp;type;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;String&nbsp;getUrl()&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;url;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;setUrl(String&nbsp;url)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.url&nbsp;=&nbsp;url;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n}<\/pre>\n<p>  \u767b\u5f55\u540e\u590d\u5236   <\/p>\n<p>\u4e09\u3001\u65b0\u5efa\u4e00\u4e2a\u6d4b\u8bd5\u7684\u6e90\u6587\u4ef6\u5939test,\u5728\u91cc\u9762\u5efa\u4e00\u4e2a\u5305com.cc.wechat.test\uff0c\u5728\u6b64\u5305\u91cc\u5199\u521b\u5efa\u83dc\u5355\u7684\u76f8\u5173\u7c7b\u3002<\/p>\n<p>\u5199\u4e00\u4e2a\u83b7\u53d6access_token\u7684\u7c7b:<\/p>\n<p>&#8212;GetAccessToken.java:<\/p>\n<pre>package&nbsp;com.cc.wechat.test;\r\n&nbsp;\r\nimport&nbsp;com.cc.wechat.util.CommonUtil;\r\n&nbsp;\r\n\/**\r\n&nbsp;*&nbsp;\u83b7\u53d6access_token\r\n&nbsp;*&nbsp;@author&nbsp;ICHN\r\n&nbsp;*&nbsp;\u6d4b\u8bd5\u8d26\u53f7\u7684appID\u548cappsecret\r\n&nbsp;*&nbsp;\r\n&nbsp;*&nbsp;access_token\u662f\u516c\u4f17\u53f7\u7684\u5168\u5c40\u552f\u4e00\u7968\u636e\uff0c\u516c\u4f17\u53f7\u8c03\u7528\u5404\u63a5\u53e3\u65f6\u90fd\u9700\u4f7f\u7528access_token\u3002\r\n&nbsp;*&nbsp;\u5f00\u53d1\u8005\u9700\u8981\u8fdb\u884c\u59a5\u5584\u4fdd\u5b58\u3002access_token\u7684\u5b58\u50a8\u81f3\u5c11\u8981\u4fdd\u7559512\u4e2a\u5b57\u7b26\u7a7a\u95f4\u3002\r\n&nbsp;*&nbsp;access_token\u7684\u6709\u6548\u671f\u76ee\u524d\u4e3a2\u4e2a\u5c0f\u65f6\uff0c\u9700\u5b9a\u65f6\u5237\u65b0\uff0c\r\n&nbsp;*&nbsp;\u91cd\u590d\u83b7\u53d6\u5c06\u5bfc\u81f4\u4e0a\u6b21\u83b7\u53d6\u7684access_token\u5931\u6548\r\n&nbsp;*\/\r\npublic&nbsp;class&nbsp;GetAccessToken&nbsp;{\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u6253\u5370\u51faaccess_token\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(CommonUtil.httpsRequest(\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"&amp;amp;secret=\u6b64\u5904\u586b\u5199appsecret\",&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"GET\",\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;null\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n}<\/pre>\n<p>  \u767b\u5f55\u540e\u590d\u5236   <\/p>\n<p>2.\u8fdb\u884c\u83dc\u5355\u7684\u521b\u5efa\u548c\u5220\u9664\uff1a<\/p>\n<p>&#8212;MenuTest.java:<\/p>\n<pre>package&nbsp;com.cc.wechat.test;\r\n&nbsp;\r\nimport&nbsp;net.sf.json.JSONObject;\r\n&nbsp;\r\nimport&nbsp;com.cc.wechat.menu.Button;\r\nimport&nbsp;com.cc.wechat.menu.ClickButton;\r\nimport&nbsp;com.cc.wechat.menu.ComplexButton;\r\nimport&nbsp;com.cc.wechat.menu.Menu;\r\nimport&nbsp;com.cc.wechat.util.CommonUtil;\r\n\/**\r\n&nbsp;*&nbsp;\u6267\u884c\u83dc\u5355\u7684\u521b\u5efa\r\n&nbsp;*&nbsp;@author&nbsp;ICHN\r\n&nbsp;*\r\n&nbsp;*\/\r\npublic&nbsp;class&nbsp;MenuTest&nbsp;{\r\n&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/**\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;\u6309\u94ae\u7c7b\u578b\u5c31\u4e24\u79cd\uff1a\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;click\u7c7b\u578b\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;view\u7c7b\u578b\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*\/\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/**\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*click\u7c7b\u578b\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;\u4e8c\u7ea7\u83dc\u53551\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;\u6240\u5305\u542b\u7684\u4e8c\u7ea7\u83dc\u5355\uff1a\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clickButton_11\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;\u53ef\u4ee5\u5b9a\u4e495\u4e2a\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*\/\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ClickButton&nbsp;clickButton_11&nbsp;=&nbsp;new&nbsp;ClickButton();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u8bbe\u7f6e\u6309\u94ae\u540d\u79f0\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clickButton_11.setName(\"\");\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u8bbe\u7f6e\u6309\u94ae\u7c7b\u522b&nbsp;\u5c0a\u7167\u5fae\u4fe1\u5f00\u53d1\u6587\u6863\u7ed9\u51fa\u7684\u5b9a\u4e49\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clickButton_11.setType(\"\");\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u8bbe\u7f6e\u6309\u94aekey\u503c\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clickButton_11.setKey(\"\");\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/.....\u53ef\u4ee5\u5b9a\u4e495\u4e2a.....\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/**\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;\u4e8c\u7ea7\u83dc\u53552\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;\u6240\u5305\u542b\u7684\u4e8c\u7ea7\u83dc\u5355\uff1a\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clickButton_21\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*\/\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ClickButton&nbsp;clickButton_21&nbsp;=&nbsp;new&nbsp;ClickButton();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clickButton_21.setName(\"\");\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clickButton_21.setType(\"\");\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clickButton_21.setKey(\"\");\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/**\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;\u5b9a\u4e49\u4e00\u4e2a\u4e00\u7ea7\u83dc\u5355\u6570\u7ec4\uff0c\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;\u4e2a\u6570\u5e94\u4e3a1~3\u4e2a\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*\/\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ClickButton&nbsp;button_3&nbsp;=&nbsp;new&nbsp;ClickButton();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;button_3.setName(\"\");\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;button_3.setType(\"\");\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;button_3.setKey(\"\");\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/**\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;\u4e0a\u9762\u7684\u4e8c\u7ea7\u83dc\u5355\u5b9a\u4e49\u597d\u540e\uff0c\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;\u7528\u4e00\u4e2a\u5e26\u4e8c\u7ea7\u83dc\u5355\u7684\u6309\u94ae\uff08ComplexButton\uff09\u88c5\u8d77\u6765\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*\/\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u4e00\u7ea7\u83dc\u53551\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ComplexButton&nbsp;complexButton1&nbsp;=&nbsp;new&nbsp;ComplexButton();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;complexButton1.setName(\"\u4e00\u7ea7\u83dc\u53551\");\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;complexButton1.setSub_button(new&nbsp;Button[]&nbsp;{clickButton_11});\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u4e00\u7ea7\u83dc\u53552\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ComplexButton&nbsp;complexButton2&nbsp;=&nbsp;new&nbsp;ComplexButton();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;complexButton2.setName(\"\");\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;complexButton2.setSub_button(new&nbsp;Button[]&nbsp;{clickButton_21});\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u4e00\u7ea7\u83dc\u53553\u5b9a\u4e49\u5728\u4e0a\u9762\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u7528\u4e00\u4e2amenu(\u76f8\u5f53\u4e8e\u603b\u83dc\u5355\uff0c\u5728\u6700\u5916\u5c42)\u6765\u628a\u4e0a\u9762\u7684\u83dc\u5355\u88c5\u8d77\u6765\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Menu&nbsp;menu&nbsp;=&nbsp;new&nbsp;Menu();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;menu.setButton(new&nbsp;Button[]&nbsp;{complexButton1,&nbsp;complexButton2,&nbsp;button_3});\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u628amenu\u8f6c\u6362\u4e3ajson\u6570\u7ec4\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;jsonMenu&nbsp;=&nbsp;JSONObject.fromObject(menu).toString();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/**\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;\u521b\u5efa\u548c\u5220\u9664\u90fd\u662f\u91c7\u7528https\u534f\u8bae\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;http\u8bf7\u6c42\u65b9\u5f0f\uff1aPOST\uff08\u8bf7\u4f7f\u7528https\u534f\u8bae\uff09\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*\/\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u521b\u5efa\u83dc\u5355\u63a5\u53e3\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/https:\/\/api.weixin.qq.com\/cgi-bin\/menu\/create?access_token=ACCESS_TOKEN\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;createRequest&nbsp;=&nbsp;CommonUtil.httpsRequest(\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/requestUrl\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"https:\/\/api.weixin.qq.com\/cgi-bin\/menu\/create?access_token=\u6b64\u5904\u586b\u5199\u4e0a\u9762GetAccessToken\u7c7b\u83b7\u53d6\u7684access_token\",&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/requestMethod\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"POST\",&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/outputStr\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jsonMenu\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u6253\u5370\u51fa\u521b\u5efa\u72b6\u6001\u4fe1\u606f\uff08\u540c\u65f6\u6267\u884c\u521b\u5efa\uff09\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/System.out.println(createRequest);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u5220\u9664\u83dc\u5355\u63a5\u53e3\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/https:\/\/api.weixin.qq.com\/cgi-bin\/menu\/delete?access_token=ACCESS_TOKEN\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;deleteResult&nbsp;=&nbsp;CommonUtil.httpsRequest(\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"https:\/\/api.weixin.qq.com\/cgi-bin\/menu\/delete?access_token=\u6b64\u5904\u586b\u5199\u4e0a\u9762GetAccessToken\u7c7b\u83b7\u53d6\u7684access_token\",&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"POST\",&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jsonMenu\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u6253\u5370\u51fa\u5220\u9664\u72b6\u6001\u4fe1\u606f\uff08\u540c\u65f6\u6267\u884c\u5220\u9664\uff09\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(deleteResult);\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n}<\/pre>\n<p>  \u767b\u5f55\u540e\u590d\u5236   <\/p>\n<p>\u4ee5\u4e0a\u5c31\u662f\u5fae\u4fe1\u516c\u4f17\u5e73\u53f0\u5f00\u53d1\u4e4b\u81ea\u5b9a\u4e49\u83dc\u5355\u7684\u521b\u5efa\u548c\u5220\u9664\u7684\u8be6\u7ec6\u4ecb\u7ecd\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>\u5728\u521b\u5efa\u83dc\u5355\u65f6\uff0c\u90fd\u662f\u57fa\u4e8ejson\u4f20\u8f93\u6570\u636e\uff0c\u6240\u4ee5\u8981\u7528\u5230json\uff0c\u4e0b\u8f7d\u76f8\u5173\u5305&nbsp;\u70b9\u51fb\u4e0b\u8f7d: \u516c\u4f17\u5e73\u53f0\u5f00\u53d1\u6587\u6863\u4e0a\u6709\u8bf4\u660e\uff1a \u8bf7\u6ce8\u610f\uff1a 1\u3001\u81ea\u5b9a\u4e49\u83dc\u5355\u6700\u591a\u5305\u62ec3\u4e2a\u4e00\u7ea7\u83dc\u5355\uff0c\u6bcf\u4e2a\u4e00\u7ea7\u83dc\u5355\u6700\u591a\u5305\u542b5\u4e2a\u4e8c\u7ea7\u83dc\u5355\u30022\u3001\u4e00\u7ea7\u83dc\u5355\u6700\u591a4\u4e2a\u6c49\u5b57\uff0c\u4e8c\u7ea7\u83dc\u5355\u6700\u591a7\u4e2a\u6c49\u5b57\uff0c\u591a\u51fa\u6765\u7684\u90e8\u5206\u5c06\u4f1a\u4ee5\u201c&#8230;\u201d\u4ee3\u66ff\u30023\u3001\u521b\u5efa\u81ea\u5b9a\u4e49\u83dc\u5355\u540e\uff0c\u7531\u4e8e\u5fae\u4fe1\u5ba2\u6237\u7aef\u7f13\u5b58\uff0c\u9700\u898124\u5c0f\u65f6\u5fae\u4fe1\u5ba2\u6237\u7aef\u624d\u4f1a\u5c55\u73b0\u51fa\u6765\u3002\u6d4b\u8bd5\u65f6\u53ef\u4ee5\u5c1d\u8bd5\u53d6\u6d88\u5173\u6ce8\u516c\u4f17\u8d26\u53f7\u540e\u518d\u6b21\u5173\u6ce8\uff0c\u5219\u53ef\u4ee5\u770b\u5230\u521b\u5efa\u540e\u7684\u6548\u679c\u3002 \u81ea\u5b9a\u4e49\u83dc\u5355\u63a5\u53e3\u53ef\u5b9e\u73b0\u591a\u79cd\u7c7b\u578b\u6309\u94ae\uff0c\u5982\u4e0b\uff1a 1\u3001click\uff1a\u70b9\u51fb\u63a8\u4e8b\u4ef6\u7528\u6237\u70b9\u51fbclick\u7c7b\u578b\u6309\u94ae\u540e\uff0c\u5fae\u4fe1\u670d\u52a1\u5668\u4f1a\u901a\u8fc7\u6d88\u606f\u63a5\u53e3\u63a8\u9001\u6d88\u606f\u7c7b\u578b\u4e3aevent \u7684\u7ed3\u6784\u7ed9\u5f00\u53d1\u8005\uff08\u53c2\u8003\u6d88\u606f\u63a5\u53e3\u6307\u5357\uff09\uff0c\u5e76\u4e14\u5e26\u4e0a\u6309\u94ae\u4e2d\u5f00\u53d1\u8005\u586b\u5199\u7684key\u503c\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u901a\u8fc7\u81ea\u5b9a\u4e49\u7684key\u503c\u4e0e\u7528\u6237\u8fdb\u884c\u4ea4\u4e92\uff1b2\u3001view\uff1a\u8df3\u8f6cURL\u7528\u6237\u70b9\u51fbview\u7c7b\u578b\u6309\u94ae\u540e\uff0c\u5fae\u4fe1\u5ba2\u6237\u7aef\u5c06\u4f1a\u6253\u5f00\u5f00\u53d1\u8005\u5728\u6309\u94ae\u4e2d\u586b\u5199\u7684\u7f51\u9875URL\uff0c\u53ef\u4e0e\u7f51\u9875\u6388\u6743\u83b7\u53d6\u7528\u6237\u57fa\u672c\u4fe1\u606f\u63a5\u53e3\u7ed3\u5408\uff0c\u83b7\u5f97\u7528\u6237\u57fa\u672c\u4fe1\u606f\u30023\u3001scancode_push\uff1a\u626b\u7801\u63a8\u4e8b\u4ef6\u7528\u6237\u70b9\u51fb\u6309\u94ae\u540e\uff0c\u5fae\u4fe1\u5ba2\u6237\u7aef\u5c06\u8c03\u8d77\u626b\u4e00\u626b\u5de5\u5177\uff0c\u5b8c\u6210\u626b\u7801\u64cd\u4f5c\u540e\u663e\u793a\u626b\u63cf\u7ed3\u679c\uff08\u5982\u679c\u662fURL\uff0c\u5c06\u8fdb\u5165URL\uff09\uff0c\u4e14\u4f1a\u5c06\u626b\u7801\u7684\u7ed3\u679c\u4f20\u7ed9\u5f00\u53d1\u8005\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u4e0b\u53d1\u6d88\u606f\u30024\u3001scancode_waitmsg\uff1a\u626b\u7801\u63a8\u4e8b\u4ef6\u4e14\u5f39\u51fa\u201c\u6d88\u606f\u63a5\u6536\u4e2d\u201d\u63d0\u793a\u6846\u7528\u6237\u70b9\u51fb\u6309\u94ae\u540e\uff0c\u5fae\u4fe1\u5ba2\u6237\u7aef\u5c06\u8c03\u8d77\u626b\u4e00\u626b\u5de5\u5177\uff0c\u5b8c\u6210\u626b\u7801\u64cd\u4f5c\u540e\uff0c\u5c06\u626b\u7801\u7684\u7ed3\u679c\u4f20\u7ed9\u5f00\u53d1\u8005\uff0c\u540c\u65f6\u6536\u8d77\u626b\u4e00\u626b\u5de5\u5177\uff0c\u7136\u540e\u5f39\u51fa\u201c\u6d88\u606f\u63a5\u6536\u4e2d\u201d\u63d0\u793a\u6846\uff0c\u968f\u540e\u53ef\u80fd\u4f1a\u6536\u5230\u5f00\u53d1\u8005\u4e0b\u53d1\u7684\u6d88\u606f\u30025\u3001pic_sysphoto\uff1a\u5f39\u51fa\u7cfb\u7edf\u62cd\u7167\u53d1\u56fe\u7528\u6237\u70b9\u51fb\u6309\u94ae\u540e\uff0c\u5fae\u4fe1\u5ba2\u6237\u7aef\u5c06\u8c03\u8d77\u7cfb\u7edf\u76f8\u673a\uff0c\u5b8c\u6210\u62cd\u7167\u64cd\u4f5c\u540e\uff0c\u4f1a\u5c06\u62cd\u6444\u7684\u76f8\u7247\u53d1\u9001\u7ed9\u5f00\u53d1\u8005\uff0c\u5e76\u63a8\u9001\u4e8b\u4ef6\u7ed9\u5f00\u53d1\u8005\uff0c\u540c\u65f6\u6536\u8d77\u7cfb\u7edf\u76f8\u673a\uff0c\u968f\u540e\u53ef\u80fd\u4f1a\u6536\u5230\u5f00\u53d1\u8005\u4e0b\u53d1\u7684\u6d88\u606f\u30026\u3001pic_photo_or_album\uff1a\u5f39\u51fa\u62cd\u7167\u6216\u8005\u76f8\u518c\u53d1\u56fe\u7528\u6237\u70b9\u51fb\u6309\u94ae\u540e\uff0c\u5fae\u4fe1\u5ba2\u6237\u7aef\u5c06\u5f39\u51fa\u9009\u62e9\u5668\u4f9b\u7528\u6237\u9009\u62e9\u201c\u62cd\u7167\u201d\u6216\u8005\u201c\u4ece\u624b\u673a\u76f8\u518c\u9009\u62e9\u201d\u3002\u7528\u6237\u9009\u62e9\u540e\u5373\u8d70\u5176\u4ed6\u4e24\u79cd\u6d41\u7a0b\u30027\u3001pic_weixin\uff1a\u5f39\u51fa\u5fae\u4fe1\u76f8\u518c\u53d1\u56fe\u5668\u7528\u6237\u70b9\u51fb\u6309\u94ae\u540e\uff0c\u5fae\u4fe1\u5ba2\u6237\u7aef\u5c06\u8c03\u8d77\u5fae\u4fe1\u76f8\u518c\uff0c\u5b8c\u6210\u9009\u62e9\u64cd\u4f5c\u540e\uff0c\u5c06\u9009\u62e9\u7684\u76f8\u7247\u53d1\u9001\u7ed9\u5f00\u53d1\u8005\u7684\u670d\u52a1\u5668\uff0c\u5e76\u63a8\u9001\u4e8b\u4ef6\u7ed9\u5f00\u53d1\u8005\uff0c\u540c\u65f6\u6536\u8d77\u76f8\u518c\uff0c\u968f\u540e\u53ef\u80fd\u4f1a\u6536\u5230\u5f00\u53d1\u8005\u4e0b\u53d1\u7684\u6d88\u606f\u30028\u3001location_select\uff1a\u5f39\u51fa\u5730\u7406\u4f4d\u7f6e\u9009\u62e9\u5668\u7528\u6237\u70b9\u51fb\u6309\u94ae\u540e\uff0c\u5fae\u4fe1\u5ba2\u6237\u7aef\u5c06\u8c03\u8d77\u5730\u7406\u4f4d\u7f6e\u9009\u62e9\u5de5\u5177\uff0c\u5b8c\u6210\u9009\u62e9\u64cd\u4f5c\u540e\uff0c\u5c06\u9009\u62e9\u7684\u5730\u7406\u4f4d\u7f6e\u53d1\u9001\u7ed9\u5f00\u53d1\u8005\u7684\u670d\u52a1\u5668\uff0c\u540c\u65f6\u6536\u8d77\u4f4d\u7f6e\u9009\u62e9\u5de5\u5177\uff0c\u968f\u540e\u53ef\u80fd\u4f1a\u6536\u5230\u5f00\u53d1\u8005\u4e0b\u53d1\u7684\u6d88\u606f\u30029\u3001media_id\uff1a\u4e0b\u53d1\u6d88\u606f\uff08\u9664\u6587\u672c\u6d88\u606f\uff09\u7528\u6237\u70b9\u51fbmedia_id\u7c7b\u578b\u6309\u94ae\u540e\uff0c\u5fae\u4fe1\u670d\u52a1\u5668\u4f1a\u5c06\u5f00\u53d1\u8005\u586b\u5199\u7684\u6c38\u4e45\u7d20\u6750id\u5bf9\u5e94\u7684\u7d20\u6750\u4e0b\u53d1\u7ed9\u7528\u6237\uff0c\u6c38\u4e45\u7d20\u6750\u7c7b\u578b\u53ef\u4ee5\u662f\u56fe\u7247\u3001\u97f3\u9891\u3001\u89c6\u9891\u3001\u56fe\u6587\u6d88\u606f\u3002\u8bf7\u6ce8\u610f\uff1a\u6c38\u4e45\u7d20\u6750id\u5fc5\u987b\u662f\u5728\u201c\u7d20\u6750\u7ba1\u7406\/\u65b0\u589e\u6c38\u4e45\u7d20\u6750\u201d\u63a5\u53e3\u4e0a\u4f20\u540e\u83b7\u5f97\u7684\u5408\u6cd5id\u300210\u3001view_limited\uff1a\u8df3\u8f6c\u56fe\u6587\u6d88\u606fURL\u7528\u6237\u70b9\u51fbview_limited\u7c7b\u578b\u6309\u94ae\u540e\uff0c\u5fae\u4fe1\u5ba2\u6237\u7aef\u5c06\u6253\u5f00\u5f00\u53d1\u8005\u5728\u6309\u94ae\u4e2d\u586b\u5199\u7684\u6c38\u4e45\u7d20\u6750id\u5bf9\u5e94\u7684\u56fe\u6587\u6d88\u606fURL\uff0c\u6c38\u4e45\u7d20\u6750\u7c7b\u578b\u53ea\u652f\u6301\u56fe\u6587\u6d88\u606f\u3002\u8bf7\u6ce8\u610f\uff1a\u6c38\u4e45\u7d20\u6750id\u5fc5\u987b\u662f\u5728\u201c\u7d20\u6750\u7ba1\u7406\/\u65b0\u589e\u6c38\u4e45\u7d20\u6750\u201d\u63a5\u53e3\u4e0a\u4f20\u540e\u83b7\u5f97\u7684\u5408\u6cd5id\u3002 \u8bf7\u6ce8\u610f\uff0c3\u52308\u7684\u6240\u6709\u4e8b\u4ef6\uff0c\u4ec5\u652f\u6301\u5fae\u4fe1iPhone5.4.1\u4ee5\u4e0a\u7248\u672c\uff0c\u548cAndroid5.4\u4ee5\u4e0a\u7248\u672c\u7684\u5fae\u4fe1\u7528\u6237\uff0c\u65e7\u7248\u672c\u5fae\u4fe1\u7528\u6237\u70b9\u51fb\u540e\u5c06 \u6ca1\u6709\u56de\u5e94\uff0c\u5f00\u53d1\u8005\u4e5f\u4e0d\u80fd\u6b63\u5e38\u63a5\u6536\u5230\u4e8b\u4ef6\u63a8\u9001\u30029\u548c10\uff0c\u662f\u4e13\u95e8\u7ed9\u7b2c\u4e09\u65b9\u5e73\u53f0\u65d7\u4e0b\u672a\u5fae\u4fe1\u8ba4\u8bc1\uff08\u5177\u4f53\u800c\u8a00\uff0c\u662f\u8d44\u8d28\u8ba4\u8bc1\u672a\u901a\u8fc7\uff09\u7684\u8ba2\u9605\u53f7\u51c6\u5907\u7684\u4e8b\u4ef6\u7c7b\u578b\uff0c\u5b83\u4eec\u662f \u6ca1\u6709\u4e8b\u4ef6\u63a8\u9001\u7684\uff0c\u80fd\u529b\u76f8\u5bf9\u53d7\u9650\uff0c\u5176\u4ed6\u7c7b\u578b\u7684\u516c\u4f17\u53f7\u4e0d\u5fc5\u4f7f\u7528\u3002 \u4e00\u3001\u7531\u4e8e\u81ea\u5b9a\u4e49\u83dc\u5355\u5728\u91c7\u7528http\u8bf7\u6c42\u65b9\u5f0f\uff0c\u8981\u4f7f\u7528https\u534f\u8bae\u3002\u5199\u4e00\u4e2a\u65b9\u6cd5\u7c7b\uff0c\u5904\u7406https\u548cjson\u6570\u636e\u3002 \u5728\u5305com.cc.wechat.util\u4e0b\u65b0\u5efa\u7c7b\uff1a &#8212;CommonUtil.java: package&nbsp;com.cc.wechat.util; &nbsp; import&nbsp;java.io.BufferedReader; import&nbsp;java.io.InputStream; import&nbsp;java.io.InputStreamReader; import&nbsp;java.io.OutputStream; import&nbsp;java.net.URL; &nbsp; import&nbsp;javax.net.ssl.HttpsURLConnection; import&nbsp;javax.net.ssl.SSLContext; import&nbsp;javax.net.ssl.SSLSocketFactory; import&nbsp;javax.net.ssl.TrustManager; &nbsp; \/** &nbsp;*&nbsp;\u516c\u4f17\u5e73\u53f0\u901a\u7528\u63a5\u53e3\u5de5\u5177\u7c7b &nbsp;*&nbsp;@author&nbsp;ICHN &nbsp;*&nbsp;2015-09-04 &nbsp;*\/ public&nbsp;class&nbsp;CommonUtil&nbsp;{ &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;\/** &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;\u53d1\u8d77https\u8bf7\u6c42\u5e76\u83b7\u53d6\u7ed3\u679c &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;requestUrl&nbsp;\u8bf7\u6c42\u5730\u5740 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;requestMethod&nbsp;\u8bf7\u6c42\u65b9\u5f0f\uff08GET\u3001POST\uff09 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;outputStr&nbsp;&nbsp;\u63d0\u4ea4\u7684\u6570\u636e &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;JSONObject(\u901a\u8fc7JSONObject.get(key)\u7684\u65b9\u5f0f\u83b7\u53d6json\u5bf9\u8c61\u7684\u5c5e\u6027\u503c) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*\/ &nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;static&nbsp;String&nbsp;httpsRequest(String&nbsp;requestUrl,&nbsp;String&nbsp;requestMethod,&nbsp;String&nbsp;outputStr)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StringBuffer&nbsp;sb&nbsp;=&nbsp;new&nbsp;StringBuffer(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;\u521b\u5efaSSLContext\u5bf9\u8c61\uff0c\u5e76\u4f7f\u7528\u6211\u4eec\u6307\u5b9a\u7684\u4fe1\u4efb\u7ba1\u7406\u5668\u521d\u59cb\u5316 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TrustManager[]&nbsp;tm&nbsp;=&nbsp;{new&nbsp;MyX509TrustManager()}; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SSLContext&nbsp;sslContext&nbsp;=&nbsp;SSLContext.getInstance(&#8220;SSL&#8221;,&nbsp;&#8220;SunJSSE&#8221;); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sslContext.init(null,&nbsp;tm,&nbsp;new&nbsp;java.security.SecureRandom()); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;\u4ece\u4e0a\u8ff0SSLContext\u5bf9\u8c61\u4e2d\u5f97\u5230SSLSocketFactory\u5bf9\u8c61 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SSLSocketFactory&nbsp;ssf&nbsp;=&nbsp;sslContext.getSocketFactory(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;URL&nbsp;url&nbsp;=&nbsp;new&nbsp;URL(requestUrl); [&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-29260","post","type-post","status-publish","format-standard","hentry","category-19"],"_links":{"self":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/29260","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=29260"}],"version-history":[{"count":0,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/29260\/revisions"}],"wp:attachment":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/media?parent=29260"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/categories?post=29260"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/tags?post=29260"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}