{"id":29572,"date":"2024-11-25T15:09:33","date_gmt":"2024-11-25T07:09:33","guid":{"rendered":"https:\/\/fwq.ai\/blog\/29572\/"},"modified":"2024-11-25T15:09:33","modified_gmt":"2024-11-25T07:09:33","slug":"%e5%be%ae%e4%bf%a1%e5%b0%8f%e7%a8%8b%e5%ba%8f-ble%e8%93%9d%e7%89%99","status":"publish","type":"post","link":"https:\/\/fwq.ai\/blog\/29572\/","title":{"rendered":"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f&#8211;Ble\u84dd\u7259"},"content":{"rendered":"<p>\u672c\u6587\u4e3b\u8981\u4ecb\u7ecd\u4e86\u5fae\u4fe1\u5c0f\u7a0b\u5e8f&#8211;ble\u84dd\u7259\u7684\u5b9e\u73b0\u65b9\u6cd5\u3002\u6587\u4e2d\u9644\u4e0a\u6e90\u7801\u4e0b\u8f7d\uff0c\u5177\u6709\u5f88\u597d\u7684\u53c2\u8003\u4ef7\u503c\u3002\u4e0b\u9762\u8ddf\u7740\u5c0f\u7f16\u4e00\u8d77\u6765\u770b\u4e0b\u5427<\/p>\n<p>\u6709\u4e00\u6bb5\u65f6\u95f4\u6ca1\u6709\u3002\u6ca1\u6709\u5199\u5173\u4e8e\u5c0f\u7a0b\u5e8f\u7684\u6587\u7ae0\u4e86\u30023\u670828\u65e5\uff0c\u5fae\u4fe1\u7684api\u53c8\u4e00\u6b21\u65b0\u7684\u66f4\u65b0\u3002\u671f\u5f85\u5df2\u4e45\u7684\u84dd\u7259api\u66f4\u65b0\u3002\u5c31\u5f00\u59cb\u64b8\u4e00\u756a\u3002<\/p>\n<p>\u6e90\u7801\u5730\u5740<\/p>\n<p><strong>1.\u7b80\u8ff0<\/strong><\/p>\n<p>\u84dd\u7259\u9002\u914d\u5668\u63a5\u53e3\u662f\u57fa\u7840\u5e93\u7248\u672c 1.1.0 \u5f00\u59cb\u652f\u6301\u3002<\/p>\n<p>iOS \u5fae\u4fe1\u5ba2\u6237\u7aef 6.5.6 \u7248\u672c\u5f00\u59cb\u652f\u6301\uff0cAndroid \u5ba2\u6237\u7aef\u6682\u4e0d\u652f\u6301<\/p>\n<p>\u84dd\u7259\u603b\u5171\u589e\u52a0\u4e8618\u4e2aapi\u63a5\u53e3\u3002<\/p>\n<p><strong>2.Api\u5206\u7c7b<\/strong><\/p>\n<p>\u641c\u7d22\u7c7b<\/p>\n<p>\u8fde\u63a5\u7c7b<\/p>\n<p>\u901a\u4fe1\u7c7b<\/p>\n<p><strong>3.API\u7684\u5177\u4f53\u4f7f\u7528<\/strong><\/p>\n<p>\u8be6\u7ec6\u89c1\u5b98\u7f51\uff1a<\/p>\n<p>https:\/\/mp.weixin.qq.com\/debug\/wxadoc\/dev\/api\/bluetooth.html#wxgetconnectedbluethoothdevicesobject<\/p>\n<p><strong>4. \u6848\u4f8b\u5b9e\u73b0<\/strong><\/p>\n<p><strong><span style=\"color: #0000ff\">4.1 \u641c\u7d22\u84dd\u7259\u8bbe\u5907<\/span><\/strong><\/p>\n<pre>\/**\r\n&nbsp;*&nbsp;\u641c\u7d22\u8bbe\u5907\u754c\u9762\r\n&nbsp;*\/\r\nPage({\r\n&nbsp;data:&nbsp;{\r\n&nbsp;logs:&nbsp;[],\r\n&nbsp;list:[],\r\n&nbsp;},\r\n&nbsp;onLoad:&nbsp;function&nbsp;()&nbsp;{\r\n&nbsp;console.log('onLoad')\r\nvar&nbsp;that&nbsp;=&nbsp;this;\r\n\/\/&nbsp;const&nbsp;SDKVersion&nbsp;=&nbsp;wx.getSystemInfoSync().SDKVersion&nbsp;||&nbsp;'1.0.0'\r\n\/\/&nbsp;const&nbsp;[MAJOR,&nbsp;MINOR,&nbsp;PATCH]&nbsp;=&nbsp;SDKVersion.split('.').map(Number)\r\n\/\/&nbsp;console.log(SDKVersion);\r\n\/\/&nbsp;console.log(MAJOR);\r\n\/\/&nbsp;console.log(MINOR);\r\n\/\/&nbsp;console.log(PATCH);\r\n\r\n\/\/&nbsp;const&nbsp;canIUse&nbsp;=&nbsp;apiName&nbsp;=&amp;gt;&nbsp;{\r\n\/\/&nbsp;if&nbsp;(apiName&nbsp;===&nbsp;'showModal.cancel')&nbsp;{\r\n\/\/&nbsp;&nbsp;return&nbsp;MAJOR&nbsp;&amp;gt;=&nbsp;1&nbsp;&amp;amp;&amp;amp;&nbsp;MINOR&nbsp;&amp;gt;=&nbsp;1\r\n\/\/&nbsp;}\r\n\/\/&nbsp;return&nbsp;true\r\n\/\/&nbsp;}\r\n\r\n\/\/&nbsp;wx.showModal({\r\n\/\/&nbsp;success:&nbsp;function(res)&nbsp;{\r\n\/\/&nbsp;&nbsp;if&nbsp;(canIUse('showModal.cancel'))&nbsp;{\r\n\/\/&nbsp;&nbsp;console.log(res.cancel)\r\n\/\/&nbsp;&nbsp;}\r\n\/\/&nbsp;}\r\n\/\/&nbsp;})\r\n&nbsp;&nbsp;\/\/\u83b7\u53d6\u9002\u914d\u5668\r\n&nbsp;&nbsp;wx.openBluetoothAdapter({\r\n&nbsp;&nbsp;success:&nbsp;function(res){\r\n&nbsp;&nbsp;\/\/&nbsp;success\r\n&nbsp;&nbsp;console.log(\"-----success----------\");\r\n&nbsp;&nbsp;&nbsp;console.log(res);\r\n&nbsp;&nbsp;&nbsp;\/\/\u5f00\u59cb\u641c\u7d22\r\n&nbsp;&nbsp;wx.startBluetoothDevicesDiscovery({\r\n&nbsp;services:&nbsp;[],\r\n&nbsp;success:&nbsp;function(res){\r\n&nbsp;\/\/&nbsp;success\r\n&nbsp;&nbsp;console.log(\"-----startBluetoothDevicesDiscovery--success----------\");\r\n&nbsp;&nbsp;console.log(res);\r\n&nbsp;},\r\n&nbsp;fail:&nbsp;function(res)&nbsp;{\r\n&nbsp;\/\/&nbsp;fail\r\n&nbsp;&nbsp;console.log(res);\r\n&nbsp;},\r\n&nbsp;complete:&nbsp;function(res)&nbsp;{\r\n&nbsp;\/\/&nbsp;complete\r\n&nbsp;&nbsp;console.log(res);\r\n&nbsp;}\r\n})\r\n\r\n&nbsp;&nbsp;},\r\n&nbsp;&nbsp;fail:&nbsp;function(res)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;console.log(\"-----fail----------\");\r\n&nbsp;&nbsp;\/\/&nbsp;fail\r\n&nbsp;&nbsp;&nbsp;console.log(res);\r\n&nbsp;&nbsp;},\r\n&nbsp;&nbsp;complete:&nbsp;function(res)&nbsp;{\r\n&nbsp;&nbsp;\/\/&nbsp;complete\r\n&nbsp;&nbsp;&nbsp;console.log(\"-----complete----------\");\r\n&nbsp;&nbsp;&nbsp;console.log(res);\r\n&nbsp;&nbsp;}\r\n&nbsp;})\r\n\r\n&nbsp;&nbsp;wx.getBluetoothDevices({\r\n&nbsp;&nbsp;success:&nbsp;function(res){\r\n&nbsp;&nbsp;&nbsp;\/\/&nbsp;success\r\n&nbsp;&nbsp;&nbsp;\/\/{devices:&nbsp;Array[11],&nbsp;errMsg:&nbsp;\"getBluetoothDevices:ok\"}\r\n&nbsp;&nbsp;&nbsp;console.log(\"getBluetoothDevices\");\r\n&nbsp;&nbsp;&nbsp;console.log(res);\r\n&nbsp;&nbsp;&nbsp;that.setData({\r\n&nbsp;&nbsp;&nbsp;list:res.devices\r\n&nbsp;&nbsp;&nbsp;});\r\n&nbsp;&nbsp;&nbsp;console.log(that.data.list);\r\n&nbsp;&nbsp;},\r\n&nbsp;&nbsp;fail:&nbsp;function(res)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;\/\/&nbsp;fail\r\n&nbsp;&nbsp;},\r\n&nbsp;&nbsp;complete:&nbsp;function(res)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;\/\/&nbsp;complete\r\n&nbsp;&nbsp;}\r\n&nbsp;&nbsp;})\r\n\r\n&nbsp;},\r\n&nbsp;onShow:function(){\r\n\r\n&nbsp;},\r\n&nbsp;\/\/\u70b9\u51fb\u4e8b\u4ef6\u5904\u7406\r\n&nbsp;bindViewTap:&nbsp;function(e)&nbsp;{\r\n&nbsp;&nbsp;console.log(e.currentTarget.dataset.title);\r\n&nbsp;&nbsp;console.log(e.currentTarget.dataset.name);\r\n&nbsp;&nbsp;console.log(e.currentTarget.dataset.advertisData);\r\n\r\n&nbsp;var&nbsp;title&nbsp;=&nbsp;e.currentTarget.dataset.title;\r\n&nbsp;var&nbsp;name&nbsp;=&nbsp;e.currentTarget.dataset.name;\r\n&nbsp;&nbsp;wx.redirectTo({\r\n&nbsp;&nbsp;url:&nbsp;'..\/conn\/conn?deviceId='+title+'&amp;amp;name='+name,\r\n&nbsp;&nbsp;success:&nbsp;function(res){\r\n&nbsp;&nbsp;&nbsp;\/\/&nbsp;success\r\n&nbsp;&nbsp;},\r\n&nbsp;&nbsp;fail:&nbsp;function(res)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;\/\/&nbsp;fail\r\n&nbsp;&nbsp;},\r\n&nbsp;&nbsp;complete:&nbsp;function(res)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;\/\/&nbsp;complete\r\n&nbsp;&nbsp;}\r\n&nbsp;&nbsp;})\r\n&nbsp;},\r\n})<\/pre>\n<p>  \u767b\u5f55\u540e\u590d\u5236   <\/p>\n<p><span style=\"color: #0000ff\"><strong>4.2\u8fde\u63a5 \u83b7\u53d6\u6570\u636e<\/strong><\/span><\/p>\n<pre>\/**\r\n&nbsp;*&nbsp;\u8fde\u63a5\u8bbe\u5907\u3002\u83b7\u53d6\u6570\u636e\r\n&nbsp;*\/\r\nPage({\r\n&nbsp;data:&nbsp;{\r\n&nbsp;&nbsp;motto:&nbsp;'Hello&nbsp;World',\r\n&nbsp;&nbsp;userInfo:&nbsp;{},\r\n&nbsp;&nbsp;deviceId:&nbsp;'',\r\n&nbsp;&nbsp;name:&nbsp;'',\r\n&nbsp;&nbsp;serviceId:&nbsp;'',\r\n&nbsp;&nbsp;services:&nbsp;[],\r\n&nbsp;&nbsp;cd20:&nbsp;'',\r\n&nbsp;&nbsp;cd01:&nbsp;'',\r\n&nbsp;&nbsp;cd02:&nbsp;'',\r\n&nbsp;&nbsp;cd03:&nbsp;'',\r\n&nbsp;&nbsp;cd04:&nbsp;'',\r\n&nbsp;&nbsp;characteristics20:&nbsp;null,\r\n&nbsp;&nbsp;characteristics01:&nbsp;null,\r\n&nbsp;&nbsp;characteristics02:&nbsp;null,\r\n&nbsp;&nbsp;characteristics03:&nbsp;null,\r\n&nbsp;&nbsp;characteristics04:&nbsp;null,\r\n&nbsp;&nbsp;result,\r\n\r\n&nbsp;},\r\n&nbsp;onLoad:&nbsp;function&nbsp;(opt)&nbsp;{\r\n&nbsp;&nbsp;var&nbsp;that&nbsp;=&nbsp;this;\r\n&nbsp;&nbsp;console.log(\"onLoad\");\r\n&nbsp;&nbsp;console.log('deviceId='&nbsp;+&nbsp;opt.deviceId);\r\n&nbsp;&nbsp;console.log('name='&nbsp;+&nbsp;opt.name);\r\n&nbsp;&nbsp;that.setData({&nbsp;deviceId:&nbsp;opt.deviceId&nbsp;});\r\n&nbsp;&nbsp;\/**\r\n&nbsp;&nbsp;&nbsp;*&nbsp;\u76d1\u542c\u8bbe\u5907\u7684\u8fde\u63a5\u72b6\u6001\r\n&nbsp;&nbsp;&nbsp;*\/\r\n&nbsp;&nbsp;wx.onBLEConnectionStateChanged(function&nbsp;(res)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;console.log(`device&nbsp;${res.deviceId}&nbsp;state&nbsp;has&nbsp;changed,&nbsp;connected:&nbsp;${res.connected}`)\r\n&nbsp;&nbsp;})\r\n&nbsp;&nbsp;\/**\r\n&nbsp;&nbsp;&nbsp;*&nbsp;\u8fde\u63a5\u8bbe\u5907\r\n&nbsp;&nbsp;&nbsp;*\/\r\n&nbsp;&nbsp;wx.createBLEConnection({\r\n&nbsp;&nbsp;&nbsp;deviceId:&nbsp;that.data.deviceId,\r\n&nbsp;&nbsp;&nbsp;success:&nbsp;function&nbsp;(res)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;success\r\n&nbsp;&nbsp;&nbsp;&nbsp;console.log(res);\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/**\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;\u8fde\u63a5\u6210\u529f\uff0c\u540e\u5f00\u59cb\u83b7\u53d6\u8bbe\u5907\u7684\u670d\u52a1\u5217\u8868\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*\/\r\n&nbsp;&nbsp;&nbsp;&nbsp;wx.getBLEDeviceServices({\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;\u8fd9\u91cc\u7684&nbsp;deviceId&nbsp;\u9700\u8981\u5728\u4e0a\u9762\u7684&nbsp;getBluetoothDevices\u4e2d\u83b7\u53d6\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;deviceId:&nbsp;that.data.deviceId,\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;success:&nbsp;function&nbsp;(res)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log('device&nbsp;services:',&nbsp;res.services)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;that.setData({&nbsp;services:&nbsp;res.services&nbsp;});\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log('device&nbsp;services:',&nbsp;that.data.services[1].uuid);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;that.setData({&nbsp;serviceId:&nbsp;that.data.services[1].uuid&nbsp;});\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log('--------------------------------------');\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log('device\u8bbe\u5907\u7684id:',&nbsp;that.data.deviceId);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log('device\u8bbe\u5907\u7684\u670d\u52a1id:',&nbsp;that.data.serviceId);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/**\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;\u5ef6\u8fdf3\u79d2\uff0c\u6839\u636e\u670d\u52a1\u83b7\u53d6\u7279\u5f81&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*\/\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setTimeout(function&nbsp;()&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wx.getBLEDeviceCharacteristics({\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;\u8fd9\u91cc\u7684&nbsp;deviceId&nbsp;\u9700\u8981\u5728\u4e0a\u9762\u7684&nbsp;getBluetoothDevices\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;deviceId:&nbsp;that.data.deviceId,\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;\u8fd9\u91cc\u7684&nbsp;serviceId&nbsp;\u9700\u8981\u5728\u4e0a\u9762\u7684&nbsp;getBLEDeviceServices&nbsp;\u63a5\u53e3\u4e2d\u83b7\u53d6\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;serviceId:&nbsp;that.data.serviceId,\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;success:&nbsp;function&nbsp;(res)&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log('000000000000'&nbsp;+&nbsp;that.data.serviceId);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log('device&nbsp;getBLEDeviceCharacteristics:',&nbsp;res.characteristics)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(var&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&nbsp;('00'&nbsp;+&nbsp;x.toString(16)).slice(-2)).join('');\r\n&nbsp;}\r\n})<\/pre>\n<p>  \u767b\u5f55\u540e\u590d\u5236   <\/p>\n<p><strong>5.\u6548\u679c\u5c55\u793a<\/strong><\/p>\n<p style=\"text-align: center\"><img decoding=\"async\" src=\"https:\/\/img.php.cn\/upload\/article\/000\/000\/007\/18df270669a58119fac79fe7f3438fda-0.jpg\" class=\"aligncenter\" title=\"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f&#8211;Ble\u84dd\u7259\u63d2\u56fe\" alt=\"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f&#8211;Ble\u84dd\u7259\u63d2\u56fe\" \/><\/p>\n<p>\u53d1\u9001\u6821\u9a8c\u6307\u4ee4\u3002\u83b7\u53d6\u7ed3\u679c<\/p>\n<p style=\"text-align: center\"><img decoding=\"async\" src=\"https:\/\/img.php.cn\/upload\/article\/000\/000\/007\/18df270669a58119fac79fe7f3438fda-1.jpg\" class=\"aligncenter\" title=\"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f&#8211;Ble\u84dd\u7259\u63d2\u56fe1\" alt=\"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f&#8211;Ble\u84dd\u7259\u63d2\u56fe1\" \/><\/p>\n<p>\u4ee5\u4e0a\u5c31\u662f\u5fae\u4fe1\u5c0f\u7a0b\u5e8f&#8211;Ble\u84dd\u7259\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>\u672c\u6587\u4e3b\u8981\u4ecb\u7ecd\u4e86\u5fae\u4fe1\u5c0f\u7a0b\u5e8f&#8211;ble\u84dd\u7259\u7684\u5b9e\u73b0\u65b9\u6cd5\u3002\u6587\u4e2d\u9644\u4e0a\u6e90\u7801\u4e0b\u8f7d\uff0c\u5177\u6709\u5f88\u597d\u7684\u53c2\u8003\u4ef7\u503c\u3002\u4e0b\u9762\u8ddf\u7740\u5c0f\u7f16\u4e00\u8d77\u6765\u770b\u4e0b\u5427 \u6709\u4e00\u6bb5\u65f6\u95f4\u6ca1\u6709\u3002\u6ca1\u6709\u5199\u5173\u4e8e\u5c0f\u7a0b\u5e8f\u7684\u6587\u7ae0\u4e86\u30023\u670828\u65e5\uff0c\u5fae\u4fe1\u7684api\u53c8\u4e00\u6b21\u65b0\u7684\u66f4\u65b0\u3002\u671f\u5f85\u5df2\u4e45\u7684\u84dd\u7259api\u66f4\u65b0\u3002\u5c31\u5f00\u59cb\u64b8\u4e00\u756a\u3002 \u6e90\u7801\u5730\u5740 1.\u7b80\u8ff0 \u84dd\u7259\u9002\u914d\u5668\u63a5\u53e3\u662f\u57fa\u7840\u5e93\u7248\u672c 1.1.0 \u5f00\u59cb\u652f\u6301\u3002 iOS \u5fae\u4fe1\u5ba2\u6237\u7aef 6.5.6 \u7248\u672c\u5f00\u59cb\u652f\u6301\uff0cAndroid \u5ba2\u6237\u7aef\u6682\u4e0d\u652f\u6301 \u84dd\u7259\u603b\u5171\u589e\u52a0\u4e8618\u4e2aapi\u63a5\u53e3\u3002 2.Api\u5206\u7c7b \u641c\u7d22\u7c7b \u8fde\u63a5\u7c7b \u901a\u4fe1\u7c7b 3.API\u7684\u5177\u4f53\u4f7f\u7528 \u8be6\u7ec6\u89c1\u5b98\u7f51\uff1a https:\/\/mp.weixin.qq.com\/debug\/wxadoc\/dev\/api\/bluetooth.html#wxgetconnectedbluethoothdevicesobject 4. \u6848\u4f8b\u5b9e\u73b0 4.1 \u641c\u7d22\u84dd\u7259\u8bbe\u5907 \/** &nbsp;*&nbsp;\u641c\u7d22\u8bbe\u5907\u754c\u9762 &nbsp;*\/ Page({ &nbsp;data:&nbsp;{ &nbsp;logs:&nbsp;[], &nbsp;list:[], &nbsp;}, &nbsp;onLoad:&nbsp;function&nbsp;()&nbsp;{ &nbsp;console.log(&#8216;onLoad&#8217;) var&nbsp;that&nbsp;=&nbsp;this; \/\/&nbsp;const&nbsp;SDKVersion&nbsp;=&nbsp;wx.getSystemInfoSync().SDKVersion&nbsp;||&nbsp;&#8216;1.0.0&#8217; \/\/&nbsp;const&nbsp;[MAJOR,&nbsp;MINOR,&nbsp;PATCH]&nbsp;=&nbsp;SDKVersion.split(&#8216;.&#8217;).map(Number) \/\/&nbsp;console.log(SDKVersion); \/\/&nbsp;console.log(MAJOR); \/\/&nbsp;console.log(MINOR); \/\/&nbsp;console.log(PATCH); \/\/&nbsp;const&nbsp;canIUse&nbsp;=&nbsp;apiName&nbsp;=&amp;gt;&nbsp;{ \/\/&nbsp;if&nbsp;(apiName&nbsp;===&nbsp;&#8216;showModal.cancel&#8217;)&nbsp;{ \/\/&nbsp;&nbsp;return&nbsp;MAJOR&nbsp;&amp;gt;=&nbsp;1&nbsp;&amp;amp;&amp;amp;&nbsp;MINOR&nbsp;&amp;gt;=&nbsp;1 \/\/&nbsp;} \/\/&nbsp;return&nbsp;true \/\/&nbsp;} \/\/&nbsp;wx.showModal({ \/\/&nbsp;success:&nbsp;function(res)&nbsp;{ \/\/&nbsp;&nbsp;if&nbsp;(canIUse(&#8216;showModal.cancel&#8217;))&nbsp;{ \/\/&nbsp;&nbsp;console.log(res.cancel) \/\/&nbsp;&nbsp;} \/\/&nbsp;} \/\/&nbsp;}) &nbsp;&nbsp;\/\/\u83b7\u53d6\u9002\u914d\u5668 [&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-29572","post","type-post","status-publish","format-standard","hentry","category-19"],"_links":{"self":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/29572","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=29572"}],"version-history":[{"count":0,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/29572\/revisions"}],"wp:attachment":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/media?parent=29572"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/categories?post=29572"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/tags?post=29572"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}