<?xml version="1.0" encoding="utf-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>博易阁</title><link>https://www.xuzebo.net.cn/</link><description>泽博网站</description><item><title>ESP32定时控制GPIO2灯</title><link>https://www.xuzebo.net.cn/?id=36</link><description>&lt;article data-content=&quot;[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;3060-1621846615933&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;p5PQ-1621846617594&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;直接在&amp;nbsp;Thonny&amp;nbsp;里运行、ESP32&amp;nbsp;可用、每天&amp;nbsp;7:30&amp;nbsp;自动点亮&amp;nbsp;GPIO2&amp;nbsp;灯&amp;nbsp;1&amp;nbsp;分钟后关闭&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;的完整&amp;nbsp;MicroPython&amp;nbsp;代码。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;3Byq-1776757484380&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;lvyl-1776757484165&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;功能说明&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:20}]}]}]}]&quot;&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space: pre-wrap; line-height: 1.75;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;直接在 Thonny 里运行、ESP32 可用、每天 7:30 自动点亮 GPIO2 灯 1 分钟后关闭&lt;/span&gt;的完整 MicroPython 代码。&lt;/div&gt;&lt;h3 id=&quot;rO2a-1776757648829&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space: pre-wrap; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;功能说明&lt;/span&gt;&lt;/h3&gt;&lt;/article&gt;&lt;article data-content=&quot;[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;r9cR-1776757484168&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;yrtd-1776757484373&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;unordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;26n0-1776757484167&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;每天&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;7:30&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;自动打开&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;GPIO2&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;（开发板板载&amp;nbsp;LED）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1rpv-1776757484170&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;yrtd-1776757484373&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;unordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;myWV-1776757484169&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;保持&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;1&amp;nbsp;分钟&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;后自动关闭&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:2}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;jS7M-1776757484172&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;yrtd-1776757484373&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;unordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;BICw-1776757484171&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;自带网络同步时间（不用手动设时间）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:3}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Usei-1776757484174&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;yrtd-1776757484373&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;unordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;meD8-1776757484173&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;掉电/重启后依然能自动运行&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:4}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;UBbH-1776757484381&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h1&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;H4ef-1776757484176&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;完整可直接复制代码（MicroPython）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;NtR4-1776757484320&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;language&amp;quot;:&amp;quot;python&amp;quot;,&amp;quot;theme&amp;quot;:&amp;quot;tomorrow&amp;quot;,&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;en9R-1776757484179&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;alqD-1776757484178&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;machine&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;mwo6-1776757484181&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;qo69-1776757484180&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;network&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;kWWV-1776757484183&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;68p7-1776757484182&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;ntptime&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;p1QH-1776757484185&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;UFxD-1776757484184&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;time&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;0yOe-1776757484187&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;TjRK-1776757484186&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;9Nl9-1776757484189&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1Qkp-1776757484188&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;#&amp;nbsp;=====================&amp;nbsp;配置区&amp;nbsp;=====================&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;rg5W-1776757484191&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;3O5J-1776757484190&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;WIFI_SSID&amp;nbsp;=&amp;nbsp;\&amp;quot;你的WiFi名称\&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;改成你的WiFi&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;qNsF-1776757484193&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;esIj-1776757484192&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;WIFI_PASSWORD&amp;nbsp;=&amp;nbsp;\&amp;quot;你的WiFi密码\&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;改成你的WiFi密码&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;A6zI-1776757484195&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;qGnP-1776757484194&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;TARGET_HOUR&amp;nbsp;=&amp;nbsp;7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;几点&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;npfI-1776757484197&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;eXpU-1776757484196&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;TARGET_MINUTE&amp;nbsp;=&amp;nbsp;30&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;几分&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;J6LL-1776757484199&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;yxgw-1776757484198&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;DURATION_SECONDS&amp;nbsp;=&amp;nbsp;60&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;持续时间（秒）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;chFZ-1776757484201&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;BLmE-1776757484200&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;LED_PIN&amp;nbsp;=&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;板载LED引脚（大部分ESP32是2）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Zyqm-1776757484203&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;bL48-1776757484202&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;#&amp;nbsp;==================================================&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;A2fP-1776757484205&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Pyt3-1776757484204&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;RCei-1776757484207&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;qYYo-1776757484206&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;#&amp;nbsp;初始化LED&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;2lVY-1776757484209&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;NhWO-1776757484208&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;led&amp;nbsp;=&amp;nbsp;machine.Pin(LED_PIN,&amp;nbsp;machine.Pin.OUT)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;CmtY-1776757484211&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;GulM-1776757484210&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;led.value(0)&amp;nbsp;&amp;nbsp;#&amp;nbsp;初始关闭&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;TDCd-1776757484213&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;umSo-1776757484212&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;viSu-1776757484215&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;wjlL-1776757484214&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;#&amp;nbsp;连接WiFi&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;63gg-1776757484217&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;z31w-1776757484216&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;def&amp;nbsp;connect_wifi():&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;9Quj-1776757484219&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;bnm5-1776757484218&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wlan&amp;nbsp;=&amp;nbsp;network.WLAN(network.STA_IF)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;x1h4-1776757484221&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;N60V-1776757484220&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wlan.active(True)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;vBXD-1776757484223&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;tUZu-1776757484222&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;not&amp;nbsp;wlan.isconnected():&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;jZJi-1776757484225&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;YhBN-1776757484224&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(\&amp;quot;正在连接WiFi...\&amp;quot;)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Jz5Q-1776757484228&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;sRuW-1776757484227&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wlan.connect(WIFI_SSID,&amp;nbsp;WIFI_PASSWORD)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;zKMo-1776757484230&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;R6M2-1776757484229&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while&amp;nbsp;not&amp;nbsp;wlan.isconnected():&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;h3Xd-1776757484232&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;YAIM-1776757484231&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time.sleep(0.5)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;r391-1776757484234&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;lWmG-1776757484233&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(\&amp;quot;WiFi连接成功！IP:\&amp;quot;,&amp;nbsp;wlan.ifconfig()[0])&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;fTqW-1776757484236&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;dY2q-1776757484235&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;hDDs-1776757484238&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;l8Kc-1776757484237&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;#&amp;nbsp;同步网络时间（NTP）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;lEr0-1776757484240&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;QgPZ-1776757484239&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;def&amp;nbsp;sync_time():&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;jHFQ-1776757484242&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;qYxF-1776757484241&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try:&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;gjtX-1776757484244&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;3ghQ-1776757484243&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ntptime.settime()&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;AxxB-1776757484246&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;upPD-1776757484245&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(\&amp;quot;时间同步成功！\&amp;quot;)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;qWgq-1776757484248&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;NnUZ-1776757484247&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;东八区偏移&amp;nbsp;+8小时&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;IMDo-1776757484250&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;wnFH-1776757484249&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tm&amp;nbsp;=&amp;nbsp;time.localtime(time.time()&amp;nbsp;+&amp;nbsp;8&amp;nbsp;*&amp;nbsp;3600)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;yGtw-1776757484252&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;VpAR-1776757484251&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(\&amp;quot;当前时间：%04d-%02d-%02d&amp;nbsp;%02d:%02d:%02d\&amp;quot;&amp;nbsp;%&amp;nbsp;tm[0:6])&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;e8Un-1776757484254&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;GAXw-1776757484253&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except:&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;YvSM-1776757484256&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;dgJ9-1776757484255&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(\&amp;quot;时间同步失败，稍后重试\&amp;quot;)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;qMTb-1776757484258&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;lPAk-1776757484257&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;wOT5-1776757484260&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;YI1g-1776757484259&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;#&amp;nbsp;主循环：每天定时开关灯&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;uBuh-1776757484262&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;r6R9-1776757484261&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;def&amp;nbsp;main_loop():&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;EJV5-1776757484264&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;uLat-1776757484263&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while&amp;nbsp;True:&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;M5yb-1776757484266&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;WBeR-1776757484265&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;获取东八区时间&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ryHS-1776757484268&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;f6mW-1776757484267&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;now&amp;nbsp;=&amp;nbsp;time.time()&amp;nbsp;+&amp;nbsp;8&amp;nbsp;*&amp;nbsp;3600&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;s0v7-1776757484270&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;FdkB-1776757484269&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tm&amp;nbsp;=&amp;nbsp;time.localtime(now)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Rgpg-1776757484272&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;VJjZ-1776757484271&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;current_hour&amp;nbsp;=&amp;nbsp;tm[3]&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;3E34-1776757484274&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;hEMz-1776757484273&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;current_minute&amp;nbsp;=&amp;nbsp;tm[4]&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;J2NB-1776757484276&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;fBR5-1776757484275&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;current_second&amp;nbsp;=&amp;nbsp;tm[5]&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;owcu-1776757484278&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Q4VE-1776757484277&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;61s9-1776757484280&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;9FNV-1776757484279&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;打印时间（每秒一次）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;u8jZ-1776757484282&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;KgOs-1776757484281&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(\&amp;quot;当前时间：%02d:%02d:%02d\&amp;quot;&amp;nbsp;%&amp;nbsp;(current_hour,&amp;nbsp;current_minute,&amp;nbsp;current_second))&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;VM3k-1776757484284&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;2YqD-1776757484283&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;acjd-1776757484286&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;wpe0-1776757484285&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;判断是否到&amp;nbsp;7:30:00&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;i0RK-1776757484288&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Ptt4-1776757484287&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;current_hour&amp;nbsp;==&amp;nbsp;TARGET_HOUR&amp;nbsp;and&amp;nbsp;current_minute&amp;nbsp;==&amp;nbsp;TARGET_MINUTE&amp;nbsp;and&amp;nbsp;current_second&amp;nbsp;==&amp;nbsp;0:&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;y76R-1776757484290&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;hcjN-1776757484289&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(\&amp;quot;===&amp;nbsp;到达设定时间，开灯！===\&amp;quot;)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;VJF8-1776757484292&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;QdBf-1776757484291&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;led.value(1)&amp;nbsp;&amp;nbsp;#&amp;nbsp;开灯&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;rMbh-1776757484294&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;YofD-1776757484293&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time.sleep(DURATION_SECONDS)&amp;nbsp;&amp;nbsp;#&amp;nbsp;保持设定时长&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;DKi3-1776757484296&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;SPVQ-1776757484295&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;led.value(0)&amp;nbsp;&amp;nbsp;#&amp;nbsp;关灯&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;gBsx-1776757484298&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;2Tmz-1776757484297&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(\&amp;quot;===&amp;nbsp;时间到，关灯！===\&amp;quot;)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;p3ke-1776757484300&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;J1u0-1776757484299&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time.sleep(50)&amp;nbsp;&amp;nbsp;#&amp;nbsp;防止重复触发&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;GdSr-1776757484302&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;P5ch-1776757484301&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;sqZG-1776757484304&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Vth8-1776757484303&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time.sleep(1)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;cpub-1776757484306&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;oqH4-1776757484305&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;gAYa-1776757484308&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;cRGP-1776757484307&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;#&amp;nbsp;启动&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;X2MX-1776757484310&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Hcf5-1776757484309&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;print(\&amp;quot;=====&amp;nbsp;ESP32&amp;nbsp;定时开灯程序&amp;nbsp;=====\&amp;quot;)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;M37x-1776757484312&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;2sK9-1776757484311&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;connect_wifi()&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;p0aJ-1776757484315&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;UbcN-1776757484314&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;sync_time()&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;QUfF-1776757484317&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;l8Zh-1776757484316&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;main_loop()&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;qTCZ-1776757484319&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;AXCe-1776757484318&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{&amp;quot;tokensPerLine&amp;quot;:[[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;machine&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;network&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;ntptime&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;time&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;#&amp;nbsp;=====================&amp;nbsp;配置区&amp;nbsp;=====================&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;WIFI_SSID&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;你的WiFi名称\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;#&amp;nbsp;改成你的WiFi&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;WIFI_PASSWORD&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;你的WiFi密码\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;#&amp;nbsp;改成你的WiFi密码&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;TARGET_HOUR&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;7&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;#&amp;nbsp;几点&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;TARGET_MINUTE&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;30&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;#&amp;nbsp;几分&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;DURATION_SECONDS&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;60&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;#&amp;nbsp;持续时间（秒）&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;LED_PIN&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;2&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;#&amp;nbsp;板载LED引脚（大部分ESP32是2）&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;#&amp;nbsp;==================================================&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;#&amp;nbsp;初始化LED&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;led&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;machine&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Pin&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;LED_PIN&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;machine&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Pin&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;OUT&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;led&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;value&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;0&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;#&amp;nbsp;初始关闭&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;#&amp;nbsp;连接WiFi&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;def&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;connect_wifi&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wlan&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;network&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;WLAN&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;network&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;STA_IF&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wlan&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;active&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;boolean&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;True&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;if&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;not&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;wlan&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;isconnected&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;print&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;正在连接WiFi...\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wlan&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;connect&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;WIFI_SSID&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;WIFI_PASSWORD&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;while&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;not&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;wlan&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;isconnected&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;sleep&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;0.5&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;print&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;WiFi连接成功！IP:\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;wlan&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;ifconfig&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;[&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;0&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;]&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;#&amp;nbsp;同步网络时间（NTP）&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;def&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;sync_time&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;try&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ntptime&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;settime&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;print&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;时间同步成功！\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;#&amp;nbsp;东八区偏移&amp;nbsp;+8小时&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tm&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;time&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;localtime&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;time&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;time&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;+&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;8&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;*&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;3600&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;print&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;当前时间：%04d-%02d-%02d&amp;nbsp;%02d:%02d:%02d\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;%&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;tm&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;[&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;0&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;6&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;]&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;except&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;print&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;时间同步失败，稍后重试\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;#&amp;nbsp;主循环：每天定时开关灯&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;def&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;main_loop&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;while&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;boolean&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;True&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;#&amp;nbsp;获取东八区时间&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;now&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;time&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;time&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;+&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;8&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;*&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;3600&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tm&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;time&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;localtime&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;now&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;current_hour&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;tm&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;[&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;3&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;]&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;current_minute&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;tm&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;[&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;4&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;]&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;current_second&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;tm&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;[&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;5&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;]&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;#&amp;nbsp;打印时间（每秒一次）&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;print&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;当前时间：%02d:%02d:%02d\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;%&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;current_hour&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;current_minute&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;current_second&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;#&amp;nbsp;判断是否到&amp;nbsp;7:30:00&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;if&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;current_hour&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;==&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;TARGET_HOUR&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;and&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;current_minute&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;==&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;TARGET_MINUTE&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;and&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;current_second&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;==&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;0&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;print&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;===&amp;nbsp;到达设定时间，开灯！===\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;led&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;value&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;1&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;#&amp;nbsp;开灯&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;sleep&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;DURATION_SECONDS&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;#&amp;nbsp;保持设定时长&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;led&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;value&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;0&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;#&amp;nbsp;关灯&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;print&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;===&amp;nbsp;时间到，关灯！===\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;sleep&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;50&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;#&amp;nbsp;防止重复触发&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;sleep&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;1&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;#&amp;nbsp;启动&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;print&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;=====&amp;nbsp;ESP32&amp;nbsp;定时开灯程序&amp;nbsp;=====\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;connect_wifi&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;sync_time&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;main_loop&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[]]}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;XBvI-1776757484382&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h1&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4Jos-1776757484322&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;使用方法&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;q1Tg-1776757484325&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;0mwb-1776757484374&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;C5sa-1776757484324&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;打开&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;Thonny&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:1}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;2QDb-1776757484327&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;0mwb-1776757484374&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Mmqa-1776757484326&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;把&amp;nbsp;ESP32&amp;nbsp;连接电脑&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:2}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;HG0W-1776757484329&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;0mwb-1776757484374&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;YevL-1776757484328&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;复制上面代码&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:3}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;qQQp-1776757484331&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;0mwb-1776757484374&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;sL2v-1776757484330&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;修改&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;WiFi&amp;nbsp;名称和密码&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:4}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Fs20-1776757484333&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;0mwb-1776757484374&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;bGfU-1776757484332&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;点击运行&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:5}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ituy-1776757484383&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h1&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;9Dfv-1776757484335&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;效果&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;R5DG-1776757484338&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;KUji-1776757484375&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;unordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;nh1m-1776757484337&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;每天&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;7:30:00&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;GPIO2&amp;nbsp;输出高电平&amp;nbsp;→&amp;nbsp;灯亮&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:1}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;FDkn-1776757484340&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;KUji-1776757484375&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;unordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;7qQk-1776757484339&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;持续&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;60&amp;nbsp;秒&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:2}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;yczY-1776757484342&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;KUji-1776757484375&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;unordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;AVR1-1776757484341&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;自动关闭&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:3}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Qopc-1776757484344&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;KUji-1776757484375&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;unordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;3U71-1776757484343&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;每天重复执行&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:4}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;MqBU-1776757484384&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h1&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;yrUe-1776757484346&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;常见问题&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;XjLF-1776757484385&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;BzNm-1776757484348&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;灯不亮？&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;OiEK-1776757484351&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;gqL6-1776757484376&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;unordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;QyxG-1776757484350&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;部分&amp;nbsp;ESP32&amp;nbsp;板载&amp;nbsp;LED&amp;nbsp;是&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;低电平点亮&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:1}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Q8A5-1776757484353&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;gqL6-1776757484376&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;unordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;vu5i-1776757484352&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;把代码里的&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;led.value(1)&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;和&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;led.value(0)&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;互换即可&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:2}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;rs6w-1776757484386&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;AStP-1776757484354&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;时间不准？&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;sSrC-1776757484357&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;1OoK-1776757484377&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;unordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;V7F6-1776757484356&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;代码已经用了&amp;nbsp;NTP&amp;nbsp;网络对时&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:1}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;QG4J-1776757484359&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;1OoK-1776757484377&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;unordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;sbKs-1776757484358&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;确保&amp;nbsp;WiFi&amp;nbsp;能上网&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:2}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;HUg0-1776757484387&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ewra-1776757484361&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;总结&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;gCQQ-1776757484364&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;ojyD-1776757484378&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;unordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ucZZ-1776757484363&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;代码实现&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;每天&amp;nbsp;7:30&amp;nbsp;自动开灯&amp;nbsp;1&amp;nbsp;分钟&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:1}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;QbOe-1776757484366&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;ojyD-1776757484378&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;unordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;5Uxn-1776757484365&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;自带&amp;nbsp;WiFi&amp;nbsp;对时，无需手动设置时间&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:2}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;nM29-1776757484368&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;ojyD-1776757484378&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;unordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;8Gvp-1776757484367&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;直接在&amp;nbsp;Thonny&amp;nbsp;运行，无需额外库&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:3}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;01dg-1776757484370&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;ojyD-1776757484378&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;unordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;pNp0-1776757484369&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;稳定、掉电重启后自动继续运行&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}]&quot; style=&quot;font-size: medium; text-wrap-mode: wrap;&quot;&gt;&lt;div&gt;&lt;ul yne-block-type=&quot;list&quot; style=&quot;margin-left: 14px;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;每天 &lt;span style=&quot;font-weight: bold;&quot;&gt;7:30&lt;/span&gt; 自动打开 &lt;span style=&quot;font-weight: bold;&quot;&gt;GPIO2&lt;/span&gt;（开发板板载 LED）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;保持 &lt;span style=&quot;font-weight: bold;&quot;&gt;1 分钟&lt;/span&gt; 后自动关闭&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;自带网络同步时间（不用手动设时间）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;掉电/重启后依然能自动运行&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;h1 id=&quot;VAVM-1776757693491&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;1&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 28px;&quot;&gt;完整可直接复制代码（MicroPython）&lt;/span&gt;&lt;/h1&gt;&lt;div yne-bulb-block=&quot;code&quot; data-theme=&quot;tomorrow&quot; data-language=&quot;python&quot; style=&quot;white-space-collapse: preserve;&quot;&gt;&lt;pre class=&quot;prism-highlight prism-language-python&quot;&gt;import&amp;nbsp;machine
import&amp;nbsp;network
import&amp;nbsp;ntptime
import&amp;nbsp;time

#&amp;nbsp;=====================&amp;nbsp;配置区&amp;nbsp;=====================
WIFI_SSID&amp;nbsp;=&amp;nbsp;&amp;quot;你的WiFi名称&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;改成你的WiFi
WIFI_PASSWORD&amp;nbsp;=&amp;nbsp;&amp;quot;你的WiFi密码&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;改成你的WiFi密码
TARGET_HOUR&amp;nbsp;=&amp;nbsp;7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;几点
TARGET_MINUTE&amp;nbsp;=&amp;nbsp;30&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;几分
DURATION_SECONDS&amp;nbsp;=&amp;nbsp;60&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;持续时间（秒）
LED_PIN&amp;nbsp;=&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;板载LED引脚（大部分ESP32是2）
#&amp;nbsp;==================================================

#&amp;nbsp;初始化LED
led&amp;nbsp;=&amp;nbsp;machine.Pin(LED_PIN,&amp;nbsp;machine.Pin.OUT)
led.value(0)&amp;nbsp;&amp;nbsp;#&amp;nbsp;初始关闭

#&amp;nbsp;连接WiFi
def&amp;nbsp;connect_wifi():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wlan&amp;nbsp;=&amp;nbsp;network.WLAN(network.STA_IF)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wlan.active(True)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;not&amp;nbsp;wlan.isconnected():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;正在连接WiFi...&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wlan.connect(WIFI_SSID,&amp;nbsp;WIFI_PASSWORD)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while&amp;nbsp;not&amp;nbsp;wlan.isconnected():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time.sleep(0.5)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;WiFi连接成功！IP:&amp;quot;,&amp;nbsp;wlan.ifconfig()[0])

#&amp;nbsp;同步网络时间（NTP）
def&amp;nbsp;sync_time():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ntptime.settime()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;时间同步成功！&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;东八区偏移&amp;nbsp;+8小时
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tm&amp;nbsp;=&amp;nbsp;time.localtime(time.time()&amp;nbsp;+&amp;nbsp;8&amp;nbsp;*&amp;nbsp;3600)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;当前时间：%04d-%02d-%02d&amp;nbsp;%02d:%02d:%02d&amp;quot;&amp;nbsp;%&amp;nbsp;tm[0:6])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;时间同步失败，稍后重试&amp;quot;)

#&amp;nbsp;主循环：每天定时开关灯
def&amp;nbsp;main_loop():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while&amp;nbsp;True:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;获取东八区时间
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;now&amp;nbsp;=&amp;nbsp;time.time()&amp;nbsp;+&amp;nbsp;8&amp;nbsp;*&amp;nbsp;3600
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tm&amp;nbsp;=&amp;nbsp;time.localtime(now)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;current_hour&amp;nbsp;=&amp;nbsp;tm[3]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;current_minute&amp;nbsp;=&amp;nbsp;tm[4]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;current_second&amp;nbsp;=&amp;nbsp;tm[5]

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;打印时间（每秒一次）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;当前时间：%02d:%02d:%02d&amp;quot;&amp;nbsp;%&amp;nbsp;(current_hour,&amp;nbsp;current_minute,&amp;nbsp;current_second))

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;判断是否到&amp;nbsp;7:30:00
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;current_hour&amp;nbsp;==&amp;nbsp;TARGET_HOUR&amp;nbsp;and&amp;nbsp;current_minute&amp;nbsp;==&amp;nbsp;TARGET_MINUTE&amp;nbsp;and&amp;nbsp;current_second&amp;nbsp;==&amp;nbsp;0:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;===&amp;nbsp;到达设定时间，开灯！===&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;led.value(1)&amp;nbsp;&amp;nbsp;#&amp;nbsp;开灯
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time.sleep(DURATION_SECONDS)&amp;nbsp;&amp;nbsp;#&amp;nbsp;保持设定时长
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;led.value(0)&amp;nbsp;&amp;nbsp;#&amp;nbsp;关灯
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print(&amp;quot;===&amp;nbsp;时间到，关灯！===&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time.sleep(50)&amp;nbsp;&amp;nbsp;#&amp;nbsp;防止重复触发

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time.sleep(1)

#&amp;nbsp;启动
print(&amp;quot;=====&amp;nbsp;ESP32&amp;nbsp;定时开灯程序&amp;nbsp;=====&amp;quot;)
connect_wifi()
sync_time()
main_loop()&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&quot;3bVP-1776757693635&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;1&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 28px;&quot;&gt;使用方法&lt;/span&gt;&lt;/h1&gt;&lt;div&gt;&lt;ol yne-block-type=&quot;list&quot; style=&quot;margin-left: 14px;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;打开 &lt;span style=&quot;font-weight: bold;&quot;&gt;Thonny&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;把 ESP32 连接电脑&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;复制上面代码&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;修改 &lt;span style=&quot;font-weight: bold;&quot;&gt;WiFi 名称和密码&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;点击运行&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;h1 id=&quot;f2Zm-1776757693647&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;1&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 28px;&quot;&gt;效果&lt;/span&gt;&lt;/h1&gt;&lt;div&gt;&lt;ul yne-block-type=&quot;list&quot; style=&quot;margin-left: 14px;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;每天 &lt;span style=&quot;font-weight: bold;&quot;&gt;7:30:00&lt;/span&gt; GPIO2 输出高电平 → 灯亮&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;持续 &lt;span style=&quot;font-weight: bold;&quot;&gt;60 秒&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;自动关闭&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;每天重复执行&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;h1 id=&quot;SA01-1776757693658&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;1&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 28px;&quot;&gt;常见问题&lt;/span&gt;&lt;/h1&gt;&lt;h3 id=&quot;47Mx-1776757693660&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;灯不亮？&lt;/span&gt;&lt;/h3&gt;&lt;div&gt;&lt;ul yne-block-type=&quot;list&quot; style=&quot;margin-left: 14px;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;部分 ESP32 板载 LED 是 &lt;span style=&quot;font-weight: bold;&quot;&gt;低电平点亮&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;把代码里的 led.value(1) 和 led.value(0) 互换即可&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;h3 id=&quot;PoXX-1776757693666&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;时间不准？&lt;/span&gt;&lt;/h3&gt;&lt;div&gt;&lt;ul yne-block-type=&quot;list&quot; style=&quot;margin-left: 14px;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;代码已经用了 NTP 网络对时&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;确保 WiFi 能上网&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;h3 id=&quot;557y-1776757693672&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;总结&lt;/span&gt;&lt;/h3&gt;&lt;div&gt;&lt;ul yne-block-type=&quot;list&quot; style=&quot;margin-left: 14px;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;代码实现&lt;span style=&quot;font-weight: bold;&quot;&gt;每天 7:30 自动开灯 1 分钟&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;自带 WiFi 对时，无需手动设置时间&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;直接在 Thonny 运行，无需额外库&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;稳定、掉电重启后自动继续运行&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/article&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Tue, 21 Apr 2026 15:47:07 +0800</pubDate></item><item><title>Kotlin中Response与CALL的区别</title><link>https://www.xuzebo.net.cn/?id=35</link><description>&lt;article data-content=&quot;[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;3060-1621846615933&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;p5PQ-1621846617594&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;在&amp;nbsp;Kotlin&amp;nbsp;结合&amp;nbsp;Retrofit&amp;nbsp;访问&amp;nbsp;API&amp;nbsp;时，&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;Response&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;和&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;Call&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;是两种核心的返回类型，尤其在&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;lifecycleScope&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;中使用协程时差异显著。我会从用法、特性、适配性三个维度帮你讲清楚它们的区别。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}]&quot;&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space: pre-wrap; line-height: 1.75;&quot;&gt;在 Kotlin 结合 Retrofit 访问 API 时，Response 和 Call 是两种核心的返回类型，尤其在 lifecycleScope 中使用协程时差异显著。我会从用法、特性、适配性三个维度帮你讲清楚它们的区别。&lt;/div&gt;&lt;/article&gt;&lt;article data-content=&quot;[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;J71c-1773547231531&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;B7Kr-1773547231277&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;一、核心概念与本质区别&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;2SfH-1773547231532&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h4&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;muq2-1773547231279&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;1.&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;Call&amp;lt;CodesendRs&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;（传统回调式）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;wF0C-1773547231282&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;lQgO-1773547231281&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;Call&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;是&amp;nbsp;Retrofit&amp;nbsp;早期的核心类型，&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;本质是一个可执行的请求对象&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;，本身不支持协程，需要通过回调（&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;enqueue&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;）或阻塞调用（&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;execute&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;）来执行请求：&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;XDKZ-1773547231284&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;quOy-1773547231526&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;unordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;a31n-1773547231283&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;它是一个「请求载体」，创建后不会自动执行，必须手动调用&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;enqueue()&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;（异步）或&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;execute()&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;（同步）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:1}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;8HUA-1773547231286&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;quOy-1773547231526&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;unordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;5XtX-1773547231285&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;不支持挂起函数（&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;suspend&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;），如果强行在&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;suspend&amp;nbsp;fun&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;中返回&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;Call&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;，协程的挂起特性会失效&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:2}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Yj3r-1773547231288&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;quOy-1773547231526&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;unordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;eUaW-1773547231287&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;典型用法（非协程）：&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:3}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;fOH2-1773547231335&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;language&amp;quot;:&amp;quot;kotlin&amp;quot;,&amp;quot;theme&amp;quot;:&amp;quot;tomorrow&amp;quot;,&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;BkQx-1773547231290&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;XSqR-1773547231289&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;//&amp;nbsp;API&amp;nbsp;定义&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4BUS-1773547231292&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1yCX-1773547231291&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;@POST(\&amp;quot;Sendcode\&amp;quot;)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;njGO-1773547231294&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;T011-1773547231293&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;fun&amp;nbsp;Sendcode(@Query(\&amp;quot;email\&amp;quot;)&amp;nbsp;email:&amp;nbsp;String):&amp;nbsp;Call&amp;lt;CodesendRs&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;YW7K-1773547231296&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;I0SS-1773547231295&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;lQQ0-1773547231298&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;jVqX-1773547231297&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;//&amp;nbsp;调用（传统回调）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;WMt7-1773547231300&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;bMTN-1773547231299&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;lifecycleScope.launch&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Jszq-1773547231302&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;LI15-1773547231301&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;call&amp;nbsp;=&amp;nbsp;apiService.Sendcode(\&amp;quot;test@example.com\&amp;quot;)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;fym7-1773547231304&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;tc7U-1773547231303&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;异步执行（回调方式）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;XSqB-1773547231306&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;RMN2-1773547231305&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;call.enqueue(object&amp;nbsp;:&amp;nbsp;Callback&amp;lt;CodesendRs&amp;gt;&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Xtti-1773547231308&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;DpHE-1773547231307&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;override&amp;nbsp;fun&amp;nbsp;onResponse(call:&amp;nbsp;Call&amp;lt;CodesendRs&amp;gt;,&amp;nbsp;response:&amp;nbsp;Response&amp;lt;CodesendRs&amp;gt;)&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;KOQL-1773547231310&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;iErB-1773547231309&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(response.isSuccessful)&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;VyNf-1773547231312&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;IOQe-1773547231311&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;data&amp;nbsp;=&amp;nbsp;response.body()&amp;nbsp;//&amp;nbsp;成功数据&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Tvqy-1773547231314&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;BwW4-1773547231313&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;else&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;f3Xz-1773547231316&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;niqK-1773547231315&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;处理错误（4xx/5xx）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;8Lj0-1773547231318&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;9DRn-1773547231317&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;3t1m-1773547231320&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;of2U-1773547231319&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;8gJ6-1773547231322&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;hrPv-1773547231321&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;X0ae-1773547231324&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;x2OU-1773547231323&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;override&amp;nbsp;fun&amp;nbsp;onFailure(call:&amp;nbsp;Call&amp;lt;CodesendRs&amp;gt;,&amp;nbsp;t:&amp;nbsp;Throwable)&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;DIEY-1773547231326&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;knxU-1773547231325&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;处理网络错误&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;vXAh-1773547231328&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Hiyb-1773547231327&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;iJa8-1773547231330&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;tI9w-1773547231329&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;})&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4hGm-1773547231332&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;vdbG-1773547231331&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{&amp;quot;tokensPerLine&amp;quot;:[[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;API&amp;nbsp;定义&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;annotation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;@POST&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;builtin&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;Sendcode\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fun&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Sendcode&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;annotation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;@Query&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;builtin&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;email\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;email&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;String&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;Call&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;CodesendRs&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;调用（传统回调）&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;lifecycleScope&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;launch&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;call&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;apiService&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Sendcode&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;test@example.com\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;异步执行（回调方式）&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;call&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;enqueue&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;object&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;Callback&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;CodesendRs&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;override&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fun&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;onResponse&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;call&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;Call&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;CodesendRs&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;response&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;Response&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;CodesendRs&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;if&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;response&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;isSuccessful&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;data&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;response&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;body&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;成功数据&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;else&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;处理错误（4xx/5xx）&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;override&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fun&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;onFailure&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;call&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;Call&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;CodesendRs&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;t&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;Throwable&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;处理网络错误&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}]]}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;V0KR-1773547231533&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h4&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;xeD3-1773547231336&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;2.&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;Response&amp;lt;CodesendRs&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;（协程挂起式）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;qGn9-1773547231339&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Yelk-1773547231338&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;Response&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;是&amp;nbsp;Retrofit&amp;nbsp;对协程支持的核心返回类型，&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;必须配合&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;suspend&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;函数使用&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;：&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;td2a-1773547231342&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;XvtB-1773547231527&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;unordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;H9JN-1773547231341&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;suspend&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;函数执行时会自动挂起协程，直到请求完成（无需手动调用&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;enqueue/execute&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:1}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;IBJS-1773547231344&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;XvtB-1773547231527&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;unordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;C0XQ-1773547231343&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;Response&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;封装了完整的响应信息（状态码、响应体、头信息等），是请求执行后的「结果载体」&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:2}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;jBto-1773547231346&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;XvtB-1773547231527&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;unordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;fTqe-1773547231345&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;典型用法（协程推荐）：&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}]&quot; style=&quot;font-size: medium; text-wrap-mode: wrap;&quot;&gt;&lt;h3 id=&quot;0uAZ-1773547407008&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;一、核心概念与本质区别&lt;/span&gt;&lt;/h3&gt;&lt;h4 id=&quot;U1xS-1773547407010&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;4&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;1. Call&lt;codesendrs&gt;&lt;/codesendrs&gt;（传统回调式）&lt;/h4&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;Call 是 Retrofit 早期的核心类型，&lt;span style=&quot;font-weight: bold;&quot;&gt;本质是一个可执行的请求对象&lt;/span&gt;，本身不支持协程，需要通过回调（enqueue）或阻塞调用（execute）来执行请求：&lt;/div&gt;&lt;div&gt;&lt;ul yne-block-type=&quot;list&quot; style=&quot;margin-left: 14px;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;它是一个「请求载体」，创建后不会自动执行，必须手动调用 enqueue()（异步）或 execute()（同步）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;不支持挂起函数（suspend），如果强行在 suspend fun 中返回 Call，协程的挂起特性会失效&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;典型用法（非协程）：&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div yne-bulb-block=&quot;code&quot; data-theme=&quot;tomorrow&quot; data-language=&quot;kotlin&quot; style=&quot;white-space-collapse: preserve;&quot;&gt;&lt;pre class=&quot;prism-highlight prism-language-groovy&quot;&gt;//&amp;nbsp;API&amp;nbsp;定义
@POST(&amp;quot;Sendcode&amp;quot;)
fun&amp;nbsp;Sendcode(@Query(&amp;quot;email&amp;quot;)&amp;nbsp;email:&amp;nbsp;String):&amp;nbsp;Call&amp;lt;CodesendRs&amp;gt;

//&amp;nbsp;调用（传统回调）
lifecycleScope.launch&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;call&amp;nbsp;=&amp;nbsp;apiService.Sendcode(&amp;quot;test@example.com&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;异步执行（回调方式）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;call.enqueue(object&amp;nbsp;:&amp;nbsp;Callback&amp;lt;CodesendRs&amp;gt;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;override&amp;nbsp;fun&amp;nbsp;onResponse(call:&amp;nbsp;Call&amp;lt;CodesendRs&amp;gt;,&amp;nbsp;response:&amp;nbsp;Response&amp;lt;CodesendRs&amp;gt;)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(response.isSuccessful)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;data&amp;nbsp;=&amp;nbsp;response.body()&amp;nbsp;//&amp;nbsp;成功数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;else&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;处理错误（4xx/5xx）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;override&amp;nbsp;fun&amp;nbsp;onFailure(call:&amp;nbsp;Call&amp;lt;CodesendRs&amp;gt;,&amp;nbsp;t:&amp;nbsp;Throwable)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;处理网络错误
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;})
}&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&quot;Vjy7-1773547407065&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;4&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;2. Response&lt;codesendrs&gt;&lt;/codesendrs&gt;（协程挂起式）&lt;/h4&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;Response 是 Retrofit 对协程支持的核心返回类型，&lt;span style=&quot;font-weight: bold;&quot;&gt;必须配合 &lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;suspend&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt; 函数使用&lt;/span&gt;：&lt;/div&gt;&lt;div&gt;&lt;ul yne-block-type=&quot;list&quot; style=&quot;margin-left: 14px;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;suspend 函数执行时会自动挂起协程，直到请求完成（无需手动调用 enqueue/execute）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Response 封装了完整的响应信息（状态码、响应体、头信息等），是请求执行后的「结果载体」&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;典型用法（协程推荐）：&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/article&gt;&lt;pre class=&quot;prism-highlight prism-language-groovy&quot;&gt;//&amp;nbsp;API&amp;nbsp;定义（推荐）
@POST(&amp;quot;Sendcode&amp;quot;)
suspend&amp;nbsp;fun&amp;nbsp;Sendcode(@Query(&amp;quot;email&amp;quot;)&amp;nbsp;email:&amp;nbsp;String):&amp;nbsp;Response&amp;lt;CodesendRs&amp;gt;

//&amp;nbsp;调用（lifecycleScope&amp;nbsp;协程）
lifecycleScope.launch&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;response&amp;nbsp;=&amp;nbsp;apiService.Sendcode(&amp;quot;test@example.com&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(response.isSuccessful)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;成功：获取响应体
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;data&amp;nbsp;=&amp;nbsp;response.body()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;code&amp;nbsp;=&amp;nbsp;response.code()&amp;nbsp;//&amp;nbsp;状态码（200/201&amp;nbsp;等）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;else&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;失败：处理&amp;nbsp;4xx/5xx&amp;nbsp;错误
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;errorBody&amp;nbsp;=&amp;nbsp;response.errorBody()?.string()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(e:&amp;nbsp;Exception)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;处理网络异常（如无网络、超时）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;article data-content=&quot;[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;NAkD-1773547231534&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Ggr6-1773547231390&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;二、关键差异对比&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;lmyS-1773547231491&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;colsWidth&amp;quot;:[128.66666666666666,295.66666666666663,380.66666666666663],&amp;quot;rowsHeight&amp;quot;:[40,40,40,40,40,40,40],&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;VqMn-1773547231403&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-row&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;UOK0-1773547231394&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;vnkO-1773547231393&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;I6IN-1773547231392&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;特性&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;8taA-1773547231397&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;vc6i-1773547231396&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;aT4B-1773547231395&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;Call&amp;lt;CodesendRs&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4nUd-1773547231402&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;nJWn-1773547231399&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;XMW6-1773547231398&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;Response&amp;lt;CodesendRs&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;txud-1773547231401&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;bChI-1773547231400&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;（suspend）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;S0u5-1773547231413&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-row&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;k6fZ-1773547231406&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;i3bY-1773547231405&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;hcOu-1773547231404&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;协程适配性&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;mfHq-1773547231409&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;2ARa-1773547231408&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;wh9r-1773547231407&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;不原生支持，需手动封装&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;rx8o-1773547231412&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;SuMI-1773547231411&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;nC4V-1773547231410&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;原生支持，挂起函数自动挂起协程&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;PsW4-1773547231430&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-row&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;x7nI-1773547231416&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;OPw1-1773547231415&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;JM3p-1773547231414&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;执行方式&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;pOVu-1773547231426&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;s77Z-1773547231418&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;pC0R-1773547231417&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;需手动调用&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;enqueue()&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;/&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;execute()&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;CTKV-1773547231429&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Cru8-1773547231428&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;LKNX-1773547231427&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;调用函数自动执行，协程挂起等待&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;yw9G-1773547231446&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-row&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;pVMl-1773547231433&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;nG0k-1773547231432&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;p9T0-1773547231431&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;错误处理&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;lL21-1773547231442&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;yIgA-1773547231435&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;93PE-1773547231434&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;回调分&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;onResponse&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;/&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;onFailure&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;MZUj-1773547231445&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;01Bq-1773547231444&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;qK0R-1773547231443&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;统一通过&amp;nbsp;try-catch&amp;nbsp;处理&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;DjVn-1773547231456&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-row&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;nKvb-1773547231449&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;zgO6-1773547231448&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;zlj9-1773547231447&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;代码风格&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;5o4Q-1773547231452&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;adEc-1773547231451&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;BD0G-1773547231450&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;回调嵌套（回调地狱风险）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;LyN1-1773547231455&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1QfD-1773547231454&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;c0xt-1773547231453&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;线性代码（协程同步写法）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;nRp6-1773547231472&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-row&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1bfO-1773547231459&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Xtqj-1773547231458&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;37wF-1773547231457&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;生命周期感知&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;0CeV-1773547231464&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;oFM3-1773547231461&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;etYn-1773547231460&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;需手动取消&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;call.cancel()&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;YlWv-1773547231471&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;N7Xx-1773547231466&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;DWlj-1773547231465&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;依托&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;lifecycleScope&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;自动取消&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1HW0-1773547231490&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-row&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ugXv-1773547231475&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;HYhu-1773547231474&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;0i6J-1773547231473&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;响应信息获取&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;eZpb-1773547231482&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;H2u7-1773547231477&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;LI0Y-1773547231476&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;需通过&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;Response&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;中间对象&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;LBGY-1773547231489&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Ugn4-1773547231484&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;nHns-1773547231483&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;直接返回&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;Response&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;，信息完整&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;hhT8-1773547231535&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;PUDd-1773547231492&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:20}]}]}]}]&quot;&gt;&lt;h3 id=&quot;PuHA-1773547450045&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space: pre-wrap; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;二、关键差异对比&lt;/span&gt;&lt;/h3&gt;&lt;div yne-bulb-block=&quot;table&quot; style=&quot;overflow: auto;&quot;&gt;&lt;table width=&quot;0&quot;&gt;&lt;colgroup&gt;&lt;col style=&quot;width: 128.66666666666666px;&quot;/&gt;&lt;col style=&quot;width: 295.66666666666663px;&quot;/&gt;&lt;col style=&quot;width: 380.66666666666663px;&quot;/&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 40px;&quot; class=&quot;firstRow&quot;&gt;&lt;td data-cell-id=&quot;fXH2-1773547450048&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;特性&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;QxTl-1773547450051&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;Call&lt;codesendrs&gt;&lt;/codesendrs&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;oZ6A-1773547450056&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;Response&lt;codesendrs&gt;&lt;/codesendrs&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;（suspend）&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 40px;&quot;&gt;&lt;td data-cell-id=&quot;t8Rg-1773547450060&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;协程适配性&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;Kohe-1773547450063&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;不原生支持，需手动封装&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;JtlU-1773547450066&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;原生支持，挂起函数自动挂起协程&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 40px;&quot;&gt;&lt;td data-cell-id=&quot;bEzq-1773547450070&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;执行方式&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;oURL-1773547450073&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;需手动调用 &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;enqueue()&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;execute()&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;JPNj-1773547450076&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;调用函数自动执行，协程挂起等待&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 40px;&quot;&gt;&lt;td data-cell-id=&quot;CpvB-1773547450080&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;错误处理&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;gGVQ-1773547450083&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;回调分 &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;onResponse&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;onFailure&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;74p3-1773547450086&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;统一通过 try-catch 处理&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 40px;&quot;&gt;&lt;td data-cell-id=&quot;jMEC-1773547450090&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;代码风格&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;2Vd5-1773547450094&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;回调嵌套（回调地狱风险）&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;nbja-1773547450097&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;线性代码（协程同步写法）&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 40px;&quot;&gt;&lt;td data-cell-id=&quot;poYU-1773547450101&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;生命周期感知&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;XJga-1773547450104&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;需手动取消 &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;call.cancel()&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;mEPA-1773547450107&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;依托 &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;lifecycleScope&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;自动取消&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 40px;&quot;&gt;&lt;td data-cell-id=&quot;sKsZ-1773547450111&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;响应信息获取&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;DI5b-1773547450114&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;需通过 &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;Response&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;中间对象&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;ipYM-1773547450117&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;直接返回 &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;Response&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;，信息完整&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;h3 id=&quot;W3UN-1773547450121&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space: pre-wrap; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&lt;/span&gt;&lt;/h3&gt;&lt;/article&gt;&lt;p&gt;&lt;span style=&quot;font-size: medium; white-space: pre-wrap;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;article data-content=&quot;[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;hhT8-1773547231535&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;PUDd-1773547231492&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;三、补充说明（容易混淆的点）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;cPi7-1773547231495&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;otis-1773547231528&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;9X0k-1773547231494&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;为什么&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;suspend&amp;nbsp;fun&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;不能返回&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;Call&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;？&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:1}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;gPmL-1773547231497&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;rwK4-1773547231496&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;Retrofit&amp;nbsp;规定：如果函数标记为&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;suspend&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;，返回类型只能是「响应体」（如&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;CodesendRs&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;）或&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;Response&amp;lt;CodesendRs&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;，返回&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;Call&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;会编译报错。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;8gU8-1773547231499&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;aDW5-1773547231498&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;如果你想简化代码，也可以直接返回实体类（无需&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;Response&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;）：&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;XFS1-1773547231509&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;language&amp;quot;:&amp;quot;kotlin&amp;quot;,&amp;quot;theme&amp;quot;:&amp;quot;default&amp;quot;,&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;aU9u-1773547231501&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;YEee-1773547231500&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;//&amp;nbsp;简化版：直接返回响应体（失败时抛出异常）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;JJFz-1773547231504&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;B5zC-1773547231502&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;@POST(\&amp;quot;Sendcode\&amp;quot;)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ssmZ-1773547231506&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;MaAl-1773547231505&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;suspend&amp;nbsp;fun&amp;nbsp;Sendcode(@Query(\&amp;quot;email\&amp;quot;)&amp;nbsp;email:&amp;nbsp;String):&amp;nbsp;CodesendRs&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{&amp;quot;tokensPerLine&amp;quot;:[[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;简化版：直接返回响应体（失败时抛出异常）&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;annotation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;@POST&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;builtin&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;Sendcode\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;suspend&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fun&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Sendcode&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;annotation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;@Query&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;builtin&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;email\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;email&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;String&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;CodesendRs&amp;quot;}]]}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Idm7-1773547231511&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;2lFn-1773547231510&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;这种写法的缺点是：无法获取状态码、响应头，所有错误（包括&amp;nbsp;4xx/5xx）都会抛出异常。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;bazd-1773547231513&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;otis-1773547231528&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;u2hQ-1773547231512&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;Call&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;的取消&amp;nbsp;vs&amp;nbsp;协程的取消&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:2}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;I5tC-1773547231515&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;zfct-1773547231529&amp;quot;,&amp;quot;listLevel&amp;quot;:2,&amp;quot;listType&amp;quot;:&amp;quot;unordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;5Zrs-1773547231514&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;使用&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;Call&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;时：需要在&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;lifecycleScope&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;销毁时手动调用&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;call.cancel()&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;，否则请求可能泄露；&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:1}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;7sBl-1773547231517&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;zfct-1773547231529&amp;quot;,&amp;quot;listLevel&amp;quot;:2,&amp;quot;listType&amp;quot;:&amp;quot;unordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;v96V-1773547231516&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;使用&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;suspend&amp;nbsp;+&amp;nbsp;Response&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;时：&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;lifecycleScope&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;销毁会自动取消协程，Retrofit&amp;nbsp;会中断请求，无需手动处理。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:2}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;AF8X-1773547231536&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;6W0C-1773547231518&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;总结&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;qXMQ-1773547231521&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;IROt-1773547231530&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;dtn8-1773547231520&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;Call&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;是&amp;nbsp;Retrofit&amp;nbsp;传统回调模式的产物，不适合在&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;lifecycleScope&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;协程中使用，代码冗余且需要手动管理生命周期；&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:1}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;INIK-1773547231523&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;IROt-1773547231530&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Q0Ov-1773547231522&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;Response&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;（配合&amp;nbsp;suspend）&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;是协程时代的推荐写法，适配&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;lifecycleScope&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;生命周期感知，代码线性易读，错误处理统一；&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:2}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Wndh-1773547231525&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;IROt-1773547231530&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;8UNA-1773547231524&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;实际开发中，优先使用&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;suspend&amp;nbsp;fun&amp;nbsp;+&amp;nbsp;Response&amp;lt;实体类&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;，既保留完整的响应信息，又能享受协程的简洁性。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}]&quot; style=&quot;font-size: medium; text-wrap-mode: wrap;&quot;&gt;&lt;h3 id=&quot;rbuo-1773547483401&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;三、补充说明（容易混淆的点）&lt;/span&gt;&lt;/h3&gt;&lt;div&gt;&lt;ol yne-block-type=&quot;list&quot; style=&quot;margin-left: 14px;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;为什么 suspend fun 不能返回 Call？&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;Retrofit 规定：如果函数标记为 suspend，返回类型只能是「响应体」（如 CodesendRs）或 Response&lt;codesendrs&gt;&lt;/codesendrs&gt;，返回 Call 会编译报错。&lt;/div&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;如果你想简化代码，也可以直接返回实体类（无需 Response）：&lt;/div&gt;&lt;div yne-bulb-block=&quot;code&quot; data-theme=&quot;default&quot; data-language=&quot;kotlin&quot; style=&quot;white-space-collapse: preserve;&quot;&gt;// 简化版：直接返回响应体（失败时抛出异常）
@POST(&amp;quot;Sendcode&amp;quot;)
suspend fun Sendcode(@Query(&amp;quot;email&amp;quot;) email: String): CodesendRs&lt;/div&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;这种写法的缺点是：无法获取状态码、响应头，所有错误（包括 4xx/5xx）都会抛出异常。&lt;/div&gt;&lt;div&gt;&lt;ol start=&quot;2&quot; yne-block-type=&quot;list&quot; style=&quot;margin-left: 14px;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;Call 的取消 vs 协程的取消&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;ul yne-block-type=&quot;list&quot; style=&quot;margin-left: 14px;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;ul yne-block-type=&quot;list&quot; style=&quot;list-style-type: square;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;使用 Call 时：需要在 lifecycleScope 销毁时手动调用 call.cancel()，否则请求可能泄露；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;使用 suspend + Response 时：lifecycleScope 销毁会自动取消协程，Retrofit 会中断请求，无需手动处理。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;h3 id=&quot;Kh1h-1773547483425&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;总结&lt;/span&gt;&lt;/h3&gt;&lt;div&gt;&lt;ol yne-block-type=&quot;list&quot; style=&quot;margin-left: 14px;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Call&lt;/span&gt; 是 Retrofit 传统回调模式的产物，不适合在 lifecycleScope 协程中使用，代码冗余且需要手动管理生命周期；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Response&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;（配合 suspend）&lt;/span&gt; 是协程时代的推荐写法，适配 lifecycleScope 生命周期感知，代码线性易读，错误处理统一；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;实际开发中，优先使用 suspend fun + Response&amp;lt;实体类&amp;gt;，既保留完整的响应信息，又能享受协程的简洁性。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/article&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sun, 15 Mar 2026 12:02:41 +0800</pubDate></item><item><title>kotlin获取设备的公网IP</title><link>https://www.xuzebo.net.cn/?id=34</link><description>&lt;article data-content=&quot;[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;MGfY-1771937950622&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;3aVb-1771937950621&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;Android&amp;nbsp;里没有直接“读系统公网IP”的&amp;nbsp;API&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;，只能&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;通过请求外网接口&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;拿到当前出口公网&amp;nbsp;IP。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;RMHA-1771937950624&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4a0V-1771937950623&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;下面&amp;nbsp;Kotlin&amp;nbsp;可用的最简方案。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;OWwL-1771937950749&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h2&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;3x6B-1771937950626&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;一、最稳方案：请求公开&amp;nbsp;IP&amp;nbsp;接口&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;KWar-1771937950750&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;0p03-1771937950628&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;权限（AndroidManifest.xml）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;gtB4-1771937950634&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;language&amp;quot;:&amp;quot;xml&amp;quot;,&amp;quot;theme&amp;quot;:&amp;quot;default&amp;quot;,&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;0eOX-1771937950631&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;NJQc-1771937950630&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;lt;uses-permission&amp;nbsp;android:name=\&amp;quot;android.permission.INTERNET\&amp;quot;&amp;nbsp;/&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{&amp;quot;tokensPerLine&amp;quot;:[[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;uses-permission&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;namespace&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;name&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android.permission.INTERNET&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;/&amp;gt;&amp;quot;}]]}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4n19-1771937950751&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Pe8J-1771937950635&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;Kotlin&amp;nbsp;代码（协程版）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ek6j-1771937950670&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;language&amp;quot;:&amp;quot;kotlin&amp;quot;,&amp;quot;theme&amp;quot;:&amp;quot;tomorrow&amp;quot;,&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1QGt-1771937950638&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;GNvw-1771937950637&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;kotlinx.coroutines.Dispatchers&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;VEJJ-1771937950640&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;UCYk-1771937950639&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;kotlinx.coroutines.withContext&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;mPdT-1771937950642&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;I3Ag-1771937950641&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;java.net.URL&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Jg05-1771937950644&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;fY3A-1771937950643&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;XKTX-1771937950646&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;T5Dl-1771937950645&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;/**&amp;nbsp;获取公网IP&amp;nbsp;*/&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;WnGl-1771937950648&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;G9uQ-1771937950647&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;suspend&amp;nbsp;fun&amp;nbsp;getPublicIp():&amp;nbsp;String&amp;nbsp;=&amp;nbsp;withContext(Dispatchers.IO)&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;KYtO-1771937950650&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;zCW6-1771937950649&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;dwc4-1771937950652&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;C26k-1771937950651&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;常用接口，任选一个&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Za8h-1771937950654&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;XwWk-1771937950653&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;ip&amp;nbsp;=&amp;nbsp;URL(\&amp;quot;https://api.ipify.org\&amp;quot;).readText()&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;gnkf-1771937950657&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;jaM1-1771937950656&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;val&amp;nbsp;ip&amp;nbsp;=&amp;nbsp;URL(\&amp;quot;https://icanhazip.com\&amp;quot;).readText()&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;H9Wh-1771937950659&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;0i4S-1771937950658&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ip&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;JBjU-1771937950661&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;PQD0-1771937950660&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(e:&amp;nbsp;Exception)&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;XJmk-1771937950663&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;W8tT-1771937950662&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.toString()&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;5hHS-1771937950665&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;P8Un-1771937950664&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;eztM-1771937950667&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;D6hw-1771937950666&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{&amp;quot;tokensPerLine&amp;quot;:[[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;kotlinx&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;coroutines&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Dispatchers&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;kotlinx&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;coroutines&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;withContext&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;java&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;net&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;URL&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;/**&amp;nbsp;获取公网IP&amp;nbsp;*/&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;suspend&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fun&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;getPublicIp&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;String&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;withContext&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Dispatchers&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;IO&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;try&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;常用接口，任选一个&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;ip&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;URL&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;https://api.ipify.org\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;readText&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;val&amp;nbsp;ip&amp;nbsp;=&amp;nbsp;URL(\&amp;quot;https://icanhazip.com\&amp;quot;).readText()&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ip&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;catch&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;e&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;Exception&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;toString&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}]]}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Eqhx-1771937950672&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Y4yR-1771937950671&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;调用示例：&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;5nOC-1771937950683&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;language&amp;quot;:&amp;quot;kotlin&amp;quot;,&amp;quot;theme&amp;quot;:&amp;quot;tomorrow&amp;quot;,&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;2kuA-1771937950674&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;5VjJ-1771937950673&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;lifecycleScope.launch&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;f2oJ-1771937950676&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;vJwM-1771937950675&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;ip&amp;nbsp;=&amp;nbsp;getPublicIp()&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;8F3J-1771937950678&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ERyf-1771937950677&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Log.d(\&amp;quot;PublicIP\&amp;quot;,&amp;nbsp;ip)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;OwZX-1771937950680&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;WPAO-1771937950679&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}}]&quot;&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space: pre-wrap; line-height: 1.75;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Android 里没有直接“读系统公网IP”的 API&lt;/span&gt;，只能&lt;span style=&quot;font-weight: bold;&quot;&gt;通过请求外网接口&lt;/span&gt;拿到当前出口公网 IP。&lt;/div&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space: pre-wrap; line-height: 1.75;&quot;&gt;下面 Kotlin 可用的最简方案。&lt;/div&gt;&lt;h2 id=&quot;Mq7J-1771942348350&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;2&quot; style=&quot;white-space: pre-wrap; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;一、最稳方案：请求公开 IP 接口&lt;/span&gt;&lt;/h2&gt;&lt;h3 id=&quot;DTWa-1771942348352&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space: pre-wrap; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;权限（AndroidManifest.xml）&lt;/span&gt;&lt;/h3&gt;&lt;div yne-bulb-block=&quot;code&quot; data-theme=&quot;default&quot; style=&quot;white-space:pre-wrap;&quot; data-language=&quot;xml&quot;&gt;&lt;pre class=&quot;prism-highlight prism-language-basic&quot;&gt;&amp;lt;uses-permission&amp;nbsp;android:name=&amp;quot;android.permission.INTERNET&amp;quot;&amp;nbsp;/&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&quot;qtsV-1771942348357&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space: pre-wrap; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;Kotlin 代码（协程版）&lt;/span&gt;&lt;/h3&gt;&lt;div yne-bulb-block=&quot;code&quot; data-theme=&quot;tomorrow&quot; style=&quot;white-space:pre-wrap;&quot; data-language=&quot;kotlin&quot;&gt;&lt;pre class=&quot;prism-highlight prism-language-groovy&quot;&gt;import&amp;nbsp;kotlinx.coroutines.Dispatchers
import&amp;nbsp;kotlinx.coroutines.withContext
import&amp;nbsp;java.net.URL

/**&amp;nbsp;获取公网IP&amp;nbsp;*/
suspend&amp;nbsp;fun&amp;nbsp;getPublicIp():&amp;nbsp;String&amp;nbsp;=&amp;nbsp;withContext(Dispatchers.IO)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;常用接口，任选一个
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;ip&amp;nbsp;=&amp;nbsp;URL(&amp;quot;https://api.ipify.org&amp;quot;).readText()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;val&amp;nbsp;ip&amp;nbsp;=&amp;nbsp;URL(&amp;quot;https://icanhazip.com&amp;quot;).readText()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ip
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(e:&amp;nbsp;Exception)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.toString()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;/div&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space: pre-wrap; line-height: 1.75;&quot;&gt;调用示例：&lt;/div&gt;&lt;div yne-bulb-block=&quot;code&quot; data-theme=&quot;tomorrow&quot; style=&quot;white-space:pre-wrap;&quot; data-language=&quot;kotlin&quot;&gt;&lt;pre class=&quot;prism-highlight prism-language-groovy&quot;&gt;lifecycleScope.launch&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;ip&amp;nbsp;=&amp;nbsp;getPublicIp()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Log.d(&amp;quot;PublicIP&amp;quot;,&amp;nbsp;ip)
}&lt;/pre&gt;&lt;/div&gt;&lt;/article&gt;&lt;article data-content=&quot;[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;iVYx-1771941612972&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;version&amp;quot;:1,&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;99OL-1771941612973&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;遇到的&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;java.net.ConnectException&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;是典型的网络连接失败问题，&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;api.ipify.org&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;虽然稳定，但会受网络环境（如代理、防火墙、DNS解析、HTTPS证书）影响导致连接失败。下面我给你&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;完整的解决方案&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;，包含「备用接口&amp;nbsp;+&amp;nbsp;超时重试&amp;nbsp;+&amp;nbsp;异常处理」，彻底解决这个问题。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ZRCP-1771941642389&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;juEV-1771941642215&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;第一步：先理解错误原因&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;PMfo-1771941642218&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;tHtG-1771941642217&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;Failed&amp;nbsp;to&amp;nbsp;connect&amp;nbsp;to&amp;nbsp;api.ipify.org/172.67.74.152:443&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;表示：&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;SIdk-1771941642220&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;Grgo-1771941642386&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;y8Rp-1771941642219&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;DNS解析到了&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;172.67.74.152&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;，但无法建立TCP连接（443端口是HTTPS）；&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:1}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;6Jnu-1771941642222&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;Grgo-1771941642386&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;k83q-1771941642221&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;常见原因：网络禁用HTTPS、代理配置错误、接口被墙、设备网络权限未生效。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:2}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;QD3T-1771941642390&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Kd8g-1771941642223&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;第二步：修复后的完整代码（Android&amp;nbsp;+&amp;nbsp;Kotlin）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;KzeQ-1771941642227&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;xqoF-1771941642225&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;这个版本包含&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;多接口重试&amp;nbsp;+&amp;nbsp;超时控制&amp;nbsp;+&amp;nbsp;详细异常提示&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;，稳定性大幅提升：&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;HonR-1771941642345&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;language&amp;quot;:&amp;quot;kotlin&amp;quot;,&amp;quot;theme&amp;quot;:&amp;quot;tomorrow&amp;quot;,&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;5s8n-1771941642229&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;fPPj-1771941642228&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;kotlinx.coroutines.Dispatchers&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;tccJ-1771941642231&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ZfwJ-1771941642230&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;kotlinx.coroutines.withContext&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;XJBp-1771941642233&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;5wfd-1771941642232&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;java.net.HttpURLConnection&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;SM0R-1771941642235&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;8Jxg-1771941642234&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;java.net.URL&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;KCfH-1771941642237&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;F548-1771941642236&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;java.util.concurrent.TimeUnit&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;V4hT-1771941642239&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;mul8-1771941642238&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;iVG4-1771941642241&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;QRlS-1771941642240&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;object&amp;nbsp;IpUtils&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;jqse-1771941642243&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;vASh-1771941642242&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;备用公网IP接口列表（优先选国内可访问的）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;UoOx-1771941642245&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;58yd-1771941642244&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;val&amp;nbsp;IP_API_LIST&amp;nbsp;=&amp;nbsp;listOf(&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;XM6r-1771941642247&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;q5zG-1771941642246&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\&amp;quot;https://api.ipify.org\&amp;quot;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;基础版&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;kB7b-1771941642249&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;kJJ8-1771941642248&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\&amp;quot;https://icanhazip.com\&amp;quot;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;备用1&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;QfHh-1771941642251&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;KfUy-1771941642250&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\&amp;quot;https://ifconfig.me/ip\&amp;quot;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;备用2&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Zeqs-1771941642253&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;rOQ6-1771941642252&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\&amp;quot;http://icanhazip.com\&amp;quot;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;降级为HTTP（避免HTTPS证书问题）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;5ABB-1771941642255&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;oU5K-1771941642254&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;\&amp;quot;http://ifconfig.me/ip\&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;降级为HTTP（最后兜底）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;mBuE-1771941642257&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;VCg5-1771941642256&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;FizH-1771941642259&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;w80Z-1771941642258&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;2g8I-1771941642261&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ClOu-1771941642260&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;8Nc7-1771941642263&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;LMot-1771941642262&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;获取公网IP（带重试+超时）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;DhSn-1771941642265&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;PEyY-1771941642264&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@return&amp;nbsp;公网IP字符串，失败返回具体原因&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;pQVh-1771941642267&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;dHMD-1771941642266&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;tkiG-1771941642269&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Oc11-1771941642268&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;suspend&amp;nbsp;fun&amp;nbsp;getPublicIpWithRetry():&amp;nbsp;String&amp;nbsp;=&amp;nbsp;withContext(Dispatchers.IO)&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;MV4l-1771941642271&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;AzGo-1771941642270&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;lastException:&amp;nbsp;Exception?&amp;nbsp;=&amp;nbsp;null&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;u1Eb-1771941642273&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;R94G-1771941642272&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;wf4K-1771941642275&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;lwa0-1771941642274&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;遍历接口列表，逐个尝试&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;nbbD-1771941642277&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;oi0V-1771941642276&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(apiUrl&amp;nbsp;in&amp;nbsp;IP_API_LIST)&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;abEz-1771941642279&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;8PaC-1771941642278&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Cdhe-1771941642281&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;avQB-1771941642280&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;url&amp;nbsp;=&amp;nbsp;URL(apiUrl)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;pFg2-1771941642283&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;vdZM-1771941642282&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;手动创建连接，添加超时控制（关键）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;5z0V-1771941642285&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;siYa-1771941642284&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;connection&amp;nbsp;=&amp;nbsp;url.openConnection()&amp;nbsp;as&amp;nbsp;HttpURLConnection&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;yv7x-1771941642288&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;9PKs-1771941642287&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;connection.apply&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;yTYy-1771941642290&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Yqux-1771941642289&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;connectTimeout&amp;nbsp;=&amp;nbsp;5000&amp;nbsp;&amp;nbsp;//&amp;nbsp;连接超时5秒&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;rzcM-1771941642292&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;klA3-1771941642291&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;readTimeout&amp;nbsp;=&amp;nbsp;5000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;读取超时5秒&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1Ujl-1771941642294&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;JtOK-1771941642293&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;requestMethod&amp;nbsp;=&amp;nbsp;\&amp;quot;GET\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;0FIC-1771941642296&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Jnfe-1771941642295&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;instanceFollowRedirects&amp;nbsp;=&amp;nbsp;true&amp;nbsp;&amp;nbsp;//&amp;nbsp;允许重定向&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;teBU-1771941642298&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;qMD2-1771941642297&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;9pCv-1771941642300&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;oJ3I-1771941642299&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;aozY-1771941642302&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;q0fZ-1771941642301&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;检查响应码&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;bdu9-1771941642304&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ppLJ-1771941642303&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(connection.responseCode&amp;nbsp;==&amp;nbsp;200)&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;stU4-1771941642306&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;8pch-1771941642305&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;ip&amp;nbsp;=&amp;nbsp;connection.inputStream.bufferedReader().readText().trim()&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;SHcu-1771941642308&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;MgJA-1771941642307&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;connection.disconnect()&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1aA3-1771941642310&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ud9v-1771941642309&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;过滤空值/无效IP&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;cJMg-1771941642312&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;fgVu-1771941642311&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(ip.isNotBlank()&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;ip.contains(\&amp;quot;.\&amp;quot;))&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;y9DC-1771941642314&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4TnQ-1771941642313&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return@withContext&amp;nbsp;ip&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;S9M4-1771941642316&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;tdh0-1771941642315&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;TCm2-1771941642318&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;qqds-1771941642317&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;jfix-1771941642320&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;cCKA-1771941642319&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(e:&amp;nbsp;Exception)&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;RjMZ-1771941642322&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;IL7c-1771941642321&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastException&amp;nbsp;=&amp;nbsp;e&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1cRB-1771941642324&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;CYa1-1771941642323&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;打印当前接口失败原因，继续试下一个&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Xz4S-1771941642326&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4zTm-1771941642325&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;println(\&amp;quot;接口&amp;nbsp;$apiUrl&amp;nbsp;失败:&amp;nbsp;${e.message}\&amp;quot;)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;cGLo-1771941642328&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;gdaI-1771941642327&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;continue&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;2AfN-1771941642330&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;tCJt-1771941642329&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1WMV-1771941642332&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;bQ7v-1771941642331&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4ObS-1771941642334&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;s1pu-1771941642333&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Tq7h-1771941642336&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;iL6l-1771941642335&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;所有接口都失败，返回最后一次异常信息&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;BbZq-1771941642338&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;cwLk-1771941642337&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return@withContext&amp;nbsp;\&amp;quot;获取失败:&amp;nbsp;${lastException?.message&amp;nbsp;?:&amp;nbsp;\&amp;quot;未知错误\&amp;quot;}\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1rpP-1771941642340&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;hcho-1771941642339&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ZKqK-1771941642342&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;b9q4-1771941642341&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;UYjQ-1771941642344&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;MIGo-1771941642343&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{&amp;quot;tokensPerLine&amp;quot;:[[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;kotlinx&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;coroutines&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Dispatchers&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;kotlinx&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;coroutines&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;withContext&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;java&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;net&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;HttpURLConnection&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;java&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;net&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;URL&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;java&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;util&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;concurrent&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;TimeUnit&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;object&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;IpUtils&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;备用公网IP接口列表（优先选国内可访问的）&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;private&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;IP_API_LIST&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;listOf&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;https://api.ipify.org\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;基础版&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;https://icanhazip.com\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;备用1&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;https://ifconfig.me/ip\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;备用2&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;http://icanhazip.com\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;降级为HTTP（避免HTTPS证书问题）&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;http://ifconfig.me/ip\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;降级为HTTP（最后兜底）&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;/**&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;获取公网IP（带重试+超时）&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@return&amp;nbsp;公网IP字符串，失败返回具体原因&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;suspend&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fun&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;getPublicIpWithRetry&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;String&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;withContext&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Dispatchers&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;IO&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;var&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;lastException&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;Exception&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;?&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;null&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;遍历接口列表，逐个尝试&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;for&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;apiUrl&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;in&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;IP_API_LIST&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;try&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;url&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;URL&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;apiUrl&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;手动创建连接，添加超时控制（关键）&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;connection&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;url&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;openConnection&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;as&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;HttpURLConnection&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;connection&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;apply&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;connectTimeout&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;5000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;连接超时5秒&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;readTimeout&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;5000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;读取超时5秒&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;requestMethod&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;GET\&amp;quot;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;instanceFollowRedirects&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;boolean&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;true&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;允许重定向&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;检查响应码&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;if&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;connection&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;responseCode&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;==&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;200&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;ip&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;connection&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;inputStream&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;bufferedReader&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;readText&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;trim&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;connection&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;disconnect&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;过滤空值/无效IP&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;if&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;ip&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;isNotBlank&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;amp;&amp;amp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;ip&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;contains&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;.\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;return&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;label&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;@withContext&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;symbol&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;ip&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;catch&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;e&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;Exception&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastException&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;e&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;打印当前接口失败原因，继续试下一个&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;println&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;接口&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;interpolation-punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;$&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;punctuation&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;expression&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;apiUrl&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;失败:&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;interpolation-punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;${&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;punctuation&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;expression&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;e&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;expression&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;message&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;interpolation-punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;punctuation&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;continue&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;所有接口都失败，返回最后一次异常信息&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;return&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;label&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;@withContext&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;symbol&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;获取失败:&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;interpolation-punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;${&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;punctuation&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;expression&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;lastException&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;?&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;expression&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;message&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;?:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;expression&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;未知错误\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;interpolation-punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;punctuation&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[]]}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;J01n-1771941642391&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;grdO-1771941642346&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;第三步：调用方式（和之前一致）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;iw0C-1771941642362&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;language&amp;quot;:&amp;quot;kotlin&amp;quot;,&amp;quot;theme&amp;quot;:&amp;quot;tomorrow&amp;quot;,&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;yQKJ-1771941642349&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;5oqy-1771941642348&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;//&amp;nbsp;在Activity/Fragment中调用&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;kH2w-1771941642351&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;mCEL-1771941642350&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;lifecycleScope.launch&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;9ldm-1771941642353&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;oHTf-1771941642352&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;ip&amp;nbsp;=&amp;nbsp;IpUtils.getPublicIpWithRetry()&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;e4ja-1771941642355&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Szel-1771941642354&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;更新UI（已回到主线程）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;bd69-1771941642357&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;PD1Q-1771941642356&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tvIp.text&amp;nbsp;=&amp;nbsp;\&amp;quot;公网IP：$ip\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;2cGg-1771941642359&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;7QkT-1771941642358&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;K2JG-1771941642361&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;bNqr-1771941642360&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{&amp;quot;tokensPerLine&amp;quot;:[[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;在Activity/Fragment中调用&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;lifecycleScope&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;launch&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;ip&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;IpUtils&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;getPublicIpWithRetry&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;更新UI（已回到主线程）&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tvIp&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;text&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;公网IP：&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;interpolation-punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;$&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;punctuation&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;expression&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;ip&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[]]}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;bIhz-1771941642392&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;7mIC-1771941642363&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;第四步：额外排查步骤（如果仍失败）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ausG-1771941642366&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;bfP0-1771941642365&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;如果修复后还是连接失败，按以下顺序排查：&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Uiw7-1771941642369&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;fGQG-1771941642387&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;25NY-1771941642368&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;检查网络权限&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;：确认&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;AndroidManifest.xml&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;中&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;lt;uses-permission&amp;nbsp;android:name=\&amp;quot;android.permission.INTERNET\&amp;quot;&amp;nbsp;/&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;已添加，且没有&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;lt;uses-permission&amp;nbsp;android:name=\&amp;quot;android.permission.ACCESS_NETWORK_STATE\&amp;quot;&amp;nbsp;/&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;缺失（可选）；&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:1}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;fVnj-1771941642371&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;fGQG-1771941642387&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;BDqK-1771941642370&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;关闭代理/VPN&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;：如果设备开启了代理、VPN，先关闭再测试（很多时候是代理导致HTTPS连接失败）；&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:2}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;nOYx-1771941642372&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;fGQG-1771941642387&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;AbwQ-1771941642197&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;测试HTTP接口&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;：代码中已加入HTTP接口兜底，优先尝试&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]},{&amp;quot;type&amp;quot;:&amp;quot;inline&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;thZq-1771941642199&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;link&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;href&amp;quot;:&amp;quot;http://icanhazip.com&amp;quot;},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;B56i-1771941642198&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;http://icanhazip.com&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;IDiG-1771941642201&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;（避免HTTPS证书问题）；&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:3}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;WqPu-1771941642374&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;fGQG-1771941642387&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;38Qx-1771941642373&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;检查网络环境&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;：切换Wi-Fi/手机流量测试（部分局域网会屏蔽外网接口）；&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:4}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;BjHU-1771941642375&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;fGQG-1771941642387&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;osAA-1771941642204&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;手动验证接口&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;：在浏览器/Postman中访问&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]},{&amp;quot;type&amp;quot;:&amp;quot;inline&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;X8Dh-1771941642206&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;link&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;href&amp;quot;:&amp;quot;https://api.ipify.org&amp;quot;},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;u3tR-1771941642205&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;https://api.ipify.org&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;SBjm-1771941642207&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;，确认能返回IP（如果浏览器也打不开，说明该接口在当前网络不可用）。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:5}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;6J4G-1771941642393&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;labo-1771941642376&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;总结&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;tRuz-1771941642379&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;vDg3-1771941642388&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;RNg6-1771941642378&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;核心问题&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;：&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;api.ipify.org&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;连接失败是网络环境导致，而非代码问题；&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:1}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;wQLT-1771941642381&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;vDg3-1771941642388&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;h8pZ-1771941642380&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;解决方案&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;：通过「多接口重试&amp;nbsp;+&amp;nbsp;超时控制&amp;nbsp;+&amp;nbsp;HTTP降级」提升稳定性；&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:2}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;gPm7-1771941642383&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;vDg3-1771941642388&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;DtEj-1771941642382&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;排查重点&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;：优先检查网络权限、代理/防火墙、接口可访问性。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}]&quot; style=&quot;font-size: medium; text-wrap-mode: wrap;&quot;&gt;&lt;p style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;遇到的 java.net.ConnectException 是典型的网络连接失败问题，api.ipify.org 虽然稳定，但会受网络环境（如代理、防火墙、DNS解析、HTTPS证书）影响导致连接失败。下面&lt;span style=&quot;font-weight: bold;&quot;&gt;完整的解决方案&lt;/span&gt;，包含「备用接口 + 超时重试 + 异常处理」，彻底解决这个问题。&lt;/p&gt;&lt;p style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;上面使用时返回&lt;a class=&quot;link-bJL8ai md-box-solid-color link-giAfFV&quot; href=&quot;https://java.net/&quot; target=&quot;_blank&quot; style=&quot;-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); box-sizing: border-box; margin: 0px; outline: none; padding: 0px; border: 0px solid; text-decoration-line: none; overflow-anchor: auto; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; white-space: pre-wrap; --color-link-text: --s-color-text-secondary !important; --color-link-text-hover: --s-color-text-secondary !important; --color-link-text-active: --s-color-text-secondary !important;&quot;&gt;java.net&lt;/a&gt;&lt;span style=&quot;color: rgba(0, 0, 0, 0.85); font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; white-space: pre-wrap; background-color: rgba(0, 0, 0, 0.04);&quot;&gt;.ConnectException: Failed to connect to &lt;/span&gt;&lt;a class=&quot;link-bJL8ai md-box-solid-color link-giAfFV&quot; href=&quot;https://api.ipify.org/172.67.74.152:443&quot; target=&quot;_blank&quot; style=&quot;-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); box-sizing: border-box; margin: 0px; outline: none; padding: 0px; border: 0px solid; text-decoration-line: none; overflow-anchor: auto; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; white-space: pre-wrap; --color-link-text: --s-color-text-secondary !important; --color-link-text-hover: --s-color-text-secondary !important; --color-link-text-active: --s-color-text-secondary !important;&quot;&gt;api.ipify.org/172.67.74.152:443&lt;/a&gt;错误，更改方案如下&lt;/p&gt;&lt;h3 id=&quot;T4L4-1771942422403&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;第一步：先理解错误原因&lt;/span&gt;&lt;/h3&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;Failed to connect to api.ipify.org/172.67.74.152:443 表示：&lt;/div&gt;&lt;div&gt;&lt;ol yne-block-type=&quot;list&quot; style=&quot;margin-left: 14px;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;DNS解析到了 172.67.74.152，但无法建立TCP连接（443端口是HTTPS）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;常见原因：网络禁用HTTPS、代理配置错误、接口被墙、设备网络权限未生效。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;h3 id=&quot;yYUN-1771942422411&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;第二步：修复后的完整代码（Android + Kotlin）&lt;/span&gt;&lt;/h3&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;这个版本包含&lt;span style=&quot;font-weight: bold;&quot;&gt;多接口重试 + 超时控制 + 详细异常提示&lt;/span&gt;，稳定性大幅提升：&lt;/div&gt;&lt;div yne-bulb-block=&quot;code&quot; data-theme=&quot;tomorrow&quot; data-language=&quot;kotlin&quot; style=&quot;white-space-collapse: preserve;&quot;&gt;&lt;pre class=&quot;prism-highlight prism-language-groovy&quot;&gt;import&amp;nbsp;kotlinx.coroutines.Dispatchers
import&amp;nbsp;kotlinx.coroutines.withContext
import&amp;nbsp;java.net.HttpURLConnection
import&amp;nbsp;java.net.URL
import&amp;nbsp;java.util.concurrent.TimeUnit

object&amp;nbsp;IpUtils&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;备用公网IP接口列表（优先选国内可访问的）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;val&amp;nbsp;IP_API_LIST&amp;nbsp;=&amp;nbsp;listOf(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;https://api.ipify.org&amp;quot;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;基础版
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;https://icanhazip.com&amp;quot;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;备用1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;https://ifconfig.me/ip&amp;quot;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;备用2
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;http://icanhazip.com&amp;quot;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;降级为HTTP（避免HTTPS证书问题）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;http://ifconfig.me/ip&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;降级为HTTP（最后兜底）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;获取公网IP（带重试+超时）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@return&amp;nbsp;公网IP字符串，失败返回具体原因
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;suspend&amp;nbsp;fun&amp;nbsp;getPublicIpWithRetry():&amp;nbsp;String&amp;nbsp;=&amp;nbsp;withContext(Dispatchers.IO)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;lastException:&amp;nbsp;Exception?&amp;nbsp;=&amp;nbsp;null

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;遍历接口列表，逐个尝试
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(apiUrl&amp;nbsp;in&amp;nbsp;IP_API_LIST)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;url&amp;nbsp;=&amp;nbsp;URL(apiUrl)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;手动创建连接，添加超时控制（关键）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;connection&amp;nbsp;=&amp;nbsp;url.openConnection()&amp;nbsp;as&amp;nbsp;HttpURLConnection
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;connection.apply&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;connectTimeout&amp;nbsp;=&amp;nbsp;5000&amp;nbsp;&amp;nbsp;//&amp;nbsp;连接超时5秒
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;readTimeout&amp;nbsp;=&amp;nbsp;5000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;读取超时5秒
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;requestMethod&amp;nbsp;=&amp;nbsp;&amp;quot;GET&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;instanceFollowRedirects&amp;nbsp;=&amp;nbsp;true&amp;nbsp;&amp;nbsp;//&amp;nbsp;允许重定向
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;检查响应码
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(connection.responseCode&amp;nbsp;==&amp;nbsp;200)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;ip&amp;nbsp;=&amp;nbsp;connection.inputStream.bufferedReader().readText().trim()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;connection.disconnect()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;过滤空值/无效IP
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(ip.isNotBlank()&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;ip.contains(&amp;quot;.&amp;quot;))&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return@withContext&amp;nbsp;ip
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(e:&amp;nbsp;Exception)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastException&amp;nbsp;=&amp;nbsp;e
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;打印当前接口失败原因，继续试下一个
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;println(&amp;quot;接口&amp;nbsp;$apiUrl&amp;nbsp;失败:&amp;nbsp;${e.message}&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;continue
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;所有接口都失败，返回最后一次异常信息
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return@withContext&amp;nbsp;&amp;quot;获取失败:&amp;nbsp;${lastException?.message&amp;nbsp;?:&amp;nbsp;&amp;quot;未知错误&amp;quot;}&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&quot;3WCH-1771942422534&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;第三步：调用方式&lt;/span&gt;&lt;/h3&gt;&lt;div yne-bulb-block=&quot;code&quot; data-theme=&quot;tomorrow&quot; data-language=&quot;kotlin&quot; style=&quot;white-space-collapse: preserve;&quot;&gt;// 在Activity/Fragment中调用&lt;pre class=&quot;prism-highlight prism-language-groovy&quot;&gt;lifecycleScope.launch&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;ip&amp;nbsp;=&amp;nbsp;IpUtils.getPublicIpWithRetry()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;更新UI（已回到主线程）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tvIp.text&amp;nbsp;=&amp;nbsp;&amp;quot;公网IP：$ip&amp;quot;
}&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&quot;o5dx-1771942422551&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;第四步：额外排查步骤（如果仍失败）&lt;/span&gt;&lt;/h3&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;如果修复后还是连接失败，按以下顺序排查：&lt;/div&gt;&lt;div&gt;&lt;ol yne-block-type=&quot;list&quot; style=&quot;margin-left: 14px;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;检查网络权限&lt;/span&gt;：确认 AndroidManifest.xml 中&lt;/p&gt;&lt;uses-permission android:name=&quot;android.permission.INTERNET&quot;&gt;&lt;/uses-permission&gt;&lt;p&gt;已添加，且没有&lt;/p&gt;&lt;uses-permission android:name=&quot;android.permission.ACCESS_NETWORK_STATE&quot;&gt;&lt;/uses-permission&gt;&lt;p&gt;缺失（可选）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;关闭代理/VPN&lt;/span&gt;：如果设备开启了代理、VPN，先关闭再测试（很多时候是代理导致HTTPS连接失败）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;测试HTTP接口&lt;/span&gt;：代码中已加入HTTP接口兜底，优先尝试 &lt;a href=&quot;http://icanhazip.com&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #003884;&quot;&gt;http://icanhazip.com&lt;/span&gt;&lt;/a&gt;（避免HTTPS证书问题）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;检查网络环境&lt;/span&gt;：切换Wi-Fi/手机流量测试（部分局域网会屏蔽外网接口）；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;手动验证接口&lt;/span&gt;：在浏览器/Postman中访问 &lt;a href=&quot;https://api.ipify.org&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #003884;&quot;&gt;https://api.ipify.org&lt;/span&gt;&lt;/a&gt;，确认能返回IP（如果浏览器也打不开，说明该接口在当前网络不可用）。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;h3 id=&quot;lLvo-1771942422571&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;总结&lt;/span&gt;&lt;/h3&gt;&lt;div&gt;&lt;ol yne-block-type=&quot;list&quot; style=&quot;margin-left: 14px;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;核心问题&lt;/span&gt;：api.ipify.org 连接失败是网络环境导致，而非代码问题；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;解决方案&lt;/span&gt;：通过「多接口重试 + 超时控制 + HTTP降级」提升稳定性；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;排查重点&lt;/span&gt;：优先检查网络权限、代理/防火墙、接口可访问性。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/article&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Tue, 24 Feb 2026 22:11:44 +0800</pubDate></item><item><title>kotlin 图标长按弹出快捷菜单及跳转</title><link>https://www.xuzebo.net.cn/?id=33</link><description>&lt;article data-content=&quot;[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;3060-1621846615933&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;p5PQ-1621846617594&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;安卓实现长按App图标弹出快捷菜单并跳转指定页面，核心用&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;App&amp;nbsp;Shortcuts&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;（应用快捷方式），分&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;静态快捷方式&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;（清单配置，无需代码）和&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;动态快捷方式&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;（代码动态添加），以下是可直接使用的完整实现方案：&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;KuSx-1769425945162&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;HQHr-1769425944870&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;一、静态快捷方式（推荐，简单高效，适用于固定跳转）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;E2s8-1769425944873&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;E9fP-1769425944872&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;通过&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;AndroidManifest.xml&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;配置，应用安装后即可生效，支持API&amp;nbsp;25+。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;CM2P-1769425945163&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h4&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;DxGl-1769425944874&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;步骤1：配置清单文件（AndroidManifest.xml）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;VERe-1769425944877&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;WaBX-1769425944876&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;在启动页&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;lt;activity&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;标签内添加&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;lt;meta-data&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;，关联快捷方式资源文件：&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;LIaL-1769425944908&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;language&amp;quot;:&amp;quot;xml&amp;quot;,&amp;quot;theme&amp;quot;:&amp;quot;tomorrow&amp;quot;,&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;BIID-1769425944879&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;EcNj-1769425944878&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;lt;!--&amp;nbsp;启动页Activity（通常是MainActivity）&amp;nbsp;--&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;kSpl-1769425944881&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4L7r-1769425944880&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;lt;activity&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;aMDo-1769425944883&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;2yFV-1769425944882&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:name=\&amp;quot;.ui.MainActivity\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;T90U-1769425944885&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;dRsQ-1769425944884&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:exported=\&amp;quot;true\&amp;quot;&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;RAdP-1769425944887&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;b8Hx-1769425944886&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;intent-filter&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;CEV1-1769425944889&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;HNf8-1769425944888&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;action&amp;nbsp;android:name=\&amp;quot;android.intent.action.MAIN\&amp;quot;&amp;nbsp;/&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;VZe2-1769425944891&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;7zBK-1769425944890&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;category&amp;nbsp;android:name=\&amp;quot;android.intent.category.LAUNCHER\&amp;quot;&amp;nbsp;/&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;EtGQ-1769425944893&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;N6ab-1769425944892&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/intent-filter&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;sefg-1769425944895&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;sWc3-1769425944894&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;HUGa-1769425944897&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;v4t9-1769425944896&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!--&amp;nbsp;关联App&amp;nbsp;Shortcuts资源&amp;nbsp;--&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;KMzG-1769425944899&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;StKt-1769425944898&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;meta-data&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;wVCo-1769425944901&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Wc2M-1769425944900&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:name=\&amp;quot;android.app.shortcuts\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;9w3u-1769425944903&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;jPrr-1769425944902&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:resource=\&amp;quot;@xml/shortcuts\&amp;quot;&amp;nbsp;/&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;zR44-1769425944905&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;8F4S-1769425944904&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;lt;/activity&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{&amp;quot;tokensPerLine&amp;quot;:[[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;!--&amp;nbsp;启动页Activity（通常是MainActivity）&amp;nbsp;--&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;activity&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;namespace&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;name&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.ui.MainActivity&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;namespace&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;exported&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;true&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;intent-filter&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;action&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;namespace&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;name&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android.intent.action.MAIN&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;/&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;category&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;namespace&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;name&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android.intent.category.LAUNCHER&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;/&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;/&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;intent-filter&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;!--&amp;nbsp;关联App&amp;nbsp;Shortcuts资源&amp;nbsp;--&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;meta-data&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;namespace&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;name&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android.app.shortcuts&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;namespace&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;resource&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;@xml/shortcuts&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;/&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;/&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;activity&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;}]]}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;h5Fa-1769425945164&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h4&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;29dw-1769425944909&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;步骤2：创建快捷方式资源文件&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:18}]}]}]}]&quot;&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space: pre-wrap; line-height: 1.75;&quot;&gt;安卓实现长按App图标弹出快捷菜单并跳转指定页面，核心用&lt;span style=&quot;font-weight: bold;&quot;&gt;App Shortcuts&lt;/span&gt;（应用快捷方式），分&lt;span style=&quot;font-weight: bold;&quot;&gt;静态快捷方式&lt;/span&gt;（清单配置，无需代码）和&lt;span style=&quot;font-weight: bold;&quot;&gt;动态快捷方式&lt;/span&gt;（代码动态添加），以下是可直接使用的完整实现方案：&lt;/div&gt;&lt;h3 id=&quot;Kt4c-1769426528291&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space: pre-wrap; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;一、静态快捷方式（推荐，简单高效，适用于固定跳转）&lt;/span&gt;&lt;/h3&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space: pre-wrap; line-height: 1.75;&quot;&gt;通过AndroidManifest.xml配置，应用安装后即可生效，支持API 25+。&lt;/div&gt;&lt;h4 id=&quot;76MI-1769426528295&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;4&quot; style=&quot;white-space: pre-wrap; line-height: 1.75;&quot;&gt;步骤1：配置清单文件（AndroidManifest.xml）&lt;/h4&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space: pre-wrap; line-height: 1.75;&quot;&gt;在启动页&lt;activity&gt;&lt;/activity&gt;标签内添加&lt;meta-data&gt;&lt;/meta-data&gt;，关联快捷方式资源文件：&lt;/div&gt;&lt;div yne-bulb-block=&quot;code&quot; data-theme=&quot;tomorrow&quot; style=&quot;white-space:pre-wrap;&quot; data-language=&quot;xml&quot;&gt;&lt;pre class=&quot;prism-highlight prism-language-groovy&quot;&gt;&amp;lt;!--&amp;nbsp;启动页Activity（通常是MainActivity）&amp;nbsp;--&amp;gt;
&amp;lt;activity
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:name=&amp;quot;.ui.MainActivity&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:exported=&amp;quot;true&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;intent-filter&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;action&amp;nbsp;android:name=&amp;quot;android.intent.action.MAIN&amp;quot;&amp;nbsp;/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;category&amp;nbsp;android:name=&amp;quot;android.intent.category.LAUNCHER&amp;quot;&amp;nbsp;/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/intent-filter&amp;gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!--&amp;nbsp;关联App&amp;nbsp;Shortcuts资源&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;meta-data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:name=&amp;quot;android.app.shortcuts&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:resource=&amp;quot;@xml/shortcuts&amp;quot;&amp;nbsp;/&amp;gt;
&amp;lt;/activity&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&quot;RSWZ-1769426528328&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;4&quot; style=&quot;white-space: pre-wrap; line-height: 1.75;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;步骤2：创建快捷方式资源文件&lt;/span&gt;&lt;/h4&gt;&lt;/article&gt;&lt;article data-content=&quot;[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;6JIt-1769425944912&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;jisc-1769425944911&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;在&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;res/xml/&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;目录下新建&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;shortcuts.xml&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;（无xml目录则手动创建），配置跳转的页面和菜单信息：&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;AQRq-1769425944980&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;language&amp;quot;:&amp;quot;xml&amp;quot;,&amp;quot;theme&amp;quot;:&amp;quot;tomorrow&amp;quot;,&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;KMEJ-1769425944914&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;EGgx-1769425944913&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;lt;?xml&amp;nbsp;version=\&amp;quot;1.0\&amp;quot;&amp;nbsp;encoding=\&amp;quot;utf-8\&amp;quot;?&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Pt5p-1769425944916&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;NIqM-1769425944915&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;lt;shortcuts&amp;nbsp;xmlns:android=\&amp;quot;http://schemas.android.com/apk/res/android\&amp;quot;&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;5m48-1769425944918&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;bs1k-1769425944917&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!--&amp;nbsp;快捷方式1：跳转“我的行程”页面&amp;nbsp;--&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;IJwI-1769425944920&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ZrgS-1769425944919&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;shortcut&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;TNhu-1769425944922&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;VFzs-1769425944921&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:enabled=\&amp;quot;true\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;FZO4-1769425944925&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;VU8R-1769425944924&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:icon=\&amp;quot;@mipmap/ic_shortcut_travel\&amp;quot;&amp;nbsp;&amp;lt;!--&amp;nbsp;菜单图标（建议24x24dp）&amp;nbsp;--&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;7Nc7-1769425944927&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;WxhD-1769425944926&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:shortcutId=\&amp;quot;travel\&amp;quot;&amp;nbsp;&amp;lt;!--&amp;nbsp;唯一ID，不可重复&amp;nbsp;--&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;xoqB-1769425944929&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;YJ6o-1769425944928&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:shortcutLongLabel=\&amp;quot;@string/shortcut_long_travel\&amp;quot;&amp;nbsp;&amp;lt;!--&amp;nbsp;长按显示的长名称&amp;nbsp;--&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Lx7A-1769425944931&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;UBmf-1769425944930&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:shortcutShortLabel=\&amp;quot;@string/shortcut_short_travel\&amp;quot;&amp;gt;&amp;nbsp;&amp;lt;!--&amp;nbsp;短名称（优先显示）&amp;nbsp;--&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;lSEe-1769425944933&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;zVAa-1769425944932&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!--&amp;nbsp;跳转的意图：指定目标Activity&amp;nbsp;--&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;vyQZ-1769425944935&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;FYVP-1769425944934&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;intent&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;D5v0-1769425944937&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Aw6Q-1769425944936&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:action=\&amp;quot;android.intent.action.VIEW\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;TVwo-1769425944939&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;RU34-1769425944938&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:targetClass=\&amp;quot;com.xzb.bolvtravel2.ui.travel.TravelActivity\&amp;quot;&amp;nbsp;&amp;lt;!--&amp;nbsp;目标页面全类名&amp;nbsp;--&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;qd6M-1769425944941&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;QUMy-1769425944940&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:targetPackage=\&amp;quot;com.xzb.bolvtravel2\&amp;quot;&amp;nbsp;/&amp;gt;&amp;nbsp;&amp;lt;!--&amp;nbsp;App包名&amp;nbsp;--&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;tIxJ-1769425944943&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;lUeq-1769425944942&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!--&amp;nbsp;若需多个intent，可添加，按顺序执行&amp;nbsp;--&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;OoT0-1769425944945&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Wcsr-1769425944944&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;categories&amp;nbsp;android:name=\&amp;quot;android.shortcut.conversation\&amp;quot;&amp;nbsp;/&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4Sok-1769425944947&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ms1M-1769425944946&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/shortcut&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;CVaW-1769425944949&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;wuYs-1769425944948&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;kDJG-1769425944951&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;PryH-1769425944950&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!--&amp;nbsp;快捷方式2：跳转“个人中心”页面（可添加多个）&amp;nbsp;--&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Gqq8-1769425944953&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;F1I4-1769425944952&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;shortcut&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;2zvz-1769425944955&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;8BtG-1769425944954&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:enabled=\&amp;quot;true\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;l4r3-1769425944957&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Zayx-1769425944956&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:icon=\&amp;quot;@mipmap/ic_shortcut_mine\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;u7eR-1769425944959&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;GUGG-1769425944958&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:shortcutId=\&amp;quot;mine\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ZPlZ-1769425944961&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;BCS6-1769425944960&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:shortcutLongLabel=\&amp;quot;@string/shortcut_long_mine\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;bkjj-1769425944963&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;l9X6-1769425944962&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:shortcutShortLabel=\&amp;quot;@string/shortcut_short_mine\&amp;quot;&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;jATf-1769425944965&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;NFgj-1769425944964&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;intent&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;R04d-1769425944967&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;fTbH-1769425944966&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:action=\&amp;quot;android.intent.action.VIEW\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;xGAF-1769425944969&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;bAQ8-1769425944968&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:targetClass=\&amp;quot;com.xzb.bolvtravel2.ui.mine.MineActivity\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;DRiX-1769425944971&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;83US-1769425944970&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:targetPackage=\&amp;quot;com.xzb.bolvtravel2\&amp;quot;&amp;nbsp;/&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;9hMx-1769425944973&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;bZxq-1769425944972&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;categories&amp;nbsp;android:name=\&amp;quot;android.shortcut.conversation\&amp;quot;&amp;nbsp;/&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;XwxF-1769425944975&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;p2OS-1769425944974&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/shortcut&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;DJiS-1769425944977&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;5imv-1769425944976&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;lt;/shortcuts&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{&amp;quot;tokensPerLine&amp;quot;:[[{&amp;quot;type&amp;quot;:&amp;quot;prolog&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;?xml&amp;nbsp;version=\&amp;quot;1.0\&amp;quot;&amp;nbsp;encoding=\&amp;quot;utf-8\&amp;quot;?&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;shortcuts&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;namespace&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;xmlns:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;http://schemas.android.com/apk/res/android&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;!--&amp;nbsp;快捷方式1：跳转“我的行程”页面&amp;nbsp;--&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;shortcut&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;namespace&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;enabled&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;true&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;namespace&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;icon&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;@mipmap/ic_shortcut_travel&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;!--&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;菜单图标（建议24x24dp）&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;--&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:shortcutId=\&amp;quot;travel\&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;!--&amp;nbsp;唯一ID，不可重复&amp;nbsp;--&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:shortcutLongLabel=\&amp;quot;@string/shortcut_long_travel\&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;!--&amp;nbsp;长按显示的长名称&amp;nbsp;--&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:shortcutShortLabel=\&amp;quot;@string/shortcut_short_travel\&amp;quot;&amp;gt;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;!--&amp;nbsp;短名称（优先显示）&amp;nbsp;--&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;!--&amp;nbsp;跳转的意图：指定目标Activity&amp;nbsp;--&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;intent&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;namespace&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;action&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android.intent.action.VIEW&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;namespace&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;targetClass&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;com.xzb.bolvtravel2.ui.travel.TravelActivity&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;!--&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;目标页面全类名&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;--&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:targetPackage=\&amp;quot;com.xzb.bolvtravel2\&amp;quot;&amp;nbsp;/&amp;gt;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;!--&amp;nbsp;App包名&amp;nbsp;--&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;!--&amp;nbsp;若需多个intent，可添加，按顺序执行&amp;nbsp;--&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;categories&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;namespace&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;name&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android.shortcut.conversation&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;/&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;/&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;shortcut&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;!--&amp;nbsp;快捷方式2：跳转“个人中心”页面（可添加多个）&amp;nbsp;--&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;shortcut&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;namespace&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;enabled&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;true&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;namespace&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;icon&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;@mipmap/ic_shortcut_mine&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;namespace&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;shortcutId&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;mine&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;namespace&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;shortcutLongLabel&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;@string/shortcut_long_mine&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;namespace&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;shortcutShortLabel&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;@string/shortcut_short_mine&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;intent&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;namespace&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;action&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android.intent.action.VIEW&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;namespace&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;targetClass&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;com.xzb.bolvtravel2.ui.mine.MineActivity&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;namespace&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;targetPackage&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;com.xzb.bolvtravel2&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;/&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;categories&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;namespace&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;name&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android.shortcut.conversation&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;/&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;/&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;shortcut&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;/&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;shortcuts&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;}]]}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;xEjn-1769425945165&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h4&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ukAZ-1769425944981&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;步骤3：配置字符串和图标（res/values/strings.xml）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;NBb1-1769425944995&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;language&amp;quot;:&amp;quot;xml&amp;quot;,&amp;quot;theme&amp;quot;:&amp;quot;tomorrow&amp;quot;,&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ADWg-1769425944984&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;oBjg-1769425944983&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;lt;!--&amp;nbsp;快捷方式文字&amp;nbsp;--&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;vVLn-1769425944986&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Uzj2-1769425944985&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;lt;string&amp;nbsp;name=\&amp;quot;shortcut_short_travel\&amp;quot;&amp;gt;我的行程&amp;lt;/string&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4OJM-1769425944988&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;kMzU-1769425944987&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;lt;string&amp;nbsp;name=\&amp;quot;shortcut_long_travel\&amp;quot;&amp;gt;查看我的出行行程&amp;lt;/string&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;CGj6-1769425944990&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;xgJb-1769425944989&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;lt;string&amp;nbsp;name=\&amp;quot;shortcut_short_mine\&amp;quot;&amp;gt;个人中心&amp;lt;/string&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;QngU-1769425944992&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;9sWP-1769425944991&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;lt;string&amp;nbsp;name=\&amp;quot;shortcut_long_mine\&amp;quot;&amp;gt;进入我的个人中心&amp;lt;/string&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{&amp;quot;tokensPerLine&amp;quot;:[[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;!--&amp;nbsp;快捷方式文字&amp;nbsp;--&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;string&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;name&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;shortcut_short_travel&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;我的行程&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;/&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;string&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;string&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;name&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;shortcut_long_travel&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;查看我的出行行程&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;/&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;string&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;string&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;name&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;shortcut_short_mine&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;个人中心&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;/&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;string&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;string&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;name&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;shortcut_long_mine&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;进入我的个人中心&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;/&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;string&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;}]]}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;5JJf-1769425944998&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;t5HF-1769425944997&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;图标要求&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;：使用&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;mipmap&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;目录的矢量图/位图，建议24x24dp，避免过大导致变形。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}]&quot;&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space: pre-wrap; line-height: 1.75;&quot;&gt;在res/xml/目录下新建shortcuts.xml（无xml目录则手动创建），配置跳转的页面和菜单信息：&lt;/div&gt;&lt;div yne-bulb-block=&quot;code&quot; data-theme=&quot;tomorrow&quot; style=&quot;white-space:pre-wrap;&quot; data-language=&quot;xml&quot;&gt;&lt;pre class=&quot;prism-highlight prism-language-markup&quot;&gt;&amp;lt;?xml&amp;nbsp;version=&amp;quot;1.0&amp;quot;&amp;nbsp;encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;
&amp;lt;shortcuts&amp;nbsp;xmlns:android=&amp;quot;http://schemas.android.com/apk/res/android&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!--&amp;nbsp;快捷方式1：跳转“我的行程”页面&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;shortcut
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:enabled=&amp;quot;true&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:icon=&amp;quot;@mipmap/ic_shortcut_travel&amp;quot;&amp;nbsp;&amp;lt;!--&amp;nbsp;菜单图标（建议24x24dp）&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:shortcutId=&amp;quot;travel&amp;quot;&amp;nbsp;&amp;lt;!--&amp;nbsp;唯一ID，不可重复&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:shortcutLongLabel=&amp;quot;@string/shortcut_long_travel&amp;quot;&amp;nbsp;&amp;lt;!--&amp;nbsp;长按显示的长名称&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:shortcutShortLabel=&amp;quot;@string/shortcut_short_travel&amp;quot;&amp;gt;&amp;nbsp;&amp;lt;!--&amp;nbsp;短名称（优先显示）&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!--&amp;nbsp;跳转的意图：指定目标Activity&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;intent
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:action=&amp;quot;android.intent.action.VIEW&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:targetClass=&amp;quot;com.xzb.bolvtravel2.ui.travel.TravelActivity&amp;quot;&amp;nbsp;&amp;lt;!--&amp;nbsp;目标页面全类名&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:targetPackage=&amp;quot;com.xzb.bolvtravel2&amp;quot;&amp;nbsp;/&amp;gt;&amp;nbsp;&amp;lt;!--&amp;nbsp;App包名&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!--&amp;nbsp;若需多个intent，可添加，按顺序执行&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;categories&amp;nbsp;android:name=&amp;quot;android.shortcut.conversation&amp;quot;&amp;nbsp;/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/shortcut&amp;gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!--&amp;nbsp;快捷方式2：跳转“个人中心”页面（可添加多个）&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;shortcut
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:enabled=&amp;quot;true&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:icon=&amp;quot;@mipmap/ic_shortcut_mine&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:shortcutId=&amp;quot;mine&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:shortcutLongLabel=&amp;quot;@string/shortcut_long_mine&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:shortcutShortLabel=&amp;quot;@string/shortcut_short_mine&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;intent
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:action=&amp;quot;android.intent.action.VIEW&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:targetClass=&amp;quot;com.xzb.bolvtravel2.ui.mine.MineActivity&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:targetPackage=&amp;quot;com.xzb.bolvtravel2&amp;quot;&amp;nbsp;/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;categories&amp;nbsp;android:name=&amp;quot;android.shortcut.conversation&amp;quot;&amp;nbsp;/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/shortcut&amp;gt;
&amp;lt;/shortcuts&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&quot;smIF-1769426557102&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;4&quot; style=&quot;white-space: pre-wrap; line-height: 1.75;&quot;&gt;步骤3：配置字符串和图标（res/values/strings.xml）&lt;/h4&gt;&lt;div yne-bulb-block=&quot;code&quot; data-theme=&quot;tomorrow&quot; style=&quot;white-space:pre-wrap;&quot; data-language=&quot;xml&quot;&gt;&lt;pre class=&quot;prism-highlight prism-language-markup&quot;&gt;&amp;lt;!--&amp;nbsp;快捷方式文字&amp;nbsp;--&amp;gt;
&amp;lt;string&amp;nbsp;name=&amp;quot;shortcut_short_travel&amp;quot;&amp;gt;我的行程&amp;lt;/string&amp;gt;
&amp;lt;string&amp;nbsp;name=&amp;quot;shortcut_long_travel&amp;quot;&amp;gt;查看我的出行行程&amp;lt;/string&amp;gt;
&amp;lt;string&amp;nbsp;name=&amp;quot;shortcut_short_mine&amp;quot;&amp;gt;个人中心&amp;lt;/string&amp;gt;
&amp;lt;string&amp;nbsp;name=&amp;quot;shortcut_long_mine&amp;quot;&amp;gt;进入我的个人中心&amp;lt;/string&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space: pre-wrap; line-height: 1.75;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;图标要求&lt;/span&gt;：使用mipmap目录的矢量图/位图，建议24x24dp，避免过大导致变形。&lt;/div&gt;&lt;/article&gt;&lt;article data-content=&quot;[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;uGX3-1769425945166&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;0IMz-1769425944999&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;二、动态快捷方式（适用于动态更新的菜单，如“最近订单”）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;dHf0-1769425945002&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Vp32-1769425945001&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;通过&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;ShortcutManager&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;代码实现，可在应用运行时添加/删除/更新快捷方式，支持API&amp;nbsp;25+，核心代码在&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;Application&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;或启动页&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;MainActivity&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;中。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Vbgw-1769425945167&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h4&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;rRTF-1769425945003&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;核心代码（Kotlin版，适配你的开发语言）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;918p-1769425945090&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;language&amp;quot;:&amp;quot;kotlin&amp;quot;,&amp;quot;theme&amp;quot;:&amp;quot;tomorrow&amp;quot;,&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Zinc-1769425945006&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;d7pT-1769425945005&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;android.content.Context&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;f0Of-1769425945008&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;wLKs-1769425945007&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;android.content.Intent&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;0XbS-1769425945010&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;6yfI-1769425945009&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;android.os.Build&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;xjwe-1769425945012&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;IUbI-1769425945011&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;android.content.pm.ShortcutInfo&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;hbdx-1769425945014&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;uitp-1769425945013&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;android.content.pm.ShortcutManager&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ghtE-1769425945016&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;3pKj-1769425945015&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;android.graphics.drawable.Icon&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;yGeA-1769425945018&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;xPmH-1769425945017&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;androidx.annotation.RequiresApi&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;HlDF-1769425945020&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ikAX-1769425945019&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;com.xzb.bolvtravel2.ui.order.OrderActivity&amp;nbsp;//&amp;nbsp;目标页面&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;CVt5-1769425945022&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;fQF3-1769425945021&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;rdao-1769425945024&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;wyW1-1769425945023&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;class&amp;nbsp;MyApp&amp;nbsp;:&amp;nbsp;android.app.Application()&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;phZK-1769425945026&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;pfcP-1769425945025&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;override&amp;nbsp;fun&amp;nbsp;onCreate()&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;E4FC-1769425945028&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;fxDG-1769425945027&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;super.onCreate()&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;cBeU-1769425945030&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;AN79-1769425945029&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(Build.VERSION.SDK_INT&amp;nbsp;&amp;gt;=&amp;nbsp;Build.VERSION_CODES.N_MR1)&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;K5DA-1769425945032&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;EScZ-1769425945031&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;initDynamicShortcuts()&amp;nbsp;//&amp;nbsp;初始化动态快捷方式&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;MYJb-1769425945034&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;9QRG-1769425945033&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Qgvh-1769425945036&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;y9dn-1769425945035&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;gaBt-1769425945038&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ktLy-1769425945037&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Y5XI-1769425945040&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;yhpq-1769425945039&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@RequiresApi(Build.VERSION_CODES.N_MR1)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;OsqP-1769425945042&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;J9CP-1769425945041&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;fun&amp;nbsp;initDynamicShortcuts()&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4ivn-1769425945044&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;9kJf-1769425945043&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;shortcutManager&amp;nbsp;=&amp;nbsp;getSystemService(Context.SHORTCUT_SERVICE)&amp;nbsp;as&amp;nbsp;ShortcutManager&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;qcrF-1769425945046&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;hGPu-1769425945045&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;检查是否支持快捷方式&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;7Sqi-1769425945048&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;MVwe-1769425945047&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(!shortcutManager.isRequestPinShortcutSupported)&amp;nbsp;return&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Rb9L-1769425945050&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;7K6S-1769425945049&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;BNIs-1769425945052&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;7Ksk-1769425945051&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;构建跳转意图&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;xxra-1769425945054&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;W5pV-1769425945053&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;orderIntent&amp;nbsp;=&amp;nbsp;Intent(this,&amp;nbsp;OrderActivity::class.java).apply&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;mIyx-1769425945056&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Q7oP-1769425945055&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;action&amp;nbsp;=&amp;nbsp;Intent.ACTION_VIEW&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;FWuC-1769425945058&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Bayz-1769425945057&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;flags&amp;nbsp;=&amp;nbsp;Intent.FLAG_ACTIVITY_NEW_TASK&amp;nbsp;or&amp;nbsp;Intent.FLAG_ACTIVITY_CLEAR_TASK&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;54sH-1769425945060&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;bX6x-1769425945059&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;RaZz-1769425945062&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;iI0X-1769425945061&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;F2Zf-1769425945064&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;08ML-1769425945063&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;构建动态快捷方式&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Vqfl-1769425945066&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;BLHp-1769425945065&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;dynamicShortcut&amp;nbsp;=&amp;nbsp;ShortcutInfo.Builder(this,&amp;nbsp;\&amp;quot;dynamic_order\&amp;quot;)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;hv1C-1769425945068&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;f4uA-1769425945067&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setShortLabel(\&amp;quot;最近订单\&amp;quot;)&amp;nbsp;//&amp;nbsp;短名称&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;S7Jx-1769425945070&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;yNFV-1769425945069&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setLongLabel(\&amp;quot;查看我的最近出行订单\&amp;quot;)&amp;nbsp;//&amp;nbsp;长名称&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;nCxh-1769425945072&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;SS0r-1769425945071&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setIcon(Icon.createWithResource(this,&amp;nbsp;R.mipmap.ic_shortcut_order))&amp;nbsp;//&amp;nbsp;图标&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;pK6p-1769425945074&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;LnCo-1769425945073&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setIntent(orderIntent)&amp;nbsp;//&amp;nbsp;跳转意图&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Uv4U-1769425945076&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;QRzA-1769425945075&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.build()&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;wGuv-1769425945078&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;pHE9-1769425945077&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;N5p6-1769425945080&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;c4B1-1769425945079&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;添加到快捷方式列表（最多5个，静态+动态总数不超过5）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;6ylr-1769425945083&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Be3K-1769425945082&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;shortcutManager.dynamicShortcuts&amp;nbsp;=&amp;nbsp;listOf(dynamicShortcut)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;3KYm-1769425945085&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;uoSt-1769425945084&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;hwm0-1769425945087&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;9Ovh-1769425945086&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{&amp;quot;tokensPerLine&amp;quot;:[[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;android&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;content&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Context&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;android&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;content&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Intent&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;android&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;os&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Build&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;android&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;content&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;pm&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;ShortcutInfo&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;android&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;content&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;pm&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;ShortcutManager&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;android&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;graphics&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;drawable&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Icon&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;androidx&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;annotation&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;RequiresApi&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;com&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;xzb&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;bolvtravel2&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;ui&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;order&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;OrderActivity&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;目标页面&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;class&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;MyApp&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;android&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;app&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Application&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;override&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fun&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;onCreate&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;super&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;onCreate&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;if&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Build&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;VERSION&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;SDK_INT&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;Build&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;VERSION_CODES&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;N_MR1&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;initDynamicShortcuts&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;初始化动态快捷方式&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;annotation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;@RequiresApi&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;builtin&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Build&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;VERSION_CODES&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;N_MR1&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;private&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fun&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;initDynamicShortcuts&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;shortcutManager&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;getSystemService&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Context&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;SHORTCUT_SERVICE&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;as&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;ShortcutManager&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;检查是否支持快捷方式&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;if&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;!&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;shortcutManager&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;isRequestPinShortcutSupported&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;return&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;构建跳转意图&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;orderIntent&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Intent&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;this&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;OrderActivity&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;::&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;class&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;java&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;apply&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;action&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;Intent&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;ACTION_VIEW&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;flags&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;Intent&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;FLAG_ACTIVITY_NEW_TASK&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;or&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;Intent&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;FLAG_ACTIVITY_CLEAR_TASK&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;构建动态快捷方式&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;dynamicShortcut&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;ShortcutInfo&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Builder&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;this&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;dynamic_order\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;setShortLabel&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;最近订单\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;短名称&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;setLongLabel&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;查看我的最近出行订单\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;长名称&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;setIcon&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Icon&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;createWithResource&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;this&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;R&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;mipmap&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;ic_shortcut_order&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;图标&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;setIntent&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;orderIntent&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;跳转意图&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;build&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;添加到快捷方式列表（最多5个，静态+动态总数不超过5）&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;shortcutManager&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;dynamicShortcuts&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;listOf&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;dynamicShortcut&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}]]}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;SN1N-1769425945092&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;0vR2-1769425945091&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;注意&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;：需在&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;AndroidManifest.xml&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;中注册&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;MyApp&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;：&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;v5zH-1769425945105&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;language&amp;quot;:&amp;quot;xml&amp;quot;,&amp;quot;theme&amp;quot;:&amp;quot;tomorrow&amp;quot;,&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;8uAZ-1769425945094&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;w3KE-1769425945093&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;lt;application&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;3nP6-1769425945096&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;sFCC-1769425945095&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:name=\&amp;quot;.MyApp\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;pIBs-1769425945098&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;u8EW-1769425945097&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Qwq6-1769425945100&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4jGy-1769425945099&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;JQDq-1769425945102&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;9Wmx-1769425945101&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;lt;/application&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{&amp;quot;tokensPerLine&amp;quot;:[[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;application&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;namespace&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;name&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.MyApp&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;...&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;/&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;application&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;}]]}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;uyJY-1769425945168&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;0TVJ-1769425945106&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;三、关键注意事项（必看，避免踩坑）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;LrkI-1769425945109&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;2tkv-1769425945160&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;pXLf-1769425945108&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;数量限制&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;：静态+动态快捷方式&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;总数不超过5个&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;，多余的不会显示。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:1}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;0v1A-1769425945111&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;2tkv-1769425945160&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;U3ST-1769425945110&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;页面权限&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;：目标Activity需在&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;AndroidManifest.xml&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;中注册，&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;无需添加&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;lt;intent-filter&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;，若设置&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;exported&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;，建议为&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;true&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;（API&amp;nbsp;30+要求）。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:2}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;dVbS-1769425945113&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;2tkv-1769425945160&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;IEnM-1769425945112&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;API兼容&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;：App&amp;nbsp;Shortcuts最低支持&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;API&amp;nbsp;25（Android&amp;nbsp;7.1）&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;，低于此版本无效果，无需做兼容（系统会自动忽略）。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:3}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;EA9D-1769425945115&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;2tkv-1769425945160&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;2WYP-1769425945114&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;图标和文字&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;：短名称建议不超过10个字，长名称不超过25个字，图标使用纯色简约样式，适配不同桌面主题。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:4}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1qJe-1769425945117&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;2tkv-1769425945160&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;PRk0-1769425945116&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;跳转逻辑&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;：若目标页面需要传参，可在&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;Intent&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;中通过&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;putExtra&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;传递，和普通页面跳转一致。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:5}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;GgS5-1769425945169&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Iclr-1769425945118&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;四、效果测试&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Q6KG-1769425945121&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;fENT-1769425945161&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;dmDT-1769425945120&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;编译运行App，在手机桌面找到App图标；&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:1}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4uWQ-1769425945123&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;fENT-1769425945161&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;QEdh-1769425945122&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;长按图标&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;，即可弹出配置的快捷菜单；&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:2}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;w3a5-1769425945125&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;fENT-1769425945161&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;83IO-1769425945124&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;点击菜单选项，直接跳转到指定的Activity页面。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}]&quot; style=&quot;font-size: medium; text-wrap-mode: wrap;&quot;&gt;&lt;h3 id=&quot;a2cl-1769426602659&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;二、动态快捷方式（适用于动态更新的菜单，如“最近订单”）&lt;/span&gt;&lt;/h3&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;通过ShortcutManager代码实现，可在应用运行时添加/删除/更新快捷方式，支持API 25+，核心代码在Application或启动页MainActivity中。&lt;/div&gt;&lt;h4 id=&quot;YD7x-1769426602663&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;4&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;核心代码（Kotlin版，适配你的开发语言）&lt;/h4&gt;&lt;div yne-bulb-block=&quot;code&quot; data-theme=&quot;tomorrow&quot; data-language=&quot;kotlin&quot; style=&quot;white-space-collapse: preserve;&quot;&gt;&lt;pre class=&quot;prism-highlight prism-language-groovy&quot;&gt;import&amp;nbsp;android.content.Context
import&amp;nbsp;android.content.Intent
import&amp;nbsp;android.os.Build
import&amp;nbsp;android.content.pm.ShortcutInfo
import&amp;nbsp;android.content.pm.ShortcutManager
import&amp;nbsp;android.graphics.drawable.Icon
import&amp;nbsp;androidx.annotation.RequiresApi
import&amp;nbsp;com.xzb.bolvtravel2.ui.order.OrderActivity&amp;nbsp;//&amp;nbsp;目标页面

class&amp;nbsp;MyApp&amp;nbsp;:&amp;nbsp;android.app.Application()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;override&amp;nbsp;fun&amp;nbsp;onCreate()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;super.onCreate()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(Build.VERSION.SDK_INT&amp;nbsp;&amp;gt;=&amp;nbsp;Build.VERSION_CODES.N_MR1)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;initDynamicShortcuts()&amp;nbsp;//&amp;nbsp;初始化动态快捷方式
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@RequiresApi(Build.VERSION_CODES.N_MR1)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;fun&amp;nbsp;initDynamicShortcuts()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;shortcutManager&amp;nbsp;=&amp;nbsp;getSystemService(Context.SHORTCUT_SERVICE)&amp;nbsp;as&amp;nbsp;ShortcutManager
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;检查是否支持快捷方式
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(!shortcutManager.isRequestPinShortcutSupported)&amp;nbsp;return

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;构建跳转意图
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;orderIntent&amp;nbsp;=&amp;nbsp;Intent(this,&amp;nbsp;OrderActivity::class.java).apply&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;action&amp;nbsp;=&amp;nbsp;Intent.ACTION_VIEW
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;flags&amp;nbsp;=&amp;nbsp;Intent.FLAG_ACTIVITY_NEW_TASK&amp;nbsp;or&amp;nbsp;Intent.FLAG_ACTIVITY_CLEAR_TASK
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;构建动态快捷方式
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;dynamicShortcut&amp;nbsp;=&amp;nbsp;ShortcutInfo.Builder(this,&amp;nbsp;&amp;quot;dynamic_order&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setShortLabel(&amp;quot;最近订单&amp;quot;)&amp;nbsp;//&amp;nbsp;短名称
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setLongLabel(&amp;quot;查看我的最近出行订单&amp;quot;)&amp;nbsp;//&amp;nbsp;长名称
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setIcon(Icon.createWithResource(this,&amp;nbsp;R.mipmap.ic_shortcut_order))&amp;nbsp;//&amp;nbsp;图标
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setIntent(orderIntent)&amp;nbsp;//&amp;nbsp;跳转意图
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.build()

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;添加到快捷方式列表（最多5个，静态+动态总数不超过5）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;shortcutManager.dynamicShortcuts&amp;nbsp;=&amp;nbsp;listOf(dynamicShortcut)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;/div&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;注意&lt;/span&gt;：需在AndroidManifest.xml中注册MyApp：&lt;/div&gt;&lt;div yne-bulb-block=&quot;code&quot; data-theme=&quot;tomorrow&quot; data-language=&quot;xml&quot; style=&quot;white-space-collapse: preserve;&quot;&gt;&lt;pre class=&quot;prism-highlight prism-language-groovy&quot;&gt;&amp;lt;application
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:name=&amp;quot;.MyApp&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...
&amp;lt;/application&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&quot;0NkF-1769426602762&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;三、关键注意事项（必看，避免踩坑）&lt;/span&gt;&lt;/h3&gt;&lt;div&gt;&lt;ol yne-block-type=&quot;list&quot; style=&quot;margin-left: 14px;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;数量限制&lt;/span&gt;：静态+动态快捷方式&lt;span style=&quot;font-weight: bold;&quot;&gt;总数不超过5个&lt;/span&gt;，多余的不会显示。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;页面权限&lt;/span&gt;：目标Activity需在AndroidManifest.xml中注册，&lt;span style=&quot;font-weight: bold;&quot;&gt;无需添加&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;intent-filter&gt;&lt;/intent-filter&gt;&lt;/span&gt;，若设置exported，建议为true（API 30+要求）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;API兼容&lt;/span&gt;：App Shortcuts最低支持&lt;span style=&quot;font-weight: bold;&quot;&gt;API 25（Android 7.1）&lt;/span&gt;，低于此版本无效果，无需做兼容（系统会自动忽略）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;图标和文字&lt;/span&gt;：短名称建议不超过10个字，长名称不超过25个字，图标使用纯色简约样式，适配不同桌面主题。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;跳转逻辑&lt;/span&gt;：若目标页面需要传参，可在Intent中通过putExtra传递，和普通页面跳转一致。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;h3 id=&quot;5JAr-1769426602775&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;四、效果测试&lt;/span&gt;&lt;/h3&gt;&lt;div&gt;&lt;ol yne-block-type=&quot;list&quot; style=&quot;margin-left: 14px;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;编译运行App，在手机桌面找到App图标；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;长按图标&lt;/span&gt;，即可弹出配置的快捷菜单；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;点击菜单选项，直接跳转到指定的Activity页面。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/article&gt;&lt;article data-content=&quot;[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;VTuA-1769425945171&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;zHlg-1769425945126&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;五、进阶：固定快捷方式到桌面（可选）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;pdNX-1769425945129&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Kl0q-1769425945128&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;可通过代码让用户将快捷方式&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;直接固定到桌面&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;（需用户授权），核心代码：&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;5itJ-1769425945157&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;language&amp;quot;:&amp;quot;kotlin&amp;quot;,&amp;quot;theme&amp;quot;:&amp;quot;tomorrow&amp;quot;,&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;CxOz-1769425945131&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;kO0a-1769425945130&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;@RequiresApi(Build.VERSION_CODES.O)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;BxGH-1769425945133&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;MRAb-1769425945132&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;fun&amp;nbsp;pinShortcut(context:&amp;nbsp;Context)&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;x9ya-1769425945135&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;taZl-1769425945134&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;shortcutManager&amp;nbsp;=&amp;nbsp;context.getSystemService(ShortcutManager::class.java)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Wbe4-1769425945137&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;qxnn-1769425945136&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;intent&amp;nbsp;=&amp;nbsp;Intent(context,&amp;nbsp;TravelActivity::class.java).setAction(Intent.ACTION_VIEW)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;xRM7-1769425945139&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Ri8v-1769425945138&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;shortcutInfo&amp;nbsp;=&amp;nbsp;ShortcutInfo.Builder(context,&amp;nbsp;\&amp;quot;pin_travel\&amp;quot;)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ZJ39-1769425945141&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;uVBy-1769425945140&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setShortLabel(\&amp;quot;我的行程\&amp;quot;)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;PIqo-1769425945144&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;KmKS-1769425945142&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setIcon(Icon.createWithResource(context,&amp;nbsp;R.mipmap.ic_shortcut_travel))&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;sUyn-1769425945146&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;R1iQ-1769425945145&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setIntent(intent)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;uooA-1769425945148&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;BYpv-1769425945147&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.build()&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;uFPG-1769425945150&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;fmt7-1769425945149&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;发起固定请求，用户确认后会显示在桌面&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;iX2P-1769425945152&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;RNic-1769425945151&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;shortcutManager.requestPinShortcut(shortcutInfo,&amp;nbsp;null)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;zP9P-1769425945154&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;NA5f-1769425945153&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}}]&quot;&gt;&lt;h3 id=&quot;9GCx-1769426647651&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space: pre-wrap; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;五、进阶：固定快捷方式到桌面（可选）&lt;/span&gt;&lt;/h3&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space: pre-wrap; line-height: 1.75;&quot;&gt;可通过代码让用户将快捷方式&lt;span style=&quot;font-weight: bold;&quot;&gt;直接固定到桌面&lt;/span&gt;（需用户授权），核心代码：&lt;/div&gt;&lt;div yne-bulb-block=&quot;code&quot; data-theme=&quot;tomorrow&quot; style=&quot;white-space:pre-wrap;&quot; data-language=&quot;kotlin&quot;&gt;&lt;pre class=&quot;prism-highlight prism-language-groovy&quot;&gt;@RequiresApi(Build.VERSION_CODES.O)
fun&amp;nbsp;pinShortcut(context:&amp;nbsp;Context)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;shortcutManager&amp;nbsp;=&amp;nbsp;context.getSystemService(ShortcutManager::class.java)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;intent&amp;nbsp;=&amp;nbsp;Intent(context,&amp;nbsp;TravelActivity::class.java).setAction(Intent.ACTION_VIEW)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;shortcutInfo&amp;nbsp;=&amp;nbsp;ShortcutInfo.Builder(context,&amp;nbsp;&amp;quot;pin_travel&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setShortLabel(&amp;quot;我的行程&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setIcon(Icon.createWithResource(context,&amp;nbsp;R.mipmap.ic_shortcut_travel))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setIntent(intent)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.build()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;发起固定请求，用户确认后会显示在桌面
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;shortcutManager.requestPinShortcut(shortcutInfo,&amp;nbsp;null)
}&lt;/pre&gt;&lt;/div&gt;&lt;/article&gt;&lt;p&gt;一为静态，二为动态，按需添加&lt;/p&gt;</description><pubDate>Mon, 26 Jan 2026 19:10:45 +0800</pubDate></item><item><title>kotlin 我应用使用的权限申请介绍</title><link>https://www.xuzebo.net.cn/?id=32</link><description>&lt;p&gt;明明在应用清单（Manifest）里只声明了网络、存储、相机等少数权限，还主动移除了位置权限，但上架检测却测出了更多权限请求（比如之前提到的后台位置、悬浮窗、修改系统设置等），想知道这种权限不匹配的根本原因。&lt;/p&gt;&lt;h3 style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-wrap-mode: wrap; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;核心原因分析&lt;/h3&gt;&lt;div style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 24px; text-wrap-mode: wrap; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;这种 “声明的权限” 和 “检测出的权限” 不一致的情况，在安卓开发中非常常见，核心原因是&lt;span style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-weight: 700; line-height: 24px; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;权限会通过非主工程的渠道被引入&lt;/span&gt;，而非你手动声明的部分，具体分以下几类：&lt;/div&gt;&lt;h4 style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-wrap-mode: wrap; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;1. 第三方 SDK / 依赖库自动引入权限（最常见）&lt;/h4&gt;&lt;div style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 24px; text-wrap-mode: wrap; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;你用到的 “激光推送” SDK（以及可能的其他依赖，比如图片选择、相机封装库等），其自身的 &lt;code style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; line-height: 24px; display: inline; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;AndroidManifest.xml&lt;/code&gt; 中可能声明了额外权限，安卓构建时会自动&lt;span style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-weight: 700; line-height: 24px; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;合并所有依赖的 Manifest&lt;/span&gt;，最终打包的 APK 中会包含这些 “隐式引入” 的权限。&lt;/div&gt;&lt;ul style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 24px; text-wrap-mode: wrap; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;举例：&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;list-style-type: square;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;激光推送 SDK 可能为了实现后台推送、唤醒设备，额外声明了 &lt;code style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; line-height: 24px; display: inline; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;ACCESS_BACKGROUND_LOCATION&lt;/code&gt;（后台位置）、&lt;code style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; line-height: 24px; display: inline; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;SYSTEM_ALERT_WINDOW&lt;/code&gt;（悬浮窗）等；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;某些相机 / 相册库可能为了兼容旧版本，声明了 &lt;code style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; line-height: 24px; display: inline; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;READ_PHONE_STATE&lt;/code&gt;（读取通话状态）等无关权限。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;p&gt;验证方式：&lt;/p&gt;&lt;p&gt;打开安卓工程的 &lt;code style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; line-height: 24px; display: inline; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;build/outputs/logs/manifest-merger-xxx-report.txt&lt;/code&gt;（构建日志），搜索 “permission”，能清晰看到每个权限的来源（主工程 / 某个依赖库）。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h4 style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-wrap-mode: wrap; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;2. &lt;code style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; line-height: 24px; display: inline; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;tools:node=&amp;quot;remove&amp;quot;&lt;/code&gt; 生效失败&lt;/h4&gt;&lt;div style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 24px; text-wrap-mode: wrap; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;你用了 &lt;code style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; line-height: 24px; display: inline; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;tools:node=&amp;quot;remove&amp;quot;&lt;/code&gt; 移除位置权限，但如果缺少必要的命名空间声明，这个属性会失效，导致移除操作没生效：&lt;/div&gt;&lt;ul style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 24px; text-wrap-mode: wrap; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;错误场景：Manifest 根节点未添加 &lt;code style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; line-height: 24px; display: inline; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;xmlns:tools=&amp;quot;http://schemas.android.com/tools&amp;quot;&lt;/code&gt;，此时 &lt;code style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; line-height: 24px; display: inline; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;tools:node=&amp;quot;remove&amp;quot;&lt;/code&gt; 是无效的，位置权限仍会被保留 / 合并。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;正确写法示例：&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;pre style=&quot;margin-top: 8px; margin-bottom: 8px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-size: 16px; line-height: 24px; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal;&quot;&gt;&amp;lt;?xml&amp;nbsp;version=&amp;quot;1.0&amp;quot;&amp;nbsp;encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&amp;lt;manifest&amp;nbsp;xmlns:android=&amp;quot;http://schemas.android.com/apk/res/android&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlns:tools=&amp;quot;http://schemas.android.com/tools&amp;quot;&amp;nbsp;&amp;nbsp;&amp;lt;!--&amp;nbsp;必须加这个命名空间&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;package=&amp;quot;你的包名&amp;quot;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!--&amp;nbsp;此时remove才会生效&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;uses-permission&amp;nbsp;android:name=&amp;quot;android.permission.ACCESS_COARSE_LOCATION&amp;quot;&amp;nbsp;tools:node=&amp;quot;remove&amp;quot;/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;uses-permission&amp;nbsp;android:name=&amp;quot;android.permission.ACCESS_FINE_LOCATION&amp;quot;&amp;nbsp;tools:node=&amp;quot;remove&amp;quot;/&amp;gt;&amp;lt;/manifest&amp;gt;&lt;/pre&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h4 style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-wrap-mode: wrap; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;3. 上架检测不仅检测 “Manifest 声明的权限”，还检测 “运行时申请的权限”&lt;/h4&gt;&lt;div style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 24px; text-wrap-mode: wrap; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;部分应用商店的检测工具会扫描 APK 的代码（反编译），如果代码中存在 &lt;code style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; line-height: 24px; display: inline; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;Context.checkSelfPermission()&lt;/code&gt;、&lt;code style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; line-height: 24px; display: inline; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;Activity.requestPermissions()&lt;/code&gt; 等动态申请权限的逻辑，即使 Manifest 没声明，也会被标记为 “请求了该权限”。&lt;/div&gt;&lt;ul style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 24px; text-wrap-mode: wrap; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;举例：如果激光推送 SDK 的代码里包含申请 &lt;code style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; line-height: 24px; display: inline; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;ACCESS_BACKGROUND_LOCATION&lt;/code&gt; 的逻辑，即使你没声明，检测工具也会判定应用 “请求了该权限”。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h4 style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-wrap-mode: wrap; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;4. 权限的 “隐式关联”（少数情况）&lt;/h4&gt;&lt;div style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 24px; text-wrap-mode: wrap; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;安卓中某些 &lt;code style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; line-height: 24px; display: inline; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;uses-feature&lt;/code&gt; 或系统 API 调用，会被检测工具判定为 “需要对应权限”：&lt;/div&gt;&lt;ul style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 24px; text-wrap-mode: wrap; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;比如声明 &lt;code style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; line-height: 24px; display: inline; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;android.hardware.camera&lt;/code&gt;（即使 &lt;code style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; line-height: 24px; display: inline; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;required=false&lt;/code&gt;），部分检测工具会关联到 “相机权限” 之外的辅助权限；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;调用 &lt;code style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; line-height: 24px; display: inline; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;Settings.System.putInt()&lt;/code&gt; 等修改系统设置的 API，即使没声明 &lt;code style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; line-height: 24px; display: inline; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;WRITE_SETTINGS&lt;/code&gt;，也会被标记为 “请求修改系统设置权限”。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-wrap-mode: wrap; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;解决方案（按优先级）&lt;/h3&gt;&lt;h4 style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-wrap-mode: wrap; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;1. 排查并移除依赖库引入的多余权限&lt;/h4&gt;&lt;div style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 24px; text-wrap-mode: wrap; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;在 Manifest 中对所有非必要的、由依赖引入的权限，统一用 &lt;code style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; line-height: 24px; display: inline; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;tools:node=&amp;quot;remove&amp;quot;&lt;/code&gt; 移除（确保命名空间正确）：&lt;/div&gt;&lt;pre style=&quot;margin-top: 8px; margin-bottom: 8px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-size: 16px; line-height: 24px; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal;&quot; class=&quot;prism-highlight prism-language-markup&quot;&gt;&amp;lt;manifest&amp;nbsp;xmlns:android=&amp;quot;http://schemas.android.com/apk/res/android&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlns:tools=&amp;quot;http://schemas.android.com/tools&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;package=&amp;quot;你的包名&amp;quot;&amp;gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!--&amp;nbsp;你原有声明的权限&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;uses-permission&amp;nbsp;android:name=&amp;quot;android.permission.INTERNET&amp;quot;&amp;nbsp;/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;uses-permission&amp;nbsp;android:name=&amp;quot;android.permission.ACCESS_NETWORK_STATE&amp;quot;&amp;nbsp;/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;uses-permission&amp;nbsp;android:name=&amp;quot;android.permission.READ_MEDIA_IMAGES&amp;quot;&amp;nbsp;/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;uses-permission&amp;nbsp;android:name=&amp;quot;android.permission.READ_EXTERNAL_STORAGE&amp;quot;&amp;nbsp;/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;uses-permission&amp;nbsp;android:name=&amp;quot;android.permission.WRITE_EXTERNAL_STORAGE&amp;quot;&amp;nbsp;android:maxSdkVersion=&amp;quot;32&amp;quot;&amp;nbsp;/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;uses-permission&amp;nbsp;android:name=&amp;quot;android.permission.CAMERA&amp;quot;&amp;nbsp;/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;uses-feature&amp;nbsp;android:name=&amp;quot;android.hardware.camera&amp;quot;&amp;nbsp;android:required=&amp;quot;false&amp;quot;&amp;nbsp;/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;uses-permission&amp;nbsp;android:name=&amp;quot;android.permission.WAKE_LOCK&amp;quot;&amp;nbsp;/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;uses-permission&amp;nbsp;android:name=&amp;quot;android.permission.POST_NOTIFICATIONS&amp;quot;&amp;nbsp;/&amp;gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!--&amp;nbsp;主动移除所有非必要的、由依赖引入的权限&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;uses-permission&amp;nbsp;android:name=&amp;quot;android.permission.ACCESS_COARSE_LOCATION&amp;quot;&amp;nbsp;tools:node=&amp;quot;remove&amp;quot;/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;uses-permission&amp;nbsp;android:name=&amp;quot;android.permission.ACCESS_FINE_LOCATION&amp;quot;&amp;nbsp;tools:node=&amp;quot;remove&amp;quot;/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;uses-permission&amp;nbsp;android:name=&amp;quot;android.permission.ACCESS_BACKGROUND_LOCATION&amp;quot;&amp;nbsp;tools:node=&amp;quot;remove&amp;quot;/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;uses-permission&amp;nbsp;android:name=&amp;quot;android.permission.READ_PHONE_STATE&amp;quot;&amp;nbsp;tools:node=&amp;quot;remove&amp;quot;/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;uses-permission&amp;nbsp;android:name=&amp;quot;android.permission.READ_PHONE_NUMBERS&amp;quot;&amp;nbsp;tools:node=&amp;quot;remove&amp;quot;/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;uses-permission&amp;nbsp;android:name=&amp;quot;android.permission.WRITE_SETTINGS&amp;quot;&amp;nbsp;tools:node=&amp;quot;remove&amp;quot;/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;uses-permission&amp;nbsp;android:name=&amp;quot;android.permission.SYSTEM_ALERT_WINDOW&amp;quot;&amp;nbsp;tools:node=&amp;quot;remove&amp;quot;/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;uses-permission&amp;nbsp;android:name=&amp;quot;android.permission.QUERY_ALL_PACKAGES&amp;quot;&amp;nbsp;tools:node=&amp;quot;remove&amp;quot;/&amp;gt;&amp;lt;/manifest&amp;gt;&lt;/pre&gt;&lt;h4 style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-wrap-mode: wrap; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;2. 检查第三方 SDK 的配置，关闭不必要的功能&lt;/h4&gt;&lt;div style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 24px; text-wrap-mode: wrap; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;联系激光推送 SDK 的开发者，或查看其文档，关闭 SDK 中不需要的功能（比如后台位置、悬浮窗推送等），从源头减少权限引入。&lt;/div&gt;&lt;h4 style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-wrap-mode: wrap; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;3. 验证最终打包的 Manifest&lt;/h4&gt;&lt;div style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 24px; text-wrap-mode: wrap; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;构建 APK 后，用 Android Studio 的 “Build&amp;gt; Analyze APK” 功能打开 APK，查看 &lt;code style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; line-height: 24px; display: inline; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;AndroidManifest.xml&lt;/code&gt;，确认所有多余权限已被移除。&lt;/div&gt;&lt;h4 style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-wrap-mode: wrap; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;4. 针对 “运行时申请权限” 的检测结果&lt;/h4&gt;&lt;div style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 24px; text-wrap-mode: wrap; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;如果检测报告是因为代码中存在动态申请权限的逻辑，需：&lt;/div&gt;&lt;ul style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 24px; text-wrap-mode: wrap; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;移除代码中无关的权限申请逻辑；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;若 SDK 内置了该逻辑且无法移除，需在应用商店的上架说明中解释 “该权限为 SDK 内置，但应用未实际使用，已通过 Manifest 移除”。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; font-weight: 400; line-height: 24px; text-wrap-mode: wrap; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;总结&lt;/h3&gt;&lt;ol style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 24px; text-wrap-mode: wrap; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;权限不匹配的核心原因是&lt;span style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-weight: 700; line-height: 24px; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;第三方 SDK / 依赖库隐式引入权限&lt;/span&gt;，其次是 &lt;code style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; line-height: 24px; display: inline; flex: 0 1 auto; flex-direction: row; justify-content: normal; align-items: normal; padding: 0px; margin: 0px; background-image: none; background-position: 0% 0%; background-size: auto; background-repeat: repeat; background-attachment: scroll; background-origin: padding-box; background-clip: border-box;&quot;&gt;tools:node=&amp;quot;remove&amp;quot;&lt;/code&gt; 命名空间缺失导致移除失效。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;解决关键是：补全 tools 命名空间，主动移除所有非必要权限，验证最终 APK 的 Manifest。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;若检测结果包含 “运行时申请权限”，需要么移除对应代码，要么在审核时说明权限未实际使用。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Fri, 23 Jan 2026 22:56:58 +0800</pubDate></item><item><title>Kotlin中收起输入法</title><link>https://www.xuzebo.net.cn/?id=31</link><description>&lt;p&gt;背景：我在开发时出现已点击按钮，由于前面焦点了输入框，导致输入法没收回，影响使用体验&lt;/p&gt;&lt;article data-content=&quot;[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;3060-1621846615933&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;p5PQ-1621846617594&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;想要在Kotlin开发的Android应用中，实现点击输入框外的区域或按钮时，自动收起弹出的软键盘，同时保持输入框本身不消失。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;9zv8-1768534419987&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;WU3V-1768534419792&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;解决方案&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;E1Bl-1768534419795&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;IW0Z-1768534419794&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;我会提供两种最常用且实用的方法，你可以根据场景选择：&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;algb-1768534419988&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h4&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;PG3w-1768534419796&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;方法1：通用工具类（推荐）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;2vbG-1768534419799&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;2Dv8-1768534419798&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;创建一个工具类，封装收起软键盘的逻辑，可在任意地方调用（比如按钮点击、点击空白区域时）。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;UacA-1768534419871&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;language&amp;quot;:&amp;quot;kotlin&amp;quot;,&amp;quot;theme&amp;quot;:&amp;quot;tomorrow&amp;quot;,&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;yf3u-1768534419801&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;kBtb-1768534419800&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;android.content.Context&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;XGu0-1768534419803&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;6yDX-1768534419802&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;android.view.View&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;m1Zk-1768534419805&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Js2H-1768534419804&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;android.view.inputmethod.InputMethodManager&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;nRpe-1768534419807&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;HFam-1768534419806&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;android.widget.EditText&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;6E29-1768534419809&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;GwSm-1768534419808&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;i5ZH-1768534419811&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Ct48-1768534419810&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;/**&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;K0U1-1768534419813&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;0x3m-1768534419812&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;*&amp;nbsp;软键盘工具类&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;P18g-1768534419815&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;NA3z-1768534419814&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;*/&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;xsRA-1768534419817&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;q15k-1768534419816&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;object&amp;nbsp;KeyboardUtils&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ix5R-1768534419819&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;9t49-1768534419818&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;N1oB-1768534419821&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ewKZ-1768534419820&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;G75E-1768534419823&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ujP9-1768534419822&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;隐藏软键盘&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;IbOU-1768534419825&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;hACf-1768534419824&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;view&amp;nbsp;任意View（通常传EditText或当前Activity的根布局）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;iRYm-1768534419828&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;uaFl-1768534419827&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;rHag-1768534419830&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;j8Hn-1768534419829&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fun&amp;nbsp;hideSoftKeyboard(view:&amp;nbsp;View)&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;yWu0-1768534419832&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;9ebB-1768534419831&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;imm&amp;nbsp;=&amp;nbsp;view.context.getSystemService(Context.INPUT_METHOD_SERVICE)&amp;nbsp;as&amp;nbsp;InputMethodManager&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;k6Rl-1768534419834&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;TKLA-1768534419833&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;imm.hideSoftInputFromWindow(view.windowToken,&amp;nbsp;0)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;z7W6-1768534419836&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;qR0f-1768534419835&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;U9oA-1768534419838&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;yr1o-1768534419837&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;PL7D-1768534419840&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;djlq-1768534419839&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;2GGl-1768534419842&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;YUzD-1768534419841&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;为布局设置点击空白区域隐藏软键盘&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;lxN5-1768534419844&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;2c03-1768534419843&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;rootView&amp;nbsp;根布局（比如Activity的contentView）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;BTuh-1768534419846&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;tylD-1768534419845&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;editText&amp;nbsp;需要监听的输入框&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;anL5-1768534419848&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;SjC4-1768534419847&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;F9fK-1768534419850&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;fwKW-1768534419849&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fun&amp;nbsp;setupTouchOutsideToHideKeyboard(rootView:&amp;nbsp;View,&amp;nbsp;editText:&amp;nbsp;EditText)&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Ly5F-1768534419852&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;pLAl-1768534419851&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rootView.setOnTouchListener&amp;nbsp;{&amp;nbsp;v,&amp;nbsp;event&amp;nbsp;-&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ZQKk-1768534419854&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;bue7-1768534419853&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;判断点击的不是输入框时，隐藏软键盘&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ypKU-1768534419856&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;tslm-1768534419855&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(v&amp;nbsp;!=&amp;nbsp;editText)&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;87x2-1768534419858&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Djeb-1768534419857&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hideSoftKeyboard(editText)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;pwkF-1768534419860&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;mznH-1768534419859&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;TYOa-1768534419862&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;b06c-1768534419861&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;false&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;TcYQ-1768534419864&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Ryht-1768534419863&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;6OKs-1768534419866&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;acEG-1768534419865&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;SIis-1768534419868&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;5Fjw-1768534419867&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{&amp;quot;tokensPerLine&amp;quot;:[[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;android&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;content&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Context&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;android&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;view&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;View&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;android&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;view&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;inputmethod&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;InputMethodManager&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;android&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;widget&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;EditText&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;/**&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;*&amp;nbsp;软键盘工具类&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;*/&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;object&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;KeyboardUtils&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;/**&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;隐藏软键盘&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;view&amp;nbsp;任意View（通常传EditText或当前Activity的根布局）&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fun&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;hideSoftKeyboard&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;view&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;View&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;imm&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;view&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;context&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;getSystemService&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Context&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;INPUT_METHOD_SERVICE&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;as&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;InputMethodManager&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;imm&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;hideSoftInputFromWindow&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;view&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;windowToken&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;0&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;/**&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;为布局设置点击空白区域隐藏软键盘&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;rootView&amp;nbsp;根布局（比如Activity的contentView）&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;editText&amp;nbsp;需要监听的输入框&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fun&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;setupTouchOutsideToHideKeyboard&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;rootView&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;View&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;editText&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;EditText&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rootView&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;setOnTouchListener&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;v&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;event&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;-&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;判断点击的不是输入框时，隐藏软键盘&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;if&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;v&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;!=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;editText&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;hideSoftKeyboard&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;editText&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;boolean&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;false&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}]]}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;rzdk-1768534419989&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h4&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;VRu4-1768534419872&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;方法2：在Activity/Fragment中使用&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:18}]}]}]}]&quot;&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space: pre-wrap; line-height: 1.75;&quot;&gt;想要在Kotlin开发的Android应用中，实现点击输入框外的区域或按钮时，自动收起弹出的软键盘，同时保持输入框本身不消失。&lt;/div&gt;&lt;h3 id=&quot;oud9-1768534764851&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space: pre-wrap; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;解决方案&lt;/span&gt;&lt;/h3&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space: pre-wrap; line-height: 1.75;&quot;&gt;我会提供两种最常用且实用的方法，你可以根据场景选择：&lt;/div&gt;&lt;h4 id=&quot;ZRbF-1768534764855&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;4&quot; style=&quot;white-space: pre-wrap; line-height: 1.75;&quot;&gt;方法1：通用工具类（推荐）&lt;/h4&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space: pre-wrap; line-height: 1.75;&quot;&gt;创建一个工具类，封装收起软键盘的逻辑，可在任意地方调用（比如按钮点击、点击空白区域时）。&lt;/div&gt;&lt;div yne-bulb-block=&quot;code&quot; data-theme=&quot;tomorrow&quot; style=&quot;white-space:pre-wrap;&quot; data-language=&quot;kotlin&quot;&gt;&lt;pre class=&quot;prism-highlight prism-language-groovy&quot;&gt;import&amp;nbsp;android.content.Context
import&amp;nbsp;android.view.View
import&amp;nbsp;android.view.inputmethod.InputMethodManager
import&amp;nbsp;android.widget.EditText

/**
&amp;nbsp;*&amp;nbsp;软键盘工具类
&amp;nbsp;*/
object&amp;nbsp;KeyboardUtils&amp;nbsp;{

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;隐藏软键盘
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;view&amp;nbsp;任意View（通常传EditText或当前Activity的根布局）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fun&amp;nbsp;hideSoftKeyboard(view:&amp;nbsp;View)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;imm&amp;nbsp;=&amp;nbsp;view.context.getSystemService(Context.INPUT_METHOD_SERVICE)&amp;nbsp;as&amp;nbsp;InputMethodManager
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;imm.hideSoftInputFromWindow(view.windowToken,&amp;nbsp;0)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;为布局设置点击空白区域隐藏软键盘
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;rootView&amp;nbsp;根布局（比如Activity的contentView）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;editText&amp;nbsp;需要监听的输入框
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fun&amp;nbsp;setupTouchOutsideToHideKeyboard(rootView:&amp;nbsp;View,&amp;nbsp;editText:&amp;nbsp;EditText)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rootView.setOnTouchListener&amp;nbsp;{&amp;nbsp;v,&amp;nbsp;event&amp;nbsp;-&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;判断点击的不是输入框时，隐藏软键盘
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(v&amp;nbsp;!=&amp;nbsp;editText)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hideSoftKeyboard(editText)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;false
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&quot;HVe5-1768534764928&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;4&quot; style=&quot;white-space: pre-wrap; line-height: 1.75;&quot;&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;方法2：在Activity/Fragment中使用&lt;/span&gt;&lt;/h4&gt;&lt;/article&gt;&lt;article data-content=&quot;[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;8Ehg-1768534419990&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h5&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;om7D-1768534419874&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;场景1：点击按钮时收起键盘&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;E9BS-1768534419900&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;language&amp;quot;:&amp;quot;kotlin&amp;quot;,&amp;quot;theme&amp;quot;:&amp;quot;default&amp;quot;,&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;drbk-1768534419877&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;i4OV-1768534419876&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;//&amp;nbsp;在Activity的onCreate中&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Rckd-1768534419879&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;WOIq-1768534419878&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;val&amp;nbsp;editText&amp;nbsp;=&amp;nbsp;findViewById&amp;lt;EditText&amp;gt;(R.id.et_input)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;kbZD-1768534419881&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;c8Ki-1768534419880&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;val&amp;nbsp;button&amp;nbsp;=&amp;nbsp;findViewById&amp;lt;Button&amp;gt;(R.id.btn_confirm)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;RhDf-1768534419883&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;58T5-1768534419882&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;hl5L-1768534419885&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;wHrZ-1768534419884&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;//&amp;nbsp;按钮点击事件&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;AsUu-1768534419887&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Sphi-1768534419886&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;button.setOnClickListener&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;71aS-1768534419889&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;PALf-1768534419888&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;收起软键盘&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;NoU3-1768534419891&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;2j5C-1768534419890&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;KeyboardUtils.hideSoftKeyboard(editText)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;8Ga4-1768534419893&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;g3Dg-1768534419892&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;执行你的按钮逻辑&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;82Y8-1768534419895&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;KT4g-1768534419894&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;...&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;3RVB-1768534419897&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;7D7Y-1768534419896&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{&amp;quot;tokensPerLine&amp;quot;:[[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;在Activity的onCreate中&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;editText&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;findViewById&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;EditText&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;R&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;id&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;et_input&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;button&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;findViewById&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Button&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;R&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;id&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;btn_confirm&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;按钮点击事件&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;button&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;setOnClickListener&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;收起软键盘&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;KeyboardUtils&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;hideSoftKeyboard&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;editText&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;执行你的按钮逻辑&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;...&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}]]}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Q4ry-1768534419991&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h5&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;hluV-1768534419901&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;场景2：点击空白区域收起键盘&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;v7BN-1768534419926&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;language&amp;quot;:&amp;quot;kotlin&amp;quot;,&amp;quot;theme&amp;quot;:&amp;quot;default&amp;quot;,&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;nOlq-1768534419904&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;AJIW-1768534419903&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;override&amp;nbsp;fun&amp;nbsp;onCreate(savedInstanceState:&amp;nbsp;Bundle?)&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;l2OU-1768534419906&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;UpGX-1768534419905&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;super.onCreate(savedInstanceState)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Ly1F-1768534419908&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;KBCw-1768534419907&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;setContentView(R.layout.activity_main)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;hAha-1768534419910&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;C58n-1768534419909&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;rs0q-1768534419912&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;aTpM-1768534419911&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;editText&amp;nbsp;=&amp;nbsp;findViewById&amp;lt;EditText&amp;gt;(R.id.et_input)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Ojom-1768534419915&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;aJMj-1768534419913&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;rootView&amp;nbsp;=&amp;nbsp;findViewById&amp;lt;View&amp;gt;(android.R.id.content)&amp;nbsp;//&amp;nbsp;获取Activity根布局&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;0GDc-1768534419917&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;8A3F-1768534419916&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;pYvl-1768534419919&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;xW7L-1768534419918&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;设置点击空白区域收起键盘&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;anCW-1768534419921&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;q8Po-1768534419920&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;KeyboardUtils.setupTouchOutsideToHideKeyboard(rootView,&amp;nbsp;editText)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;mYHH-1768534419923&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;IfCu-1768534419922&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{&amp;quot;tokensPerLine&amp;quot;:[[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;override&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fun&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;onCreate&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;savedInstanceState&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;Bundle&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;?&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;super&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;onCreate&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;savedInstanceState&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;setContentView&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;R&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;layout&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;activity_main&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;editText&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;findViewById&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;EditText&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;R&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;id&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;et_input&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;rootView&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;findViewById&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;View&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;R&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;id&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;content&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;获取Activity根布局&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;设置点击空白区域收起键盘&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;KeyboardUtils&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;setupTouchOutsideToHideKeyboard&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;rootView&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;editText&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}]]}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;MiSi-1768534419992&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h5&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;qhVE-1768534419927&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;场景3：更优雅的空白区域监听（处理子View）&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:16}]}]}]}]&quot;&gt;&lt;h5 id=&quot;fYuc-1768534811283&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;5&quot; style=&quot;white-space: pre-wrap; line-height: 1.75; font-size: 14px;&quot;&gt;场景1：点击按钮时收起键盘&lt;/h5&gt;&lt;div yne-bulb-block=&quot;code&quot; data-theme=&quot;default&quot; style=&quot;white-space:pre-wrap;&quot; data-language=&quot;kotlin&quot;&gt;&lt;pre class=&quot;prism-highlight prism-language-groovy&quot;&gt;//&amp;nbsp;在Activity的onCreate中
val&amp;nbsp;editText&amp;nbsp;=&amp;nbsp;findViewById&amp;lt;EditText&amp;gt;(R.id.et_input)
val&amp;nbsp;button&amp;nbsp;=&amp;nbsp;findViewById&amp;lt;Button&amp;gt;(R.id.btn_confirm)

//&amp;nbsp;按钮点击事件
button.setOnClickListener&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;收起软键盘
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;KeyboardUtils.hideSoftKeyboard(editText)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;执行你的按钮逻辑
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;...
}&lt;/pre&gt;&lt;/div&gt;&lt;h5 id=&quot;hIfd-1768534811309&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;5&quot; style=&quot;white-space: pre-wrap; line-height: 1.75; font-size: 14px;&quot;&gt;场景2：点击空白区域收起键盘&lt;/h5&gt;&lt;div yne-bulb-block=&quot;code&quot; data-theme=&quot;default&quot; style=&quot;white-space:pre-wrap;&quot; data-language=&quot;kotlin&quot;&gt;&lt;pre class=&quot;prism-highlight prism-language-groovy&quot;&gt;override&amp;nbsp;fun&amp;nbsp;onCreate(savedInstanceState:&amp;nbsp;Bundle?)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;super.onCreate(savedInstanceState)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;setContentView(R.layout.activity_main)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;editText&amp;nbsp;=&amp;nbsp;findViewById&amp;lt;EditText&amp;gt;(R.id.et_input)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;rootView&amp;nbsp;=&amp;nbsp;findViewById&amp;lt;View&amp;gt;(android.R.id.content)&amp;nbsp;//&amp;nbsp;获取Activity根布局

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;设置点击空白区域收起键盘
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;KeyboardUtils.setupTouchOutsideToHideKeyboard(rootView,&amp;nbsp;editText)
}&lt;/pre&gt;&lt;/div&gt;&lt;h5 id=&quot;rNaH-1768534811332&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;5&quot; style=&quot;white-space: pre-wrap; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;场景3：更优雅的空白区域监听（处理子View）&lt;/span&gt;&lt;/h5&gt;&lt;/article&gt;&lt;article data-content=&quot;[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;WA7F-1768534419930&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;IxDz-1768534419929&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;如果布局中有多个可点击View，上面的方法可能失效，可使用以下方式：&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;rOer-1768534419965&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;language&amp;quot;:&amp;quot;kotlin&amp;quot;,&amp;quot;theme&amp;quot;:&amp;quot;default&amp;quot;,&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;GDB4-1768534419932&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;VvD8-1768534419931&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;override&amp;nbsp;fun&amp;nbsp;dispatchTouchEvent(ev:&amp;nbsp;MotionEvent):&amp;nbsp;Boolean&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;SlHr-1768534419934&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;SPLA-1768534419933&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(ev.action&amp;nbsp;==&amp;nbsp;MotionEvent.ACTION_DOWN)&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1O73-1768534419936&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;GeCM-1768534419935&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;v&amp;nbsp;=&amp;nbsp;currentFocus&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Muv4-1768534419938&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;DlVH-1768534419937&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(v&amp;nbsp;is&amp;nbsp;EditText)&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;f4Q2-1768534419940&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;26R4-1768534419939&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;outRect&amp;nbsp;=&amp;nbsp;Rect()&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;V3Ak-1768534419942&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;MEf4-1768534419941&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;v.getGlobalVisibleRect(outRect)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;rECg-1768534419944&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;v9xt-1768534419943&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(!outRect.contains(ev.rawX.toInt(),&amp;nbsp;ev.rawY.toInt()))&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;TaBb-1768534419946&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4Sur-1768534419945&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;点击输入框外部，收起键盘&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;SDPe-1768534419948&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;73dt-1768534419947&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;KeyboardUtils.hideSoftKeyboard(v)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;b7IU-1768534419950&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;CwEw-1768534419949&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;可选：清除输入框焦点&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Wg0e-1768534419952&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;VZOm-1768534419951&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;v.clearFocus()&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;TNsv-1768534419954&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Kpz5-1768534419953&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;F5wF-1768534419956&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;idlZ-1768534419955&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;h8sX-1768534419958&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;WaoJ-1768534419957&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;dNer-1768534419960&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;dS1u-1768534419959&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;super.dispatchTouchEvent(ev)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;zvL0-1768534419962&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Pc9I-1768534419961&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;M0eu-1768534419964&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;X58Q-1768534419963&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{&amp;quot;tokensPerLine&amp;quot;:[[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;override&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fun&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;dispatchTouchEvent&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;ev&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;MotionEvent&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;Boolean&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;if&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;ev&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;action&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;==&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;MotionEvent&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;ACTION_DOWN&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;v&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;currentFocus&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;if&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;v&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;is&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;EditText&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;outRect&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Rect&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;v&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;getGlobalVisibleRect&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;outRect&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;if&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;!&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;outRect&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;contains&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;ev&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;rawX&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;toInt&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;ev&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;rawY&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;toInt&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;点击输入框外部，收起键盘&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;KeyboardUtils&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;hideSoftKeyboard&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;v&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;可选：清除输入框焦点&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;v&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;clearFocus&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;return&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;super&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;dispatchTouchEvent&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;ev&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[]]}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;aiUe-1768534419993&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Asm5-1768534419966&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;关键说明&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;fGma-1768534419969&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;WJkf-1768534419984&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;kEoL-1768534419968&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;前置条件&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;：确保你的Activity/Fragment中能正确获取到EditText实例&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:1}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;qMw0-1768534419971&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;WJkf-1768534419984&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;rBvh-1768534419970&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;核心API&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;：&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;InputMethodManager.hideSoftInputFromWindow()&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;是Android系统提供的隐藏软键盘的核心方法&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:2}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;PyMW-1768534419973&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;WJkf-1768534419984&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;jSLi-1768534419972&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;焦点处理&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;：如果需要同时清除输入框的焦点，可调用&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;editText.clearFocus()&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:3}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Te6J-1768534419994&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Jyb5-1768534419974&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;总结&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;xfBh-1768534419977&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;iFXD-1768534419985&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;SJ6P-1768534419976&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;通用方案&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;：使用封装的&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;KeyboardUtils&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;工具类，可在任意位置调用&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;hideSoftKeyboard()&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;收起键盘&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:1}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;PdkX-1768534419979&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;iFXD-1768534419985&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;hueM-1768534419978&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;空白区域监听&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;：重写&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;dispatchTouchEvent&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;是最稳定的监听空白区域点击的方式&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:2}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;7AXs-1768534419981&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;iFXD-1768534419985&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;UdNQ-1768534419980&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;按钮点击&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;：直接在按钮的点击事件中调用工具类方法即可快速收起键盘&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:3}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;mPKF-1768534419983&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;3vzm-1768534419982&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;这种实现方式符合Android开发最佳实践，兼容性好，适用于绝大多数场景（包括Activity、Fragment、Dialog等）。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Cbsg-1768534757376&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;WNlq-1768534757377&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}]&quot;&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space: pre-wrap; line-height: 1.75;&quot;&gt;如果布局中有多个可点击View，上面的方法可能失效，可使用以下方式：&lt;/div&gt;&lt;div yne-bulb-block=&quot;code&quot; data-theme=&quot;default&quot; data-language=&quot;kotlin&quot; style=&quot;font-size: medium; white-space: pre-wrap;&quot;&gt;&lt;pre class=&quot;prism-highlight prism-language-groovy&quot;&gt;override&amp;nbsp;fun&amp;nbsp;dispatchTouchEvent(ev:&amp;nbsp;MotionEvent):&amp;nbsp;Boolean&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(ev.action&amp;nbsp;==&amp;nbsp;MotionEvent.ACTION_DOWN)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;v&amp;nbsp;=&amp;nbsp;currentFocus
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(v&amp;nbsp;is&amp;nbsp;EditText)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;outRect&amp;nbsp;=&amp;nbsp;Rect()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;v.getGlobalVisibleRect(outRect)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(!outRect.contains(ev.rawX.toInt(),&amp;nbsp;ev.rawY.toInt()))&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;点击输入框外部，收起键盘
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;KeyboardUtils.hideSoftKeyboard(v)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;可选：清除输入框焦点
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;v.clearFocus()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;super.dispatchTouchEvent(ev)
}&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&quot;HeRh-1768534845257&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space: pre-wrap; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;关键说明&lt;/span&gt;&lt;/h3&gt;&lt;div style=&quot;font-size: medium; text-wrap-mode: wrap;&quot;&gt;&lt;ol yne-block-type=&quot;list&quot; style=&quot;margin-left: 14px;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;前置条件&lt;/span&gt;：确保你的Activity/Fragment中能正确获取到EditText实例&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;核心API&lt;/span&gt;：InputMethodManager.hideSoftInputFromWindow() 是Android系统提供的隐藏软键盘的核心方法&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;焦点处理&lt;/span&gt;：如果需要同时清除输入框的焦点，可调用 editText.clearFocus()&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;h3 id=&quot;EqRv-1768534845265&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space: pre-wrap; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;总结&lt;/span&gt;&lt;/h3&gt;&lt;div style=&quot;font-size: medium; text-wrap-mode: wrap;&quot;&gt;&lt;ol yne-block-type=&quot;list&quot; style=&quot;margin-left: 14px;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;通用方案&lt;/span&gt;：使用封装的KeyboardUtils工具类，可在任意位置调用hideSoftKeyboard()收起键盘&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;空白区域监听&lt;/span&gt;：重写dispatchTouchEvent是最稳定的监听空白区域点击的方式&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;按钮点击&lt;/span&gt;：直接在按钮的点击事件中调用工具类方法即可快速收起键盘&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space: pre-wrap; line-height: 1.75;&quot;&gt;这种实现方式符合Android开发最佳实践，兼容性好，适用于绝大多数场景（包括Activity、Fragment、Dialog等）。&lt;/div&gt;&lt;/article&gt;&lt;p&gt;&lt;span style=&quot;color: #00B050;&quot;&gt;&lt;strong&gt;我的APP最终选择方法3，将代码放到需要代码页就可直接使用&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;</description><pubDate>Fri, 16 Jan 2026 11:35:46 +0800</pubDate></item><item><title>kotlin字符串截取</title><link>https://www.xuzebo.net.cn/?id=30</link><description>&lt;article data-content=&quot;[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;3060-1621846615933&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;p5PQ-1621846617594&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;Kotlin提供了多种灵活的字符串截取方式，既兼容Java风格的&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;substring&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;方法，也有更符合Kotlin简洁风格的便捷方法。下面按使用场景分类讲解：&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;3Bik-1768403389058&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;hyob-1768403388802&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;一、基础截取：substring&amp;nbsp;方法&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;mhdI-1768403388805&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;jMYm-1768403388804&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;这是最通用的截取方式，Kotlin的&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;substring&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;兼容Java的用法，且索引从&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;开始。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Yei1-1768403389059&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h4&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;YFWV-1768403388806&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;1.&amp;nbsp;从指定索引截取到末尾&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4c01-1768403388809&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;sicq-1768403388808&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;语法：&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;str.substring(startIndex:&amp;nbsp;Int)&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;LdHf-1768403388824&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;language&amp;quot;:&amp;quot;kotlin&amp;quot;,&amp;quot;theme&amp;quot;:&amp;quot;tomorrow&amp;quot;,&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Pkw2-1768403388811&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;hbWw-1768403388810&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;fun&amp;nbsp;main()&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;7ykf-1768403388813&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Zt60-1768403388812&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;str&amp;nbsp;=&amp;nbsp;\&amp;quot;Hello&amp;nbsp;Kotlin\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;PKBQ-1768403388815&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;kQje-1768403388814&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;从索引6开始截取（包含6），直到末尾&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;GVPZ-1768403388817&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;GaMp-1768403388816&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;result&amp;nbsp;=&amp;nbsp;str.substring(6)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;FnHi-1768403388819&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;sFBb-1768403388818&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;println(result)&amp;nbsp;//&amp;nbsp;输出：Kotlin&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;bWV7-1768403388821&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Pk1e-1768403388820&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{&amp;quot;tokensPerLine&amp;quot;:[[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fun&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;main&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;str&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;Hello&amp;nbsp;Kotlin\&amp;quot;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;从索引6开始截取（包含6），直到末尾&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;result&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;str&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;substring&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;6&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;println&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;result&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;输出：Kotlin&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}]]}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;bfpQ-1768403389060&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h4&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;8hMR-1768403388825&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;2.&amp;nbsp;截取指定索引范围（左闭右开）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;NgsJ-1768403388828&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;moeW-1768403388827&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;语法：&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;str.substring(startIndex:&amp;nbsp;Int,&amp;nbsp;endIndex:&amp;nbsp;Int)&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;n4Vg-1768403388830&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;DtZ2-1768403389056&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;unordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;JbvW-1768403388829&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;startIndex&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;：起始索引（包含）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:1}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Hggm-1768403388832&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;DtZ2-1768403389056&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;unordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;l41Z-1768403388831&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;endIndex&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;：结束索引（不包含）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}]&quot; style=&quot;font-size: medium; text-wrap-mode: wrap;&quot;&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;Kotlin提供了多种灵活的字符串截取方式，既兼容Java风格的substring方法，也有更符合Kotlin简洁风格的便捷方法。下面按使用场景分类讲解：&lt;/div&gt;&lt;h3 id=&quot;zqVk-1768403637710&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;一、基础截取：substring 方法&lt;/span&gt;&lt;/h3&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;这是最通用的截取方式，Kotlin的substring兼容Java的用法，且索引从0开始。&lt;/div&gt;&lt;h4 id=&quot;hObK-1768403637714&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;4&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;1. 从指定索引截取到末尾&lt;/h4&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;语法：str.substring(startIndex: Int)&lt;/div&gt;&lt;div yne-bulb-block=&quot;code&quot; data-theme=&quot;tomorrow&quot; data-language=&quot;kotlin&quot; style=&quot;white-space-collapse: preserve;&quot;&gt;&lt;pre class=&quot;prism-highlight prism-language-groovy&quot;&gt;fun&amp;nbsp;main()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;str&amp;nbsp;=&amp;nbsp;&amp;quot;Hello&amp;nbsp;Kotlin&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;从索引6开始截取（包含6），直到末尾
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;result&amp;nbsp;=&amp;nbsp;str.substring(6)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;println(result)&amp;nbsp;//&amp;nbsp;输出：Kotlin
}&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&quot;ieud-1768403637732&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;4&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;2. 截取指定索引范围（左闭右开）&lt;/h4&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;语法：str.substring(startIndex: Int, endIndex: Int)&lt;/div&gt;&lt;div&gt;&lt;ul yne-block-type=&quot;list&quot; style=&quot;margin-left: 14px;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;startIndex：起始索引（包含）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;endIndex：结束索引（不包含）&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/article&gt;&lt;article data-content=&quot;[]&quot;&gt;&lt;/article&gt;&lt;article data-content=&quot;[]&quot;&gt;&lt;/article&gt;&lt;article data-content=&quot;[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;kJ5T-1768403388847&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;language&amp;quot;:&amp;quot;kotlin&amp;quot;,&amp;quot;theme&amp;quot;:&amp;quot;tomorrow&amp;quot;,&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;8XQH-1768403388834&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;tnjx-1768403388833&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;fun&amp;nbsp;main()&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ExmF-1768403388836&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ES0M-1768403388835&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;str&amp;nbsp;=&amp;nbsp;\&amp;quot;Hello&amp;nbsp;Kotlin\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;nnaV-1768403388838&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Yjg3-1768403388837&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;截取索引0到5的字符（包含0，不包含5）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;CAQr-1768403388840&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;EOjD-1768403388839&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;result&amp;nbsp;=&amp;nbsp;str.substring(0,&amp;nbsp;5)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;j7gv-1768403388842&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;0Giq-1768403388841&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;println(result)&amp;nbsp;//&amp;nbsp;输出：Hello&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;tjKW-1768403388844&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;t9yp-1768403388843&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;m8ps-1768403388849&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4hCs-1768403388848&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;注意&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;：如果索引超出字符串长度，会抛出&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;StringIndexOutOfBoundsException&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;，建议使用前判断索引合法性：&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;t6xp-1768403388862&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;language&amp;quot;:&amp;quot;kotlin&amp;quot;,&amp;quot;theme&amp;quot;:&amp;quot;tomorrow&amp;quot;,&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ZKGA-1768403388851&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;l62h-1768403388850&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;fun&amp;nbsp;safeSubstring(str:&amp;nbsp;String,&amp;nbsp;start:&amp;nbsp;Int,&amp;nbsp;end:&amp;nbsp;Int):&amp;nbsp;String&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;PKbF-1768403388853&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;8erN-1768403388852&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;safeStart&amp;nbsp;=&amp;nbsp;maxOf(0,&amp;nbsp;start)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;S1fP-1768403388855&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;w2Mo-1768403388854&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;safeEnd&amp;nbsp;=&amp;nbsp;minOf(str.length,&amp;nbsp;end)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;wNkK-1768403388857&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;fotS-1768403388856&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;if&amp;nbsp;(safeStart&amp;nbsp;&amp;lt;&amp;nbsp;safeEnd)&amp;nbsp;str.substring(safeStart,&amp;nbsp;safeEnd)&amp;nbsp;else&amp;nbsp;\&amp;quot;\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;J60S-1768403388859&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;8CuS-1768403388858&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{&amp;quot;tokensPerLine&amp;quot;:[[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fun&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;safeSubstring&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;str&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;String&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;start&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;Int&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;end&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;Int&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;String&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;safeStart&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;maxOf&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;0&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;start&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;safeEnd&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;minOf&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;str&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;length&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;end&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;return&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;if&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;safeStart&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;safeEnd&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;str&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;substring&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;safeStart&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;safeEnd&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;else&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;\&amp;quot;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}]]}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;kF2M-1768403389061&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;X5Bj-1768403388863&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;二、便捷截取：take/drop&amp;nbsp;系列（推荐）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;6qYh-1768403388866&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ulFj-1768403388865&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;Kotlin提供了更简洁、更安全的截取方法，无需担心索引越界：&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;klLe-1768403388926&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;colsWidth&amp;quot;:[170.19047619047618,220.66666666666666,376.8571428571428],&amp;quot;rowsHeight&amp;quot;:[40,40,40,40,40],&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;iIHh-1768403388876&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-row&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;43RK-1768403388869&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;SF4e-1768403388868&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;fATy-1768403388867&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;方法&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;C0X5-1768403388872&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;n9l1-1768403388871&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Y3bK-1768403388870&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;功能描述&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1Scd-1768403388875&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Gm8O-1768403388874&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;TdGS-1768403388873&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;示例（str&amp;nbsp;=&amp;nbsp;\&amp;quot;Hello&amp;nbsp;Kotlin\&amp;quot;）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;cVIt-1768403388889&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-row&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;KDr7-1768403388879&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;brmo-1768403388878&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;BfMo-1768403388877&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;take(n:&amp;nbsp;Int)&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;SMuF-1768403388882&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;cOmu-1768403388881&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;hE1h-1768403388880&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;截取前n个字符&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Adax-1768403388888&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;3bQL-1768403388884&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;5ZOx-1768403388883&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;str.take(5)&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;→&amp;nbsp;\&amp;quot;Hello\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;qfUL-1768403388901&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-row&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;3Mmc-1768403388892&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;HRQa-1768403388891&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;hEp7-1768403388890&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;takeLast(n:&amp;nbsp;Int)&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;xjHn-1768403388895&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;WZye-1768403388894&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;GicH-1768403388893&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;截取最后n个字符&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;U6gR-1768403388900&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;rH74-1768403388897&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;xEte-1768403388896&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;str.takeLast(6)&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;→&amp;nbsp;\&amp;quot;Kotlin\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;pDtR-1768403388913&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-row&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;3qxa-1768403388904&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Zc2H-1768403388903&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;JYds-1768403388902&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;drop(n:&amp;nbsp;Int)&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;XpUw-1768403388907&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;tFZk-1768403388906&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;zhWV-1768403388905&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;丢弃前n个字符，返回剩余部分&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;TNj4-1768403388912&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;inFI-1768403388909&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;jWdR-1768403388908&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;str.drop(6)&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;→&amp;nbsp;\&amp;quot;Kotlin\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;iVP6-1768403388925&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-row&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;MpK2-1768403388916&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;SiCe-1768403388915&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;BOm9-1768403388914&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;dropLast(n:&amp;nbsp;Int)&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;hWh0-1768403388919&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;g42E-1768403388918&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;S5rR-1768403388917&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;丢弃最后n个字符，返回剩余部分&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;8JkN-1768403388924&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ax6E-1768403388921&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4zgF-1768403388920&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;str.dropLast(6)&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;→&amp;nbsp;\&amp;quot;Hello&amp;nbsp;\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;dJw2-1768403388928&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;lT6q-1768403388927&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;示例代码：&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Zkmx-1768403388957&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;language&amp;quot;:&amp;quot;kotlin&amp;quot;,&amp;quot;theme&amp;quot;:&amp;quot;tomorrow&amp;quot;,&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Ouj1-1768403388930&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;6MKk-1768403388929&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;fun&amp;nbsp;main()&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ZEwZ-1768403388932&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;La5k-1768403388931&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;str&amp;nbsp;=&amp;nbsp;\&amp;quot;Hello&amp;nbsp;Kotlin\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;9VeA-1768403388934&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;mSlA-1768403388933&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;VXNo-1768403388936&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1pIK-1768403388935&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;takeResult&amp;nbsp;=&amp;nbsp;str.take(5)&amp;nbsp;//&amp;nbsp;前5个字符&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;BUcg-1768403388938&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;DGKZ-1768403388937&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;takeLastResult&amp;nbsp;=&amp;nbsp;str.takeLast(6)&amp;nbsp;//&amp;nbsp;最后6个字符&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;i8SV-1768403388940&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;5H9o-1768403388939&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;dropResult&amp;nbsp;=&amp;nbsp;str.drop(6)&amp;nbsp;//&amp;nbsp;丢弃前6个&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;sy0L-1768403388942&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;pTmN-1768403388941&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;dropLastResult&amp;nbsp;=&amp;nbsp;str.dropLast(6)&amp;nbsp;//&amp;nbsp;丢弃最后6个&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;hKYQ-1768403388944&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;f1Kf-1768403388943&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;8Q0d-1768403388946&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ENNr-1768403388945&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;println(takeResult)&amp;nbsp;//&amp;nbsp;Hello&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;UiFN-1768403388948&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Cpjl-1768403388947&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;println(takeLastResult)&amp;nbsp;//&amp;nbsp;Kotlin&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;oPCV-1768403388950&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;vx3h-1768403388949&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;println(dropResult)&amp;nbsp;//&amp;nbsp;Kotlin&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;W6Vq-1768403388952&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;P8tF-1768403388951&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;println(dropLastResult)&amp;nbsp;//&amp;nbsp;Hello&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Yy8I-1768403388954&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;JWpf-1768403388953&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{&amp;quot;tokensPerLine&amp;quot;:[[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fun&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;main&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;str&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;Hello&amp;nbsp;Kotlin\&amp;quot;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;takeResult&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;str&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;take&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;5&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;前5个字符&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;takeLastResult&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;str&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;takeLast&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;6&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;最后6个字符&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;dropResult&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;str&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;drop&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;6&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;丢弃前6个&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;dropLastResult&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;str&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;dropLast&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;6&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;丢弃最后6个&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;println&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;takeResult&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;Hello&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;println&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;takeLastResult&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;Kotlin&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;println&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;dropResult&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;Kotlin&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;println&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;dropLastResult&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;Hello&amp;nbsp;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}]]}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;2O8a-1768403389062&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;zBg8-1768403388958&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;三、按分隔符截取：substringBefore/After&amp;nbsp;系列&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;K6OP-1768403388961&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;t5G8-1768403388960&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;适合按特定字符/字符串分割截取，比如处理路径、URL、拼接字符串等场景：&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;dNGH-1768403389021&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;colsWidth&amp;quot;:[267.33333333333326,220.66666666666666,362.57142857142856],&amp;quot;rowsHeight&amp;quot;:[40,40,40,40,40],&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;J0HG-1768403388972&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-row&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ONIJ-1768403388964&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Xhv8-1768403388963&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;kCE9-1768403388962&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;方法&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;pNk8-1768403388967&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;JBaN-1768403388966&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;yQmp-1768403388965&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;功能描述&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;s3Ej-1768403388970&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;N3cU-1768403388969&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;thsH-1768403388968&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;示例（str&amp;nbsp;=&amp;nbsp;\&amp;quot;user:123456:admin\&amp;quot;）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Jrqq-1768403388984&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-row&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Z6ct-1768403388975&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;k5z2-1768403388974&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;IwQH-1768403388973&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;substringBefore(delimiter)&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1u3J-1768403388978&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;mDAj-1768403388977&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;up0v-1768403388976&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;截取第一个分隔符之前的部分&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;CKlJ-1768403388983&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;45UA-1768403388980&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;DxWR-1768403388979&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;str.substringBefore(\&amp;quot;:\&amp;quot;)&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;→&amp;nbsp;\&amp;quot;user\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;CbbF-1768403388996&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-row&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;dzIv-1768403388987&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;fnxi-1768403388986&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ondZ-1768403388985&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;substringAfter(delimiter)&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;L9Af-1768403388990&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ZElv-1768403388989&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4YsQ-1768403388988&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;截取第一个分隔符之后的部分&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;VEv8-1768403388995&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;aLoU-1768403388992&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;YbK7-1768403388991&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;str.substringAfter(\&amp;quot;:\&amp;quot;)&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;→&amp;nbsp;\&amp;quot;123456:admin\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Q4L2-1768403389008&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-row&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;jGE4-1768403388999&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;vnhC-1768403388998&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;s7s9-1768403388997&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;substringBeforeLast(delimiter)&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Zljg-1768403389002&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;INOR-1768403389001&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;BLo5-1768403389000&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;截取最后一个分隔符之前的部分&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Zwl7-1768403389007&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;dUQI-1768403389004&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;bGjz-1768403389003&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;str.substringBeforeLast(\&amp;quot;:\&amp;quot;)&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;→&amp;nbsp;\&amp;quot;user:123456\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;30Co-1768403389020&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-row&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;WrAe-1768403389011&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;FlSn-1768403389010&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;p3aW-1768403389009&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;substringAfterLast(delimiter)&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;cw4B-1768403389014&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;KyoS-1768403389013&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;aF8p-1768403389012&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;截取最后一个分隔符之后的部分&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;CRXr-1768403389019&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;table-cell&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;TO6Z-1768403389016&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ryzx-1768403389015&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;str.substringAfterLast(\&amp;quot;:\&amp;quot;)&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;→&amp;nbsp;\&amp;quot;admin\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;OnnD-1768403389023&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;xjCc-1768403389022&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;示例代码：&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;mjZm-1768403389044&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;language&amp;quot;:&amp;quot;kotlin&amp;quot;,&amp;quot;theme&amp;quot;:&amp;quot;tomorrow&amp;quot;,&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Zun2-1768403389025&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;wpVd-1768403389024&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;fun&amp;nbsp;main()&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;K2FT-1768403389027&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4ymx-1768403389026&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;str&amp;nbsp;=&amp;nbsp;\&amp;quot;user:123456:admin\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;wXod-1768403389029&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Hde5-1768403389028&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;NccD-1768403389031&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;RMeN-1768403389030&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;beforeFirst&amp;nbsp;=&amp;nbsp;str.substringBefore(\&amp;quot;:\&amp;quot;)&amp;nbsp;//&amp;nbsp;第一个:之前&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;LZe4-1768403389033&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;jzP7-1768403389032&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;afterLast&amp;nbsp;=&amp;nbsp;str.substringAfterLast(\&amp;quot;:\&amp;quot;)&amp;nbsp;//&amp;nbsp;最后一个:之后&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;iCW7-1768403389035&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;KH2g-1768403389034&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1qNw-1768403389037&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;lqvp-1768403389036&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;println(beforeFirst)&amp;nbsp;//&amp;nbsp;user&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;7vjU-1768403389039&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;wWHG-1768403389038&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;println(afterLast)&amp;nbsp;//&amp;nbsp;admin&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;URqt-1768403389041&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;pjXT-1768403389040&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{&amp;quot;tokensPerLine&amp;quot;:[[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fun&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;main&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;str&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;user:123456:admin\&amp;quot;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;beforeFirst&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;str&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;substringBefore&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;:\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;第一个:之前&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;afterLast&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;str&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;substringAfterLast&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;:\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;最后一个:之后&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;println&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;beforeFirst&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;user&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;println&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;afterLast&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;admin&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}]]}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;HjEu-1768403389063&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;53U1-1768403389045&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;总结&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;pQpU-1768403389048&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;rDTe-1768403389057&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;qd3y-1768403389047&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;基础截取&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;：&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;substring&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;适合精确控制索引范围，但需手动处理索引越界问题；&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:1}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;mBMm-1768403389050&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;rDTe-1768403389057&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;gTwP-1768403389049&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;便捷截取&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;：&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;take/drop&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;系列更简洁安全，优先推荐日常使用；&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:2}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;jHeg-1768403389052&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;rDTe-1768403389057&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;2e1O-1768403389051&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;分隔符截取&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;：&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;substringBefore/After&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;系列专为按分隔符截取设计，场景适配性更强。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:3}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;lP14-1768403389054&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;style&amp;quot;:{},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;qSnD-1768403389053&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;所有截取方法返回的都是&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;新字符串&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;（Kotlin字符串不可变），原字符串不会被修改。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}]&quot; style=&quot;font-size: medium; text-wrap-mode: wrap;&quot;&gt;&lt;div yne-bulb-block=&quot;code&quot; data-theme=&quot;tomorrow&quot; data-language=&quot;kotlin&quot; style=&quot;white-space-collapse: preserve;&quot;&gt;&lt;pre class=&quot;prism-highlight prism-language-groovy&quot;&gt;fun&amp;nbsp;main()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;str&amp;nbsp;=&amp;nbsp;&amp;quot;Hello&amp;nbsp;Kotlin&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;截取索引0到5的字符（包含0，不包含5）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;result&amp;nbsp;=&amp;nbsp;str.substring(0,&amp;nbsp;5)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;println(result)&amp;nbsp;//&amp;nbsp;输出：Hello
}&lt;/pre&gt;&lt;/div&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;注意&lt;/span&gt;：如果索引超出字符串长度，会抛出StringIndexOutOfBoundsException，建议使用前判断索引合法性：&lt;/div&gt;&lt;div yne-bulb-block=&quot;code&quot; data-theme=&quot;tomorrow&quot; data-language=&quot;kotlin&quot; style=&quot;white-space-collapse: preserve;&quot;&gt;&lt;pre class=&quot;prism-highlight prism-language-groovy&quot;&gt;fun&amp;nbsp;safeSubstring(str:&amp;nbsp;String,&amp;nbsp;start:&amp;nbsp;Int,&amp;nbsp;end:&amp;nbsp;Int):&amp;nbsp;String&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;safeStart&amp;nbsp;=&amp;nbsp;maxOf(0,&amp;nbsp;start)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;safeEnd&amp;nbsp;=&amp;nbsp;minOf(str.length,&amp;nbsp;end)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;if&amp;nbsp;(safeStart&amp;nbsp;&amp;lt;&amp;nbsp;safeEnd)&amp;nbsp;str.substring(safeStart,&amp;nbsp;safeEnd)&amp;nbsp;else&amp;nbsp;&amp;quot;&amp;quot;
}&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&quot;7fy7-1768403682469&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;二、便捷截取：take/drop 系列（推荐）&lt;/span&gt;&lt;/h3&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;Kotlin提供了更简洁、更安全的截取方法，无需担心索引越界：&lt;/div&gt;&lt;div yne-bulb-block=&quot;table&quot; style=&quot;overflow: auto;&quot;&gt;&lt;table width=&quot;0&quot;&gt;&lt;colgroup&gt;&lt;col style=&quot;width: 170.19px;&quot;/&gt;&lt;col style=&quot;width: 220.667px;&quot;/&gt;&lt;col style=&quot;width: 376.857px;&quot;/&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 40px;&quot; class=&quot;firstRow&quot;&gt;&lt;td data-cell-id=&quot;BVn0-1768403682474&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; font-size: 14px; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;方法&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;Q5JY-1768403682477&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; font-size: 14px; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;功能描述&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;OzKx-1768403682480&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; font-size: 14px; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;示例（str = &amp;quot;Hello Kotlin&amp;quot;）&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 40px;&quot;&gt;&lt;td data-cell-id=&quot;mEv5-1768403682484&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; font-size: 14px; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;take(n: Int)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;NfLB-1768403682487&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; font-size: 14px; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;截取前n个字符&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;4UwE-1768403682490&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; font-size: 14px; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;str.take(5)&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt; → &amp;quot;Hello&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 40px;&quot;&gt;&lt;td data-cell-id=&quot;tACG-1768403682494&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; font-size: 14px; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;takeLast(n: Int)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;VidK-1768403682497&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; font-size: 14px; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;截取最后n个字符&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;R3eA-1768403682500&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; font-size: 14px; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;str.takeLast(6)&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt; → &amp;quot;Kotlin&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 40px;&quot;&gt;&lt;td data-cell-id=&quot;Aa1B-1768403682505&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; font-size: 14px; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;drop(n: Int)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;C7Vp-1768403682508&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; font-size: 14px; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;丢弃前n个字符，返回剩余部分&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;DsE5-1768403682511&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; font-size: 14px; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;str.drop(6)&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt; → &amp;quot;Kotlin&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 40px;&quot;&gt;&lt;td data-cell-id=&quot;8TnD-1768403682515&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; font-size: 14px; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;dropLast(n: Int)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;oSv1-1768403682518&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; font-size: 14px; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;丢弃最后n个字符，返回剩余部分&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;EObq-1768403682521&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; font-size: 14px; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;str.dropLast(6)&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt; → &amp;quot;Hello &amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;示例代码：&lt;/div&gt;&lt;div yne-bulb-block=&quot;code&quot; data-theme=&quot;tomorrow&quot; data-language=&quot;kotlin&quot; style=&quot;white-space-collapse: preserve;&quot;&gt;&lt;pre class=&quot;prism-highlight prism-language-groovy&quot;&gt;fun&amp;nbsp;main()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;str&amp;nbsp;=&amp;nbsp;&amp;quot;Hello&amp;nbsp;Kotlin&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;takeResult&amp;nbsp;=&amp;nbsp;str.take(5)&amp;nbsp;//&amp;nbsp;前5个字符
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;takeLastResult&amp;nbsp;=&amp;nbsp;str.takeLast(6)&amp;nbsp;//&amp;nbsp;最后6个字符
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;dropResult&amp;nbsp;=&amp;nbsp;str.drop(6)&amp;nbsp;//&amp;nbsp;丢弃前6个
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;dropLastResult&amp;nbsp;=&amp;nbsp;str.dropLast(6)&amp;nbsp;//&amp;nbsp;丢弃最后6个
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;println(takeResult)&amp;nbsp;//&amp;nbsp;Hello
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;println(takeLastResult)&amp;nbsp;//&amp;nbsp;Kotlin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;println(dropResult)&amp;nbsp;//&amp;nbsp;Kotlin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;println(dropLastResult)&amp;nbsp;//&amp;nbsp;Hello&amp;nbsp;
}&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&quot;IBEQ-1768403682554&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;三、按分隔符截取：substringBefore/After 系列&lt;/span&gt;&lt;/h3&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;适合按特定字符/字符串分割截取，比如处理路径、URL、拼接字符串等场景：&lt;/div&gt;&lt;div yne-bulb-block=&quot;table&quot; style=&quot;overflow: auto;&quot;&gt;&lt;table width=&quot;0&quot;&gt;&lt;colgroup&gt;&lt;col style=&quot;width: 267.333px;&quot;/&gt;&lt;col style=&quot;width: 220.667px;&quot;/&gt;&lt;col style=&quot;width: 362.571px;&quot;/&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 40px;&quot; class=&quot;firstRow&quot;&gt;&lt;td data-cell-id=&quot;XoYR-1768403682559&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; font-size: 14px; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;方法&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;xVNS-1768403682562&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; font-size: 14px; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;功能描述&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;M2W7-1768403682565&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; font-size: 14px; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;示例（str = &amp;quot;user:123456:admin&amp;quot;）&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 40px;&quot;&gt;&lt;td data-cell-id=&quot;mKPD-1768403682569&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; font-size: 14px; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;substringBefore(delimiter)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;rRIE-1768403682572&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; font-size: 14px; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;截取第一个分隔符之前的部分&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;IEuT-1768403682575&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; font-size: 14px; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;str.substringBefore(&amp;quot;:&amp;quot;)&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt; → &amp;quot;user&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 40px;&quot;&gt;&lt;td data-cell-id=&quot;M7Th-1768403682579&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; font-size: 14px; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;substringAfter(delimiter)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;2h90-1768403682582&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; font-size: 14px; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;截取第一个分隔符之后的部分&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;0lIi-1768403682585&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; font-size: 14px; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;str.substringAfter(&amp;quot;:&amp;quot;)&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt; → &amp;quot;123456:admin&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 40px;&quot;&gt;&lt;td data-cell-id=&quot;d5DZ-1768403682589&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; font-size: 14px; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;substringBeforeLast(delimiter)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;RMgd-1768403682592&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; font-size: 14px; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;截取最后一个分隔符之前的部分&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;C5Uk-1768403682595&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; font-size: 14px; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;str.substringBeforeLast(&amp;quot;:&amp;quot;)&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt; → &amp;quot;user:123456&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 40px;&quot;&gt;&lt;td data-cell-id=&quot;UwDm-1768403682599&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; font-size: 14px; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;substringAfterLast(delimiter)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;tWXy-1768403682602&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; font-size: 14px; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;截取最后一个分隔符之后的部分&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td data-cell-id=&quot;wSJY-1768403682605&quot; style=&quot;border-color: rgb(167, 167, 167); overflow: hidden; font-size: 14px; overflow-wrap: break-word; white-space: pre-wrap; color: rgb(57, 57, 57);&quot;&gt;&lt;div class=&quot;table-cell-line&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt;str.substringAfterLast(&amp;quot;:&amp;quot;)&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Microsoft YaHei&amp;quot;, STXihei; color: #000000;&quot;&gt; → &amp;quot;admin&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;示例代码：&lt;/div&gt;&lt;div yne-bulb-block=&quot;code&quot; data-theme=&quot;tomorrow&quot; data-language=&quot;kotlin&quot; style=&quot;white-space-collapse: preserve;&quot;&gt;&lt;pre class=&quot;prism-highlight prism-language-groovy&quot;&gt;fun&amp;nbsp;main()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;str&amp;nbsp;=&amp;nbsp;&amp;quot;user:123456:admin&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;beforeFirst&amp;nbsp;=&amp;nbsp;str.substringBefore(&amp;quot;:&amp;quot;)&amp;nbsp;//&amp;nbsp;第一个:之前
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;afterLast&amp;nbsp;=&amp;nbsp;str.substringAfterLast(&amp;quot;:&amp;quot;)&amp;nbsp;//&amp;nbsp;最后一个:之后
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;println(beforeFirst)&amp;nbsp;//&amp;nbsp;user
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;println(afterLast)&amp;nbsp;//&amp;nbsp;admin
}&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&quot;ZBHB-1768403682631&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;总结&lt;/span&gt;&lt;/h3&gt;&lt;div&gt;&lt;ol yne-block-type=&quot;list&quot; style=&quot;margin-left: 14px;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;基础截取&lt;/span&gt;：substring 适合精确控制索引范围，但需手动处理索引越界问题；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;便捷截取&lt;/span&gt;：take/drop 系列更简洁安全，优先推荐日常使用；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;分隔符截取&lt;/span&gt;：substringBefore/After 系列专为按分隔符截取设计，场景适配性更强。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;所有截取方法返回的都是&lt;span style=&quot;font-weight: bold;&quot;&gt;新字符串&lt;/span&gt;（Kotlin字符串不可变），原字符串不会被修改。&lt;/div&gt;&lt;/article&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Wed, 14 Jan 2026 23:13:45 +0800</pubDate></item><item><title>kotlin下拉刷新在fragment中使用</title><link>https://www.xuzebo.net.cn/?id=29</link><description>&lt;article data-content=&quot;[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;3060-1621846615933&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;p5PQ-1621846617594&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;在&amp;nbsp;Kotlin&amp;nbsp;的&amp;nbsp;Fragment&amp;nbsp;中实现下拉刷新功能，Android&amp;nbsp;官方推荐使用&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;SwipeRefreshLayout&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;backgroundColor&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;rgba(0,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;0.06)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:16},{&amp;quot;type&amp;quot;:&amp;quot;fontFamily&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;Courier&amp;nbsp;New&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;组件来完成，它能完美适配&amp;nbsp;Fragment&amp;nbsp;场景，下面我将详细讲解完整的实现步骤和代码示例。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;9kta-1767496481583&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{&amp;quot;fontWeight&amp;quot;:&amp;quot;bold&amp;quot;,&amp;quot;color&amp;quot;:&amp;quot;#000000&amp;quot;,&amp;quot;fontSize&amp;quot;:16},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;jIf0-1767496481165&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;一、核心组件说明&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;xmNr-1767496481168&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;bGM2-1767496481167&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;实现下拉刷新的核心组件是&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;androidx.swiperefreshlayout.widget.SwipeRefreshLayout&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;backgroundColor&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;rgba(0,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;0.06)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:16},{&amp;quot;type&amp;quot;:&amp;quot;fontFamily&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;Courier&amp;nbsp;New&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;（属于&amp;nbsp;AndroidX&amp;nbsp;库，需确保项目已引入&amp;nbsp;AndroidX&amp;nbsp;依赖），它通过包裹可滚动视图（如&amp;nbsp;RecyclerView、ScrollView）来提供下拉刷新能力，且对&amp;nbsp;Fragment&amp;nbsp;的生命周期兼容性极佳。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;R6e3-1767496481584&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{&amp;quot;fontWeight&amp;quot;:&amp;quot;bold&amp;quot;,&amp;quot;color&amp;quot;:&amp;quot;#000000&amp;quot;,&amp;quot;fontSize&amp;quot;:16},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;YUko-1767496481169&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;二、步骤&amp;nbsp;1：编写&amp;nbsp;Fragment&amp;nbsp;布局文件&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ivxn-1767496481173&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;7Gz5-1767496481172&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;布局中需以&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;SwipeRefreshLayout&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;backgroundColor&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;rgba(0,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;0.06)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:16},{&amp;quot;type&amp;quot;:&amp;quot;fontFamily&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;Courier&amp;nbsp;New&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;作为根布局（或外层布局），&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;它只能包含一个直接子视图&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:16}]},{&amp;quot;text&amp;quot;:&amp;quot;（通常是&amp;nbsp;RecyclerView，用于展示刷新的数据列表），示例布局如下（&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;fragment_refresh.xml&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;backgroundColor&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;rgba(0,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;0.06)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:16},{&amp;quot;type&amp;quot;:&amp;quot;fontFamily&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;Courier&amp;nbsp;New&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;）：&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}]&quot;&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space: pre-wrap; line-height: 1.75;&quot;&gt;在 Kotlin 的 Fragment 中实现下拉刷新功能，Android 官方推荐使用&amp;nbsp;&lt;span style=&quot;background-color: rgba(0, 0, 0, 0.06); font-size: inherit; font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;SwipeRefreshLayout&lt;/span&gt;&amp;nbsp;组件来完成，它能完美适配 Fragment 场景，下面我将详细讲解完整的实现步骤和代码示例。&lt;/div&gt;&lt;h3 id=&quot;eEZD-1767496539806&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space: pre-wrap; line-height: 1.75; font-size: 16px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;一、核心组件说明&lt;/span&gt;&lt;/h3&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space: pre-wrap; line-height: 1.75;&quot;&gt;实现下拉刷新的核心组件是&amp;nbsp;&lt;span style=&quot;background-color: rgba(0, 0, 0, 0.06); font-size: inherit; font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;androidx.swiperefreshlayout.widget.SwipeRefreshLayout&lt;/span&gt;（属于 AndroidX 库，需确保项目已引入 AndroidX 依赖），它通过包裹可滚动视图（如 RecyclerView、ScrollView）来提供下拉刷新能力，且对 Fragment 的生命周期兼容性极佳。&lt;/div&gt;&lt;h3 id=&quot;0AKP-1767496539810&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space: pre-wrap; line-height: 1.75; font-size: 16px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;二、步骤 1：编写 Fragment 布局文件&lt;/span&gt;&lt;/h3&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space: pre-wrap; line-height: 1.75;&quot;&gt;布局中需以&amp;nbsp;&lt;span style=&quot;background-color: rgba(0, 0, 0, 0.06); font-size: inherit; font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;SwipeRefreshLayout&lt;/span&gt;&amp;nbsp;作为根布局（或外层布局），&lt;span style=&quot;font-weight: bold; font-size: inherit;&quot;&gt;它只能包含一个直接子视图&lt;/span&gt;（通常是 RecyclerView，用于展示刷新的数据列表），示例布局如下（&lt;span style=&quot;background-color: rgba(0, 0, 0, 0.06); font-size: inherit; font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;fragment_refresh.xml&lt;/span&gt;）：&lt;/div&gt;&lt;/article&gt;&lt;article data-content=&quot;[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ivxn-1767496481173&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;7Gz5-1767496481172&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;iY2I-1767496481215&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;language&amp;quot;:&amp;quot;xml&amp;quot;,&amp;quot;theme&amp;quot;:&amp;quot;tomorrow&amp;quot;,&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;KKlh-1767496481182&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;aD4F-1767496481181&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;lt;?xml&amp;nbsp;version=\&amp;quot;1.0\&amp;quot;&amp;nbsp;encoding=\&amp;quot;utf-8\&amp;quot;?&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;tYWb-1767496481184&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;VP59-1767496481183&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;lt;!--&amp;nbsp;下拉刷新核心布局：SwipeRefreshLayout&amp;nbsp;--&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;dkwd-1767496481186&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;zTQ1-1767496481185&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;lt;androidx.swiperefreshlayout.widget.SwipeRefreshLayout&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;AMin-1767496481188&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;FlB0-1767496481187&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlns:android=\&amp;quot;http://schemas.android.com/apk/res/android\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;7PMI-1767496481190&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;oCyI-1767496481189&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:id=\&amp;quot;@+id/swipe_refresh_layout\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;BrZ7-1767496481192&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;uDnz-1767496481191&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:layout_width=\&amp;quot;match_parent\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;S3bi-1767496481194&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ehIc-1767496481193&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:layout_height=\&amp;quot;match_parent\&amp;quot;&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;BFFn-1767496481196&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;dQE7-1767496481195&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;axmg-1767496481198&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;l3e9-1767496481197&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!--&amp;nbsp;可滚动子视图：RecyclerView（唯一直接子视图）&amp;nbsp;--&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;6dEL-1767496481200&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;AJ19-1767496481199&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;androidx.recyclerview.widget.RecyclerView&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;VDKj-1767496481202&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;CKvI-1767496481201&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:id=\&amp;quot;@+id/recycler_view\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;G3Fj-1767496481204&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ki9N-1767496481203&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:layout_width=\&amp;quot;match_parent\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Uihu-1767496481206&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Y7ig-1767496481205&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:layout_height=\&amp;quot;match_parent\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;XTnh-1767496481208&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;7mvp-1767496481207&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:padding=\&amp;quot;8dp\&amp;quot;/&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;9n4K-1767496481210&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Tx1J-1767496481209&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;LkR9-1767496481212&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;odzl-1767496481211&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;lt;/androidx.swiperefreshlayout.widget.SwipeRefreshLayout&amp;gt;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ELjS-1767496481214&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;BiMn-1767496481213&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{&amp;quot;tokensPerLine&amp;quot;:[[{&amp;quot;type&amp;quot;:&amp;quot;prolog&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;?xml&amp;nbsp;version=\&amp;quot;1.0\&amp;quot;&amp;nbsp;encoding=\&amp;quot;utf-8\&amp;quot;?&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;!--&amp;nbsp;下拉刷新核心布局：SwipeRefreshLayout&amp;nbsp;--&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;androidx.swiperefreshlayout.widget.SwipeRefreshLayout&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;namespace&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;xmlns:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;http://schemas.android.com/apk/res/android&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;namespace&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;id&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;@+id/swipe_refresh_layout&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;namespace&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;layout_width&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;match_parent&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;namespace&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;layout_height&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;match_parent&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;!--&amp;nbsp;可滚动子视图：RecyclerView（唯一直接子视图）&amp;nbsp;--&amp;gt;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;androidx.recyclerview.widget.RecyclerView&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;namespace&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;id&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;@+id/recycler_view&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;namespace&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;layout_width&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;match_parent&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;namespace&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;layout_height&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;match_parent&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;namespace&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;android:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-name&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;padding&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;attr-equals&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;attr-value&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;8dp&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;/&amp;gt;&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;/&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;tag&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;androidx.swiperefreshlayout.widget.SwipeRefreshLayout&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;}],[]]}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ojwu-1767496481585&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{&amp;quot;fontWeight&amp;quot;:&amp;quot;bold&amp;quot;,&amp;quot;color&amp;quot;:&amp;quot;#000000&amp;quot;,&amp;quot;fontSize&amp;quot;:16},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;jtMR-1767496481216&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;三、步骤&amp;nbsp;2：Fragment&amp;nbsp;代码实现（Kotlin）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ZAGk-1767496481219&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;G24e-1767496481218&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;使用&amp;nbsp;ViewBinding&amp;nbsp;简化视图操作，核心步骤包括：初始化控件、设置刷新监听、异步处理刷新逻辑、停止刷新动画，完整代码如下：&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;syOD-1767496481586&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h4&amp;quot;,&amp;quot;style&amp;quot;:{&amp;quot;fontWeight&amp;quot;:&amp;quot;bold&amp;quot;,&amp;quot;color&amp;quot;:&amp;quot;#000000&amp;quot;,&amp;quot;fontSize&amp;quot;:16},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;yQUh-1767496481220&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;1.&amp;nbsp;基础配置（启用&amp;nbsp;ViewBinding，可选但推荐）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;FyUo-1767496481223&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;hPPH-1767496481222&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;若未启用&amp;nbsp;ViewBinding，需在模块&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;build.gradle&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;backgroundColor&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;rgba(0,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;0.06)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:16},{&amp;quot;type&amp;quot;:&amp;quot;fontFamily&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;Courier&amp;nbsp;New&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;（Module&amp;nbsp;级别）中添加配置：&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;eV6D-1767496481245&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;language&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;theme&amp;quot;:&amp;quot;tomorrow&amp;quot;,&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;VYWe-1767496481232&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;hm7g-1767496481231&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;android&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;vGKp-1767496481234&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;3zVR-1767496481233&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;其他配置...&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;yKYn-1767496481236&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Y2oA-1767496481235&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;buildFeatures&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;TFv3-1767496481238&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;OrQZ-1767496481237&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;viewBinding&amp;nbsp;true&amp;nbsp;//&amp;nbsp;启用ViewBinding&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;IIjt-1767496481240&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;65Pk-1767496481239&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;mMV5-1767496481242&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4cZW-1767496481241&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;roe2-1767496481587&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h4&amp;quot;,&amp;quot;style&amp;quot;:{&amp;quot;fontWeight&amp;quot;:&amp;quot;bold&amp;quot;,&amp;quot;color&amp;quot;:&amp;quot;#000000&amp;quot;,&amp;quot;fontSize&amp;quot;:16},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;CAE1-1767496481246&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;2.&amp;nbsp;Fragment&amp;nbsp;完整代码&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;pmCu-1767496481557&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;language&amp;quot;:&amp;quot;kotlin&amp;quot;,&amp;quot;theme&amp;quot;:&amp;quot;tomorrow&amp;quot;,&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;X8lS-1767496481257&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Og7s-1767496481256&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;android.os.Bundle&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;R4Sg-1767496481259&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;3XFr-1767496481258&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;android.view.LayoutInflater&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;07Tc-1767496481261&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;75Hv-1767496481260&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;android.view.View&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Mw6Q-1767496481263&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;7AeA-1767496481262&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;android.view.ViewGroup&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;fj5Y-1767496481265&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;2Sg2-1767496481264&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;androidx.fragment.app.Fragment&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;QSv2-1767496481267&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;cYGB-1767496481266&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;androidx.recyclerview.widget.LinearLayoutManager&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;xlfn-1767496481269&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;QhJs-1767496481268&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;androidx.swiperefreshlayout.widget.SwipeRefreshLayout&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;6O5v-1767496481271&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;PRgZ-1767496481270&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;kotlinx.coroutines.CoroutineScope&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;owRG-1767496481273&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;cXlA-1767496481272&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;kotlinx.coroutines.Dispatchers&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Uf0p-1767496481275&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;SFPe-1767496481274&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;kotlinx.coroutines.delay&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;8Krl-1767496481277&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;igJC-1767496481276&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;kotlinx.coroutines.launch&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;YiO6-1767496481279&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;nyNW-1767496481278&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;kotlinx.coroutines.withContext&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1Yx5-1767496481281&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;fHOz-1767496481280&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;com.xxx.databinding.FragmentRefreshBinding&amp;nbsp;//&amp;nbsp;替换为你的包名&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;PREz-1767496481283&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;WvEU-1767496481282&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4uyI-1767496481285&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;SXob-1767496481284&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;//&amp;nbsp;下拉刷新Fragment&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;OXOU-1767496481287&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;fhuR-1767496481286&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;class&amp;nbsp;RefreshFragment&amp;nbsp;:&amp;nbsp;Fragment()&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;MFP1-1767496481289&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;VW38-1767496481288&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;ViewBinding实例&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;bIem-1767496481291&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;LFCZ-1767496481290&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;var&amp;nbsp;_binding:&amp;nbsp;FragmentRefreshBinding?&amp;nbsp;=&amp;nbsp;null&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;0ZNY-1767496481293&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;g3uH-1767496481292&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;val&amp;nbsp;binding&amp;nbsp;get()&amp;nbsp;=&amp;nbsp;_binding!!&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;LBN5-1767496481295&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;yref-1767496481294&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;kWXn-1767496481297&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;3szo-1767496481296&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;RecyclerView适配器（简单字符串适配器，可自定义）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ZwFa-1767496481299&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Ct8L-1767496481298&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;lateinit&amp;nbsp;var&amp;nbsp;mAdapter:&amp;nbsp;SimpleStringAdapter&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;NtSq-1767496481301&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;qvv1-1767496481300&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;模拟数据列表&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4OUC-1767496481303&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Nncp-1767496481302&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;val&amp;nbsp;dataList&amp;nbsp;=&amp;nbsp;mutableListOf&amp;lt;String&amp;gt;()&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;K5Ko-1767496481305&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;LPuW-1767496481304&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;a52b-1767496481307&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;AQw1-1767496481306&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;override&amp;nbsp;fun&amp;nbsp;onCreateView(&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;17JF-1767496481309&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;aqN9-1767496481308&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;inflater:&amp;nbsp;LayoutInflater,&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;KQlR-1767496481311&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;RKfN-1767496481310&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;container:&amp;nbsp;ViewGroup?,&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Qg2v-1767496481313&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;KWkA-1767496481312&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;savedInstanceState:&amp;nbsp;Bundle?&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;jljw-1767496481315&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;7XxR-1767496481314&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;):&amp;nbsp;View&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;dB7R-1767496481317&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;SlLv-1767496481316&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;初始化ViewBinding&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Q3Jf-1767496481319&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;0POw-1767496481318&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_binding&amp;nbsp;=&amp;nbsp;FragmentRefreshBinding.inflate(inflater,&amp;nbsp;container,&amp;nbsp;false)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;8kNh-1767496481321&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;iR87-1767496481320&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;binding.root&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Xp84-1767496481323&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ohEb-1767496481322&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1H2o-1767496481325&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ZGCE-1767496481324&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;5A3L-1767496481327&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;FNT6-1767496481326&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;override&amp;nbsp;fun&amp;nbsp;onViewCreated(view:&amp;nbsp;View,&amp;nbsp;savedInstanceState:&amp;nbsp;Bundle?)&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;upZA-1767496481329&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;rYVE-1767496481328&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;super.onViewCreated(view,&amp;nbsp;savedInstanceState)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;sz0X-1767496481331&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Dy8q-1767496481330&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;1.&amp;nbsp;初始化RecyclerView&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Us4Z-1767496481333&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Hjj2-1767496481332&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;initRecyclerView()&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;aibi-1767496481335&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;PmJN-1767496481334&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;2.&amp;nbsp;初始化下拉刷新控件&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;06Xw-1767496481337&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;QaXf-1767496481336&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;initSwipeRefreshLayout()&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;RzPm-1767496481339&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4Kda-1767496481338&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;3.&amp;nbsp;初始化模拟数据&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;dGgN-1767496481341&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;efWJ-1767496481340&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;initData()&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Wphp-1767496481344&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;gfae-1767496481342&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;r3cB-1767496481346&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ycfQ-1767496481345&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1RZz-1767496481348&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;WSeK-1767496481347&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4wik-1767496481350&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;2MxG-1767496481349&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;初始化RecyclerView&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;iF7h-1767496481352&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;eBk5-1767496481351&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;nwXS-1767496481354&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;wRW4-1767496481353&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;fun&amp;nbsp;initRecyclerView()&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;D7u7-1767496481356&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;v07S-1767496481355&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;初始化适配器&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;5FwC-1767496481358&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;xMPw-1767496481357&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mAdapter&amp;nbsp;=&amp;nbsp;SimpleStringAdapter(dataList)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;UQMd-1767496481360&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Zk7E-1767496481359&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;设置布局管理器&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;kzvm-1767496481362&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1Gdq-1767496481361&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;binding.recyclerView.layoutManager&amp;nbsp;=&amp;nbsp;LinearLayoutManager(requireContext())&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1ZG3-1767496481364&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;WVH5-1767496481363&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;设置适配器&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1txY-1767496481366&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;0Znh-1767496481365&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;binding.recyclerView.adapter&amp;nbsp;=&amp;nbsp;mAdapter&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;dQpE-1767496481368&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;yA4w-1767496481367&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;PEel-1767496481370&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;JI55-1767496481369&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;hXQd-1767496481372&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;YxhU-1767496481371&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;sBRR-1767496481374&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;EvdW-1767496481373&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;初始化下拉刷新控件&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;IKAr-1767496481376&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;CLIe-1767496481375&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;F0Wh-1767496481378&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Molk-1767496481377&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;fun&amp;nbsp;initSwipeRefreshLayout()&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;vAA7-1767496481380&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;MJ6m-1767496481379&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;可选：设置刷新圈颜色（支持多个颜色，循环显示）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;N2tv-1767496481382&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;leGD-1767496481381&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;binding.swipeRefreshLayout.setColorSchemeResources(&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;QY4H-1767496481384&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1GjW-1767496481383&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android.R.color.holo_blue_light,&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;2Msp-1767496481386&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;lunm-1767496481385&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android.R.color.holo_red_light,&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;s41u-1767496481388&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;sz40-1767496481387&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android.R.color.holo_green_light&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;wOge-1767496481390&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;MjVz-1767496481389&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;C5cx-1767496481392&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;A2zC-1767496481391&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;可选：设置刷新圈大小（DEFAULT&amp;nbsp;/&amp;nbsp;LARGE）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;y9pA-1767496481394&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;VSiv-1767496481393&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;binding.swipeRefreshLayout.setSize(SwipeRefreshLayout.LARGE)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;UDhk-1767496481396&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;egsR-1767496481395&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;B1eD-1767496481398&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;UiWo-1767496481397&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;3.&amp;nbsp;设置下拉刷新监听（核心）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;k4SJ-1767496481400&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;sZMD-1767496481399&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;binding.swipeRefreshLayout.setOnRefreshListener&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;weUv-1767496481402&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;GxmL-1767496481401&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;触发下拉刷新时，执行刷新逻辑&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;sZnW-1767496481404&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;t8DB-1767496481403&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;performRefresh()&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;0Czp-1767496481406&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;0Ldd-1767496481405&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;muhe-1767496481408&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;eIAR-1767496481407&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;fGHX-1767496481410&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;7nag-1767496481409&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;hBoq-1767496481412&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;HL6p-1767496481411&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;xcCy-1767496481414&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Z6Ic-1767496481413&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;执行刷新逻辑（核心：异步处理，避免阻塞主线程）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;F2NA-1767496481416&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;DDrh-1767496481415&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Lgs3-1767496481418&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ljKn-1767496481417&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;fun&amp;nbsp;performRefresh()&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ryD4-1767496481420&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ERBJ-1767496481419&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;使用协程异步处理（Kotlin推荐，也可使用Thread+Handler）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;yMhh-1767496481422&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;64cb-1767496481421&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CoroutineScope(Dispatchers.IO).launch&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;yRnu-1767496481424&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;R5eY-1767496481423&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;模拟耗时操作：如网络请求、数据库查询（延迟2秒模拟耗时）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;aZOZ-1767496481426&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;8qij-1767496481425&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;delay(2000)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ubJy-1767496481428&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4NID-1767496481427&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;刷新数据（模拟新增数据）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;eF4M-1767496481430&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;zTP6-1767496481429&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;newData&amp;nbsp;=&amp;nbsp;\&amp;quot;新增数据${System.currentTimeMillis()&amp;nbsp;/&amp;nbsp;1000}\&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;JHmd-1767496481432&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;lzCf-1767496481431&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dataList.add(0,&amp;nbsp;newData)&amp;nbsp;//&amp;nbsp;插入到列表头部&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;R82E-1767496481434&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Fs6C-1767496481433&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Hsuq-1767496481436&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1MFl-1767496481435&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;切换到主线程更新UI（RecyclerView适配器刷新）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;SAgO-1767496481439&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4gow-1767496481438&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;withContext(Dispatchers.Main)&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;VWDu-1767496481441&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;eEN7-1767496481440&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mAdapter.notifyItemInserted(0)&amp;nbsp;//&amp;nbsp;局部刷新&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;bK9B-1767496481443&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;647n-1767496481442&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;binding.recyclerView.scrollToPosition(0)&amp;nbsp;//&amp;nbsp;滚动到顶部&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1w44-1767496481445&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;BJPA-1767496481444&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;yHgj-1767496481447&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;RGsC-1767496481446&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;4.&amp;nbsp;停止刷新动画（必须调用，否则刷新圈会一直转动）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1p48-1767496481449&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Dmio-1767496481448&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;binding.swipeRefreshLayout.isRefreshing&amp;nbsp;=&amp;nbsp;false&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;FS04-1767496481451&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4Hii-1767496481450&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Xgtw-1767496481453&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;EzVe-1767496481452&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;KH6B-1767496481455&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;e2CB-1767496481454&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;l0vG-1767496481457&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;BOKa-1767496481456&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ECAx-1767496481459&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;kI6X-1767496481458&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;nzgU-1767496481461&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;0grW-1767496481460&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;初始化模拟数据&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;l2jp-1767496481463&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;RnAe-1767496481462&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Ub1d-1767496481465&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;NcJO-1767496481464&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;fun&amp;nbsp;initData()&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;WZDV-1767496481467&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;BZNv-1767496481466&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(i&amp;nbsp;in&amp;nbsp;1..20)&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;AnmY-1767496481469&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;uFpo-1767496481468&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dataList.add(\&amp;quot;原始数据$i\&amp;quot;)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;mzxC-1767496481471&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;NNVw-1767496481470&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;rZDD-1767496481473&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;X5T9-1767496481472&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mAdapter.notifyDataSetChanged()&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;JR18-1767496481475&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;MvUG-1767496481474&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;fe3w-1767496481477&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;RLXs-1767496481476&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;yNxg-1767496481479&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4Jzn-1767496481478&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;zCQe-1767496481481&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;pHiJ-1767496481480&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;销毁视图时，释放ViewBinding，避免内存泄漏&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1hGX-1767496481483&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;hIDU-1767496481482&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Ap4B-1767496481485&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;weZ2-1767496481484&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;override&amp;nbsp;fun&amp;nbsp;onDestroyView()&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ivUF-1767496481487&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;lkRH-1767496481486&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;super.onDestroyView()&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;vW3f-1767496481490&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ppSx-1767496481489&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_binding&amp;nbsp;=&amp;nbsp;null&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;y5FT-1767496481492&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;isAS-1767496481491&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;QjiN-1767496481494&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;BF69-1767496481493&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;AP3u-1767496481496&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;p9Qm-1767496481495&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;YEop-1767496481498&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;JIx7-1767496481497&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;简单的RecyclerView字符串适配器（自定义适配器可替换）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;YxI4-1767496481500&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;L0TM-1767496481499&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;mAIK-1767496481502&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Pz5i-1767496481501&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;inner&amp;nbsp;class&amp;nbsp;SimpleStringAdapter(private&amp;nbsp;val&amp;nbsp;data:&amp;nbsp;List&amp;lt;String&amp;gt;)&amp;nbsp;:&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;DXVb-1767496481504&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;3Foz-1767496481503&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;androidx.recyclerview.widget.RecyclerView.Adapter&amp;lt;SimpleStringAdapter.ViewHolder&amp;gt;()&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;5NS1-1767496481506&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;3c8g-1767496481505&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Tc64-1767496481508&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;pwos-1767496481507&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;inner&amp;nbsp;class&amp;nbsp;ViewHolder(itemView:&amp;nbsp;View)&amp;nbsp;:&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;54Lb-1767496481510&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;w81j-1767496481509&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;androidx.recyclerview.widget.RecyclerView.ViewHolder(itemView)&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;71gD-1767496481512&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;PIMe-1767496481511&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;tvContent:&amp;nbsp;android.widget.TextView&amp;nbsp;=&amp;nbsp;itemView&amp;nbsp;as&amp;nbsp;android.widget.TextView&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;zABX-1767496481514&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;DtfK-1767496481513&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;5U7a-1767496481516&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;HZmD-1767496481515&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;RxmQ-1767496481518&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;cdQm-1767496481517&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;override&amp;nbsp;fun&amp;nbsp;onCreateViewHolder(parent:&amp;nbsp;ViewGroup,&amp;nbsp;viewType:&amp;nbsp;Int):&amp;nbsp;ViewHolder&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Lncc-1767496481520&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;cwRB-1767496481519&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;创建TextView作为列表项&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;jkbM-1767496481522&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;8pXE-1767496481521&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;textView&amp;nbsp;=&amp;nbsp;android.widget.TextView(requireContext())&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;0e4h-1767496481524&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;wMAr-1767496481523&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;textView.layoutParams&amp;nbsp;=&amp;nbsp;androidx.recyclerview.widget.RecyclerView.LayoutParams(&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;j1iZ-1767496481526&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;03WL-1767496481525&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ViewGroup.LayoutParams.MATCH_PARENT,&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;hAed-1767496481528&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;7r15-1767496481527&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ViewGroup.LayoutParams.WRAP_CONTENT&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Wo3y-1767496481530&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;0J2O-1767496481529&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;uCqq-1767496481532&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;S6Nu-1767496481531&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;textView.textSize&amp;nbsp;=&amp;nbsp;16f&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;lQVf-1767496481534&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;UklB-1767496481533&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;textView.setPadding(0,&amp;nbsp;16,&amp;nbsp;0,&amp;nbsp;16)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;20Op-1767496481536&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;3huE-1767496481535&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;ViewHolder(textView)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;pqQy-1767496481538&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;QmIB-1767496481537&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;IguB-1767496481540&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;z1kp-1767496481539&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;I67O-1767496481542&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;XcDT-1767496481541&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;override&amp;nbsp;fun&amp;nbsp;onBindViewHolder(holder:&amp;nbsp;ViewHolder,&amp;nbsp;position:&amp;nbsp;Int)&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;lEO4-1767496481544&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;7QRJ-1767496481543&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;holder.tvContent.text&amp;nbsp;=&amp;nbsp;data[position]&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;2Cqr-1767496481546&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;iwFM-1767496481545&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;RJQy-1767496481548&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;tWJb-1767496481547&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;D8Gt-1767496481550&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;gYjO-1767496481549&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;override&amp;nbsp;fun&amp;nbsp;getItemCount():&amp;nbsp;Int&amp;nbsp;=&amp;nbsp;data.size&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;jW9w-1767496481552&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;GZpF-1767496481551&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;OcLg-1767496481554&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;EMtk-1767496481553&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Tqq4-1767496481556&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Ei2n-1767496481555&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{&amp;quot;tokensPerLine&amp;quot;:[[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;android&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;os&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Bundle&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;android&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;view&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;LayoutInflater&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;android&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;view&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;View&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;android&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;view&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;ViewGroup&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;androidx&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fragment&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;app&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Fragment&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;androidx&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;recyclerview&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;widget&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;LinearLayoutManager&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;androidx&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;swiperefreshlayout&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;widget&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;SwipeRefreshLayout&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;kotlinx&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;coroutines&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;CoroutineScope&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;kotlinx&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;coroutines&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Dispatchers&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;kotlinx&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;coroutines&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;delay&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;kotlinx&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;coroutines&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;launch&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;kotlinx&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;coroutines&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;withContext&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;com&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;xxx&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;databinding&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;FragmentRefreshBinding&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;替换为你的包名&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;下拉刷新Fragment&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;class&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;RefreshFragment&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Fragment&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;ViewBinding实例&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;private&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;var&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;_binding&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;FragmentRefreshBinding&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;?&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;null&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;private&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;binding&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;get&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;_binding&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;!!&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;RecyclerView适配器（简单字符串适配器，可自定义）&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;private&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;lateinit&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;var&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;mAdapter&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;SimpleStringAdapter&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;模拟数据列表&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;private&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;dataList&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;mutableListOf&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;String&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;override&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fun&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;onCreateView&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;inflater&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;LayoutInflater&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;container&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;ViewGroup&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;?&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;savedInstanceState&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;Bundle&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;?&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;View&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;初始化ViewBinding&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_binding&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;FragmentRefreshBinding&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;inflate&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;inflater&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;container&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;boolean&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;false&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;return&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;binding&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;root&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;override&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fun&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;onViewCreated&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;view&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;View&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;savedInstanceState&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;Bundle&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;?&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;super&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;onViewCreated&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;view&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;savedInstanceState&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;1.&amp;nbsp;初始化RecyclerView&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;initRecyclerView&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;2.&amp;nbsp;初始化下拉刷新控件&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;initSwipeRefreshLayout&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;3.&amp;nbsp;初始化模拟数据&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;initData&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;/**&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;初始化RecyclerView&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;private&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fun&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;initRecyclerView&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;初始化适配器&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mAdapter&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;SimpleStringAdapter&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;dataList&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;设置布局管理器&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;binding&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;recyclerView&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;layoutManager&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;LinearLayoutManager&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;requireContext&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;设置适配器&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;binding&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;recyclerView&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;adapter&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;mAdapter&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;/**&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;初始化下拉刷新控件&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;private&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fun&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;initSwipeRefreshLayout&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;可选：设置刷新圈颜色（支持多个颜色，循环显示）&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;binding&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;swipeRefreshLayout&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;setColorSchemeResources&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;R&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;color&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;holo_blue_light&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;R&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;color&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;holo_red_light&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;R&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;color&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;holo_green_light&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;可选：设置刷新圈大小（DEFAULT&amp;nbsp;/&amp;nbsp;LARGE）&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;binding&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;swipeRefreshLayout&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;setSize&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;SwipeRefreshLayout&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;LARGE&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;3.&amp;nbsp;设置下拉刷新监听（核心）&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;binding&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;swipeRefreshLayout&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;setOnRefreshListener&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;触发下拉刷新时，执行刷新逻辑&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;performRefresh&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;/**&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;执行刷新逻辑（核心：异步处理，避免阻塞主线程）&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;private&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fun&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;performRefresh&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;使用协程异步处理（Kotlin推荐，也可使用Thread+Handler）&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;CoroutineScope&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Dispatchers&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;IO&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;launch&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;模拟耗时操作：如网络请求、数据库查询（延迟2秒模拟耗时）&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;delay&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;2000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;刷新数据（模拟新增数据）&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;newData&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;新增数据&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;interpolation-punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;${&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;punctuation&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;expression&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;System&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;currentTimeMillis&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;expression&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;/&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;expression&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;1000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;interpolation-punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;punctuation&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dataList&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;add&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;0&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;newData&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;插入到列表头部&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;切换到主线程更新UI（RecyclerView适配器刷新）&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;withContext&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Dispatchers&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Main&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mAdapter&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;notifyItemInserted&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;0&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;局部刷新&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;binding&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;recyclerView&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;scrollToPosition&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;0&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;滚动到顶部&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;4.&amp;nbsp;停止刷新动画（必须调用，否则刷新圈会一直转动）&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;binding&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;swipeRefreshLayout&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;isRefreshing&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;boolean&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;false&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;/**&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;初始化模拟数据&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;private&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fun&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;initData&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;for&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;i&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;in&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;1&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;..&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;20&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dataList&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;add&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;原始数据&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;interpolation-punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;$&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;punctuation&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;expression&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;i&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mAdapter&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;notifyDataSetChanged&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;/**&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;销毁视图时，释放ViewBinding，避免内存泄漏&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;override&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fun&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;onDestroyView&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;super&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;onDestroyView&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_binding&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;null&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;/**&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;简单的RecyclerView字符串适配器（自定义适配器可替换）&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;inner&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;class&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;SimpleStringAdapter&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;private&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;data&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;List&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;String&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;androidx&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;recyclerview&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;widget&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;RecyclerView&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Adapter&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;lt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;SimpleStringAdapter&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;ViewHolder&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;gt;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;inner&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;class&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;ViewHolder&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;itemView&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;View&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;androidx&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;recyclerview&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;widget&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;RecyclerView&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;ViewHolder&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;itemView&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;tvContent&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;android&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;widget&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;TextView&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;itemView&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;as&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;android&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;widget&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;TextView&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;override&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fun&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;onCreateViewHolder&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;parent&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;ViewGroup&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;viewType&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;Int&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;ViewHolder&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;创建TextView作为列表项&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;textView&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;android&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;widget&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;TextView&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;requireContext&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;textView&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;layoutParams&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;androidx&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;recyclerview&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;widget&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;RecyclerView&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;LayoutParams&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ViewGroup&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;LayoutParams&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;MATCH_PARENT&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ViewGroup&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;LayoutParams&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;WRAP_CONTENT&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;textView&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;textSize&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;16f&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;textView&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;setPadding&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;0&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;16&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;0&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;16&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;return&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;ViewHolder&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;textView&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;override&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fun&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;onBindViewHolder&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;holder&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;ViewHolder&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;,&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;position&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;Int&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;holder&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;tvContent&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;text&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;data&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;[&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;position&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;]&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;override&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fun&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;getItemCount&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;Int&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;data&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;size&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[]]}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;gPDK-1767496481589&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{&amp;quot;fontWeight&amp;quot;:&amp;quot;bold&amp;quot;,&amp;quot;color&amp;quot;:&amp;quot;#000000&amp;quot;,&amp;quot;fontSize&amp;quot;:16},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Hf6s-1767496481558&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;四、关键注意事项&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;N1QQ-1767496481561&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;5bdG-1767496481581&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{&amp;quot;color&amp;quot;:&amp;quot;#000000&amp;quot;,&amp;quot;fontSize&amp;quot;:16},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;wLx0-1767496481560&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;SwipeRefreshLayout&amp;nbsp;的子视图限制&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:16}]},{&amp;quot;text&amp;quot;:&amp;quot;：它只能有一个直接子视图（如&amp;nbsp;RecyclerView、ScrollView），若需多个视图，需先使用&amp;nbsp;LinearLayout/RelativeLayout&amp;nbsp;等包裹后再作为其子视图。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:1}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;E04Q-1767496481563&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;5bdG-1767496481581&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{&amp;quot;color&amp;quot;:&amp;quot;#000000&amp;quot;,&amp;quot;fontSize&amp;quot;:16},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;bkdR-1767496481562&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;必须停止刷新动画&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:16}]},{&amp;quot;text&amp;quot;:&amp;quot;：刷新逻辑完成后，务必调用&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;swipeRefreshLayout.isRefreshing&amp;nbsp;=&amp;nbsp;false&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;backgroundColor&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;rgba(0,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;0.06)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:14},{&amp;quot;type&amp;quot;:&amp;quot;fontFamily&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;Courier&amp;nbsp;New&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;，否则刷新圈会持续转动，影响用户体验。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:2}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;BLLx-1767496481566&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;5bdG-1767496481581&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{&amp;quot;color&amp;quot;:&amp;quot;#000000&amp;quot;,&amp;quot;fontSize&amp;quot;:16},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Q7q4-1767496481565&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;刷新逻辑异步化&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:16}]},{&amp;quot;text&amp;quot;:&amp;quot;：耗时操作（网络请求、数据库查询等）必须放在子线程&amp;nbsp;/&amp;nbsp;协程中执行，避免阻塞主线程导致&amp;nbsp;ANR，上述示例使用&amp;nbsp;Kotlin&amp;nbsp;协程（&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;Dispatchers.IO&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;backgroundColor&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;rgba(0,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;0.06)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:14},{&amp;quot;type&amp;quot;:&amp;quot;fontFamily&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;Courier&amp;nbsp;New&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;）实现异步，更简洁高效。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:3}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;AcJa-1767496481568&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;5bdG-1767496481581&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{&amp;quot;color&amp;quot;:&amp;quot;#000000&amp;quot;,&amp;quot;fontSize&amp;quot;:16},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Nyr9-1767496481567&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;ViewBinding&amp;nbsp;内存泄漏防护&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:16}]},{&amp;quot;text&amp;quot;:&amp;quot;：在&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;onDestroyView&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;backgroundColor&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;rgba(0,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;0.06)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:14},{&amp;quot;type&amp;quot;:&amp;quot;fontFamily&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;Courier&amp;nbsp;New&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;中将&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;_binding&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;backgroundColor&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;rgba(0,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;0.06)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:14},{&amp;quot;type&amp;quot;:&amp;quot;fontFamily&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;Courier&amp;nbsp;New&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;置为&amp;nbsp;null，避免&amp;nbsp;Fragment&amp;nbsp;视图销毁后仍持有引用导致内存泄漏。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:4}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;neNo-1767496481570&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;5bdG-1767496481581&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{&amp;quot;color&amp;quot;:&amp;quot;#000000&amp;quot;,&amp;quot;fontSize&amp;quot;:16},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;AinI-1767496481569&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;样式自定义&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:16}]},{&amp;quot;text&amp;quot;:&amp;quot;：可通过&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;setColorSchemeResources&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;backgroundColor&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;rgba(0,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;0.06)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:14},{&amp;quot;type&amp;quot;:&amp;quot;fontFamily&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;Courier&amp;nbsp;New&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;（设置刷新圈颜色）、&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;setSize&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;backgroundColor&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;rgba(0,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;0.06)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:14},{&amp;quot;type&amp;quot;:&amp;quot;fontFamily&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;Courier&amp;nbsp;New&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;（设置刷新圈大小）、&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;setProgressBackgroundColorSchemeResource&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;backgroundColor&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;rgba(0,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;0.06)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:14},{&amp;quot;type&amp;quot;:&amp;quot;fontFamily&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;Courier&amp;nbsp;New&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;（设置刷新圈背景色）自定义下拉刷新样式。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:5}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;j7QH-1767496481590&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{&amp;quot;fontWeight&amp;quot;:&amp;quot;bold&amp;quot;,&amp;quot;color&amp;quot;:&amp;quot;#000000&amp;quot;,&amp;quot;fontSize&amp;quot;:16},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Fnyu-1767496481571&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;五、运行效果&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;YwyZ-1767496481574&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;Cl89-1767496481582&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{&amp;quot;color&amp;quot;:&amp;quot;#000000&amp;quot;,&amp;quot;fontSize&amp;quot;:16},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;nKDv-1767496481573&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;Fragment&amp;nbsp;加载后，显示原始数据列表；&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:1}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;wOtd-1767496481576&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;Cl89-1767496481582&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{&amp;quot;color&amp;quot;:&amp;quot;#000000&amp;quot;,&amp;quot;fontSize&amp;quot;:16},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;yBC1-1767496481575&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;下拉列表时，会触发刷新圈动画；&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:2}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;FnWd-1767496481578&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;Cl89-1767496481582&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{&amp;quot;color&amp;quot;:&amp;quot;#000000&amp;quot;,&amp;quot;fontSize&amp;quot;:16},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;wvwa-1767496481577&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;等待&amp;nbsp;2&amp;nbsp;秒（模拟耗时操作）后，列表头部插入新数据并自动滚动到顶部；&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:3}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;89w4-1767496481580&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;listId&amp;quot;:&amp;quot;Cl89-1767496481582&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{&amp;quot;color&amp;quot;:&amp;quot;#000000&amp;quot;,&amp;quot;fontSize&amp;quot;:16},&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;30co-1767496481579&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;刷新圈自动停止动画，完成下拉刷新流程。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}]&quot; style=&quot;font-size: medium; text-wrap-mode: wrap;&quot;&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;&lt;/div&gt;&lt;div yne-bulb-block=&quot;code&quot; data-theme=&quot;tomorrow&quot; data-language=&quot;xml&quot; style=&quot;white-space-collapse: preserve;&quot;&gt;&lt;pre class=&quot;prism-highlight prism-language-markup&quot;&gt;&amp;lt;?xml&amp;nbsp;version=&amp;quot;1.0&amp;quot;&amp;nbsp;encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;
&amp;lt;!--&amp;nbsp;下拉刷新核心布局：SwipeRefreshLayout&amp;nbsp;--&amp;gt;
&amp;lt;androidx.swiperefreshlayout.widget.SwipeRefreshLayout
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlns:android=&amp;quot;http://schemas.android.com/apk/res/android&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:id=&amp;quot;@+id/swipe_refresh_layout&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:layout_width=&amp;quot;match_parent&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:layout_height=&amp;quot;match_parent&amp;quot;&amp;gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!--&amp;nbsp;可滚动子视图：RecyclerView（唯一直接子视图）&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;androidx.recyclerview.widget.RecyclerView
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:id=&amp;quot;@+id/recycler_view&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:layout_width=&amp;quot;match_parent&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:layout_height=&amp;quot;match_parent&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android:padding=&amp;quot;8dp&amp;quot;/&amp;gt;

&amp;lt;/androidx.swiperefreshlayout.widget.SwipeRefreshLayout&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&quot;64cV-1767496563308&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 16px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;三、步骤 2：Fragment 代码实现（Kotlin）&lt;/span&gt;&lt;/h3&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;使用 ViewBinding 简化视图操作，核心步骤包括：初始化控件、设置刷新监听、异步处理刷新逻辑、停止刷新动画，完整代码如下：&lt;/div&gt;&lt;h4 id=&quot;t623-1767496563312&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;4&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 16px;&quot;&gt;1. 基础配置（启用 ViewBinding，可选但推荐）&lt;/h4&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;若未启用 ViewBinding，需在模块&amp;nbsp;&lt;span style=&quot;background-color: rgba(0, 0, 0, 0.06); font-size: inherit; font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;build.gradle&lt;/span&gt;（Module 级别）中添加配置：&lt;/div&gt;&lt;div yne-bulb-block=&quot;code&quot; data-theme=&quot;tomorrow&quot; data-language=&quot;&quot; style=&quot;white-space-collapse: preserve;&quot;&gt;&lt;pre class=&quot;prism-highlight prism-language-groovy&quot;&gt;android&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;其他配置...
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;buildFeatures&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;viewBinding&amp;nbsp;true&amp;nbsp;//&amp;nbsp;启用ViewBinding
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&quot;NMml-1767496563329&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;4&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 16px;&quot;&gt;2. Fragment 完整代码&lt;/h4&gt;&lt;div yne-bulb-block=&quot;code&quot; data-theme=&quot;tomorrow&quot; data-language=&quot;kotlin&quot; style=&quot;white-space-collapse: preserve;&quot;&gt;&lt;pre class=&quot;prism-highlight prism-language-groovy&quot;&gt;import&amp;nbsp;android.os.Bundle
import&amp;nbsp;android.view.LayoutInflater
import&amp;nbsp;android.view.View
import&amp;nbsp;android.view.ViewGroup
import&amp;nbsp;androidx.fragment.app.Fragment
import&amp;nbsp;androidx.recyclerview.widget.LinearLayoutManager
import&amp;nbsp;androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import&amp;nbsp;kotlinx.coroutines.CoroutineScope
import&amp;nbsp;kotlinx.coroutines.Dispatchers
import&amp;nbsp;kotlinx.coroutines.delay
import&amp;nbsp;kotlinx.coroutines.launch
import&amp;nbsp;kotlinx.coroutines.withContext
import&amp;nbsp;com.xxx.databinding.FragmentRefreshBinding&amp;nbsp;//&amp;nbsp;替换为你的包名

//&amp;nbsp;下拉刷新Fragment
class&amp;nbsp;RefreshFragment&amp;nbsp;:&amp;nbsp;Fragment()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;ViewBinding实例
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;var&amp;nbsp;_binding:&amp;nbsp;FragmentRefreshBinding?&amp;nbsp;=&amp;nbsp;null
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;val&amp;nbsp;binding&amp;nbsp;get()&amp;nbsp;=&amp;nbsp;_binding!!

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;RecyclerView适配器（简单字符串适配器，可自定义）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;lateinit&amp;nbsp;var&amp;nbsp;mAdapter:&amp;nbsp;SimpleStringAdapter
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;模拟数据列表
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;val&amp;nbsp;dataList&amp;nbsp;=&amp;nbsp;mutableListOf&amp;lt;String&amp;gt;()

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;override&amp;nbsp;fun&amp;nbsp;onCreateView(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;inflater:&amp;nbsp;LayoutInflater,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;container:&amp;nbsp;ViewGroup?,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;savedInstanceState:&amp;nbsp;Bundle?
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;):&amp;nbsp;View&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;初始化ViewBinding
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_binding&amp;nbsp;=&amp;nbsp;FragmentRefreshBinding.inflate(inflater,&amp;nbsp;container,&amp;nbsp;false)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;binding.root
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;override&amp;nbsp;fun&amp;nbsp;onViewCreated(view:&amp;nbsp;View,&amp;nbsp;savedInstanceState:&amp;nbsp;Bundle?)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;super.onViewCreated(view,&amp;nbsp;savedInstanceState)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;1.&amp;nbsp;初始化RecyclerView
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;initRecyclerView()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;2.&amp;nbsp;初始化下拉刷新控件
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;initSwipeRefreshLayout()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;3.&amp;nbsp;初始化模拟数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;initData()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;初始化RecyclerView
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;fun&amp;nbsp;initRecyclerView()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;初始化适配器
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mAdapter&amp;nbsp;=&amp;nbsp;SimpleStringAdapter(dataList)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;设置布局管理器
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;binding.recyclerView.layoutManager&amp;nbsp;=&amp;nbsp;LinearLayoutManager(requireContext())
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;设置适配器
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;binding.recyclerView.adapter&amp;nbsp;=&amp;nbsp;mAdapter
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;初始化下拉刷新控件
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;fun&amp;nbsp;initSwipeRefreshLayout()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;可选：设置刷新圈颜色（支持多个颜色，循环显示）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;binding.swipeRefreshLayout.setColorSchemeResources(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android.R.color.holo_blue_light,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android.R.color.holo_red_light,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;android.R.color.holo_green_light
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;可选：设置刷新圈大小（DEFAULT&amp;nbsp;/&amp;nbsp;LARGE）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;binding.swipeRefreshLayout.setSize(SwipeRefreshLayout.LARGE)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;3.&amp;nbsp;设置下拉刷新监听（核心）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;binding.swipeRefreshLayout.setOnRefreshListener&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;触发下拉刷新时，执行刷新逻辑
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;performRefresh()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;执行刷新逻辑（核心：异步处理，避免阻塞主线程）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;fun&amp;nbsp;performRefresh()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;使用协程异步处理（Kotlin推荐，也可使用Thread+Handler）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CoroutineScope(Dispatchers.IO).launch&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;模拟耗时操作：如网络请求、数据库查询（延迟2秒模拟耗时）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;delay(2000)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;刷新数据（模拟新增数据）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;newData&amp;nbsp;=&amp;nbsp;&amp;quot;新增数据${System.currentTimeMillis()&amp;nbsp;/&amp;nbsp;1000}&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dataList.add(0,&amp;nbsp;newData)&amp;nbsp;//&amp;nbsp;插入到列表头部

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;切换到主线程更新UI（RecyclerView适配器刷新）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;withContext(Dispatchers.Main)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mAdapter.notifyItemInserted(0)&amp;nbsp;//&amp;nbsp;局部刷新
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;binding.recyclerView.scrollToPosition(0)&amp;nbsp;//&amp;nbsp;滚动到顶部

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;4.&amp;nbsp;停止刷新动画（必须调用，否则刷新圈会一直转动）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;binding.swipeRefreshLayout.isRefreshing&amp;nbsp;=&amp;nbsp;false
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;初始化模拟数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;fun&amp;nbsp;initData()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(i&amp;nbsp;in&amp;nbsp;1..20)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dataList.add(&amp;quot;原始数据$i&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mAdapter.notifyDataSetChanged()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;销毁视图时，释放ViewBinding，避免内存泄漏
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;override&amp;nbsp;fun&amp;nbsp;onDestroyView()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;super.onDestroyView()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_binding&amp;nbsp;=&amp;nbsp;null
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;简单的RecyclerView字符串适配器（自定义适配器可替换）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;inner&amp;nbsp;class&amp;nbsp;SimpleStringAdapter(private&amp;nbsp;val&amp;nbsp;data:&amp;nbsp;List&amp;lt;String&amp;gt;)&amp;nbsp;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;androidx.recyclerview.widget.RecyclerView.Adapter&amp;lt;SimpleStringAdapter.ViewHolder&amp;gt;()&amp;nbsp;{

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;inner&amp;nbsp;class&amp;nbsp;ViewHolder(itemView:&amp;nbsp;View)&amp;nbsp;:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;androidx.recyclerview.widget.RecyclerView.ViewHolder(itemView)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;tvContent:&amp;nbsp;android.widget.TextView&amp;nbsp;=&amp;nbsp;itemView&amp;nbsp;as&amp;nbsp;android.widget.TextView
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;override&amp;nbsp;fun&amp;nbsp;onCreateViewHolder(parent:&amp;nbsp;ViewGroup,&amp;nbsp;viewType:&amp;nbsp;Int):&amp;nbsp;ViewHolder&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;创建TextView作为列表项
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;textView&amp;nbsp;=&amp;nbsp;android.widget.TextView(requireContext())
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;textView.layoutParams&amp;nbsp;=&amp;nbsp;androidx.recyclerview.widget.RecyclerView.LayoutParams(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ViewGroup.LayoutParams.MATCH_PARENT,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ViewGroup.LayoutParams.WRAP_CONTENT
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;textView.textSize&amp;nbsp;=&amp;nbsp;16f
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;textView.setPadding(0,&amp;nbsp;16,&amp;nbsp;0,&amp;nbsp;16)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;ViewHolder(textView)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;override&amp;nbsp;fun&amp;nbsp;onBindViewHolder(holder:&amp;nbsp;ViewHolder,&amp;nbsp;position:&amp;nbsp;Int)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;holder.tvContent.text&amp;nbsp;=&amp;nbsp;data[position]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;override&amp;nbsp;fun&amp;nbsp;getItemCount():&amp;nbsp;Int&amp;nbsp;=&amp;nbsp;data.size
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&quot;mIHs-1767496563633&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 16px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;四、关键注意事项&lt;/span&gt;&lt;/h3&gt;&lt;div&gt;&lt;ol yne-block-type=&quot;list&quot; style=&quot;margin-left: 14px;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold; font-size: inherit;&quot;&gt;SwipeRefreshLayout 的子视图限制&lt;/span&gt;：它只能有一个直接子视图（如 RecyclerView、ScrollView），若需多个视图，需先使用 LinearLayout/RelativeLayout 等包裹后再作为其子视图。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold; font-size: inherit;&quot;&gt;必须停止刷新动画&lt;/span&gt;：刷新逻辑完成后，务必调用&amp;nbsp;&lt;span style=&quot;background-color: rgba(0, 0, 0, 0.06); font-size: 14px; font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;swipeRefreshLayout.isRefreshing = false&lt;/span&gt;，否则刷新圈会持续转动，影响用户体验。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold; font-size: inherit;&quot;&gt;刷新逻辑异步化&lt;/span&gt;：耗时操作（网络请求、数据库查询等）必须放在子线程 / 协程中执行，避免阻塞主线程导致 ANR，上述示例使用 Kotlin 协程（&lt;span style=&quot;background-color: rgba(0, 0, 0, 0.06); font-size: 14px; font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;Dispatchers.IO&lt;/span&gt;）实现异步，更简洁高效。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold; font-size: inherit;&quot;&gt;ViewBinding 内存泄漏防护&lt;/span&gt;：在&amp;nbsp;&lt;span style=&quot;background-color: rgba(0, 0, 0, 0.06); font-size: 14px; font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;onDestroyView&lt;/span&gt;&amp;nbsp;中将&amp;nbsp;&lt;span style=&quot;background-color: rgba(0, 0, 0, 0.06); font-size: 14px; font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;_binding&lt;/span&gt;&amp;nbsp;置为 null，避免 Fragment 视图销毁后仍持有引用导致内存泄漏。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold; font-size: inherit;&quot;&gt;样式自定义&lt;/span&gt;：可通过&amp;nbsp;&lt;span style=&quot;background-color: rgba(0, 0, 0, 0.06); font-size: 14px; font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;setColorSchemeResources&lt;/span&gt;（设置刷新圈颜色）、&lt;span style=&quot;background-color: rgba(0, 0, 0, 0.06); font-size: 14px; font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;setSize&lt;/span&gt;（设置刷新圈大小）、&lt;span style=&quot;background-color: rgba(0, 0, 0, 0.06); font-size: 14px; font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;setProgressBackgroundColorSchemeResource&lt;/span&gt;（设置刷新圈背景色）自定义下拉刷新样式。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;h3 id=&quot;m5QF-1767496563645&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 16px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;五、运行效果&lt;/span&gt;&lt;/h3&gt;&lt;div&gt;&lt;ol yne-block-type=&quot;list&quot; style=&quot;margin-left: 14px;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;Fragment 加载后，显示原始数据列表；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;下拉列表时，会触发刷新圈动画；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;等待 2 秒（模拟耗时操作）后，列表头部插入新数据并自动滚动到顶部；&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;刷新圈自动停止动画，完成下拉刷新流程。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/article&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sun, 04 Jan 2026 11:12:37 +0800</pubDate></item><item><title>Kotlin 本地化存储 3 种常用方案</title><link>https://www.xuzebo.net.cn/?id=28</link><description>&lt;div&gt;适配 Android 开发场景，提供可直接复用的 Kotlin 实现，兼顾简洁性和实用性，优先覆盖高频使用场景。&lt;/div&gt;&lt;h2&gt;一、 轻量键值对存储（SharedPreferences）&lt;/h2&gt;&lt;div&gt;最常用的本地存储方案，适合存少量简单数据（如用户配置、登录状态），Kotlin 可通过扩展函数简化调用，无需重复写模板代码。&lt;/div&gt;&lt;h3&gt;1. 核心工具类（可直接复用）&lt;/h3&gt;&lt;div&gt;&lt;div dir=&quot;ltr&quot;&gt;&lt;div&gt;&lt;pre class=&quot;prism-highlight prism-language-groovy&quot;&gt;import&amp;nbsp;android.content.Contextimport&amp;nbsp;android.content.SharedPreferences/**
&amp;nbsp;*&amp;nbsp;SharedPreferences&amp;nbsp;本地化存储工具类
&amp;nbsp;*/object&amp;nbsp;SpUtil&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;存储文件名
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;const&amp;nbsp;val&amp;nbsp;SP_NAME&amp;nbsp;=&amp;nbsp;&amp;quot;AppLocalStorage&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;lateinit&amp;nbsp;var&amp;nbsp;sp:&amp;nbsp;SharedPreferences&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;初始化（建议在Application中调用）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fun&amp;nbsp;init(context:&amp;nbsp;Context)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sp&amp;nbsp;=&amp;nbsp;context.getSharedPreferences(SP_NAME,&amp;nbsp;Context.MODE_PRIVATE)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;存值&amp;nbsp;通用方法
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fun&amp;nbsp;put(key:&amp;nbsp;String,&amp;nbsp;value:&amp;nbsp;Any)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;editor&amp;nbsp;=&amp;nbsp;sp.edit()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;when&amp;nbsp;(value)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;is&amp;nbsp;String&amp;nbsp;-&amp;gt;&amp;nbsp;editor.putString(key,&amp;nbsp;value)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;is&amp;nbsp;Int&amp;nbsp;-&amp;gt;&amp;nbsp;editor.putInt(key,&amp;nbsp;value)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;is&amp;nbsp;Boolean&amp;nbsp;-&amp;gt;&amp;nbsp;editor.putBoolean(key,&amp;nbsp;value)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;is&amp;nbsp;Float&amp;nbsp;-&amp;gt;&amp;nbsp;editor.putFloat(key,&amp;nbsp;value)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;is&amp;nbsp;Long&amp;nbsp;-&amp;gt;&amp;nbsp;editor.putLong(key,&amp;nbsp;value)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&amp;nbsp;-&amp;gt;&amp;nbsp;throw&amp;nbsp;IllegalArgumentException(&amp;quot;不支持该数据类型存储&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;editor.apply()&amp;nbsp;//&amp;nbsp;异步提交（推荐），同步用&amp;nbsp;commit()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;取值&amp;nbsp;带默认值，避免空指针
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fun&amp;nbsp;getString(key:&amp;nbsp;String,&amp;nbsp;defValue:&amp;nbsp;String&amp;nbsp;=&amp;nbsp;&amp;quot;&amp;quot;)&amp;nbsp;=&amp;nbsp;sp.getString(key,&amp;nbsp;defValue)&amp;nbsp;?:&amp;nbsp;defValue&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fun&amp;nbsp;getInt(key:&amp;nbsp;String,&amp;nbsp;defValue:&amp;nbsp;Int&amp;nbsp;=&amp;nbsp;0)&amp;nbsp;=&amp;nbsp;sp.getInt(key,&amp;nbsp;defValue)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fun&amp;nbsp;getBoolean(key:&amp;nbsp;String,&amp;nbsp;defValue:&amp;nbsp;Boolean&amp;nbsp;=&amp;nbsp;false)&amp;nbsp;=&amp;nbsp;sp.getBoolean(key,&amp;nbsp;defValue)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fun&amp;nbsp;getFloat(key:&amp;nbsp;String,&amp;nbsp;defValue:&amp;nbsp;Float&amp;nbsp;=&amp;nbsp;0f)&amp;nbsp;=&amp;nbsp;sp.getFloat(key,&amp;nbsp;defValue)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fun&amp;nbsp;getLong(key:&amp;nbsp;String,&amp;nbsp;defValue:&amp;nbsp;Long&amp;nbsp;=&amp;nbsp;0L)&amp;nbsp;=&amp;nbsp;sp.getLong(key,&amp;nbsp;defValue)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;删除单个key
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fun&amp;nbsp;remove(key:&amp;nbsp;String)&amp;nbsp;=&amp;nbsp;sp.edit().remove(key).apply()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;清空所有数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fun&amp;nbsp;clear()&amp;nbsp;=&amp;nbsp;sp.edit().clear().apply()}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3&gt;2. 使用步骤&lt;/h3&gt;&lt;ol class=&quot;auto-hide-last-sibling-br list-paddingleft-2&quot; style=&quot;list-style-type: none;&quot;&gt;&lt;li&gt;&lt;p&gt;在 Application 中初始化（全局只执行一次）&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;div dir=&quot;ltr&quot;&gt;&lt;div&gt;&lt;pre&gt;class&amp;nbsp;MyApp&amp;nbsp;:&amp;nbsp;Application()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;override&amp;nbsp;fun&amp;nbsp;onCreate()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;super.onCreate()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SpUtil.init(this)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;ol start=&quot;2&quot; class=&quot;auto-hide-last-sibling-br list-paddingleft-2&quot; style=&quot;list-style-type: none;&quot;&gt;&lt;li&gt;&lt;p&gt;项目中直接调用（简洁无冗余）&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;div dir=&quot;ltr&quot;&gt;&lt;div&gt;&lt;pre&gt;//&amp;nbsp;存值SpUtil.put(&amp;quot;user_name&amp;quot;,&amp;nbsp;&amp;quot;张三&amp;quot;)SpUtil.put(&amp;quot;is_login&amp;quot;,&amp;nbsp;true)SpUtil.put(&amp;quot;user_age&amp;quot;,&amp;nbsp;28)//&amp;nbsp;取值val&amp;nbsp;userName&amp;nbsp;=&amp;nbsp;SpUtil.getString(&amp;quot;user_name&amp;quot;)val&amp;nbsp;isLogin&amp;nbsp;=&amp;nbsp;SpUtil.getBoolean(&amp;quot;is_login&amp;quot;)val&amp;nbsp;userAge&amp;nbsp;=&amp;nbsp;SpUtil.getInt(&amp;quot;user_age&amp;quot;)&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2&gt;二、 本地文件存储（File）&lt;/h2&gt;&lt;div&gt;适合存大量文本数据（如日志文件、JSON 字符串、大段文本），Kotlin 提供了简洁的文件读写扩展函数，无需手动处理流关闭。&lt;/div&gt;&lt;h3&gt;1. 文本文件读写（核心代码）&lt;/h3&gt;&lt;div&gt;&lt;div dir=&quot;ltr&quot;&gt;&lt;div&gt;&lt;pre&gt;import&amp;nbsp;android.content.Contextimport&amp;nbsp;java.io.File/**
&amp;nbsp;*&amp;nbsp;本地文件存储工具类
&amp;nbsp;*/object&amp;nbsp;FileUtil&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;存储路径：应用私有目录（无需权限），外部存储需申请读写权限
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;fun&amp;nbsp;getFile(context:&amp;nbsp;Context,&amp;nbsp;fileName:&amp;nbsp;String):&amp;nbsp;File&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;File(context.filesDir,&amp;nbsp;fileName)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;写入文本
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fun&amp;nbsp;writeText(context:&amp;nbsp;Context,&amp;nbsp;fileName:&amp;nbsp;String,&amp;nbsp;content:&amp;nbsp;String)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;getFile(context,&amp;nbsp;fileName).writeText(content,&amp;nbsp;Charsets.UTF_8)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;读取文本
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fun&amp;nbsp;readText(context:&amp;nbsp;Context,&amp;nbsp;fileName:&amp;nbsp;String):&amp;nbsp;String&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;file&amp;nbsp;=&amp;nbsp;getFile(context,&amp;nbsp;fileName)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;if&amp;nbsp;(file.exists())&amp;nbsp;file.readText(Charsets.UTF_8)&amp;nbsp;else&amp;nbsp;&amp;quot;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;追加文本（如日志追加）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fun&amp;nbsp;appendText(context:&amp;nbsp;Context,&amp;nbsp;fileName:&amp;nbsp;String,&amp;nbsp;content:&amp;nbsp;String)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;getFile(context,&amp;nbsp;fileName).appendText(content&amp;nbsp;+&amp;nbsp;&amp;quot;\n&amp;quot;,&amp;nbsp;Charsets.UTF_8)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}}&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3&gt;2. 使用示例&lt;/h3&gt;&lt;div&gt;&lt;div dir=&quot;ltr&quot;&gt;&lt;div&gt;&lt;pre&gt;//&amp;nbsp;写入文本FileUtil.writeText(this,&amp;nbsp;&amp;quot;user_info.txt&amp;quot;,&amp;nbsp;&amp;quot;{\&amp;quot;name\&amp;quot;:\&amp;quot;张三\&amp;quot;,\&amp;quot;age\&amp;quot;:28}&amp;quot;)//&amp;nbsp;读取文本val&amp;nbsp;userInfo&amp;nbsp;=&amp;nbsp;FileUtil.readText(this,&amp;nbsp;&amp;quot;user_info.txt&amp;quot;)//&amp;nbsp;追加日志FileUtil.appendText(this,&amp;nbsp;&amp;quot;app_log.txt&amp;quot;,&amp;nbsp;&amp;quot;2025-12-29&amp;nbsp;10:00:&amp;nbsp;应用启动成功&amp;quot;)&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2&gt;三、 数据库存储（Room）&lt;/h2&gt;&lt;div&gt;适合存结构化、大量数据（如本地列表数据、用户明细），Google 官方推荐，基于 SQLite 封装，Kotlin 支持协程、LiveData，无需手动写 SQL 原生语句。&lt;/div&gt;&lt;h3&gt;1. 第一步：添加依赖（build.gradle (Module)）&lt;/h3&gt;&lt;div&gt;&lt;div dir=&quot;ltr&quot;&gt;&lt;div&gt;&lt;pre&gt;dependencies&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Room&amp;nbsp;核心库
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;implementation&amp;nbsp;&amp;quot;androidx.room:room-runtime:2.5.0&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Kotlin&amp;nbsp;注解处理器
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kapt&amp;nbsp;&amp;quot;androidx.room:room-compiler:2.5.0&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;协程支持（可选，推荐）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;implementation&amp;nbsp;&amp;quot;androidx.room:room-ktx:2.5.0&amp;quot;}&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3&gt;2. 第二步：3 个核心组件实现（实体 + Dao + 数据库）&lt;/h3&gt;&lt;h4&gt;（1） 实体类（对应数据库表）&lt;/h4&gt;&lt;div&gt;&lt;div dir=&quot;ltr&quot;&gt;&lt;div&gt;&lt;pre&gt;import&amp;nbsp;androidx.room.Entityimport&amp;nbsp;androidx.room.PrimaryKey//&amp;nbsp;出差记录实体（对应表名：business_trip）@Entity(tableName&amp;nbsp;=&amp;nbsp;&amp;quot;business_trip&amp;quot;)data&amp;nbsp;class&amp;nbsp;BusinessTripEntity(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@PrimaryKey(autoGenerate&amp;nbsp;=&amp;nbsp;true)&amp;nbsp;val&amp;nbsp;id:&amp;nbsp;Int&amp;nbsp;=&amp;nbsp;0,&amp;nbsp;//&amp;nbsp;自增主键
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;tripNo:&amp;nbsp;String,&amp;nbsp;//&amp;nbsp;出差单号
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;tripPerson:&amp;nbsp;String,&amp;nbsp;//&amp;nbsp;出差人
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;startDate:&amp;nbsp;String,&amp;nbsp;//&amp;nbsp;出差开始时间
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;endDate:&amp;nbsp;String,&amp;nbsp;//&amp;nbsp;出差结束时间
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;destination:&amp;nbsp;String&amp;nbsp;//&amp;nbsp;出差目的地)&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;h4&gt;（2） Dao 接口（数据操作接口，无需实现）&lt;/h4&gt;&lt;div&gt;&lt;div dir=&quot;ltr&quot;&gt;&lt;div&gt;&lt;pre&gt;import&amp;nbsp;androidx.room.Daoimport&amp;nbsp;androidx.room.Deleteimport&amp;nbsp;androidx.room.Insertimport&amp;nbsp;androidx.room.Queryimport&amp;nbsp;kotlinx.coroutines.flow.Flow@Daointerface&amp;nbsp;BusinessTripDao&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;插入数据（可批量）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Insert
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;suspend&amp;nbsp;fun&amp;nbsp;insertTrip(vararg&amp;nbsp;trip:&amp;nbsp;BusinessTripEntity)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;删除数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Delete
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;suspend&amp;nbsp;fun&amp;nbsp;deleteTrip(trip:&amp;nbsp;BusinessTripEntity)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;查询所有出差记录（返回Flow，数据变化自动回调）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Query(&amp;quot;SELECT&amp;nbsp;*&amp;nbsp;FROM&amp;nbsp;business_trip&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fun&amp;nbsp;getAllTrips():&amp;nbsp;Flow&amp;lt;List&amp;lt;BusinessTripEntity&amp;gt;&amp;gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;按出差人查询
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Query(&amp;quot;SELECT&amp;nbsp;*&amp;nbsp;FROM&amp;nbsp;business_trip&amp;nbsp;WHERE&amp;nbsp;tripPerson&amp;nbsp;=&amp;nbsp;:person&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;suspend&amp;nbsp;fun&amp;nbsp;getTripByPerson(person:&amp;nbsp;String):&amp;nbsp;List&amp;lt;BusinessTripEntity&amp;gt;}&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;h4&gt;（3） 数据库单例类（全局唯一）&lt;/h4&gt;&lt;div&gt;&lt;div dir=&quot;ltr&quot;&gt;&lt;div&gt;&lt;pre&gt;import&amp;nbsp;androidx.room.Databaseimport&amp;nbsp;androidx.room.Roomimport&amp;nbsp;androidx.room.RoomDatabaseimport&amp;nbsp;android.content.Context//&amp;nbsp;数据库版本号，升级时需修改@Database(entities&amp;nbsp;=&amp;nbsp;[BusinessTripEntity::class],&amp;nbsp;version&amp;nbsp;=&amp;nbsp;1,&amp;nbsp;exportSchema&amp;nbsp;=&amp;nbsp;false)abstract&amp;nbsp;class&amp;nbsp;AppDatabase&amp;nbsp;:&amp;nbsp;RoomDatabase()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;暴露Dao接口
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;abstract&amp;nbsp;fun&amp;nbsp;businessTripDao():&amp;nbsp;BusinessTripDao&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;单例模式
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;companion&amp;nbsp;object&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Volatile
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;var&amp;nbsp;INSTANCE:&amp;nbsp;AppDatabase?&amp;nbsp;=&amp;nbsp;null

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fun&amp;nbsp;getInstance(context:&amp;nbsp;Context):&amp;nbsp;AppDatabase&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;INSTANCE&amp;nbsp;?:&amp;nbsp;synchronized(this)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;instance&amp;nbsp;=&amp;nbsp;Room.databaseBuilder(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;context.applicationContext,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AppDatabase::class.java,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;app_local_db&amp;quot;&amp;nbsp;//&amp;nbsp;数据库文件名
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;).build()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;INSTANCE&amp;nbsp;=&amp;nbsp;instance
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;instance&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}}&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3&gt;3. 使用示例（协程中调用，避免主线程阻塞）&lt;/h3&gt;&lt;div&gt;&lt;div dir=&quot;ltr&quot;&gt;&lt;div&gt;&lt;pre&gt;import&amp;nbsp;kotlinx.coroutines.Dispatchersimport&amp;nbsp;kotlinx.coroutines.GlobalScopeimport&amp;nbsp;kotlinx.coroutines.launchimport&amp;nbsp;kotlinx.coroutines.flow.collect//&amp;nbsp;1.&amp;nbsp;插入出差记录GlobalScope.launch(Dispatchers.IO)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;trip&amp;nbsp;=&amp;nbsp;BusinessTripEntity(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tripNo&amp;nbsp;=&amp;nbsp;&amp;quot;TRIP20251229001&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tripPerson&amp;nbsp;=&amp;nbsp;&amp;quot;张三&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;startDate&amp;nbsp;=&amp;nbsp;&amp;quot;2025-12-29&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;endDate&amp;nbsp;=&amp;nbsp;&amp;quot;2025-01-05&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;destination&amp;nbsp;=&amp;nbsp;&amp;quot;上海&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AppDatabase.getInstance(this@MainActivity).businessTripDao().insertTrip(trip)}//&amp;nbsp;2.&amp;nbsp;查询所有记录并监听变化GlobalScope.launch(Dispatchers.Main)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AppDatabase.getInstance(this@MainActivity).businessTripDao().getAllTrips()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.collect&amp;nbsp;{&amp;nbsp;tripList&amp;nbsp;-&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;数据变化时回调，直接更新UI
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Log.d(&amp;quot;Room数据&amp;quot;,&amp;nbsp;&amp;quot;出差记录：$tripList&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}}&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2&gt;四、 三种方案选型建议&lt;/h2&gt;&lt;ol class=&quot;auto-hide-last-sibling-br list-paddingleft-2&quot; style=&quot;list-style-type: none;&quot;&gt;&lt;li&gt;&lt;p&gt;存简单键值对（配置、状态）→ 用&amp;nbsp;SharedPreferences（最轻量、开发最快）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;存大段文本 / 文件（日志、JSON）→ 用&amp;nbsp;File 存储（灵活，适合非结构化数据）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;存结构化大量数据（列表、明细）→ 用&amp;nbsp;Room（安全、支持协程，适配复杂业务）&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;</description><pubDate>Mon, 29 Dec 2025 09:29:41 +0800</pubDate></item><item><title>kotlin 获取当前年</title><link>https://www.xuzebo.net.cn/?id=27</link><description>&lt;article data-content=&quot;[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;3060-1621846615933&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;p5PQ-1621846617594&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;在&amp;nbsp;Kotlin&amp;nbsp;中获取当前年份有多种方式，以下是最常用的几种实现方案，适配不同场景（如&amp;nbsp;Java&amp;nbsp;8+&amp;nbsp;新时间&amp;nbsp;API、传统&amp;nbsp;Calendar&amp;nbsp;类）：&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;IWMS-1765979636342&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;version&amp;quot;:1,&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{&amp;quot;fontWeight&amp;quot;:&amp;quot;bold&amp;quot;,&amp;quot;fontSize&amp;quot;:16,&amp;quot;color&amp;quot;:&amp;quot;#000000&amp;quot;}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;H6lt-1765979636177&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;方案&amp;nbsp;1：推荐（Java&amp;nbsp;8+&amp;nbsp;新时间&amp;nbsp;API，线程安全）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;iNq1-1765979636180&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;cyeS-1765979636179&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;使用&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;java.time&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;backgroundColor&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;rgba(0,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;0.06)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:16},{&amp;quot;type&amp;quot;:&amp;quot;fontFamily&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;Courier&amp;nbsp;New&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;包下的&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;Year&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;backgroundColor&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;rgba(0,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;0.06)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:16},{&amp;quot;type&amp;quot;:&amp;quot;fontFamily&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;Courier&amp;nbsp;New&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;、&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;LocalDate&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;backgroundColor&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;rgba(0,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;0.06)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:16},{&amp;quot;type&amp;quot;:&amp;quot;fontFamily&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;Courier&amp;nbsp;New&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;等类，是&amp;nbsp;Kotlin&amp;nbsp;中获取年份的首选方式（Android&amp;nbsp;API&amp;nbsp;26+&amp;nbsp;原生支持，低版本可通过&amp;nbsp;desugar&amp;nbsp;或&amp;nbsp;ThreeTenABP&amp;nbsp;兼容）。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;X7vO-1765979636235&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;version&amp;quot;:1,&amp;quot;language&amp;quot;:&amp;quot;kotlin&amp;quot;,&amp;quot;theme&amp;quot;:&amp;quot;tomorrow&amp;quot;},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;iAzB-1765979636189&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;iTd1-1765979636188&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;java.time.LocalDate&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Tn4Q-1765979636191&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;yBWq-1765979636190&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;java.time.Year&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;YsZI-1765979636193&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ZEqT-1765979636192&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;java.time.ZoneId&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;z5tH-1765979636195&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Az9V-1765979636194&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;pXtJ-1765979636197&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;B2SU-1765979636196&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;fun&amp;nbsp;getCurrentYear():&amp;nbsp;Int&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;qxeZ-1765979636199&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1Ptl-1765979636198&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;方式&amp;nbsp;1：直接获取当前年份（系统默认时区）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;W0Wk-1765979636202&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;MTxN-1765979636201&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;year1&amp;nbsp;=&amp;nbsp;Year.now().value&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ALK8-1765979636204&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;hx55-1765979636203&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Vwow-1765979636206&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;9ruY-1765979636205&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;方式&amp;nbsp;2：通过&amp;nbsp;LocalDate&amp;nbsp;获取（更灵活，可扩展获取月/日）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;2G0C-1765979636208&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;0Lrl-1765979636207&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;year2&amp;nbsp;=&amp;nbsp;LocalDate.now().year&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;TtXB-1765979636210&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;eNQk-1765979636209&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;qAXV-1765979636212&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;wun2-1765979636211&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;方式&amp;nbsp;3：指定时区（如&amp;nbsp;UTC、东八区）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;dTGL-1765979636214&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;fTbT-1765979636213&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;year3&amp;nbsp;=&amp;nbsp;LocalDate.now(ZoneId.of(\&amp;quot;Asia/Shanghai\&amp;quot;)).year&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;NZ0i-1765979636216&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1vsu-1765979636215&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;HCnz-1765979636218&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4ttr-1765979636217&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;year1&amp;nbsp;//&amp;nbsp;返回任意一种即可&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;uOV2-1765979636220&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;u5QY-1765979636219&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;h8Lu-1765979636222&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;fz7X-1765979636221&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;4XGX-1765979636224&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;nIRZ-1765979636223&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;//&amp;nbsp;调用示例&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;fWQP-1765979636226&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1UR5-1765979636225&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;fun&amp;nbsp;main()&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;0cku-1765979636228&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;oq8y-1765979636227&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;currentYear&amp;nbsp;=&amp;nbsp;getCurrentYear()&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ZM2x-1765979636230&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;8TO4-1765979636229&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;println(\&amp;quot;当前年份：$currentYear\&amp;quot;)&amp;nbsp;//&amp;nbsp;输出示例：2025&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Gbma-1765979636232&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;CNuZ-1765979636231&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{&amp;quot;tokensPerLine&amp;quot;:[[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;java&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;time&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;LocalDate&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;java&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;time&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Year&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;java&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;time&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;ZoneId&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fun&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;getCurrentYear&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;Int&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;方式&amp;nbsp;1：直接获取当前年份（系统默认时区）&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;year1&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;Year&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;now&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;value&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;方式&amp;nbsp;2：通过&amp;nbsp;LocalDate&amp;nbsp;获取（更灵活，可扩展获取月/日）&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;year2&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;LocalDate&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;now&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;year&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;方式&amp;nbsp;3：指定时区（如&amp;nbsp;UTC、东八区）&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;year3&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;LocalDate&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;now&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;ZoneId&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;of&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;Asia/Shanghai\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;year&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;return&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;year1&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;返回任意一种即可&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;调用示例&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fun&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;main&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;currentYear&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;getCurrentYear&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;println&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;当前年份：&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;interpolation-punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;$&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;punctuation&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;expression&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;currentYear&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;输出示例：2025&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}]]}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;tlPJ-1765979636343&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;version&amp;quot;:1,&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{&amp;quot;fontWeight&amp;quot;:&amp;quot;bold&amp;quot;,&amp;quot;fontSize&amp;quot;:16,&amp;quot;color&amp;quot;:&amp;quot;#000000&amp;quot;}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ye39-1765979636236&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;方案&amp;nbsp;2：兼容低版本（传统&amp;nbsp;Calendar&amp;nbsp;类）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;NKIs-1765979636239&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;MbLG-1765979636238&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;如果需要兼容&amp;nbsp;Android&amp;nbsp;低版本（API&amp;nbsp;&amp;lt;&amp;nbsp;26）或旧版&amp;nbsp;Java&amp;nbsp;环境，可使用&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;java.util.Calendar&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;backgroundColor&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;rgba(0,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;0.06)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:16},{&amp;quot;type&amp;quot;:&amp;quot;fontFamily&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;Courier&amp;nbsp;New&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;：&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;cmdl-1765979636274&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;version&amp;quot;:1,&amp;quot;language&amp;quot;:&amp;quot;kotlin&amp;quot;,&amp;quot;theme&amp;quot;:&amp;quot;tomorrow&amp;quot;},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;wD0Q-1765979636248&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1FyG-1765979636247&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;java.util.Calendar&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;sSqC-1765979636250&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;91FK-1765979636249&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;PHoB-1765979636252&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;0MfW-1765979636251&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;fun&amp;nbsp;getCurrentYearCompat():&amp;nbsp;Int&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;1Qgm-1765979636254&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;PsqM-1765979636253&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;calendar&amp;nbsp;=&amp;nbsp;Calendar.getInstance()&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;YFnw-1765979636256&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;x1uq-1765979636255&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;calendar.get(Calendar.YEAR)&amp;nbsp;//&amp;nbsp;获取当前年份&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;VYWF-1765979636258&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;G2y8-1765979636257&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;gdHK-1765979636260&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Q5kp-1765979636259&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;PdWe-1765979636262&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;g2LI-1765979636261&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;//&amp;nbsp;调用示例&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;jwm5-1765979636264&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;vGRN-1765979636263&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;fun&amp;nbsp;main()&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;e51M-1765979636267&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ghRN-1765979636265&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;year&amp;nbsp;=&amp;nbsp;getCurrentYearCompat()&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;xFHh-1765979636269&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;cGaG-1765979636268&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;println(\&amp;quot;当前年份（兼容版）：$year\&amp;quot;)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;SNgu-1765979636271&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;HDLT-1765979636270&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{&amp;quot;tokensPerLine&amp;quot;:[[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;java&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;util&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Calendar&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fun&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;getCurrentYearCompat&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;Int&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;calendar&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;Calendar&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;getInstance&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;return&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;calendar&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;get&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Calendar&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;YEAR&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;获取当前年份&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;调用示例&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fun&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;main&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;year&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;getCurrentYearCompat&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;println&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;当前年份（兼容版）：&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;interpolation-punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;$&amp;quot;,&amp;quot;alias&amp;quot;:&amp;quot;punctuation&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;expression&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;year&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;string&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\&amp;quot;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}]]}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ubaT-1765979636344&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;version&amp;quot;:1,&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{&amp;quot;fontWeight&amp;quot;:&amp;quot;bold&amp;quot;,&amp;quot;fontSize&amp;quot;:16,&amp;quot;color&amp;quot;:&amp;quot;#000000&amp;quot;}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;9sEj-1765979636275&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;方案&amp;nbsp;3：简化写法（一行代码）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;vw1c-1765979636278&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;VdgF-1765979636277&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;如果只需快速获取，可直接简写：&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;lkbs-1765979636298&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;version&amp;quot;:1,&amp;quot;language&amp;quot;:&amp;quot;kotlin&amp;quot;,&amp;quot;theme&amp;quot;:&amp;quot;tomorrow&amp;quot;},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Scsv-1765979636287&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;NRDM-1765979636286&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;//&amp;nbsp;Java&amp;nbsp;8+&amp;nbsp;简写&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ILcW-1765979636289&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;s7Bg-1765979636288&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;val&amp;nbsp;currentYear&amp;nbsp;=&amp;nbsp;LocalDate.now().year&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ffrQ-1765979636291&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;XLyk-1765979636290&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;h9m7-1765979636293&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;6UKj-1765979636292&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;//&amp;nbsp;兼容版简写&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;bImK-1765979636295&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;fQ3E-1765979636294&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;val&amp;nbsp;currentYearCompat&amp;nbsp;=&amp;nbsp;Calendar.getInstance().get(Calendar.YEAR)&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{&amp;quot;tokensPerLine&amp;quot;:[[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;Java&amp;nbsp;8+&amp;nbsp;简写&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;currentYear&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;LocalDate&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;now&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;year&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;兼容版简写&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;val&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;currentYearCompat&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;=&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;Calendar&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;getInstance&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;get&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;Calendar&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;YEAR&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;}]]}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;hGzs-1765979636345&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;version&amp;quot;:1,&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{&amp;quot;fontWeight&amp;quot;:&amp;quot;bold&amp;quot;,&amp;quot;fontSize&amp;quot;:16,&amp;quot;color&amp;quot;:&amp;quot;#000000&amp;quot;}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;0HOw-1765979636299&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;关键说明：&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;iOWT-1765979636302&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;version&amp;quot;:1,&amp;quot;listId&amp;quot;:&amp;quot;RRG1-1765979636340&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{&amp;quot;fontSize&amp;quot;:16,&amp;quot;color&amp;quot;:&amp;quot;#000000&amp;quot;}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;grfl-1765979636301&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;时区问题&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:16}]},{&amp;quot;text&amp;quot;:&amp;quot;：&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;now()&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;backgroundColor&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;rgba(0,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;0.06)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:14},{&amp;quot;type&amp;quot;:&amp;quot;fontFamily&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;Courier&amp;nbsp;New&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;无参时使用系统默认时区，如需统一时区（如&amp;nbsp;UTC），建议显式指定&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;ZoneId&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;backgroundColor&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;rgba(0,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;0.06)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:14},{&amp;quot;type&amp;quot;:&amp;quot;fontFamily&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;Courier&amp;nbsp;New&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;（如&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;ZoneId.of(\&amp;quot;UTC\&amp;quot;)&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;backgroundColor&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;rgba(0,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;0.06)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:14},{&amp;quot;type&amp;quot;:&amp;quot;fontFamily&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;Courier&amp;nbsp;New&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;）。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:1}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;GbIS-1765979636304&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;version&amp;quot;:1,&amp;quot;listId&amp;quot;:&amp;quot;RRG1-1765979636340&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{&amp;quot;fontSize&amp;quot;:16,&amp;quot;color&amp;quot;:&amp;quot;#000000&amp;quot;}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;R5De-1765979636303&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;Android&amp;nbsp;兼容&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:16}]},{&amp;quot;text&amp;quot;:&amp;quot;：&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:2}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;V2m7-1765979636306&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;version&amp;quot;:1,&amp;quot;listId&amp;quot;:&amp;quot;rhLK-1765979636341&amp;quot;,&amp;quot;listLevel&amp;quot;:2,&amp;quot;listType&amp;quot;:&amp;quot;unordered&amp;quot;,&amp;quot;style&amp;quot;:{&amp;quot;fontSize&amp;quot;:16,&amp;quot;color&amp;quot;:&amp;quot;#000000&amp;quot;}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;rVY0-1765979636305&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;API&amp;nbsp;26+：直接使用&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;java.time&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;backgroundColor&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;rgba(0,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;0.06)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:14},{&amp;quot;type&amp;quot;:&amp;quot;fontFamily&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;Courier&amp;nbsp;New&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;包。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:1}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;IgZs-1765979636308&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;version&amp;quot;:1,&amp;quot;listId&amp;quot;:&amp;quot;rhLK-1765979636341&amp;quot;,&amp;quot;listLevel&amp;quot;:2,&amp;quot;listType&amp;quot;:&amp;quot;unordered&amp;quot;,&amp;quot;style&amp;quot;:{&amp;quot;fontSize&amp;quot;:16,&amp;quot;color&amp;quot;:&amp;quot;#000000&amp;quot;}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Ck7T-1765979636307&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;API&amp;nbsp;&amp;lt;&amp;nbsp;26：添加&amp;nbsp;ThreeTenABP&amp;nbsp;依赖（&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;com.jakewharton.threetenabp:threetenabp:1.4.4&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;backgroundColor&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;rgba(0,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;0.06)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:14},{&amp;quot;type&amp;quot;:&amp;quot;fontFamily&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;Courier&amp;nbsp;New&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;），然后使用&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;org.threeten.bp&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;backgroundColor&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;rgba(0,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;0.06)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:14},{&amp;quot;type&amp;quot;:&amp;quot;fontFamily&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;Courier&amp;nbsp;New&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;包下的对应类（如&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;org.threeten.bp.LocalDate&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;backgroundColor&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;rgba(0,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;0.06)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:14},{&amp;quot;type&amp;quot;:&amp;quot;fontFamily&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;Courier&amp;nbsp;New&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;）。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{&amp;quot;index&amp;quot;:2}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;tW4H-1765979636311&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;list-item&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;version&amp;quot;:1,&amp;quot;listId&amp;quot;:&amp;quot;RRG1-1765979636340&amp;quot;,&amp;quot;listLevel&amp;quot;:1,&amp;quot;listType&amp;quot;:&amp;quot;ordered&amp;quot;,&amp;quot;style&amp;quot;:{&amp;quot;fontSize&amp;quot;:16,&amp;quot;color&amp;quot;:&amp;quot;#000000&amp;quot;}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;M9vf-1765979636310&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;线程安全&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;bold&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:16}]},{&amp;quot;text&amp;quot;:&amp;quot;：&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;java.time&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;backgroundColor&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;rgba(0,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;0.06)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:14},{&amp;quot;type&amp;quot;:&amp;quot;fontFamily&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;Courier&amp;nbsp;New&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;类是不可变且线程安全的，而&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;Calendar&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;backgroundColor&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;rgba(0,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;0.06)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:14},{&amp;quot;type&amp;quot;:&amp;quot;fontFamily&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;Courier&amp;nbsp;New&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;是线程不安全的，多线程场景优先选前者。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}]&quot; style=&quot;font-size: medium; text-wrap-mode: wrap;&quot;&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;在 Kotlin 中获取当前年份有多种方式，以下是最常用的几种实现方案，适配不同场景（如 Java 8+ 新时间 API、传统 Calendar 类）：&lt;/div&gt;&lt;h3 id=&quot;toee-1766018583325&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 16px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;方案 1：推荐（Java 8+ 新时间 API，线程安全）&lt;/span&gt;&lt;/h3&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;使用&amp;nbsp;&lt;span style=&quot;background-color: rgba(0, 0, 0, 0.06); font-size: inherit; font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;java.time&lt;/span&gt;&amp;nbsp;包下的&amp;nbsp;&lt;span style=&quot;background-color: rgba(0, 0, 0, 0.06); font-size: inherit; font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;Year&lt;/span&gt;、&lt;span style=&quot;background-color: rgba(0, 0, 0, 0.06); font-size: inherit; font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;LocalDate&lt;/span&gt;&amp;nbsp;等类，是 Kotlin 中获取年份的首选方式（Android API 26+ 原生支持，低版本可通过 desugar 或 ThreeTenABP 兼容）。&lt;/div&gt;&lt;div yne-bulb-block=&quot;code&quot; data-theme=&quot;tomorrow&quot; data-language=&quot;kotlin&quot; style=&quot;white-space-collapse: preserve;&quot;&gt;&lt;pre class=&quot;prism-highlight prism-language-groovy&quot;&gt;import&amp;nbsp;java.time.LocalDate
import&amp;nbsp;java.time.Year
import&amp;nbsp;java.time.ZoneId

fun&amp;nbsp;getCurrentYear():&amp;nbsp;Int&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;方式&amp;nbsp;1：直接获取当前年份（系统默认时区）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;year1&amp;nbsp;=&amp;nbsp;Year.now().value

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;方式&amp;nbsp;2：通过&amp;nbsp;LocalDate&amp;nbsp;获取（更灵活，可扩展获取月/日）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;year2&amp;nbsp;=&amp;nbsp;LocalDate.now().year

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;方式&amp;nbsp;3：指定时区（如&amp;nbsp;UTC、东八区）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;year3&amp;nbsp;=&amp;nbsp;LocalDate.now(ZoneId.of(&amp;quot;Asia/Shanghai&amp;quot;)).year

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;year1&amp;nbsp;//&amp;nbsp;返回任意一种即可
}

//&amp;nbsp;调用示例
fun&amp;nbsp;main()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;currentYear&amp;nbsp;=&amp;nbsp;getCurrentYear()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;println(&amp;quot;当前年份：$currentYear&amp;quot;)&amp;nbsp;//&amp;nbsp;输出示例：2025
}&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&quot;J4la-1766018583375&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 16px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;方案 2：兼容低版本（传统 Calendar 类）&lt;/span&gt;&lt;/h3&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;如果需要兼容 Android 低版本（API &amp;lt; 26）或旧版 Java 环境，可使用&amp;nbsp;&lt;span style=&quot;background-color: rgba(0, 0, 0, 0.06); font-size: inherit; font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;java.util.Calendar&lt;/span&gt;：&lt;/div&gt;&lt;div yne-bulb-block=&quot;code&quot; data-theme=&quot;tomorrow&quot; data-language=&quot;kotlin&quot; style=&quot;white-space-collapse: preserve;&quot;&gt;&lt;pre class=&quot;prism-highlight prism-language-groovy&quot;&gt;import&amp;nbsp;java.util.Calendar

fun&amp;nbsp;getCurrentYearCompat():&amp;nbsp;Int&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;calendar&amp;nbsp;=&amp;nbsp;Calendar.getInstance()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;calendar.get(Calendar.YEAR)&amp;nbsp;//&amp;nbsp;获取当前年份
}

//&amp;nbsp;调用示例
fun&amp;nbsp;main()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;year&amp;nbsp;=&amp;nbsp;getCurrentYearCompat()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;println(&amp;quot;当前年份（兼容版）：$year&amp;quot;)
}&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&quot;XzRQ-1766018583404&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 16px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;方案 3：简化写法（一行代码）&lt;/span&gt;&lt;/h3&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 14px;&quot;&gt;如果只需快速获取，可直接简写：&lt;/div&gt;&lt;div yne-bulb-block=&quot;code&quot; data-theme=&quot;tomorrow&quot; data-language=&quot;kotlin&quot; style=&quot;white-space-collapse: preserve;&quot;&gt;&lt;pre class=&quot;prism-highlight prism-language-groovy&quot;&gt;//&amp;nbsp;Java&amp;nbsp;8+&amp;nbsp;简写
val&amp;nbsp;currentYear&amp;nbsp;=&amp;nbsp;LocalDate.now().year

//&amp;nbsp;兼容版简写
val&amp;nbsp;currentYearCompat&amp;nbsp;=&amp;nbsp;Calendar.getInstance().get(Calendar.YEAR)&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&quot;j94r-1766018583419&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space-collapse: preserve; line-height: 1.75; font-size: 16px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;关键说明：&lt;/span&gt;&lt;/h3&gt;&lt;div&gt;&lt;ol yne-block-type=&quot;list&quot; style=&quot;margin-left: 14px;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold; font-size: inherit;&quot;&gt;时区问题&lt;/span&gt;：&lt;span style=&quot;background-color: rgba(0, 0, 0, 0.06); font-size: 14px; font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;now()&lt;/span&gt;&amp;nbsp;无参时使用系统默认时区，如需统一时区（如 UTC），建议显式指定&amp;nbsp;&lt;span style=&quot;background-color: rgba(0, 0, 0, 0.06); font-size: 14px; font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;ZoneId&lt;/span&gt;（如&amp;nbsp;&lt;span style=&quot;background-color: rgba(0, 0, 0, 0.06); font-size: 14px; font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;ZoneId.of(&amp;quot;UTC&amp;quot;)&lt;/span&gt;）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold; font-size: inherit;&quot;&gt;Android 兼容&lt;/span&gt;：&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;ul yne-block-type=&quot;list&quot; style=&quot;margin-left: 14px;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;ul yne-block-type=&quot;list&quot; style=&quot;list-style-type: square;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;API 26+：直接使用&amp;nbsp;&lt;span style=&quot;background-color: rgba(0, 0, 0, 0.06); font-size: 14px; font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;java.time&lt;/span&gt;&amp;nbsp;包。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;API &amp;lt; 26：添加 ThreeTenABP 依赖（&lt;span style=&quot;background-color: rgba(0, 0, 0, 0.06); font-size: 14px; font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;com.jakewharton.threetenabp:threetenabp:1.4.4&lt;/span&gt;），然后使用&amp;nbsp;&lt;span style=&quot;background-color: rgba(0, 0, 0, 0.06); font-size: 14px; font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;org.threeten.bp&lt;/span&gt;&amp;nbsp;包下的对应类（如&amp;nbsp;&lt;span style=&quot;background-color: rgba(0, 0, 0, 0.06); font-size: 14px; font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;org.threeten.bp.LocalDate&lt;/span&gt;）。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;ol start=&quot;3&quot; yne-block-type=&quot;list&quot; style=&quot;margin-left: 14px;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold; font-size: inherit;&quot;&gt;线程安全&lt;/span&gt;：&lt;span style=&quot;background-color: rgba(0, 0, 0, 0.06); font-size: 14px; font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;java.time&lt;/span&gt;&amp;nbsp;类是不可变且线程安全的，而&amp;nbsp;&lt;span style=&quot;background-color: rgba(0, 0, 0, 0.06); font-size: 14px; font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;Calendar&lt;/span&gt;&amp;nbsp;是线程不安全的，多线程场景优先选前者。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/article&gt;&lt;article data-content=&quot;[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;Chkl-1765979636346&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;heading&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;version&amp;quot;:1,&amp;quot;level&amp;quot;:&amp;quot;h3&amp;quot;,&amp;quot;style&amp;quot;:{&amp;quot;fontWeight&amp;quot;:&amp;quot;bold&amp;quot;,&amp;quot;fontSize&amp;quot;:16,&amp;quot;color&amp;quot;:&amp;quot;#000000&amp;quot;}},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;DMHx-1765979636312&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;完整示例（Android&amp;nbsp;兼容版）&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;DHZ9-1765979636337&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;version&amp;quot;:1,&amp;quot;language&amp;quot;:&amp;quot;kotlin&amp;quot;,&amp;quot;theme&amp;quot;:&amp;quot;tomorrow&amp;quot;},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;rluy-1765979636322&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;gLde-1765979636321&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;//&amp;nbsp;如需兼容&amp;nbsp;Android&amp;nbsp;API&amp;nbsp;&amp;lt;&amp;nbsp;26，先添加&amp;nbsp;ThreeTenABP&amp;nbsp;依赖，然后：&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;KnTH-1765979636324&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;AMMf-1765979636323&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;org.threeten.bp.LocalDate&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;NuJm-1765979636326&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;J8gl-1765979636325&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;import&amp;nbsp;org.threeten.bp.ZoneId&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;2zZI-1765979636328&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;ZXVt-1765979636327&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;UpnY-1765979636330&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;U5Xs-1765979636329&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;fun&amp;nbsp;getCurrentYearAndroid():&amp;nbsp;Int&amp;nbsp;{&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;94N2-1765979636332&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;anNx-1765979636331&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;LocalDate.now(ZoneId.systemDefault()).year&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;13Ni-1765979636334&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code-line&amp;quot;,&amp;quot;data&amp;quot;:{},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;8xY4-1765979636333&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;}&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}],&amp;quot;state&amp;quot;:{&amp;quot;tokensPerLine&amp;quot;:[[{&amp;quot;type&amp;quot;:&amp;quot;comment&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;//&amp;nbsp;如需兼容&amp;nbsp;Android&amp;nbsp;API&amp;nbsp;&amp;lt;&amp;nbsp;26，先添加&amp;nbsp;ThreeTenABP&amp;nbsp;依赖，然后：&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;org&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;threeten&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;bp&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;LocalDate&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;import&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;org&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;threeten&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;bp&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;ZoneId&amp;quot;}],[],[{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;fun&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;getCurrentYearAndroid&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;operator&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;:&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;Int&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;{&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;keyword&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;return&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;&amp;nbsp;LocalDate&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;now&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;ZoneId&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;function&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;systemDefault&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;(&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;.&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;plain&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;year&amp;quot;}],[{&amp;quot;type&amp;quot;:&amp;quot;punctuation&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;}&amp;quot;}]]}},{&amp;quot;type&amp;quot;:&amp;quot;block&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;UsD0-1765979636339&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;paragraph&amp;quot;,&amp;quot;data&amp;quot;:{&amp;quot;version&amp;quot;:1},&amp;quot;nodes&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;text&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;MzjW-1765979636338&amp;quot;,&amp;quot;leaves&amp;quot;:[{&amp;quot;text&amp;quot;:&amp;quot;以上方案可根据你的运行环境（Java&amp;nbsp;版本&amp;nbsp;/&amp;nbsp;Android&amp;nbsp;API&amp;nbsp;级别）选择，优先使用&amp;nbsp;&amp;quot;,&amp;quot;marks&amp;quot;:[]},{&amp;quot;text&amp;quot;:&amp;quot;java.time&amp;quot;,&amp;quot;marks&amp;quot;:[{&amp;quot;type&amp;quot;:&amp;quot;color&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;#000000&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;backgroundColor&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;rgba(0,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;0.06)&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;fontSize&amp;quot;,&amp;quot;value&amp;quot;:16},{&amp;quot;type&amp;quot;:&amp;quot;fontFamily&amp;quot;,&amp;quot;value&amp;quot;:&amp;quot;Courier&amp;nbsp;New&amp;quot;},{&amp;quot;type&amp;quot;:&amp;quot;inlineCode&amp;quot;}]},{&amp;quot;text&amp;quot;:&amp;quot;&amp;nbsp;系列&amp;nbsp;API，代码更简洁、安全。&amp;quot;,&amp;quot;marks&amp;quot;:[]}]}],&amp;quot;state&amp;quot;:{}}]&quot;&gt;&lt;h3 id=&quot;YkAZ-1766018694601&quot; yne-bulb-block=&quot;heading&quot; yne-bulb-level=&quot;3&quot; style=&quot;white-space: pre-wrap; line-height: 1.75; font-size: 16px;&quot;&gt;&lt;span style=&quot;font-size: inherit;&quot;&gt;完整示例（Android 兼容版）&lt;/span&gt;&lt;/h3&gt;&lt;div yne-bulb-block=&quot;code&quot; data-theme=&quot;tomorrow&quot; style=&quot;white-space:pre-wrap;&quot; data-language=&quot;kotlin&quot;&gt;&lt;pre class=&quot;prism-highlight prism-language-groovy&quot;&gt;//&amp;nbsp;如需兼容&amp;nbsp;Android&amp;nbsp;API&amp;nbsp;&amp;lt;&amp;nbsp;26，先添加&amp;nbsp;ThreeTenABP&amp;nbsp;依赖，然后：
import&amp;nbsp;org.threeten.bp.LocalDate
import&amp;nbsp;org.threeten.bp.ZoneId

fun&amp;nbsp;getCurrentYearAndroid():&amp;nbsp;Int&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;LocalDate.now(ZoneId.systemDefault()).year
}&lt;/pre&gt;&lt;/div&gt;&lt;div yne-bulb-block=&quot;paragraph&quot; style=&quot;white-space: pre-wrap; line-height: 1.75;&quot;&gt;以上方案可根据你的运行环境（Java 版本 / Android API 级别）选择，优先使用&amp;nbsp;&lt;span style=&quot;background-color: rgba(0, 0, 0, 0.06); font-size: inherit; font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;java.time&lt;/span&gt;&amp;nbsp;系列 API，代码更简洁、安全。&lt;/div&gt;&lt;/article&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Thu, 18 Dec 2025 08:42:44 +0800</pubDate></item></channel></rss>